summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opierec/qtrec.cpp
Unidiff
Diffstat (limited to 'noncore/multimedia/opierec/qtrec.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opierec/qtrec.cpp33
1 files changed, 10 insertions, 23 deletions
diff --git a/noncore/multimedia/opierec/qtrec.cpp b/noncore/multimedia/opierec/qtrec.cpp
index 9b761aa..9d3d5cf 100644
--- a/noncore/multimedia/opierec/qtrec.cpp
+++ b/noncore/multimedia/opierec/qtrec.cpp
@@ -711,26 +711,31 @@ void QtRec::initIconView() {
711 ListView1->setSelected( item, true); 711 ListView1->setSelected( item, true);
712 } 712 }
713 } 713 }
714} 714}
715 715
716void QtRec::initConnections() { 716void QtRec::initConnections() {
717 connect(qApp,SIGNAL(aboutToQuit()),SLOT(cleanUp())); 717 connect(qApp,SIGNAL(aboutToQuit()),SLOT(cleanUp()));
718 718
719 connect(toBeginningButton,SIGNAL(pressed()),this,SLOT(rewindPressed())); 719 connect(toBeginningButton,SIGNAL(pressed()),this,SLOT(rewindPressed()));
720 connect(toBeginningButton,SIGNAL(released()),this,SLOT(rewindReleased())); 720 connect(toBeginningButton,SIGNAL(released()),this,SLOT(rewindReleased()));
721 connect(toEndButton,SIGNAL(pressed()),this,SLOT(FastforwardPressed())); 721 connect(toEndButton,SIGNAL(pressed()),this,SLOT(FastforwardPressed()));
722 connect(toEndButton,SIGNAL(released()),this,SLOT(FastforwardReleased())); 722 connect(toEndButton,SIGNAL(released()),this,SLOT(FastforwardReleased()));
723
723 connect(deleteSoundButton,SIGNAL(released()),this,SLOT(deleteSound())); 724 connect(deleteSoundButton,SIGNAL(released()),this,SLOT(deleteSound()));
725
724 connect(Stop_PushButton,SIGNAL(released()),this,SLOT(doPlayBtn())); 726 connect(Stop_PushButton,SIGNAL(released()),this,SLOT(doPlayBtn()));
727 // connect(Stop_PushButton,SIGNAL(released()),this,SLOT(doPlayBtn()));
728
729 // connect(Rec_PushButton,SIGNAL(released()),this,SIGNAL(startRecording()));
725 connect(Rec_PushButton,SIGNAL(released()),this,SLOT(newSound())); 730 connect(Rec_PushButton,SIGNAL(released()),this,SLOT(newSound()));
726 731
727 connect(TabWidget,SIGNAL(currentChanged(QWidget*)),this,SLOT(thisTab(QWidget*))); 732 connect(TabWidget,SIGNAL(currentChanged(QWidget*)),this,SLOT(thisTab(QWidget*)));
728 733
729 connect(OutputSlider,SIGNAL(sliderReleased()),this,SLOT(changedOutVolume())); 734 connect(OutputSlider,SIGNAL(sliderReleased()),this,SLOT(changedOutVolume()));
730 connect(InputSlider,SIGNAL(sliderReleased()),this,SLOT(changedInVolume())); 735 connect(InputSlider,SIGNAL(sliderReleased()),this,SLOT(changedInVolume()));
731 736
732 connect(sampleRateComboBox,SIGNAL(activated(int)),this,SLOT(changesamplerateCombo(int))); 737 connect(sampleRateComboBox,SIGNAL(activated(int)),this,SLOT(changesamplerateCombo(int)));
733 connect(bitRateComboBox,SIGNAL(activated(int)),this,SLOT(changebitrateCombo(int))); 738 connect(bitRateComboBox,SIGNAL(activated(int)),this,SLOT(changebitrateCombo(int)));
734 connect(directoryComboBox,SIGNAL(activated(int)),this,SLOT(changeDirCombo(int))); 739 connect(directoryComboBox,SIGNAL(activated(int)),this,SLOT(changeDirCombo(int)));
735 connect(sizeLimitCombo,SIGNAL(activated(int)),this,SLOT(changeSizeLimitCombo(int))); 740 connect(sizeLimitCombo,SIGNAL(activated(int)),this,SLOT(changeSizeLimitCombo(int)));
736 741
@@ -802,28 +807,31 @@ void QtRec::initConfig() {
802 slotAutoMute(false); 807 slotAutoMute(false);
803 808
804 Config cofg( "qpe"); 809 Config cofg( "qpe");
805 cofg.setGroup( "Volume"); 810 cofg.setGroup( "Volume");
806 outMuteCheckBox->setChecked( cofg.readBoolEntry( "Mute",0)); 811 outMuteCheckBox->setChecked( cofg.readBoolEntry( "Mute",0));
807 inMuteCheckBox->setChecked( cofg.readBoolEntry( "MicMute",0)); 812 inMuteCheckBox->setChecked( cofg.readBoolEntry( "MicMute",0));
808} 813}
809 814
810void QtRec::stop() { 815void QtRec::stop() {
811 // owarn << "STOP" << oendl; 816 // owarn << "STOP" << oendl;
812 setRecordButton(false); 817 setRecordButton(false);
813 818
814 if( !recording) 819 if( !recording) {
820 emit stopPlaying();
815 endPlaying(); 821 endPlaying();
816 else 822 } else {
823 emit stopRecording();
817 endRecording(); 824 endRecording();
825 }
818 timeSlider->setValue(0); 826 timeSlider->setValue(0);
819} 827}
820 828
821void QtRec::doPlayBtn() { 829void QtRec::doPlayBtn() {
822 830
823 if(!stopped) { 831 if(!stopped) {
824 // playLabel2->setText(tr("Play")); 832 // playLabel2->setText(tr("Play"));
825 stop(); 833 stop();
826 } else { 834 } else {
827 if(ListView1->currentItem() == 0) return; 835 if(ListView1->currentItem() == 0) return;
828 // playLabel2->setText(tr("Stop")); 836 // playLabel2->setText(tr("Stop"));
829 currentFile = ListView1->currentItem()->text(0); 837 currentFile = ListView1->currentItem()->text(0);
@@ -855,33 +863,25 @@ bool QtRec::rec() { //record
855 return false; 863 return false;
856 } else { 864 } else {
857 secCount = 1; 865 secCount = 1;
858 // playLabel2->setText(tr("Stop")); 866 // playLabel2->setText(tr("Stop"));
859 monitoring = false; 867 monitoring = false;
860 setRecordButton( true); 868 setRecordButton( true);
861 869
862 if( setupAudio( true)) 870 if( setupAudio( true))
863 if(setUpFile()) { 871 if(setUpFile()) {
864 int fileSize = 0; 872 int fileSize = 0;
865 Config cfg("OpieRec"); 873 Config cfg("OpieRec");
866 cfg.setGroup("Settings"); 874 cfg.setGroup("Settings");
867// odebug << "<<<<<<<Device bits " << soundDevice->getDeviceBits()
868// << ", device rate " << soundDevice->getDeviceRate()
869// << ", device channels " << soundDevice->getDeviceChannels() << oendl;
870
871 //filePara.sampleRate = cfg.readNumEntry("samplerate", 22050);
872// odebug << "sample rate is " << filePara.sampleRate << "" << oendl;
873 filePara.SecondsToRecord = getCurrentSizeLimit(); 875 filePara.SecondsToRecord = getCurrentSizeLimit();
874
875// odebug << "size limit " << filePara.SecondsToRecord << " sec" << oendl;
876 int diskSize = checkDiskSpace( (const QString &) wavFile->trackName()); 876 int diskSize = checkDiskSpace( (const QString &) wavFile->trackName());
877 877
878 if( filePara.SecondsToRecord == 0) { 878 if( filePara.SecondsToRecord == 0) {
879 fileSize = diskSize; 879 fileSize = diskSize;
880 } else if( filePara.format == WAVE_FORMAT_PCM) { 880 } else if( filePara.format == WAVE_FORMAT_PCM) {
881// odebug << "WAVE_FORMAT_PCM" << oendl; 881// odebug << "WAVE_FORMAT_PCM" << oendl;
882 fileSize = (filePara.SecondsToRecord ) * filePara.channels 882 fileSize = (filePara.SecondsToRecord ) * filePara.channels
883 * filePara.sampleRate * ( filePara.resolution / 8) + 1000; 883 * filePara.sampleRate * ( filePara.resolution / 8) + 1000;
884 } else { 884 } else {
885// odebug << "WAVE_FORMAT_DVI_ADPCM" << oendl; 885// odebug << "WAVE_FORMAT_DVI_ADPCM" << oendl;
886 fileSize = ((filePara.SecondsToRecord) * filePara.channels 886 fileSize = ((filePara.SecondsToRecord) * filePara.channels
887 * filePara.sampleRate * ( filePara.resolution / 8) ) / 4 + 250; 887 * filePara.sampleRate * ( filePara.resolution / 8) ) / 4 + 250;
@@ -1040,25 +1040,24 @@ bool QtRec::setupAudio( bool b) {
1040 sampleformat = AFMT_S16_LE; 1040 sampleformat = AFMT_S16_LE;
1041// odebug << "WAVE_FORMAT_DVI_ADPCM" << oendl; 1041// odebug << "WAVE_FORMAT_DVI_ADPCM" << oendl;
1042 } 1042 }
1043#endif 1043#endif
1044 1044
1045 stereo = filePara.channels; 1045 stereo = filePara.channels;
1046// filePara.sampleRate = sampleRateComboBox->currentText().toInt( &ok,10);//44100; 1046// filePara.sampleRate = sampleRateComboBox->currentText().toInt( &ok,10);//44100;
1047 flags= O_RDWR; 1047 flags= O_RDWR;
1048// flags= O_RDONLY; 1048// flags= O_RDONLY;
1049 recording = true; 1049 recording = true;
1050 } 1050 }
1051 1051
1052 // if(soundDevice) delete soundDevice;
1053 owarn << "<<<<<<<<<<<<<<<<<<<open dsp " << filePara.sampleRate << " " << filePara.channels << " " << sampleformat << "" << oendl; 1052 owarn << "<<<<<<<<<<<<<<<<<<<open dsp " << filePara.sampleRate << " " << filePara.channels << " " << sampleformat << "" << oendl;
1054 // owarn << "change waveform settings" << oendl; 1053 // owarn << "change waveform settings" << oendl;
1055 waveform->changeSettings( filePara.sampleRate, filePara.channels ); 1054 waveform->changeSettings( filePara.sampleRate, filePara.channels );
1056 1055
1057 soundDevice = new Device( this, b); //open rec 1056 soundDevice = new Device( this, b); //open rec
1058// soundDevice->openDsp(); 1057// soundDevice->openDsp();
1059 soundDevice->reset(); 1058 soundDevice->reset();
1060 1059
1061 odebug << "device has been made " << soundDevice->sd << "" << oendl; 1060 odebug << "device has been made " << soundDevice->sd << "" << oendl;
1062 1061
1063 ////////////////// <<<<<<<<<<<<>>>>>>>>>>>> 1062 ////////////////// <<<<<<<<<<<<>>>>>>>>>>>>
1064 soundDevice->setDeviceFormat( sampleformat); 1063 soundDevice->setDeviceFormat( sampleformat);
@@ -1080,38 +1079,35 @@ bool QtRec::setupAudio( bool b) {
1080 update(); 1079 update();
1081 setCaption( tr( "OpieRecord " )+ QString::number(VERSION) ); 1080 setCaption( tr( "OpieRecord " )+ QString::number(VERSION) );
1082 return false; 1081 return false;
1083 } 1082 }
1084 if(autoMute) 1083 if(autoMute)
1085 doMute(false); 1084 doMute(false);
1086 1085
1087 return true; 1086 return true;
1088} 1087}
1089 1088
1090 1089
1091bool QtRec::setUpFile() { //setup file for recording 1090bool QtRec::setUpFile() { //setup file for recording
1092// odebug << "Setting up wavfile" << oendl;
1093// if(wavFile) delete wavFile;
1094 wavFile = new WavFile( this, (const QString &)"", 1091 wavFile = new WavFile( this, (const QString &)"",
1095 true, 1092 true,
1096 filePara.sampleRate, 1093 filePara.sampleRate,
1097 filePara.channels, 1094 filePara.channels,
1098 filePara.resolution, 1095 filePara.resolution,
1099 filePara.format); 1096 filePara.format);
1100 1097
1101 filePara.fd = wavFile->wavHandle(); 1098 filePara.fd = wavFile->wavHandle();
1102 if(filePara.fd == -1) { 1099 if(filePara.fd == -1) {
1103 return false; 1100 return false;
1104 } else { 1101 } else {
1105// filePara.channels=1;
1106 } 1102 }
1107 return true; 1103 return true;
1108} 1104}
1109 1105
1110/// <<<<<<<<<<<<<<<< PLAY >>>>>>>>>>>>>>>>>>> 1106/// <<<<<<<<<<<<<<<< PLAY >>>>>>>>>>>>>>>>>>>
1111bool QtRec::doPlay() { 1107bool QtRec::doPlay() {
1112 1108
1113 if( !paused) { 1109 if( !paused) {
1114 total = 0; 1110 total = 0;
1115 filePara.numberOfRecordedSeconds = 0; 1111 filePara.numberOfRecordedSeconds = 0;
1116 } else { 1112 } else {
1117 paused = false; 1113 paused = false;
@@ -1216,31 +1212,24 @@ void QtRec::newSound() {
1216} 1212}
1217 1213
1218void QtRec::itClick(QListViewItem *item) { 1214void QtRec::itClick(QListViewItem *item) {
1219 currentFile = item->text(0); 1215 currentFile = item->text(0);
1220 setCaption("OpieRecord "+currentFile); 1216 setCaption("OpieRecord "+currentFile);
1221} 1217}
1222 1218
1223void QtRec::deleteSound() { 1219void QtRec::deleteSound() {
1224 Config cfg("OpieRec"); 1220 Config cfg("OpieRec");
1225 cfg.setGroup("Sounds"); 1221 cfg.setGroup("Sounds");
1226 if( ListView1->currentItem() == NULL) 1222 if( ListView1->currentItem() == NULL)
1227 return; 1223 return;
1228// #ifndef DEV_VERSION
1229 // switch ( QMessageBox::warning(this,tr("Delete"),
1230 // tr("Do you really want to <font size=+2><B>DELETE</B></font>\nthe selected file?"),
1231 // tr("Yes"),tr("No"),0,1,1) ) {
1232 // case 0:
1233// #endif
1234 // {
1235 QString file = ListView1->currentItem()->text(0); 1224 QString file = ListView1->currentItem()->text(0);
1236 QString fileName; 1225 QString fileName;
1237 fileName = cfg.readEntry( file, ""); 1226 fileName = cfg.readEntry( file, "");
1238 QFile f( fileName); 1227 QFile f( fileName);
1239 if( f.exists()) 1228 if( f.exists())
1240 if( !f.remove()) 1229 if( !f.remove())
1241 QMessageBox::message( tr("Error"), tr("Could not remove file.")); 1230 QMessageBox::message( tr("Error"), tr("Could not remove file."));
1242 1231
1243 int nFiles = cfg.readNumEntry( "NumberofFiles",0); 1232 int nFiles = cfg.readNumEntry( "NumberofFiles",0);
1244 bool found = false; 1233 bool found = false;
1245 for(int i=0;i<nFiles+1;i++) { 1234 for(int i=0;i<nFiles+1;i++) {
1246 1235
@@ -1392,27 +1381,25 @@ void QtRec::endRecording() {
1392 toBeginningButton->setEnabled( true); 1381 toBeginningButton->setEnabled( true);
1393 toEndButton->setEnabled( true); 1382 toEndButton->setEnabled( true);
1394 1383
1395 killTimers(); 1384 killTimers();
1396 1385
1397 if(autoMute) 1386 if(autoMute)
1398 doMute( true); 1387 doMute( true);
1399 1388
1400 soundDevice->closeDevice( true); 1389 soundDevice->closeDevice( true);
1401 1390
1402 if( wavFile->track.isOpen()) { 1391 if( wavFile->track.isOpen()) {
1403 wavFile->adjustHeaders( filePara.fd, filePara.numberSamples); 1392 wavFile->adjustHeaders( filePara.fd, filePara.numberSamples);
1404 // soundDevice->sd=-1;
1405 filePara.numberSamples = 0; 1393 filePara.numberSamples = 0;
1406 // filePara.sd=-1;
1407 wavFile->closeFile(); 1394 wavFile->closeFile();
1408 filePara.fd=0; 1395 filePara.fd=0;
1409 1396
1410 if( wavFile->isTempFile()) { 1397 if( wavFile->isTempFile()) {
1411// move tmp file to regular file 1398// move tmp file to regular file
1412 QString cmd; 1399 QString cmd;
1413 cmd.sprintf("mv "+ wavFile->trackName() + " " + wavFile->currentFileName); 1400 cmd.sprintf("mv "+ wavFile->trackName() + " " + wavFile->currentFileName);
1414 odebug << "moving tmp file to "+currentFileName << oendl; 1401 odebug << "moving tmp file to "+currentFileName << oendl;
1415 system( cmd.latin1()); 1402 system( cmd.latin1());
1416 } 1403 }
1417 1404
1418 odebug << "Just moved " + wavFile->currentFileName << oendl; 1405 odebug << "Just moved " + wavFile->currentFileName << oendl;