summaryrefslogtreecommitdiff
path: root/core/applets/vmemo
Unidiff
Diffstat (limited to 'core/applets/vmemo') (more/less context) (show whitespace changes)
-rw-r--r--core/applets/vmemo/vmemo.cpp42
1 files changed, 23 insertions, 19 deletions
diff --git a/core/applets/vmemo/vmemo.cpp b/core/applets/vmemo/vmemo.cpp
index 622b1df..1ead4dd 100644
--- a/core/applets/vmemo/vmemo.cpp
+++ b/core/applets/vmemo/vmemo.cpp
@@ -209,36 +209,37 @@ VMemo::VMemo( QWidget *parent, const char *_name )
209 Config vmCfg("Vmemo"); 209 Config vmCfg("Vmemo");
210 vmCfg.setGroup("Defaults"); 210 vmCfg.setGroup("Defaults");
211 int toggleKey = setToggleButton(vmCfg.readNumEntry("toggleKey", -1)); 211 int toggleKey = setToggleButton(vmCfg.readNumEntry("toggleKey", -1));
212 useADPCM = vmCfg.readBoolEntry("use_ADPCM", 0); 212 useADPCM = vmCfg.readBoolEntry("use_ADPCM", 0);
213 213
214 odebug << "toggleKey " << toggleKey << "" << oendl; 214 odebug << "toggleKey " << toggleKey << "" << oendl;
215 if ( QFile::exists ( "/dev/sharp_buz" ) || QFile::exists ( "/dev/sharp_led" )) 215
216 systemZaurus=TRUE; 216// if ( QFile::exists ( "/dev/sharp_buz" ) || QFile::exists ( "/dev/sharp_led" ))
217 else 217// systemZaurus=TRUE;
218// else
218 systemZaurus=FALSE; 219 systemZaurus=FALSE;
219 220
220 myChannel = new QCopChannel( "QPE/VMemo", this ); 221 myChannel = new QCopChannel( "QPE/VMemo", this );
221 connect( myChannel, SIGNAL(received(const QCString&,const QByteArray&)), 222 connect( myChannel, SIGNAL(received(const QCString&,const QByteArray&)),
222 this, SLOT(receive(const QCString&,const QByteArray&)) ); 223 this, SLOT(receive(const QCString&,const QByteArray&)) );
223 224
224 if( toggleKey != -1 ) { 225 if( toggleKey != -1 ) {
225 // keyRegister(key, channel, message) 226 qDebug("Register key %d", toggleKey);
226 QCopEnvelope e("QPE/Launcher", "keyRegister(int,QCString,QCString)"); 227 QCopEnvelope e("QPE/Launcher", "keyRegister(int,QCString,QCString)");
227 // e << 4096; // Key_Escape 228 // e << 4096; // Key_Escape
228 // e << Key_F5; //4148 229 // e << Key_F5; //4148
229 e << toggleKey; 230 e << toggleKey;
230 e << QString("QPE/VMemo"); 231 e << QString("QPE/VMemo");
231 e << QString("toggleRecord()"); 232 e << QString("toggleRecord()");
232 } 233 }
233 if(toggleKey == 1) 234 if(toggleKey == 1)
234 usingIcon=TRUE; 235 usingIcon=TRUE;
235 else 236 else
236 usingIcon=FALSE; 237 usingIcon=FALSE;
237 if( vmCfg.readNumEntry("hideIcon",0) == 1) 238// if( vmCfg.readNumEntry("hideIcon",0) == 1)
238 hide(); 239// hide();
239 recording = FALSE; 240 recording = FALSE;
240 // } 241 // }
241} 242}
242 243
243VMemo::~VMemo() { 244VMemo::~VMemo() {
244} 245}
@@ -246,13 +247,13 @@ VMemo::~VMemo() {
246int VMemo::position() 247int VMemo::position()
247{ 248{
248 return 6; 249 return 6;
249} 250}
250 251
251void VMemo::receive( const QCString &msg, const QByteArray &data ) { 252void VMemo::receive( const QCString &msg, const QByteArray &data ) {
252 odebug << "receive" << oendl; 253 odebug << "Vmemo receive" << oendl;
253 QDataStream stream( data, IO_ReadOnly ); 254 QDataStream stream( data, IO_ReadOnly );
254 255
255 if (msg == "toggleRecord()") { 256 if (msg == "toggleRecord()") {
256 if (recording) { 257 if (recording) {
257 fromToggle = TRUE; 258 fromToggle = TRUE;
258 stopRecording(); 259 stopRecording();
@@ -382,14 +383,14 @@ void VMemo::stopRecording() {
382 msgLabel=0; 383 msgLabel=0;
383 delete msgLabel; 384 delete msgLabel;
384 } 385 }
385 t_timer->stop(); 386 t_timer->stop();
386 Config cfg("Vmemo"); 387 Config cfg("Vmemo");
387 cfg.setGroup("Defaults"); 388 cfg.setGroup("Defaults");
388 if( cfg.readNumEntry("hideIcon",0) == 1 ) 389// if( cfg.readNumEntry("hideIcon",0) == 1 )
389 hide(); 390// hide();
390} 391}
391 392
392int VMemo::openDSP() { 393int VMemo::openDSP() {
393 Config cfg("Vmemo"); 394 Config cfg("Vmemo");
394 cfg.setGroup("Record"); 395 cfg.setGroup("Record");
395 396
@@ -497,27 +498,30 @@ bool VMemo::record() {
497// if(systemZaurus) { 498// if(systemZaurus) {
498// } else { // 16 bit only capabilities 499// } else { // 16 bit only capabilities
499 500
500 msg.sprintf("Recording format other"); 501 msg.sprintf("Recording format other");
501 odebug << msg << oendl; 502 odebug << msg << oendl;
502 503
503 int bufsize=1024; 504
504 int bytesWritten=0; 505 int bytesWritten=0;
505 signed short sound[1024], monoBuffer[1024]; 506
506 char abuf[bufsize/2];
507 short sbuf[bufsize];
508 Config vmCfg("Vmemo"); 507 Config vmCfg("Vmemo");
509 vmCfg.setGroup("Defaults"); 508 vmCfg.setGroup("Defaults");
510 useADPCM = vmCfg.readBoolEntry("use_ADPCM", 0); 509 useADPCM = vmCfg.readBoolEntry("use_ADPCM", 0);
511 510
511 int bufsize = vmCfg.readNumEntry("BufferSize",1024);
512 signed short sound[bufsize], monoBuffer[bufsize];
513 char abuf[bufsize / 2];
514 short sbuf[bufsize];
515
512 while(recording) { 516 while(recording) {
513 517
514 if(useADPCM) 518 if(useADPCM)
515 result = read( dsp, sbuf, bufsize); // 8192 519 result = ::read(dsp, sbuf, bufsize); // 8192
516 else 520 else
517 result = read(dsp, sound, 1024); // 8192 521 result = ::read(dsp, sound, bufsize); // 8192
518 if( result <= 0) { 522 if( result <= 0) {
519 perror("recording error "); 523 perror("recording error ");
520// odebug << currentFileName << oendl; 524// odebug << currentFileName << oendl;
521 QMessageBox::message(tr("Note"),tr("error recording")); 525 QMessageBox::message(tr("Note"),tr("error recording"));
522 recording=FALSE; 526 recording=FALSE;
523 break; 527 break;
@@ -526,17 +530,17 @@ bool VMemo::record() {
526 530
527 if(useADPCM) { 531 if(useADPCM) {
528 adpcm_coder( sbuf, abuf, result/2, &encoder_state); 532 adpcm_coder( sbuf, abuf, result/2, &encoder_state);
529 bytesWritten = ::write(wav, abuf, result/4); 533 bytesWritten = ::write(wav, abuf, result/4);
530 534
531 } else { 535 } else {
532 for (int i = 0; i < result; i++) { //since Z is mono do normally 536// for (int i = 0; i < result; i++) { //since Z is mono do normally
533 monoBuffer[i] = sound[i]; 537// monoBuffer[i] = sound[i];
534 } 538// }
535 539
536 length+=write(wav, monoBuffer, result); 540 length += write(wav, sound, result);
537 } 541 }
538 length +=bytesWritten; 542 length +=bytesWritten;
539 543
540 if(length<0) { 544 if(length<0) {
541 recording=false; 545 recording=false;
542 perror("dev/dsp's is a lookin' messy"); 546 perror("dev/dsp's is a lookin' messy");