summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2004-04-25 20:38:04 (UTC)
committer llornkcor <llornkcor>2004-04-25 20:38:04 (UTC)
commit0e3e74030b2a38cfc754d253ab098a1126f382ef (patch) (unidiff)
tree9eb7544e6c29431cddbcfbc5bfe907d08227dbb2
parentae76c412a340a0808ed6ece5e4a8fbc04baa4ff3 (diff)
downloadopie-0e3e74030b2a38cfc754d253ab098a1126f382ef.zip
opie-0e3e74030b2a38cfc754d253ab098a1126f382ef.tar.gz
opie-0e3e74030b2a38cfc754d253ab098a1126f382ef.tar.bz2
hook things up
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opierec/qtrec.cpp178
1 files changed, 91 insertions, 87 deletions
diff --git a/noncore/multimedia/opierec/qtrec.cpp b/noncore/multimedia/opierec/qtrec.cpp
index 2187d5a..6eb6524 100644
--- a/noncore/multimedia/opierec/qtrec.cpp
+++ b/noncore/multimedia/opierec/qtrec.cpp
@@ -117,10 +117,10 @@ Device *soundDevice;
117#ifdef THREADED 117#ifdef THREADED
118void quickRec() 118void quickRec()
119#else 119#else
120 void QtRec::quickRec() 120 void QtRec::quickRec()
121#endif 121#endif
122{ 122{
123 123
124 qDebug("%d", 124 qDebug("%d",
125 filePara.numberSamples/filePara.sampleRate * filePara.channels); 125 filePara.numberSamples/filePara.sampleRate * filePara.channels);
126 qDebug("samples %d, rate %d, channels %d", 126 qDebug("samples %d, rate %d, channels %d",
@@ -135,18 +135,18 @@ void quickRec()
135 int level = 0; 135 int level = 0;
136 int threshold = 0; 136 int threshold = 0;
137// int bits = filePara.resolution; 137// int bits = filePara.resolution;
138// odebug << "bits " << bits << "" << oendl; 138// odebug << "bits " << bits << "" << oendl;
139 139
140 if( filePara.resolution == 16 ) { //AFMT_S16_LE) 140 if( filePara.resolution == 16 ) { //AFMT_S16_LE)
141// odebug << "AFMT_S16_LE size " << filePara.SecondsToRecord << "" << oendl; 141// odebug << "AFMT_S16_LE size " << filePara.SecondsToRecord << "" << oendl;
142// odebug << "samples to record " << filePara.samplesToRecord << "" << oendl; 142// odebug << "samples to record " << filePara.samplesToRecord << "" << oendl;
143// odebug << "" << filePara.sd << "" << oendl; 143// odebug << "" << filePara.sd << "" << oendl;
144 level = 7; 144 level = 7;
145 threshold = 0; 145 threshold = 0;
146 146
147 if( filePara.format == WAVE_FORMAT_DVI_ADPCM) { 147 if( filePara.format == WAVE_FORMAT_DVI_ADPCM) {
148// odebug << "start recording WAVE_FORMAT_DVI_ADPCM" << oendl; 148// odebug << "start recording WAVE_FORMAT_DVI_ADPCM" << oendl;
149 // <<<<<<<<<<<<<<<<<<<<<<<<<<< WAVE_FORMAT_DVI_ADPCM >>>>>>>>>>>>>>>>>>>>>> 149// <<<<<<<<<<<<<<<<<<<<<<<<<<< WAVE_FORMAT_DVI_ADPCM >>>>>>>>>>>>>>>>>>>>>>
150 char abuf[ BUFSIZE/2 ]; 150 char abuf[ BUFSIZE/2 ];
151 short sbuf[ BUFSIZE ]; 151 short sbuf[ BUFSIZE ];
152 short sbuf2[ BUFSIZE ]; 152 short sbuf2[ BUFSIZE ];
@@ -156,7 +156,7 @@ void quickRec()
156 156
157 for(;;) { 157 for(;;) {
158 if ( stopped) { 158 if ( stopped) {
159 // odebug << "quickRec:: stopped" << oendl; 159 // odebug << "quickRec:: stopped" << oendl;
160 break; 160 break;
161 } 161 }
162 162
@@ -165,7 +165,7 @@ void quickRec()
165 165
166 if(number <= 0) { 166 if(number <= 0) {
167 perror("recording error "); 167 perror("recording error ");
168 odebug << "" << filePara.fileName << " " << number << "" << oendl; 168 odebug << "" << filePara.fileName << " " << number << "" << oendl;
169 stopped = true; 169 stopped = true;
170 return; 170 return;
171 } 171 }
@@ -175,13 +175,14 @@ void quickRec()
175 175
176 bytesWritten = ::write( filePara.fd , (short *)abuf, number/4); 176 bytesWritten = ::write( filePara.fd , (short *)abuf, number/4);
177 177
178 waveform->newSamples( (const short *)abuf, bytesWritten ); 178 waveform->newSamples( sbuf, number );
179 179
180 total += bytesWritten; 180 total += bytesWritten;
181 filePara.numberSamples = total; 181 filePara.numberSamples = total;
182 timeSlider->setValue( total); 182 timeSlider->setValue( total);
183 183
184 filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate * (float)2 / filePara.channels; 184 filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate * (float)2
185 / filePara.channels;
185 186
186 qApp->processEvents(); 187 qApp->processEvents();
187 if( total >= filePara.samplesToRecord) { 188 if( total >= filePara.samplesToRecord) {
@@ -191,30 +192,30 @@ void quickRec()
191 } 192 }
192 } else { 193 } else {
193 // <<<<<<<<<<<<<<<<<<<<<<<<<<< WAVE_FORMAT_PCM >>>>>>>>>>>>>>>>>>>>>> 194 // <<<<<<<<<<<<<<<<<<<<<<<<<<< WAVE_FORMAT_PCM >>>>>>>>>>>>>>>>>>>>>>
194 odebug << "start recording WAVE_FORMAT_PCM" << oendl; 195 odebug << "start recording WAVE_FORMAT_PCM" << oendl;
195 short inbuffer[ BUFSIZE ], outbuffer[ BUFSIZE ]; 196 short inbuffer[ BUFSIZE ], outbuffer[ BUFSIZE ];
196 memset( inbuffer, 0, BUFSIZE); 197 memset( inbuffer, 0, BUFSIZE);
197 memset( outbuffer, 0, BUFSIZE); 198 memset( outbuffer, 0, BUFSIZE);
198 199
199 for(;;) { 200 for(;;) {
200 if ( stopped) { 201 if ( stopped) {
201 odebug << "quickRec:: stopped" << oendl; 202 odebug << "quickRec:: stopped" << oendl;
202 stopped = true; 203 stopped = true;
203 break; // stop if playing was set to false 204 break; // stop if playing was set to false
204 return; 205 return;
205 } 206 }
206 207
207 number = soundDevice->devRead( filePara.sd, (short *)inbuffer, BUFSIZE); 208 number = soundDevice->devRead( filePara.sd, (short *)inbuffer, BUFSIZE);
208 waveform->newSamples( inbuffer, number );
209 209
210 if( number <= 0) { 210 if( number <= 0) {
211 perror( "recording error "); 211 perror( "recording error ");
212 odebug << filePara.fileName << oendl; 212 odebug << filePara.fileName << oendl;
213 stopped = true; 213 stopped = true;
214 return; 214 return;
215 } 215 }
216 216
217 bytesWritten = ::write( filePara.fd , inbuffer, number); 217 bytesWritten = ::write( filePara.fd , inbuffer, number);
218 waveform->newSamples( inbuffer, number );
218 219
219 if( bytesWritten < 0) { 220 if( bytesWritten < 0) {
220 perror("File writing error "); 221 perror("File writing error ");
@@ -231,7 +232,8 @@ void quickRec()
231// printf("Writing number %d, bytes %d,total %d\r",number, bytesWritten , total); 232// printf("Writing number %d, bytes %d,total %d\r",number, bytesWritten , total);
232// fflush(stdout); 233// fflush(stdout);
233 234
234 filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate / (float)2/filePara.channels; 235 filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate
236 / (float)2/filePara.channels;
235 qApp->processEvents(); 237 qApp->processEvents();
236 238
237 if( total >= filePara.samplesToRecord) { 239 if( total >= filePara.samplesToRecord) {
@@ -249,16 +251,17 @@ void quickRec()
249 251
250 for(;;) { 252 for(;;) {
251 if ( stopped) { 253 if ( stopped) {
252 odebug << "quickRec:: stopped" << oendl; 254 odebug << "quickRec:: stopped" << oendl;
253 break; // stop if playing was set to false 255 break; // stop if playing was set to false
254 } 256 }
255 257
256 number = ::read( filePara.sd, unsigned_inbuffer, BUFSIZE); 258 number = ::read( filePara.sd, unsigned_inbuffer, BUFSIZE);
257 bytesWritten = ::write( filePara.fd , unsigned_inbuffer, number); 259 bytesWritten = ::write( filePara.fd , unsigned_inbuffer, number);
260 waveform->newSamples( (const short *) unsigned_inbuffer, number );
258 261
259 if(bytesWritten < 0) { 262 if(bytesWritten < 0) {
260 stopped = true; 263 stopped = true;
261 QMessageBox::message("Note","There was a problem\nwriting to the file"); 264 QMessageBox::message("Note","<p>There was a problem writing to the file</p>");
262 perror("File writing error "); 265 perror("File writing error ");
263 return; 266 return;
264 } 267 }
@@ -313,7 +316,7 @@ void playIt()
313// sbuf2[i+1]=sbuf2[i]=sbuf[i]; 316// sbuf2[i+1]=sbuf2[i]=sbuf[i];
314// } 317// }
315 bytesWritten = write ( filePara.sd, sbuf, number * 4); 318 bytesWritten = write ( filePara.sd, sbuf, number * 4);
316 waveform->newSamples( (const short *)sbuf, number ); 319 waveform->newSamples( (const short *)sbuf, number *4);
317 // if(filePara.channels==1) 320 // if(filePara.channels==1)
318 // total += bytesWritten/2; //mono 321 // total += bytesWritten/2; //mono
319 // else 322 // else
@@ -354,7 +357,7 @@ void playIt()
354// outbuffer[i+1]= outbuffer[i]=inbuffer[i]; 357// outbuffer[i+1]= outbuffer[i]=inbuffer[i];
355// } 358// }
356 bytesWritten = ::write( filePara.sd, inbuffer, number); 359 bytesWritten = ::write( filePara.sd, inbuffer, number);
357 waveform->newSamples( inbuffer, bytesWritten ); 360 waveform->newSamples( inbuffer, number);
358 //-------------->>>> out to device 361 //-------------->>>> out to device
359 // total+=bytesWritten; 362 // total+=bytesWritten;
360 // if(filePara.channels==1) 363 // if(filePara.channels==1)
@@ -372,14 +375,14 @@ void playIt()
372 qApp->processEvents(); 375 qApp->processEvents();
373 376
374 if( /*total >= filePara.numberSamples || */ bytesWritten == 0) { 377 if( /*total >= filePara.numberSamples || */ bytesWritten == 0) {
375 owarn << "Jane! Stop this crazy thing!" << oendl; 378 owarn << "Jane! Stop this crazy thing!" << oendl;
376 stopped = true; 379 stopped = true;
377// playing = false; 380// playing = false;
378 break; 381 break;
379 } 382 }
380 } 383 }
381 printf("\nplaying number %d, bytes %d, total %d\r",number, bytesWritten, total); 384// printf("\nplaying number %d, bytes %d, total %d\r",number, bytesWritten, total);
382 fflush(stdout); 385// fflush(stdout);
383 } //end loop 386 } //end loop
384 } else { 387 } else {
385/////////////////////////////// format = AFMT_U8; 388/////////////////////////////// format = AFMT_U8;
@@ -432,7 +435,7 @@ QtRec::QtRec( QWidget* parent, const char* name, WFlags fl )
432 Config hwcfg("OpieRec"); 435 Config hwcfg("OpieRec");
433 hwcfg.setGroup("Hardware"); 436 hwcfg.setGroup("Hardware");
434 437
435 438
436 soundDevice = new Device( this, 439 soundDevice = new Device( this,
437 hwcfg.readEntry( "Audio",DSPSTROUT), 440 hwcfg.readEntry( "Audio",DSPSTROUT),
438 hwcfg.readEntry( "Mixer",DSPSTRMIXEROUT), false); 441 hwcfg.readEntry( "Mixer",DSPSTRMIXEROUT), false);
@@ -450,7 +453,7 @@ QtRec::QtRec( QWidget* parent, const char* name, WFlags fl )
450 soundDevice = 0; 453 soundDevice = 0;
451 wavFile = 0; 454 wavFile = 0;
452 455
453 if( soundDevice) delete soundDevice; 456 // if( soundDevice) delete soundDevice;
454 457
455 initIconView(); 458 initIconView();
456 459
@@ -461,6 +464,7 @@ QtRec::QtRec( QWidget* parent, const char* name, WFlags fl )
461} 464}
462 465
463QtRec::~QtRec() { 466QtRec::~QtRec() {
467// if( soundDevice) delete soundDevice;
464 468
465} 469}
466 470
@@ -476,7 +480,7 @@ void QtRec::cleanUp() {
476 if( autoMute) 480 if( autoMute)
477 doMute(false); 481 doMute(false);
478 482
479 if( wavFile) delete wavFile; 483 // if( wavFile) delete wavFile;
480// if(soundDevice) delete soundDevice; 484// if(soundDevice) delete soundDevice;
481} 485}
482 486
@@ -717,7 +721,7 @@ void QtRec::initIconView() {
717 QPixmap image0( ( const char** ) image0_data ); 721 QPixmap image0( ( const char** ) image0_data );
718 722
719 int nFiles = cfg.readNumEntry("NumberofFiles",0); 723 int nFiles = cfg.readNumEntry("NumberofFiles",0);
720 // odebug << "init number of files " << nFiles << "" << oendl; 724 // odebug << "init number of files " << nFiles << "" << oendl;
721 725
722 for(int i=1;i<= nFiles;i++) { 726 for(int i=1;i<= nFiles;i++) {
723 727
@@ -778,7 +782,7 @@ void QtRec::initConnections() {
778 782
779 connect( stereoCheckBox, SIGNAL(toggled(bool)), 783 connect( stereoCheckBox, SIGNAL(toggled(bool)),
780 this, SLOT( changeStereoCheck(bool)) ); 784 this, SLOT( changeStereoCheck(bool)) );
781 785
782 connect( outMuteCheckBox, SIGNAL(toggled(bool)), 786 connect( outMuteCheckBox, SIGNAL(toggled(bool)),
783 this, SLOT( doVolMuting(bool)) ); 787 this, SLOT( doVolMuting(bool)) );
784 connect( inMuteCheckBox , SIGNAL(toggled(bool)), 788 connect( inMuteCheckBox , SIGNAL(toggled(bool)),
@@ -859,7 +863,7 @@ void QtRec::initConfig() {
859} 863}
860 864
861void QtRec::stop() { 865void QtRec::stop() {
862 owarn << "STOP" << oendl; 866 owarn << "STOP" << oendl;
863 setRecordButton(false); 867 setRecordButton(false);
864 868
865 if( !recording) 869 if( !recording)
@@ -921,20 +925,20 @@ bool QtRec::rec() { //record
921// soundDevice->getDeviceChannels()); 925// soundDevice->getDeviceChannels());
922 926
923 //filePara.sampleRate = cfg.readNumEntry("samplerate", 22050); 927 //filePara.sampleRate = cfg.readNumEntry("samplerate", 22050);
924// odebug << "sample rate is " << filePara.sampleRate << "" << oendl; 928// odebug << "sample rate is " << filePara.sampleRate << "" << oendl;
925 filePara.SecondsToRecord = getCurrentSizeLimit(); 929 filePara.SecondsToRecord = getCurrentSizeLimit();
926 930
927// odebug << "size limit " << filePara.SecondsToRecord << " sec" << oendl; 931// odebug << "size limit " << filePara.SecondsToRecord << " sec" << oendl;
928 int diskSize = checkDiskSpace( (const QString &) wavFile->trackName()); 932 int diskSize = checkDiskSpace( (const QString &) wavFile->trackName());
929 933
930 if( filePara.SecondsToRecord == 0) { 934 if( filePara.SecondsToRecord == 0) {
931 fileSize = diskSize; 935 fileSize = diskSize;
932 } else if( filePara.format == WAVE_FORMAT_PCM) { 936 } else if( filePara.format == WAVE_FORMAT_PCM) {
933// odebug << "WAVE_FORMAT_PCM" << oendl; 937// odebug << "WAVE_FORMAT_PCM" << oendl;
934 fileSize = (filePara.SecondsToRecord ) * filePara.channels 938 fileSize = (filePara.SecondsToRecord ) * filePara.channels
935 * filePara.sampleRate * ( filePara.resolution / 8) + 1000; 939 * filePara.sampleRate * ( filePara.resolution / 8) + 1000;
936 } else { 940 } else {
937// odebug << "WAVE_FORMAT_DVI_ADPCM" << oendl; 941// odebug << "WAVE_FORMAT_DVI_ADPCM" << oendl;
938 fileSize = ((filePara.SecondsToRecord) * filePara.channels 942 fileSize = ((filePara.SecondsToRecord) * filePara.channels
939 * filePara.sampleRate * ( filePara.resolution / 8) ) / 4 + 250; 943 * filePara.sampleRate * ( filePara.resolution / 8) ) / 4 + 250;
940 } 944 }
@@ -946,7 +950,7 @@ bool QtRec::rec() { //record
946 paused = false; 950 paused = false;
947 } 951 }
948 // else { 952 // else {
949 odebug << "Setting timeslider " << filePara.samplesToRecord << "" << oendl; 953 odebug << "Setting timeslider " << filePara.samplesToRecord << "" << oendl;
950 // if(fileSize != 0) 954 // if(fileSize != 0)
951 timeSlider->setRange(0, filePara.samplesToRecord); 955 timeSlider->setRange(0, filePara.samplesToRecord);
952 // } 956 // }
@@ -965,7 +969,7 @@ bool QtRec::rec() { //record
965 setCaption( msg); 969 setCaption( msg);
966#endif 970#endif
967 filePara.fileName=currentFile.latin1(); 971 filePara.fileName=currentFile.latin1();
968 odebug << "Start recording thread" << oendl; 972 odebug << "Start recording thread" << oendl;
969 stopped = false; 973 stopped = false;
970 974
971#ifdef THREADED 975#ifdef THREADED
@@ -1001,7 +1005,7 @@ void QtRec::thisTab(QWidget* widg) {
1001 1005
1002 if( index==2) { //help page 1006 if( index==2) { //help page
1003 } 1007 }
1004 1008
1005 qApp->processEvents(); 1009 qApp->processEvents();
1006 update(); 1010 update();
1007 } 1011 }
@@ -1009,13 +1013,13 @@ void QtRec::thisTab(QWidget* widg) {
1009 1013
1010void QtRec::getOutVol( ) { 1014void QtRec::getOutVol( ) {
1011 filePara.outVol = soundDevice->getOutVolume(); 1015 filePara.outVol = soundDevice->getOutVolume();
1012// odebug << "out vol " << filePara.outVol << "" << oendl; 1016// odebug << "out vol " << filePara.outVol << "" << oendl;
1013 OutputSlider->setValue( -filePara.outVol); 1017 OutputSlider->setValue( -filePara.outVol);
1014} 1018}
1015 1019
1016void QtRec::getInVol() { 1020void QtRec::getInVol() {
1017 filePara.inVol = soundDevice->getInVolume(); 1021 filePara.inVol = soundDevice->getInVolume();
1018// odebug << "in vol " << filePara.inVol << "" << oendl; 1022// odebug << "in vol " << filePara.inVol << "" << oendl;
1019 InputSlider->setValue( -filePara.inVol); 1023 InputSlider->setValue( -filePara.inVol);
1020} 1024}
1021 1025
@@ -1061,7 +1065,7 @@ bool QtRec::setupAudio( bool b) {
1061 filePara.resolution = 8; 1065 filePara.resolution = 8;
1062 } 1066 }
1063#endif 1067#endif
1064 1068
1065 stereo = filePara.channels; 1069 stereo = filePara.channels;
1066 flags = O_WRONLY; 1070 flags = O_WRONLY;
1067 Config hwcfg("OpieRec"); 1071 Config hwcfg("OpieRec");
@@ -1089,14 +1093,14 @@ bool QtRec::setupAudio( bool b) {
1089 1093
1090 if( !compressionCheckBox->isChecked()) { 1094 if( !compressionCheckBox->isChecked()) {
1091 filePara.format = WAVE_FORMAT_PCM; 1095 filePara.format = WAVE_FORMAT_PCM;
1092// odebug << "WAVE_FORMAT_PCM" << oendl; 1096// odebug << "WAVE_FORMAT_PCM" << oendl;
1093 } else { 1097 } else {
1094 filePara.format = WAVE_FORMAT_DVI_ADPCM; 1098 filePara.format = WAVE_FORMAT_DVI_ADPCM;
1095 sampleformat = AFMT_S16_LE; 1099 sampleformat = AFMT_S16_LE;
1096// odebug << "WAVE_FORMAT_DVI_ADPCM" << oendl; 1100// odebug << "WAVE_FORMAT_DVI_ADPCM" << oendl;
1097 } 1101 }
1098#endif 1102#endif
1099 1103
1100 stereo = filePara.channels; 1104 stereo = filePara.channels;
1101// filePara.sampleRate = sampleRateComboBox->currentText().toInt( &ok,10);//44100; 1105// filePara.sampleRate = sampleRateComboBox->currentText().toInt( &ok,10);//44100;
1102 flags= O_RDWR; 1106 flags= O_RDWR;
@@ -1109,15 +1113,15 @@ bool QtRec::setupAudio( bool b) {
1109 } 1113 }
1110 1114
1111 // if(soundDevice) delete soundDevice; 1115 // if(soundDevice) delete soundDevice;
1112 odebug << "<<<<<<<<<<<<<<<<<<<open dsp " << filePara.sampleRate << " " << filePara.channels << " " << sampleformat << "" << oendl; 1116 odebug << "<<<<<<<<<<<<<<<<<<<open dsp " << filePara.sampleRate << " " << filePara.channels << " " << sampleformat << "" << oendl;
1113 owarn << "change waveform settings" << oendl; 1117 owarn << "change waveform settings" << oendl;
1114 waveform->changeSettings( filePara.sampleRate, filePara.channels ); 1118 waveform->changeSettings( filePara.sampleRate, filePara.channels );
1115 1119
1116 soundDevice = new Device( this, dspString, mixerString, b); 1120 soundDevice = new Device( this, dspString, mixerString, b);
1117// soundDevice->openDsp(); 1121// soundDevice->openDsp();
1118 soundDevice->reset(); 1122 soundDevice->reset();
1119 1123
1120 odebug << "device has been made " << soundDevice->sd << "" << oendl; 1124 odebug << "device has been made " << soundDevice->sd << "" << oendl;
1121 1125
1122 ////////////////// <<<<<<<<<<<<>>>>>>>>>>>> 1126 ////////////////// <<<<<<<<<<<<>>>>>>>>>>>>
1123 soundDevice->setDeviceFormat( sampleformat); 1127 soundDevice->setDeviceFormat( sampleformat);
@@ -1148,7 +1152,7 @@ bool QtRec::setupAudio( bool b) {
1148 1152
1149 1153
1150bool QtRec::setUpFile() { //setup file for recording 1154bool QtRec::setUpFile() { //setup file for recording
1151// odebug << "Setting up wavfile" << oendl; 1155// odebug << "Setting up wavfile" << oendl;
1152// if(wavFile) delete wavFile; 1156// if(wavFile) delete wavFile;
1153 wavFile = new WavFile( this, (const QString &)"", 1157 wavFile = new WavFile( this, (const QString &)"",
1154 true, 1158 true,
@@ -1181,7 +1185,7 @@ bool QtRec::doPlay() {
1181 recording = false; 1185 recording = false;
1182 1186
1183 QString num; 1187 QString num;
1184 odebug << "Play number of samples " << filePara.numberSamples << "" << oendl; 1188 odebug << "Play number of samples " << filePara.numberSamples << "" << oendl;
1185 1189
1186// timeSlider->setRange( 0, filePara.numberSamples); 1190// timeSlider->setRange( 0, filePara.numberSamples);
1187 1191
@@ -1202,7 +1206,7 @@ bool QtRec::doPlay() {
1202 pthread_t thread2; 1206 pthread_t thread2;
1203 pthread_create( &thread2, NULL, (void * (*)(void *))playIt, NULL/* &*/); 1207 pthread_create( &thread2, NULL, (void * (*)(void *))playIt, NULL/* &*/);
1204#endif 1208#endif
1205 1209
1206 toBeginningButton->setEnabled( false); 1210 toBeginningButton->setEnabled( false);
1207 toEndButton->setEnabled( false); 1211 toEndButton->setEnabled( false);
1208#ifndef THREADED 1212#ifndef THREADED
@@ -1233,7 +1237,7 @@ void QtRec::changesamplerateCombo(int i) {
1233 rate = sampleRateComboBox->text(i).toInt(&ok, 10); 1237 rate = sampleRateComboBox->text(i).toInt(&ok, 10);
1234 cfg.writeEntry( "samplerate",rate); 1238 cfg.writeEntry( "samplerate",rate);
1235 filePara.sampleRate=rate; 1239 filePara.sampleRate=rate;
1236 odebug << "Change sample rate " << rate << "" << oendl; 1240 odebug << "Change sample rate " << rate << "" << oendl;
1237 cfg.write(); 1241 cfg.write();
1238} 1242}
1239 1243
@@ -1253,7 +1257,7 @@ void QtRec::changeDirCombo(int index) {
1253 const QString path = (*it)->path(); 1257 const QString path = (*it)->path();
1254 recDir = path; 1258 recDir = path;
1255 cfg.writeEntry("directory", recDir); 1259 cfg.writeEntry("directory", recDir);
1256 odebug << "new rec dir "+recDir << oendl; 1260 odebug << "new rec dir "+recDir << oendl;
1257 } 1261 }
1258 } 1262 }
1259 cfg.write(); 1263 cfg.write();
@@ -1373,7 +1377,7 @@ void QtRec::keyPressEvent( QKeyEvent *e) {
1373 // newSound(); 1377 // newSound();
1374 break; 1378 break;
1375 case Key_Left: { 1379 case Key_Left: {
1376 odebug << "rewinding" << oendl; 1380 odebug << "rewinding" << oendl;
1377 if( !e->isAutoRepeat()) 1381 if( !e->isAutoRepeat())
1378 rewindPressed(); 1382 rewindPressed();
1379 } 1383 }
@@ -1427,19 +1431,19 @@ void QtRec::keyReleaseEvent( QKeyEvent *e) {
1427 break; 1431 break;
1428 case Key_Up: 1432 case Key_Up:
1429 // stop(); 1433 // stop();
1430 odebug << "Up" << oendl; 1434 odebug << "Up" << oendl;
1431 break; 1435 break;
1432 case Key_Down: 1436 case Key_Down:
1433 // start(); 1437 // start();
1434 // odebug << "Down" << oendl; 1438 // odebug << "Down" << oendl;
1435 // newSound(); 1439 // newSound();
1436 break; 1440 break;
1437 case Key_Left: 1441 case Key_Left:
1438 odebug << "Left" << oendl; 1442 odebug << "Left" << oendl;
1439 rewindReleased(); 1443 rewindReleased();
1440 break; 1444 break;
1441 case Key_Right: 1445 case Key_Right:
1442 odebug << "Right" << oendl; 1446 odebug << "Right" << oendl;
1443 FastforwardReleased(); 1447 FastforwardReleased();
1444 break; 1448 break;
1445 } 1449 }
@@ -1474,11 +1478,11 @@ void QtRec::endRecording() {
1474// move tmp file to regular file 1478// move tmp file to regular file
1475 QString cmd; 1479 QString cmd;
1476 cmd.sprintf("mv "+ wavFile->trackName() + " " + wavFile->currentFileName); 1480 cmd.sprintf("mv "+ wavFile->trackName() + " " + wavFile->currentFileName);
1477// odebug << "moving tmp file to "+currentFileName << oendl; 1481// odebug << "moving tmp file to "+currentFileName << oendl;
1478 system( cmd.latin1()); 1482 system( cmd.latin1());
1479 } 1483 }
1480 1484
1481 odebug << "Just moved " + wavFile->currentFileName << oendl; 1485 odebug << "Just moved " + wavFile->currentFileName << oendl;
1482 Config cfg("OpieRec"); 1486 Config cfg("OpieRec");
1483 cfg.setGroup("Sounds"); 1487 cfg.setGroup("Sounds");
1484 1488
@@ -1494,14 +1498,14 @@ void QtRec::endRecording() {
1494 QString time; 1498 QString time;
1495 time.sprintf("%.2f", filePara.numberOfRecordedSeconds); 1499 time.sprintf("%.2f", filePara.numberOfRecordedSeconds);
1496 cfg.writeEntry( wavFile->currentFileName, time ); 1500 cfg.writeEntry( wavFile->currentFileName, time );
1497// odebug << "writing config numberOfRecordedSeconds "+time << oendl; 1501// odebug << "writing config numberOfRecordedSeconds "+time << oendl;
1498 1502
1499 cfg.write(); 1503 cfg.write();
1500 odebug << "finished recording" << oendl; 1504 odebug << "finished recording" << oendl;
1501 timeLabel->setText(""); 1505 timeLabel->setText("");
1502 } 1506 }
1503 1507
1504 if(soundDevice) delete soundDevice; 1508 // if(soundDevice) delete soundDevice;
1505 1509
1506 timeSlider->setValue(0); 1510 timeSlider->setValue(0);
1507 initIconView(); 1511 initIconView();
@@ -1515,7 +1519,7 @@ void QtRec::endPlaying() {
1515 stopped = true; 1519 stopped = true;
1516 waveform->reset(); 1520 waveform->reset();
1517// errorStop(); 1521// errorStop();
1518// odebug << "end playing" << oendl; 1522// odebug << "end playing" << oendl;
1519 setRecordButton( false); 1523 setRecordButton( false);
1520 1524
1521 toBeginningButton->setEnabled( true); 1525 toBeginningButton->setEnabled( true);
@@ -1527,7 +1531,7 @@ void QtRec::endPlaying() {
1527 soundDevice->closeDevice( false); 1531 soundDevice->closeDevice( false);
1528 soundDevice->sd = -1; 1532 soundDevice->sd = -1;
1529 // if(soundDevice) delete soundDevice; 1533 // if(soundDevice) delete soundDevice;
1530// odebug << "file and sound device closed" << oendl; 1534// odebug << "file and sound device closed" << oendl;
1531 timeLabel->setText(""); 1535 timeLabel->setText("");
1532 total = 0; 1536 total = 0;
1533 filePara.numberSamples = 0; 1537 filePara.numberSamples = 0;
@@ -1536,12 +1540,12 @@ void QtRec::endPlaying() {
1536 filePara.fd = 0; 1540 filePara.fd = 0;
1537// if(wavFile) delete wavFile; //this crashes 1541// if(wavFile) delete wavFile; //this crashes
1538 1542
1539// odebug << "track closed" << oendl; 1543// odebug << "track closed" << oendl;
1540 killTimers(); 1544 killTimers();
1541 owarn << "reset slider" << oendl; 1545 owarn << "reset slider" << oendl;
1542 timeSlider->setValue(0); 1546 timeSlider->setValue(0);
1543 1547
1544 if(soundDevice) delete soundDevice; 1548 // if(soundDevice) delete soundDevice;
1545 1549
1546} 1550}
1547 1551
@@ -1560,7 +1564,7 @@ bool QtRec::openPlayFile() {
1560 for(int i=0;i<nFiles+1;i++) { //look for file 1564 for(int i=0;i<nFiles+1;i++) { //look for file
1561 if( cfg.readEntry( QString::number(i),"").find( currentFile,0,true) != -1) { 1565 if( cfg.readEntry( QString::number(i),"").find( currentFile,0,true) != -1) {
1562 currentFileName = cfg.readEntry( currentFile, "" ); 1566 currentFileName = cfg.readEntry( currentFile, "" );
1563 odebug << "opening for play: " + currentFileName << oendl; 1567 odebug << "opening for play: " + currentFileName << oendl;
1564 } 1568 }
1565 } 1569 }
1566 wavFile = new WavFile(this, 1570 wavFile = new WavFile(this,
@@ -1585,10 +1589,10 @@ bool QtRec::openPlayFile() {
1585 timeSlider->setPageStep(1); 1589 timeSlider->setPageStep(1);
1586 monitoring = true; 1590 monitoring = true;
1587 1591
1588 odebug << "file " << filePara.fd << ", samples " << filePara.numberSamples << " " << filePara.sampleRate << "" << oendl; 1592 odebug << "file " << filePara.fd << ", samples " << filePara.numberSamples << " " << filePara.sampleRate << "" << oendl;
1589 int sec = (int) (( filePara.numberSamples / filePara.sampleRate) / filePara.channels) / ( filePara.channels*( filePara.resolution/8)); 1593 int sec = (int) (( filePara.numberSamples / filePara.sampleRate) / filePara.channels) / ( filePara.channels*( filePara.resolution/8));
1590 1594
1591 owarn << "seconds " << sec << "" << oendl; 1595 owarn << "seconds " << sec << "" << oendl;
1592 1596
1593 timeSlider->setRange(0, filePara.numberSamples ); 1597 timeSlider->setRange(0, filePara.numberSamples );
1594 } 1598 }
@@ -1689,7 +1693,7 @@ void QtRec::doRename() {
1689} 1693}
1690 1694
1691void QtRec::okRename() { 1695void QtRec::okRename() {
1692 odebug << renameBox->text() << oendl; 1696 odebug << renameBox->text() << oendl;
1693 QString filename = renameBox->text(); 1697 QString filename = renameBox->text();
1694 cancelRename(); 1698 cancelRename();
1695 1699
@@ -1701,7 +1705,7 @@ void QtRec::okRename() {
1701 1705
1702 QString file = ListView1->currentItem()->text(0); 1706 QString file = ListView1->currentItem()->text(0);
1703 1707
1704 odebug << "filename is " + filename << oendl; 1708 odebug << "filename is " + filename << oendl;
1705 1709
1706 int nFiles = cfg.readNumEntry("NumberofFiles",0); 1710 int nFiles = cfg.readNumEntry("NumberofFiles",0);
1707 1711
@@ -1772,7 +1776,7 @@ void QtRec::doVolMuting(bool b) {
1772} 1776}
1773 1777
1774void QtRec::doMicMuting(bool b) { 1778void QtRec::doMicMuting(bool b) {
1775 // odebug << "mic mute" << oendl; 1779 // odebug << "mic mute" << oendl;
1776 Config cfg( "qpe" ); 1780 Config cfg( "qpe" );
1777 cfg. setGroup( "Volume" ); 1781 cfg. setGroup( "Volume" );
1778 cfg.writeEntry( "MicMute",b); 1782 cfg.writeEntry( "MicMute",b);
@@ -1790,7 +1794,7 @@ void QtRec::compressionSelected(bool b) {
1790 1794
1791 if(b) { 1795 if(b) {
1792 bitRateComboBox->setEnabled( false); 1796 bitRateComboBox->setEnabled( false);
1793 bitRateComboBox->setCurrentItem( 0); 1797 bitRateComboBox->setCurrentItem( 1);
1794 filePara.resolution = 16; 1798 filePara.resolution = 16;
1795 } else{ 1799 } else{
1796 bitRateComboBox->setEnabled( true); 1800 bitRateComboBox->setEnabled( true);
@@ -1828,7 +1832,7 @@ long QtRec::checkDiskSpace(const QString &path) {
1828// char f_fpack[6]; /* Pack name */ 1832// char f_fpack[6]; /* Pack name */
1829 1833
1830void QtRec::receive( const QCString &msg, const QByteArray & ) { 1834void QtRec::receive( const QCString &msg, const QByteArray & ) {
1831 odebug << "Voicerecord received message "+msg << oendl; 1835 odebug << "Voicerecord received message "+msg << oendl;
1832 1836
1833} 1837}
1834 1838
@@ -1848,12 +1852,12 @@ void QtRec::timerEvent( QTimerEvent * ) {
1848 if( stopped && recording ){ 1852 if( stopped && recording ){
1849 stop(); 1853 stop();
1850 } 1854 }
1851 1855
1852 if( recording && filePara.SecondsToRecord < secCount && filePara.SecondsToRecord != 0) { 1856 if( recording && filePara.SecondsToRecord < secCount && filePara.SecondsToRecord != 0) {
1853 stop(); 1857 stop();
1854 } 1858 }
1855 1859
1856 odebug << "" << secCount << "" << oendl; 1860 odebug << "" << secCount << "" << oendl;
1857 QString timeString; 1861 QString timeString;
1858#ifdef DEV_VERSION 1862#ifdef DEV_VERSION
1859 QString msg; 1863 QString msg;
@@ -1869,7 +1873,7 @@ void QtRec::timerEvent( QTimerEvent * ) {
1869 1873
1870void QtRec::changeTimeSlider(int index) { 1874void QtRec::changeTimeSlider(int index) {
1871 if( ListView1->currentItem() == 0 || !wavFile->track.isOpen()) return; 1875 if( ListView1->currentItem() == 0 || !wavFile->track.isOpen()) return;
1872 // odebug << "Slider moved to " << index << "" << oendl; 1876 // odebug << "Slider moved to " << index << "" << oendl;
1873 paused = true; 1877 paused = true;
1874 stopped = true; 1878 stopped = true;
1875 1879
@@ -1884,7 +1888,7 @@ void QtRec::changeTimeSlider(int index) {
1884 1888
1885void QtRec::timeSliderPressed() { 1889void QtRec::timeSliderPressed() {
1886 if( ListView1->currentItem() == 0) return; 1890 if( ListView1->currentItem() == 0) return;
1887 // odebug << "slider pressed" << oendl; 1891 // odebug << "slider pressed" << oendl;
1888 paused = true; 1892 paused = true;
1889 stopped = true; 1893 stopped = true;
1890} 1894}
@@ -1893,7 +1897,7 @@ void QtRec::timeSliderReleased() {
1893 if( ListView1->currentItem() == 0) return; 1897 if( ListView1->currentItem() == 0) return;
1894 sliderPos = timeSlider->value(); 1898 sliderPos = timeSlider->value();
1895 1899
1896 // odebug << "slider released " << sliderPos << "" << oendl; 1900 // odebug << "slider released " << sliderPos << "" << oendl;
1897 stopped = false; 1901 stopped = false;
1898 int newPos = lseek( filePara.fd, sliderPos, SEEK_SET); 1902 int newPos = lseek( filePara.fd, sliderPos, SEEK_SET);
1899 total = newPos*4; 1903 total = newPos*4;
@@ -1923,7 +1927,7 @@ void QtRec::rewindTimerTimeout() {
1923 sliderValue = sliderValue - ( filePara.numberSamples / 100); 1927 sliderValue = sliderValue - ( filePara.numberSamples / 100);
1924 // if(toBeginningButton->isDown()) 1928 // if(toBeginningButton->isDown())
1925 timeSlider->setValue( sliderValue ) ; 1929 timeSlider->setValue( sliderValue ) ;
1926 // odebug << "" << sliderValue << "" << oendl; 1930 // odebug << "" << sliderValue << "" << oendl;
1927 QString timeString; 1931 QString timeString;
1928 filePara.numberOfRecordedSeconds = (float)sliderValue / (float)filePara.sampleRate * (float)2; 1932 filePara.numberOfRecordedSeconds = (float)sliderValue / (float)filePara.sampleRate * (float)2;
1929 timeString.sprintf( "%.2f", filePara.numberOfRecordedSeconds); 1933 timeString.sprintf( "%.2f", filePara.numberOfRecordedSeconds);
@@ -1937,7 +1941,7 @@ void QtRec::rewindReleased() {
1937 stopped = false; 1941 stopped = false;
1938 int newPos = lseek( filePara.fd, sliderPos, SEEK_SET); 1942 int newPos = lseek( filePara.fd, sliderPos, SEEK_SET);
1939 total = newPos * 4; 1943 total = newPos * 4;
1940 // odebug << "rewind released " << total << "" << oendl; 1944 // odebug << "rewind released " << total << "" << oendl;
1941 startTimer( 1000); 1945 startTimer( 1000);
1942 doPlay(); 1946 doPlay();
1943 } 1947 }
@@ -2001,7 +2005,7 @@ QString QtRec::getStorage(const QString &fileName) {
2001 // const QString options = (*it)->options(); 2005 // const QString options = (*it)->options();
2002 // if( name.find( tr("Internal"),0,true) == -1) { 2006 // if( name.find( tr("Internal"),0,true) == -1) {
2003 // storageComboBox->insertItem( name +" -> "+disk); 2007 // storageComboBox->insertItem( name +" -> "+disk);
2004 // odebug << name << oendl; 2008 // odebug << name << oendl;
2005 } 2009 }
2006 return storage; 2010 return storage;
2007 // struct mntent *me; 2011 // struct mntent *me;
@@ -2124,8 +2128,8 @@ void QtRec::changeStereoCheck(bool b) {
2124 else { ch = 2;} 2128 else { ch = 2;}
2125 cfg.writeEntry("stereo", b); 2129 cfg.writeEntry("stereo", b);
2126 filePara.channels = ch; 2130 filePara.channels = ch;
2127 2131
2128 cfg.write(); 2132 cfg.write();
2129} 2133}
2130 2134
2131 2135