-rw-r--r-- | noncore/multimedia/opierec/qtrec.cpp | 35 | ||||
-rw-r--r-- | noncore/multimedia/opierec/qtrec.h | 13 | ||||
-rw-r--r-- | noncore/multimedia/opierec/wavFile.cpp | 36 |
3 files changed, 40 insertions, 44 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 | |||
@@ -720,8 +720,13 @@ void QtRec::initConnections() { | |||
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*))); |
@@ -811,10 +816,13 @@ 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 | ||
@@ -864,15 +872,7 @@ bool QtRec::rec() { //record | |||
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) { |
@@ -1048,8 +1048,7 @@ bool QtRec::setupAudio( bool b) { | |||
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 ); |
@@ -1089,8 +1088,6 @@ bool QtRec::setupAudio( bool b) { | |||
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, |
@@ -1102,7 +1099,6 @@ bool QtRec::setUpFile() { //setup file for recording | |||
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 | } |
@@ -1225,13 +1221,6 @@ void QtRec::deleteSound() { | |||
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, ""); |
@@ -1401,9 +1390,7 @@ void QtRec::endRecording() { | |||
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 | ||
diff --git a/noncore/multimedia/opierec/qtrec.h b/noncore/multimedia/opierec/qtrec.h index 642048a..6e81af6 100644 --- a/noncore/multimedia/opierec/qtrec.h +++ b/noncore/multimedia/opierec/qtrec.h | |||
@@ -60,7 +60,14 @@ public: | |||
60 | ~QtRec(); | 60 | ~QtRec(); |
61 | QSlider *OutputSlider,*InputSlider; | 61 | QSlider *OutputSlider,*InputSlider; |
62 | 62 | ||
63 | signals: | ||
64 | void stopRecording(); | ||
65 | void startRecording(); | ||
66 | void stopPlaying(); | ||
67 | void startPlaying(); | ||
68 | |||
63 | public slots: | 69 | public slots: |
70 | |||
64 | private: | 71 | private: |
65 | // int fragment; | 72 | // int fragment; |
66 | int fd1; | 73 | int fd1; |
@@ -97,9 +104,12 @@ private: | |||
97 | void timerEvent( QTimerEvent *e ); | 104 | void timerEvent( QTimerEvent *e ); |
98 | 105 | ||
99 | private slots: | 106 | private slots: |
107 | void endPlaying(); | ||
108 | void endRecording(); | ||
100 | 109 | ||
101 | void FastforwardPressed(); | 110 | void FastforwardPressed(); |
102 | void FastforwardReleased(); | 111 | void FastforwardReleased(); |
112 | |||
103 | void changeDirCombo(int); | 113 | void changeDirCombo(int); |
104 | void changeSizeLimitCombo(int); | 114 | void changeSizeLimitCombo(int); |
105 | void changeTimeSlider(int); | 115 | void changeTimeSlider(int); |
@@ -109,6 +119,7 @@ private slots: | |||
109 | void changedInVolume(); | 119 | void changedInVolume(); |
110 | void changedOutVolume(); | 120 | void changedOutVolume(); |
111 | void changesamplerateCombo(int); | 121 | void changesamplerateCombo(int); |
122 | |||
112 | void cleanUp(); | 123 | void cleanUp(); |
113 | void compressionSelected(bool); | 124 | void compressionSelected(bool); |
114 | void deleteSound(); | 125 | void deleteSound(); |
@@ -170,8 +181,6 @@ protected: | |||
170 | bool openPlayFile(); | 181 | bool openPlayFile(); |
171 | bool setUpFile(); | 182 | bool setUpFile(); |
172 | bool setupAudio( bool b); | 183 | bool setupAudio( bool b); |
173 | void endPlaying(); | ||
174 | void endRecording(); | ||
175 | void fileBeamFinished( Ir *ir); | 184 | void fileBeamFinished( Ir *ir); |
176 | void keyPressEvent( QKeyEvent *e); | 185 | void keyPressEvent( QKeyEvent *e); |
177 | void keyReleaseEvent( QKeyEvent *e); | 186 | void keyReleaseEvent( QKeyEvent *e); |
diff --git a/noncore/multimedia/opierec/wavFile.cpp b/noncore/multimedia/opierec/wavFile.cpp index b53c416..a0423f0 100644 --- a/noncore/multimedia/opierec/wavFile.cpp +++ b/noncore/multimedia/opierec/wavFile.cpp | |||
@@ -152,7 +152,7 @@ bool WavFile::setWavHeader(int fd, wavhdr *hdr) { | |||
152 | strncpy((*hdr).dataID, "data", 4); | 152 | strncpy((*hdr).dataID, "data", 4); |
153 | 153 | ||
154 | write( fd,hdr, sizeof(*hdr)); | 154 | write( fd,hdr, sizeof(*hdr)); |
155 | owarn << "writing header: bitrate " << wavResolution << ", samplerate " << wavSampleRate << ", channels " << wavChannels << oendl; | 155 | // owarn << "writing header: bitrate " << wavResolution << ", samplerate " << wavSampleRate << ", channels " << wavChannels << oendl; |
156 | return true; | 156 | return true; |
157 | } | 157 | } |
158 | 158 | ||
@@ -162,12 +162,12 @@ bool WavFile::adjustHeaders(int fd, int total) { | |||
162 | write( fd, &i, sizeof(i)); | 162 | write( fd, &i, sizeof(i)); |
163 | lseek( fd, 40, SEEK_SET); | 163 | lseek( fd, 40, SEEK_SET); |
164 | write( fd, &total, sizeof(total)); | 164 | write( fd, &total, sizeof(total)); |
165 | owarn << "adjusting header " << total << "" << oendl; | 165 | // owarn << "adjusting header " << total << "" << oendl; |
166 | return true; | 166 | return true; |
167 | } | 167 | } |
168 | 168 | ||
169 | int WavFile::parseWavHeader(int fd) { | 169 | int WavFile::parseWavHeader(int fd) { |
170 | owarn << "Parsing wav header" << oendl; | 170 | // owarn << "Parsing wav header" << oendl; |
171 | char string[4]; | 171 | char string[4]; |
172 | int found; | 172 | int found; |
173 | short fmt; | 173 | short fmt; |
@@ -175,71 +175,71 @@ int WavFile::parseWavHeader(int fd) { | |||
175 | unsigned long samplerrate, longdata; | 175 | unsigned long samplerrate, longdata; |
176 | 176 | ||
177 | if (read(fd, string, 4) < 4) { | 177 | if (read(fd, string, 4) < 4) { |
178 | owarn << " Could not read from sound file." << oendl; | 178 | // owarn << " Could not read from sound file." << oendl; |
179 | return -1; | 179 | return -1; |
180 | } | 180 | } |
181 | if (strncmp(string, "RIFF", 4)) { | 181 | if (strncmp(string, "RIFF", 4)) { |
182 | owarn << " not a valid WAV file." << oendl; | 182 | // owarn << " not a valid WAV file." << oendl; |
183 | return -1; | 183 | return -1; |
184 | } | 184 | } |
185 | lseek(fd, 4, SEEK_CUR); | 185 | lseek(fd, 4, SEEK_CUR); |
186 | if (read(fd, string, 4) < 4) { | 186 | if (read(fd, string, 4) < 4) { |
187 | owarn << "Could not read from sound file." << oendl; | 187 | // owarn << "Could not read from sound file." << oendl; |
188 | return -1; | 188 | return -1; |
189 | } | 189 | } |
190 | if (strncmp(string, "WAVE", 4)) { | 190 | if (strncmp(string, "WAVE", 4)) { |
191 | owarn << "not a valid WAV file." << oendl; | 191 | // owarn << "not a valid WAV file." << oendl; |
192 | return -1; | 192 | return -1; |
193 | } | 193 | } |
194 | found = 0; | 194 | found = 0; |
195 | 195 | ||
196 | while (!found) { | 196 | while (!found) { |
197 | if (read(fd, string, 4) < 4) { | 197 | if (read(fd, string, 4) < 4) { |
198 | owarn << "Could not read from sound file." << oendl; | 198 | // owarn << "Could not read from sound file." << oendl; |
199 | return -1; | 199 | return -1; |
200 | } | 200 | } |
201 | if (strncmp(string, "fmt ", 4)) { | 201 | if (strncmp(string, "fmt ", 4)) { |
202 | if (read(fd, &longdata, 4) < 4) { | 202 | if (read(fd, &longdata, 4) < 4) { |
203 | owarn << "Could not read from sound file." << oendl; | 203 | // owarn << "Could not read from sound file." << oendl; |
204 | return -1; | 204 | return -1; |
205 | } | 205 | } |
206 | lseek(fd, longdata, SEEK_CUR); | 206 | lseek(fd, longdata, SEEK_CUR); |
207 | } else { | 207 | } else { |
208 | lseek(fd, 4, SEEK_CUR); | 208 | lseek(fd, 4, SEEK_CUR); |
209 | if (read(fd, &fmt, 2) < 2) { | 209 | if (read(fd, &fmt, 2) < 2) { |
210 | owarn << "Could not read format chunk." << oendl; | 210 | // owarn << "Could not read format chunk." << oendl; |
211 | return -1; | 211 | return -1; |
212 | } | 212 | } |
213 | if (fmt != WAVE_FORMAT_PCM && fmt != WAVE_FORMAT_DVI_ADPCM) { | 213 | if (fmt != WAVE_FORMAT_PCM && fmt != WAVE_FORMAT_DVI_ADPCM) { |
214 | owarn << "Wave file contains unknown format. Unable to continue." << oendl; | 214 | // owarn << "Wave file contains unknown format. Unable to continue." << oendl; |
215 | return -1; | 215 | return -1; |
216 | } | 216 | } |
217 | wavFormat = fmt; | 217 | wavFormat = fmt; |
218 | // compressionFormat=fmt; | 218 | // compressionFormat=fmt; |
219 | owarn << "compressionFormat is " << fmt << "" << oendl; | 219 | // owarn << "compressionFormat is " << fmt << "" << oendl; |
220 | if (read(fd, &ch, 2) < 2) { | 220 | if (read(fd, &ch, 2) < 2) { |
221 | owarn << "Could not read format chunk." << oendl; | 221 | // owarn << "Could not read format chunk." << oendl; |
222 | return -1; | 222 | return -1; |
223 | } else { | 223 | } else { |
224 | wavChannels = ch; | 224 | wavChannels = ch; |
225 | owarn << "File has " << ch << " channels" << oendl; | 225 | // owarn << "File has " << ch << " channels" << oendl; |
226 | } | 226 | } |
227 | if (read(fd, &samplerrate, 4) < 4) { | 227 | if (read(fd, &samplerrate, 4) < 4) { |
228 | owarn << "Could not read from format chunk." << oendl; | 228 | // owarn << "Could not read from format chunk." << oendl; |
229 | return -1; | 229 | return -1; |
230 | } else { | 230 | } else { |
231 | wavSampleRate = samplerrate; | 231 | wavSampleRate = samplerrate; |
232 | // sampleRate = samplerrate; | 232 | // sampleRate = samplerrate; |
233 | owarn << "File has samplerate of " << (int) samplerrate << "" << oendl; | 233 | // owarn << "File has samplerate of " << (int) samplerrate << "" << oendl; |
234 | } | 234 | } |
235 | lseek(fd, 6, SEEK_CUR); | 235 | lseek(fd, 6, SEEK_CUR); |
236 | if (read(fd, &bitrate, 2) < 2) { | 236 | if (read(fd, &bitrate, 2) < 2) { |
237 | owarn << "Could not read format chunk." << oendl; | 237 | // owarn << "Could not read format chunk." << oendl; |
238 | return -1; | 238 | return -1; |
239 | } else { | 239 | } else { |
240 | wavResolution=bitrate; | 240 | wavResolution=bitrate; |
241 | // resolution = bitrate; | 241 | // resolution = bitrate; |
242 | owarn << "File has bitrate of " << bitrate << "" << oendl; | 242 | // owarn << "File has bitrate of " << bitrate << "" << oendl; |
243 | } | 243 | } |
244 | found++; | 244 | found++; |
245 | } | 245 | } |