summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (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
@@ -170,23 +170,24 @@ void quickRec()
return;
}
//if(stereo == 2) {
// adpcm_coder( sbuf2, abuf, number/2, &encoder_state);
adpcm_coder( sbuf, abuf, number/2, &encoder_state);
bytesWritten = ::write( filePara.fd , (short *)abuf, number/4);
- waveform->newSamples( (const short *)abuf, bytesWritten );
+ waveform->newSamples( sbuf, number );
total += bytesWritten;
filePara.numberSamples = total;
timeSlider->setValue( total);
- filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate * (float)2 / filePara.channels;
+ filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate * (float)2
+ / filePara.channels;
qApp->processEvents();
if( total >= filePara.samplesToRecord) {
stopped = true;
break;
}
}
} else {
@@ -200,43 +201,44 @@ void quickRec()
if ( stopped) {
odebug << "quickRec:: stopped" << oendl;
stopped = true;
break; // stop if playing was set to false
return;
}
number = soundDevice->devRead( filePara.sd, (short *)inbuffer, BUFSIZE);
- waveform->newSamples( inbuffer, number );
if( number <= 0) {
perror( "recording error ");
odebug << filePara.fileName << oendl;
stopped = true;
return;
}
bytesWritten = ::write( filePara.fd , inbuffer, number);
+ waveform->newSamples( inbuffer, number );
if( bytesWritten < 0) {
perror("File writing error ");
stopped = true;
return;
}
total += bytesWritten;
filePara.numberSamples = total;
if( filePara.SecondsToRecord != 0)
timeSlider->setValue( total);
// printf("Writing number %d, bytes %d,total %d\r",number, bytesWritten , total);
// fflush(stdout);
- filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate / (float)2/filePara.channels;
+ filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate
+ / (float)2/filePara.channels;
qApp->processEvents();
if( total >= filePara.samplesToRecord) {
stopped = true;
break;
}
}
} //end main loop
@@ -250,20 +252,21 @@ void quickRec()
for(;;) {
if ( stopped) {
odebug << "quickRec:: stopped" << oendl;
break; // stop if playing was set to false
}
number = ::read( filePara.sd, unsigned_inbuffer, BUFSIZE);
bytesWritten = ::write( filePara.fd , unsigned_inbuffer, number);
+ waveform->newSamples( (const short *) unsigned_inbuffer, number );
if(bytesWritten < 0) {
stopped = true;
- QMessageBox::message("Note","There was a problem\nwriting to the file");
+ QMessageBox::message("Note","<p>There was a problem writing to the file</p>");
perror("File writing error ");
return;
}
total += bytesWritten;
filePara.numberSamples = total;
// printf("\nWriting number %d, bytes %d,total %d \r",number, bytesWritten , total);
// fflush(stdout);
@@ -308,17 +311,17 @@ void playIt()
number = ::read( filePara.fd, abuf, BUFSIZE / 2);
adpcm_decoder( abuf, sbuf, number * 2, &decoder_state);
// for (int i=0;i< number * 2; 2 * i++) { //2*i is left channel
// sbuf2[i+1]=sbuf2[i]=sbuf[i];
// }
bytesWritten = write ( filePara.sd, sbuf, number * 4);
- waveform->newSamples( (const short *)sbuf, number );
+ waveform->newSamples( (const short *)sbuf, number *4);
// if(filePara.channels==1)
// total += bytesWritten/2; //mono
// else
total += bytesWritten;
filePara.numberSamples = total/4;
filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate / 2;
timeSlider->setValue( total/4);
@@ -349,17 +352,17 @@ void playIt()
}
// stop if playing was set to false
number = ::read( filePara.fd, inbuffer, BUFSIZE);
// for (int i=0;i< number * 2; 2 * i++) { //2*i is left channel
// // for (int i=0;i< number ; i++) { //2*i is left channel
// outbuffer[i+1]= outbuffer[i]=inbuffer[i];
// }
bytesWritten = ::write( filePara.sd, inbuffer, number);
- waveform->newSamples( inbuffer, bytesWritten );
+ waveform->newSamples( inbuffer, number);
//-------------->>>> out to device
// total+=bytesWritten;
// if(filePara.channels==1)
// total += bytesWritten/2; //mono
// else
total += bytesWritten;
timeSlider->setValue( total);
@@ -373,18 +376,18 @@ void playIt()
if( /*total >= filePara.numberSamples || */ bytesWritten == 0) {
owarn << "Jane! Stop this crazy thing!" << oendl;
stopped = true;
// playing = false;
break;
}
}
- printf("\nplaying number %d, bytes %d, total %d\r",number, bytesWritten, total);
- fflush(stdout);
+// printf("\nplaying number %d, bytes %d, total %d\r",number, bytesWritten, total);
+// fflush(stdout);
} //end loop
} else {
/////////////////////////////// format = AFMT_U8;
unsigned char unsigned_inbuffer[ BUFSIZE ]; //, unsigned_outbuffer[BUFSIZE];
memset( unsigned_inbuffer, 0, BUFSIZE);
for(;;) {
// main loop
if (stopped) {
@@ -445,43 +448,44 @@ QtRec::QtRec( QWidget* parent, const char* name, WFlags fl )
getInVol();
getOutVol();
soundDevice->closeDevice( true);
soundDevice->sd = -1;
soundDevice = 0;
wavFile = 0;
- if( soundDevice) delete soundDevice;
+// if( soundDevice) delete soundDevice;
initIconView();
if( autoMute)
doMute( true);
ListView1->setFocus();
playing = false;
}
QtRec::~QtRec() {
+// if( soundDevice) delete soundDevice;
}
void QtRec::cleanUp() {
if( !stopped) {
stopped = true;
endRecording();
}
ListView1->clear();
if( autoMute)
doMute(false);
- if( wavFile) delete wavFile;
+// if( wavFile) delete wavFile;
// if(soundDevice) delete soundDevice;
}
void QtRec::init() {
needsStereoOut = false;
QPixmap image3( ( const char** ) image3_data );
QPixmap image4( ( const char** ) image4_data );
@@ -1496,17 +1500,17 @@ void QtRec::endRecording() {
cfg.writeEntry( wavFile->currentFileName, time );
// odebug << "writing config numberOfRecordedSeconds "+time << oendl;
cfg.write();
odebug << "finished recording" << oendl;
timeLabel->setText("");
}
- if(soundDevice) delete soundDevice;
+// if(soundDevice) delete soundDevice;
timeSlider->setValue(0);
initIconView();
selectItemByName( currentFile);
}
void QtRec::endPlaying() {
monitoring = false;
@@ -1536,17 +1540,17 @@ void QtRec::endPlaying() {
filePara.fd = 0;
// if(wavFile) delete wavFile; //this crashes
// odebug << "track closed" << oendl;
killTimers();
owarn << "reset slider" << oendl;
timeSlider->setValue(0);
- if(soundDevice) delete soundDevice;
+// if(soundDevice) delete soundDevice;
}
bool QtRec::openPlayFile() {
qApp->processEvents();
if( currentFile.isEmpty()) {
QMessageBox::message(tr("Opierec"),tr("Please select file to play"));
@@ -1785,17 +1789,17 @@ void QtRec::compressionSelected(bool b) {
cfg.setGroup("Settings");
cfg.writeEntry("wavCompression", b);
cfg.writeEntry("bitrate", 16);
filePara.resolution = 16;
cfg.write();
if(b) {
bitRateComboBox->setEnabled( false);
- bitRateComboBox->setCurrentItem( 0);
+ bitRateComboBox->setCurrentItem( 1);
filePara.resolution = 16;
} else{
bitRateComboBox->setEnabled( true);
}
}
long QtRec::checkDiskSpace(const QString &path) {