summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opierec/qtrec.cpp
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/opierec/qtrec.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opierec/qtrec.cpp123
1 files changed, 63 insertions, 60 deletions
diff --git a/noncore/multimedia/opierec/qtrec.cpp b/noncore/multimedia/opierec/qtrec.cpp
index e827083..9b761aa 100644
--- a/noncore/multimedia/opierec/qtrec.cpp
+++ b/noncore/multimedia/opierec/qtrec.cpp
@@ -114,24 +114,24 @@ void quickRec()
bytesWritten = 0;
number = 0;
QString num;
int level = 0;
int threshold = 0;
- int bits = filePara.resolution;
- odebug << "bits " << bits << "" << oendl;
+ int bits = filePara.resolution;
+ odebug << "bits " << bits << "" << oendl;
if( filePara.resolution == 16 ) { //AFMT_S16_LE)
- odebug << "AFMT_S16_LE size " << filePara.SecondsToRecord << "" << oendl;
- odebug << "samples to record " << filePara.samplesToRecord << "" << oendl;
- odebug << "" << filePara.sd << "" << oendl;
+ odebug << "AFMT_S16_LE size " << filePara.SecondsToRecord << "" << oendl;
+ odebug << "samples to record " << filePara.samplesToRecord << "" << oendl;
+ odebug << "" << filePara.sd << "" << oendl;
level = 7;
threshold = 0;
if( filePara.format == WAVE_FORMAT_DVI_ADPCM) {
- odebug << "start recording WAVE_FORMAT_DVI_ADPCM" << oendl;
+ odebug << "start recording WAVE_FORMAT_DVI_ADPCM" << oendl;
// <<<<<<<<<<<<<<<<<<<<<<<<<<< WAVE_FORMAT_DVI_ADPCM >>>>>>>>>>>>>>>>>>>>>>
char abuf[ BUFSIZE/2 ];
short sbuf[ BUFSIZE ];
short sbuf2[ BUFSIZE ];
memset( abuf, 0, BUFSIZE/2);
memset( sbuf, 0, BUFSIZE);
@@ -153,24 +153,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);
+ bytesWritten = ::write( filePara.fd , abuf, number/4);
waveform->newSamples( sbuf, number );
total += bytesWritten;
filePara.numberSamples = total;
timeSlider->setValue( total);
- printf("%d, bytes %d,total %d\r", number, bytesWritten, total);
- fflush(stdout);
+ printf("%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;
}
@@ -211,14 +211,14 @@ void quickRec()
total += bytesWritten;
filePara.numberSamples = total;
if( filePara.SecondsToRecord != 0)
timeSlider->setValue( total);
- printf("%d, bytes %d,total %d\r",number, bytesWritten , total);
- fflush(stdout);
+ printf("%d, bytes %d,total %d\r",number, bytesWritten , total);
+ fflush(stdout);
filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate
/ (float)2/filePara.channels;
qApp->processEvents();
if( total >= filePara.samplesToRecord) {
@@ -298,14 +298,16 @@ 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 *4);
+ bytesWritten = write ( soundDevice->sd , sbuf, number * 4);
+
+ waveform->newSamples( sbuf, number );
+
// if(filePara.channels==1)
// total += bytesWritten/2; //mono
// else
total += bytesWritten;
filePara.numberSamples = total/4;
filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate / 2;
@@ -339,13 +341,13 @@ 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);
+ bytesWritten = ::write( soundDevice->sd, inbuffer, number);
waveform->newSamples( inbuffer, number);
//-------------->>>> out to device
// total+=bytesWritten;
// if(filePara.channels==1)
// total += bytesWritten/2; //mono
// else
@@ -429,13 +431,13 @@ QtRec::QtRec( QWidget* parent, const char* name, WFlags fl )
soundDevice->closeDevice( true);
soundDevice->sd = -1;
soundDevice = 0;
wavFile = 0;
// if( soundDevice) delete soundDevice;
- QTimer::singleShot(100,this, SLOT(initIconView()));
+ QTimer::singleShot(100,this, SLOT(initIconView()));
if( autoMute)
doMute( true);
// ListView1->setFocus();
playing = false;
}
@@ -785,14 +787,14 @@ void QtRec::initConfig() {
} else {
filePara.channels = 1;
}
compressionCheckBox->setChecked( cfg.readBoolEntry("wavCompression",1));
if( compressionCheckBox->isChecked()) {
+ bitRateComboBox->setCurrentItem(1);
bitRateComboBox->setEnabled(false);
- bitRateComboBox->setCurrentItem(0);
filePara.resolution=16;
}
autoMuteCheckBox->setChecked( cfg.readBoolEntry("useAutoMute",0));
if( autoMuteCheckBox->isChecked())
slotAutoMute(true);
@@ -1045,13 +1047,13 @@ bool QtRec::setupAudio( bool b) {
flags= O_RDWR;
// flags= O_RDONLY;
recording = true;
}
// if(soundDevice) delete soundDevice;
- odebug << "<<<<<<<<<<<<<<<<<<<open dsp " << filePara.sampleRate << " " << filePara.channels << " " << sampleformat << "" << oendl;
+ owarn << "<<<<<<<<<<<<<<<<<<<open dsp " << filePara.sampleRate << " " << filePara.channels << " " << sampleformat << "" << oendl;
// owarn << "change waveform settings" << oendl;
waveform->changeSettings( filePara.sampleRate, filePara.channels );
soundDevice = new Device( this, b); //open rec
// soundDevice->openDsp();
soundDevice->reset();
@@ -1227,44 +1229,44 @@ void QtRec::deleteSound() {
// switch ( QMessageBox::warning(this,tr("Delete"),
// tr("Do you really want to <font size=+2><B>DELETE</B></font>\nthe selected file?"),
// tr("Yes"),tr("No"),0,1,1) ) {
// case 0:
// #endif
// {
- QString file = ListView1->currentItem()->text(0);
- QString fileName;
- fileName = cfg.readEntry( file, "");
- QFile f( fileName);
- if( f.exists())
- if( !f.remove())
- QMessageBox::message( tr("Error"), tr("Could not remove file."));
-
- int nFiles = cfg.readNumEntry( "NumberofFiles",0);
- bool found = false;
- for(int i=0;i<nFiles+1;i++) {
-
- if( cfg.readEntry( QString::number(i),"").find( file,0,true) != -1) {
- found = true;
- cfg.writeEntry( QString::number(i), cfg.readEntry( QString::number(i+1),""));
- }
- if(found)
- cfg.writeEntry( QString::number(i), cfg.readEntry( QString::number(i+1),""));
- }
-
- cfg.removeEntry( cfg.readEntry( file));
- cfg.removeEntry( file);
- cfg.writeEntry( "NumberofFiles", nFiles-1);
- cfg.write();
-
- ListView1->takeItem( ListView1->currentItem() );
- delete ListView1->currentItem();
-
- ListView1->clear();
- ListView1->setSelected( ListView1->firstChild(), true);
- initIconView();
- update();
+ QString file = ListView1->currentItem()->text(0);
+ QString fileName;
+ fileName = cfg.readEntry( file, "");
+ QFile f( fileName);
+ if( f.exists())
+ if( !f.remove())
+ QMessageBox::message( tr("Error"), tr("Could not remove file."));
+
+ int nFiles = cfg.readNumEntry( "NumberofFiles",0);
+ bool found = false;
+ for(int i=0;i<nFiles+1;i++) {
+
+ if( cfg.readEntry( QString::number(i),"").find( file,0,true) != -1) {
+ found = true;
+ cfg.writeEntry( QString::number(i), cfg.readEntry( QString::number(i+1),""));
+ }
+ if(found)
+ cfg.writeEntry( QString::number(i), cfg.readEntry( QString::number(i+1),""));
+ }
+
+ cfg.removeEntry( cfg.readEntry( file));
+ cfg.removeEntry( file);
+ cfg.writeEntry( "NumberofFiles", nFiles-1);
+ cfg.write();
+
+ ListView1->takeItem( ListView1->currentItem() );
+ delete ListView1->currentItem();
+
+ ListView1->clear();
+ ListView1->setSelected( ListView1->firstChild(), true);
+ initIconView();
+ update();
setCaption( tr( "OpieRecord " ));
}
void QtRec::keyPressEvent( QKeyEvent *e) {
switch ( e->key() ) {
@@ -1406,13 +1408,13 @@ void QtRec::endRecording() {
filePara.fd=0;
if( wavFile->isTempFile()) {
// move tmp file to regular file
QString cmd;
cmd.sprintf("mv "+ wavFile->trackName() + " " + wavFile->currentFileName);
- odebug << "moving tmp file to "+currentFileName << oendl;
+ odebug << "moving tmp file to "+currentFileName << oendl;
system( cmd.latin1());
}
odebug << "Just moved " + wavFile->currentFileName << oendl;
Config cfg("OpieRec");
cfg.setGroup("Sounds");
@@ -1426,13 +1428,13 @@ void QtRec::endRecording() {
cfg.writeEntry( QString::number( nFiles + 1), currentFile);
cfg.writeEntry( currentFile, wavFile->currentFileName);
QString time;
time.sprintf("%.2f", filePara.numberOfRecordedSeconds);
cfg.writeEntry( wavFile->currentFileName, time );
- odebug << "writing config numberOfRecordedSeconds "+time << oendl;
+ odebug << "writing config numberOfRecordedSeconds "+time << oendl;
cfg.write();
odebug << "finished recording" << oendl;
// timeLabel->setText("");
}
@@ -1480,16 +1482,16 @@ void QtRec::endPlaying() {
// if(soundDevice) delete soundDevice;
}
bool QtRec::openPlayFile() {
-
+ qWarning("opening file");
qApp->processEvents();
if( currentFile.isEmpty()) {
- QMessageBox::message(tr("Opierec"),tr("Please select file to play"));
+ QMessageBox::message(tr("Opierec"),tr("Please select file to play"));
endPlaying();
return false;
}
QString currentFileName;
Config cfg("OpieRec");
cfg.setGroup("Sounds");
@@ -1723,14 +1725,15 @@ void QtRec::compressionSelected(bool b) {
cfg.writeEntry("wavCompression", b);
cfg.writeEntry("bitrate", 16);
filePara.resolution = 16;
cfg.write();
if(b) {
- bitRateComboBox->setEnabled( false);
+ qWarning("set adpcm");
bitRateComboBox->setCurrentItem( 1);
+ bitRateComboBox->setEnabled( false);
filePara.resolution = 16;
} else{
bitRateComboBox->setEnabled( true);
}
}
@@ -1798,13 +1801,13 @@ void QtRec::timerEvent( QTimerEvent * ) {
secCount++;
}
void QtRec::changeTimeSlider(int index) {
if( ListView1->currentItem() == 0 || !wavFile->track.isOpen()) return;
- odebug << "Slider moved to " << index << "" << oendl;
+ odebug << "Slider moved to " << index << "" << oendl;
paused = true;
stopped = true;
sliderPos=index;
QString timeString;
@@ -1813,22 +1816,22 @@ void QtRec::changeTimeSlider(int index) {
secCount = (int)filePara.numberOfRecordedSeconds;
// timeLabel->setText( timeString + tr(" seconds"));
}
void QtRec::timeSliderPressed() {
if( ListView1->currentItem() == 0) return;
- odebug << "slider pressed" << oendl;
+ odebug << "slider pressed" << oendl;
paused = true;
stopped = true;
}
void QtRec::timeSliderReleased() {
if( ListView1->currentItem() == 0) return;
sliderPos = timeSlider->value();
- odebug << "slider released " << sliderPos << "" << oendl;
+ odebug << "slider released " << sliderPos << "" << oendl;
stopped = false;
int newPos = lseek( filePara.fd, sliderPos, SEEK_SET);
total = newPos*4;
filePara.numberOfRecordedSeconds = (float)sliderPos / (float)filePara.sampleRate * (float)2;
doPlay();
@@ -1852,13 +1855,13 @@ void QtRec::rewindPressed() {
void QtRec::rewindTimerTimeout() {
int sliderValue = timeSlider->value();
sliderValue = sliderValue - ( filePara.numberSamples / 100);
// if(toBeginningButton->isDown())
timeSlider->setValue( sliderValue ) ;
- odebug << "" << sliderValue << "" << oendl;
+ odebug << "" << sliderValue << "" << oendl;
QString timeString;
filePara.numberOfRecordedSeconds = (float)sliderValue / (float)filePara.sampleRate * (float)2;
timeString.sprintf( "%.2f", filePara.numberOfRecordedSeconds);
// timeLabel->setText( timeString+ tr(" seconds"));
}
@@ -1866,13 +1869,13 @@ void QtRec::rewindReleased() {
rewindTimer->stop();
if( wavFile->track.isOpen()) {
sliderPos=timeSlider->value();
stopped = false;
int newPos = lseek( filePara.fd, sliderPos, SEEK_SET);
total = newPos * 4;
- odebug << "rewind released " << total << "" << oendl;
+ odebug << "rewind released " << total << "" << oendl;
startTimer( 1000);
doPlay();
}
}
void QtRec::FastforwardPressed() {