summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/applets/vmemo/vmemo.cpp58
1 files changed, 35 insertions, 23 deletions
diff --git a/core/applets/vmemo/vmemo.cpp b/core/applets/vmemo/vmemo.cpp
index 10a947e..b29ee62 100644
--- a/core/applets/vmemo/vmemo.cpp
+++ b/core/applets/vmemo/vmemo.cpp
@@ -400,24 +400,26 @@ int VMemo::openDSP()
perror("ioctl(\"SNDCTL_DSP_CHANNELS\")");
return -1;
}
if(ioctl(dsp, SNDCTL_DSP_SPEED , &speed)==-1) {
perror("ioctl(\"SNDCTL_DSP_SPEED\")");
return -1;
}
if(ioctl(dsp, SOUND_PCM_READ_RATE , &rate)==-1) {
perror("ioctl(\"SOUND_PCM_READ_RATE\")");
return -1;
}
+ QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << FALSE; //mute
+
return 1;
}
int VMemo::openWAV(const char *filename)
{
track.setName(filename);
if(!track.open(IO_WriteOnly|IO_Truncate|IO_Raw)) {
errorMsg=filename;
return -1;
}
wav=track.handle();
@@ -450,95 +452,98 @@ void VMemo::record(void)
QString msg;
msg.sprintf("Recording format %d", format);
qDebug(msg);
if(systemZaurus) {
msg.sprintf("Recording format zaurus");
qDebug(msg);
signed short sound[512], monoBuffer[512];
if(format==AFMT_S16_LE) {
+
+
while(recording) {
result = read(dsp, sound, 512); // 8192
int j=0;
- if(systemZaurus) {
+ // if(systemZaurus) {
for (int i = 0; i < result; i++) { //since Z is mono do normally
monoBuffer[i] = sound[i];
}
length+=write(wav, monoBuffer, result);
if(length<0)
recording=false;
- } else { //ipaq /stereo inputs
+ // } else { //ipaq /stereo inputs
- for (int i = 0; i < result; i+=2) {
- monoBuffer[j] = sound[i];
- // monoBuffer[j] = (sound[i]+sound[i+1])/2;
+ // for (int i = 0; i < result; i+=2) {
+ // monoBuffer[j] = sound[i];
+ // // monoBuffer[j] = (sound[i]+sound[i+1])/2;
- j++;
- }
+ // j++;
+ // }
- length+=write(wav, monoBuffer, result);
- if(length<0)
- recording=false;
- // length+=write(wav, monoBuffer, result/2);
- }
+ // length+=write(wav, monoBuffer, result);
+ // if(length<0)
+ // recording=false;
+ // // length+=write(wav, monoBuffer, result/2);
+ // }
qApp->processEvents();
// printf("%d\r",length);
// fflush(stdout);
}
} else { //AFMT_U8
// 8bit unsigned
unsigned short sound[512], monoBuffer[512];
while(recording) {
result = read(dsp, sound, 512); // 8192
int j=0;
- if(systemZaurus) {
+ // if(systemZaurus) {
for (int i = 0; i < result; i++) { //since Z is mono do normally
monoBuffer[i] = sound[i];
}
length+=write(wav, monoBuffer, result);
- } else { //ipaq /stereo inputs
+ // } else { //ipaq /stereo inputs
- for (int i = 0; i < result; i+=2) {
- monoBuffer[j] = (sound[i]+sound[i+1])/2;
- j++;
- }
+ // for (int i = 0; i < result; i+=2) {
+ // monoBuffer[j] = (sound[i]+sound[i+1])/2;
+ // j++;
+ // }
- length+=write(wav, monoBuffer, result/2);
+ // length+=write(wav, monoBuffer, result/2);
- if(length<0)
- recording=false;
+ // if(length<0)
+ // recording=false;
- }
+ // }
length += result;
// printf("%d\r",length);
// fflush(stdout);
}
qApp->processEvents();
}
- } else { // this is specific for ipaqs that do not have 8 bit capabilities
+ } else { // 16 bit only capabilities
+
msg.sprintf("Recording format other");
qDebug(msg);
signed short sound[512], monoBuffer[512];
while(recording) {
result = read(dsp, sound, 512); // 8192
write(wav, sound, result);
length += result;
@@ -570,24 +575,31 @@ void VMemo::record(void)
track.close();
qDebug("Tracvk closed");
if( ioctl( dsp, SNDCTL_DSP_RESET,0) == -1)
perror("ioctl(\"SNDCTL_DSP_RESET\")");
::close(dsp);
fileName = fileName.left(fileName.length()-4);
// if(useAlerts)
// QMessageBox::message("Vmemo"," Done1 recording\n"+ fileName);
qDebug("done recording "+fileName);
QSound::play(Resource::findSound("vmemoe"));
+
+ Config cfg("qpe");
+ cfg.setGroup("Volume");
+ QString foo = cfg.readEntry("Mute","TRUE");
+ if(foo.find("TRUE",0,TRUE) != -1)
+ QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE; //mute
+
}
int VMemo::setToggleButton(int tog) {
for( int i=0; i < 10;i++) {
switch (tog) {
case 0:
return -1;
break;
case 1:
return 0;
break;