summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opierec
authorllornkcor <llornkcor>2004-04-25 20:38:04 (UTC)
committer llornkcor <llornkcor>2004-04-25 20:38:04 (UTC)
commit0e3e74030b2a38cfc754d253ab098a1126f382ef (patch) (unidiff)
tree9eb7544e6c29431cddbcfbc5bfe907d08227dbb2 /noncore/multimedia/opierec
parentae76c412a340a0808ed6ece5e4a8fbc04baa4ff3 (diff)
downloadopie-0e3e74030b2a38cfc754d253ab098a1126f382ef.zip
opie-0e3e74030b2a38cfc754d253ab098a1126f382ef.tar.gz
opie-0e3e74030b2a38cfc754d253ab098a1126f382ef.tar.bz2
hook things up
Diffstat (limited to 'noncore/multimedia/opierec') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opierec/qtrec.cpp32
1 files changed, 18 insertions, 14 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
@@ -172,19 +172,20 @@ void quickRec()
172 //if(stereo == 2) { 172 //if(stereo == 2) {
173// adpcm_coder( sbuf2, abuf, number/2, &encoder_state); 173// adpcm_coder( sbuf2, abuf, number/2, &encoder_state);
174 adpcm_coder( sbuf, abuf, number/2, &encoder_state); 174 adpcm_coder( sbuf, abuf, number/2, &encoder_state);
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) {
188 stopped = true; 189 stopped = true;
189 break; 190 break;
190 } 191 }
@@ -202,22 +203,22 @@ void quickRec()
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 ");
221 stopped = true; 222 stopped = true;
222 return; 223 return;
223 } 224 }
@@ -228,13 +229,14 @@ void quickRec()
228 229
229 if( filePara.SecondsToRecord != 0) 230 if( filePara.SecondsToRecord != 0)
230 timeSlider->setValue( total); 231 timeSlider->setValue( total);
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) {
238 stopped = true; 240 stopped = true;
239 break; 241 break;
240 } 242 }
@@ -252,16 +254,17 @@ void quickRec()
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 }
265 268
266 total += bytesWritten; 269 total += bytesWritten;
267 filePara.numberSamples = total; 270 filePara.numberSamples = total;
@@ -310,13 +313,13 @@ void playIt()
310 adpcm_decoder( abuf, sbuf, number * 2, &decoder_state); 313 adpcm_decoder( abuf, sbuf, number * 2, &decoder_state);
311 314
312// for (int i=0;i< number * 2; 2 * i++) { //2*i is left channel 315// for (int i=0;i< number * 2; 2 * i++) { //2*i is left channel
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
320 total += bytesWritten; 323 total += bytesWritten;
321 filePara.numberSamples = total/4; 324 filePara.numberSamples = total/4;
322 filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate / 2; 325 filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate / 2;
@@ -351,13 +354,13 @@ void playIt()
351 number = ::read( filePara.fd, inbuffer, BUFSIZE); 354 number = ::read( filePara.fd, inbuffer, BUFSIZE);
352// for (int i=0;i< number * 2; 2 * i++) { //2*i is left channel 355// for (int i=0;i< number * 2; 2 * i++) { //2*i is left channel
353// // for (int i=0;i< number ; i++) { //2*i is left channel 356// // for (int i=0;i< number ; i++) { //2*i is left channel
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)
361 // total += bytesWritten/2; //mono 364 // total += bytesWritten/2; //mono
362 // else 365 // else
363 total += bytesWritten; 366 total += bytesWritten;
@@ -375,14 +378,14 @@ void playIt()
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;
386 unsigned char unsigned_inbuffer[ BUFSIZE ]; //, unsigned_outbuffer[BUFSIZE]; 389 unsigned char unsigned_inbuffer[ BUFSIZE ]; //, unsigned_outbuffer[BUFSIZE];
387 memset( unsigned_inbuffer, 0, BUFSIZE); 390 memset( unsigned_inbuffer, 0, BUFSIZE);
388 for(;;) { 391 for(;;) {
@@ -447,23 +450,24 @@ QtRec::QtRec( QWidget* parent, const char* name, WFlags fl )
447 450
448 soundDevice->closeDevice( true); 451 soundDevice->closeDevice( true);
449 soundDevice->sd = -1; 452 soundDevice->sd = -1;
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
457 if( autoMute) 460 if( autoMute)
458 doMute( true); 461 doMute( true);
459 ListView1->setFocus(); 462 ListView1->setFocus();
460 playing = false; 463 playing = false;
461} 464}
462 465
463QtRec::~QtRec() { 466QtRec::~QtRec() {
467// if( soundDevice) delete soundDevice;
464 468
465} 469}
466 470
467void QtRec::cleanUp() { 471void QtRec::cleanUp() {
468 472
469 if( !stopped) { 473 if( !stopped) {
@@ -473,13 +477,13 @@ void QtRec::cleanUp() {
473 477
474 ListView1->clear(); 478 ListView1->clear();
475 479
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
483void QtRec::init() { 487void QtRec::init() {
484 488
485 needsStereoOut = false; 489 needsStereoOut = false;
@@ -1498,13 +1502,13 @@ void QtRec::endRecording() {
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();
1508 selectItemByName( currentFile); 1512 selectItemByName( currentFile);
1509} 1513}
1510 1514
@@ -1538,13 +1542,13 @@ void QtRec::endPlaying() {
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
1548bool QtRec::openPlayFile() { 1552bool QtRec::openPlayFile() {
1549 1553
1550 qApp->processEvents(); 1554 qApp->processEvents();
@@ -1787,13 +1791,13 @@ void QtRec::compressionSelected(bool b) {
1787 cfg.writeEntry("bitrate", 16); 1791 cfg.writeEntry("bitrate", 16);
1788 filePara.resolution = 16; 1792 filePara.resolution = 16;
1789 cfg.write(); 1793 cfg.write();
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);
1797 } 1801 }
1798} 1802}
1799 1803