Diffstat (limited to 'noncore/multimedia/opierec/qtrec.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/opierec/qtrec.cpp | 35 |
1 files changed, 11 insertions, 24 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 | ||
716 | void QtRec::initConnections() { | 716 | void 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 | ||
810 | void QtRec::stop() { | 815 | void 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 | ||
821 | void QtRec::doPlayBtn() { | 829 | void 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; |
@@ -1039,26 +1039,25 @@ bool QtRec::setupAudio( bool b) { | |||
1039 | filePara.format = WAVE_FORMAT_DVI_ADPCM; | 1039 | filePara.format = WAVE_FORMAT_DVI_ADPCM; |
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 | ||
1091 | bool QtRec::setUpFile() { //setup file for recording | 1090 | bool 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 >>>>>>>>>>>>>>>>>>> |
1111 | bool QtRec::doPlay() { | 1107 | bool 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 | ||
1218 | void QtRec::itClick(QListViewItem *item) { | 1214 | void 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 | ||
1223 | void QtRec::deleteSound() { | 1219 | void 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; |