summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-03-26 02:10:09 (UTC)
committer llornkcor <llornkcor>2002-03-26 02:10:09 (UTC)
commit8e658c0aa14db9f8b88eec738827ec640c0be818 (patch) (side-by-side diff)
tree4b12ce21c111fd7ad6ba49259f766a32ee3c9d02
parentfb6b1e63a784a6724e05f16269126ea49a7ad54b (diff)
downloadopie-8e658c0aa14db9f8b88eec738827ec640c0be818.zip
opie-8e658c0aa14db9f8b88eec738827ec640c0be818.tar.gz
opie-8e658c0aa14db9f8b88eec738827ec640c0be818.tar.bz2
I need this format, if I am to take this ove.. :(
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/vmemo/vmemo.cpp154
1 files changed, 77 insertions, 77 deletions
diff --git a/core/applets/vmemo/vmemo.cpp b/core/applets/vmemo/vmemo.cpp
index b3edbc1..ae5cf0c 100644
--- a/core/applets/vmemo/vmemo.cpp
+++ b/core/applets/vmemo/vmemo.cpp
@@ -311,124 +311,124 @@ int VMemo::openDSP()
int VMemo::openWAV(const char *filename)
{
track.setName(filename);
if(!track.open(IO_WriteOnly|IO_Truncate|IO_Raw))
return -1;
wav=track.handle();
WaveHeader wh;
wh.main_chunk = RIFF;
wh.length=0;
wh.chunk_type = WAVE;
wh.sub_chunk = FMT;
wh.sc_len = 16;
wh.format = PCM_CODE;
wh.modus = channels;
wh.sample_fq = speed;
wh.byte_p_sec = speed * channels * resolution/8;
wh.byte_p_spl = channels * (resolution / 8);
wh.bit_p_spl = resolution;
wh.data_chunk = DATA;
wh.data_length= 0;
// qDebug("Write header channels %d, speed %d, b/s %d, blockalign %d, bitrate %d"
// , wh.modus, wh.sample_fq, wh.byte_p_sec, wh.byte_p_spl, wh.bit_p_spl );
write (wav, &wh, sizeof(WaveHeader));
return 1;
}
void VMemo::record(void)
{
- int length=0, result, value;
- qDebug("Recording");
+ int length=0, result, value;
+ qDebug("Recording");
- if(systemZaurus) {
+ if(systemZaurus) {
signed short sound[512], monoBuffer[512];
- if(format==AFMT_S16_LE) {
+ if(format==AFMT_S16_LE) {
while(recording) {
- result = read(dsp, sound, 512); // 8192
- qApp->processEvents();
- int j=0;
- if(systemZaurus) {
- for (int i = 0; i < result; i++) { //since Z is mono do normally
- monoBuffer[i] = sound[i];
- }
- qApp->processEvents();
- length+=write(wav, monoBuffer, result);
- } else { //ipaq /stereo inputs
- for (int i = 0; i < result; i+=2) {
- monoBuffer[j] = (sound[i]+sound[i+1])/2;
- j++;
- }
- qApp->processEvents();
- length+=write(wav, monoBuffer, result/2);
- }
- printf("%d\r",length);
- fflush(stdout);
- }
- }
- else { //AFMT_S8 // don't try this yet.. as player doesn't understand 8bit unsigned
- while(recording)
- {
- result = read(dsp, sound, 512); // 8192
- qApp->processEvents();
- int j=0;
- if(systemZaurus)
- {
- for (int i = 0; i < result; i++) { //since Z is mono do normally
- monoBuffer[i] = sound[i];
- }
- qApp->processEvents();
- length+=write(wav, monoBuffer, result);
- } else { //ipaq /stereo inputs
- for (int i = 0; i < result; i+=2) {
- monoBuffer[j] = (sound[i]+sound[i+1])/2;
- j++;
- }
- qApp->processEvents();
- length+=write(wav, monoBuffer, result/2);
- }
- length += result;
- printf("%d\r",length);
- fflush(stdout);
+ result = read(dsp, sound, 512); // 8192
+ qApp->processEvents();
+ int j=0;
+ if(systemZaurus) {
+ for (int i = 0; i < result; i++) { //since Z is mono do normally
+ monoBuffer[i] = sound[i];
+ }
+ qApp->processEvents();
+ length+=write(wav, monoBuffer, result);
+ } else { //ipaq /stereo inputs
+ for (int i = 0; i < result; i+=2) {
+ monoBuffer[j] = (sound[i]+sound[i+1])/2;
+ j++;
+ }
+ qApp->processEvents();
+ length+=write(wav, monoBuffer, result/2);
+ }
+ printf("%d\r",length);
+ fflush(stdout);
+ }
+ }
+ else { //AFMT_S8 // don't try this yet.. as player doesn't understand 8bit unsigned
+ while(recording)
+ {
+ result = read(dsp, sound, 512); // 8192
+ qApp->processEvents();
+ int j=0;
+ if(systemZaurus)
+ {
+ for (int i = 0; i < result; i++) { //since Z is mono do normally
+ monoBuffer[i] = sound[i];
+ }
+ qApp->processEvents();
+ length+=write(wav, monoBuffer, result);
+ } else { //ipaq /stereo inputs
+ for (int i = 0; i < result; i+=2) {
+ monoBuffer[j] = (sound[i]+sound[i+1])/2;
+ j++;
+ }
+ qApp->processEvents();
+ length+=write(wav, monoBuffer, result/2);
+ }
+ length += result;
+ printf("%d\r",length);
+ fflush(stdout);
qApp->processEvents();
- }
-}
+ }
+ }
-} else {
+ } else {
- char sound[512]; //char is 8 bit
+ char sound[512]; //char is 8 bit
- while(recording)
-{
- result = read(dsp, sound, 512); // 8192
- qApp->processEvents();
+ while(recording)
+ {
+ result = read(dsp, sound, 512); // 8192
+ qApp->processEvents();
- write(wav, sound, result);
- length += result;
+ write(wav, sound, result);
+ length += result;
- qApp->processEvents();
-}
-// qDebug("file has length of %d lasting %d seconds",
-// length, (( length / speed) / channels) / 2 );
-// medialplayer states wrong length in secs
-}
+ qApp->processEvents();
+ }
+ // qDebug("file has length of %d lasting %d seconds",
+ // length, (( length / speed) / channels) / 2 );
+ // medialplayer states wrong length in secs
+ }
- value = length+36;
- lseek(wav, 4, SEEK_SET);
- write(wav, &value, 4);
- lseek(wav, 40, SEEK_SET);
- write(wav, &length, 4);
- track.close();
+ value = length+36;
+ lseek(wav, 4, SEEK_SET);
+ write(wav, &value, 4);
+ lseek(wav, 40, SEEK_SET);
+ write(wav, &length, 4);
+ track.close();
- if( ioctl( dsp, SNDCTL_DSP_RESET,0) == -1)
- perror("ioctl(\"SNDCTL_DSP_RESET\")");
- ::close(dsp);
- if(systemZaurus)
- QMessageBox::message("Vmemo"," Done recording");
+ if( ioctl( dsp, SNDCTL_DSP_RESET,0) == -1)
+ perror("ioctl(\"SNDCTL_DSP_RESET\")");
+ ::close(dsp);
+ if(systemZaurus)
+ QMessageBox::message("Vmemo"," Done recording");
- QSound::play(Resource::findSound("vmemoe"));
+ QSound::play(Resource::findSound("vmemoe"));
}