summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/vmemo/vmemo.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/core/applets/vmemo/vmemo.cpp b/core/applets/vmemo/vmemo.cpp
index 577db75..4b398ad 100644
--- a/core/applets/vmemo/vmemo.cpp
+++ b/core/applets/vmemo/vmemo.cpp
@@ -357,46 +357,50 @@ bool VMemo::startRecording() {
357 if( fileName.left(1).find('/') == -1) 357 if( fileName.left(1).find('/') == -1)
358 fileName="/"+fileName; 358 fileName="/"+fileName;
359 if( fileName.right(1).find('/') == -1) 359 if( fileName.right(1).find('/') == -1)
360 fileName+="/"; 360 fileName+="/";
361 fName = "vm_"+ dt.toString()+ ".wav"; 361 fName = "vm_"+ dt.toString()+ ".wav";
362 362
363 fileName+=fName; 363 fileName+=fName;
364 // No spaces in the filename 364 // No spaces in the filename
365 fileName.replace(QRegExp("'"),""); 365 fileName.replace(QRegExp("'"),"");
366 fileName.replace(QRegExp(" "),"_"); 366 fileName.replace(QRegExp(" "),"_");
367 fileName.replace(QRegExp(":"),"."); 367 fileName.replace(QRegExp(":"),".");
368 fileName.replace(QRegExp(","),""); 368 fileName.replace(QRegExp(","),"");
369 fileName += ".wav"; 369
370 370
371 qDebug("filename is "+fileName); 371 qDebug("filename is "+fileName);
372// open tmp file here 372// open tmp file here
373 char *pointer; 373 char *pointer;
374 pointer=tmpnam(NULL); 374 pointer=tmpnam(NULL);
375 qDebug("Opening tmp file %s",pointer); 375 qDebug("Opening tmp file %s",pointer);
376 376
377 if(openWAV(pointer ) == -1) { 377 if(openWAV(pointer ) == -1) {
378 378
379// if(openWAV(fileName.latin1()) == -1) { 379// if(openWAV(fileName.latin1()) == -1) {
380 QString err("Could not open the temp file\n"); 380 QString err("Could not open the temp file\n");
381 err += fileName; 381 err += fileName;
382 QMessageBox::critical(0, "vmemo", err, "Abort"); 382 QMessageBox::critical(0, "vmemo", err, "Abort");
383 ::close(dsp); 383 ::close(dsp);
384 return FALSE; 384 return FALSE;
385 } 385 }
386 if( record() ) { 386 if( record() ) {
387 387
388 QString cmd; 388 QString cmd;
389 if( fileName.find(".wav",0,TRUE) == -1)
390 fileName += ".wav";
391
389 cmd.sprintf("mv %s "+fileName, pointer); 392 cmd.sprintf("mv %s "+fileName, pointer);
390// move tmp file to regular file here 393// move tmp file to regular file here
394
391 system(cmd.latin1()); 395 system(cmd.latin1());
392 396
393 QArray<int> cats(1); 397 QArray<int> cats(1);
394 cats[0] = config.readNumEntry("Category", 0); 398 cats[0] = config.readNumEntry("Category", 0);
395 399
396 QString dlName("vm_"); 400 QString dlName("vm_");
397 dlName += dt.toString(); 401 dlName += dt.toString();
398 DocLnk l; 402 DocLnk l;
399 l.setFile(fileName); 403 l.setFile(fileName);
400 l.setName(dlName); 404 l.setName(dlName);
401 l.setType("audio/x-wav"); 405 l.setType("audio/x-wav");
402 l.setCategories(cats); 406 l.setCategories(cats);
@@ -474,24 +478,26 @@ int VMemo::openDSP() {
474 478
475 return 1; 479 return 1;
476} 480}
477 481
478int VMemo::openWAV(const char *filename) { 482int VMemo::openWAV(const char *filename) {
479 track.setName(filename); 483 track.setName(filename);
480 if(!track.open(IO_WriteOnly|IO_Truncate|IO_Raw)) { 484 if(!track.open(IO_WriteOnly|IO_Truncate|IO_Raw)) {
481 errorMsg=filename; 485 errorMsg=filename;
482 return -1; 486 return -1;
483 } 487 }
484 488
485 wav=track.handle(); 489 wav=track.handle();
490 Config vmCfg("Vmemo");
491 vmCfg.setGroup("Defaults");
486 useADPCM = vmCfg.readBoolEntry("use_ADPCM", 0); 492 useADPCM = vmCfg.readBoolEntry("use_ADPCM", 0);
487 493
488 WaveHeader wh; 494 WaveHeader wh;
489 495
490 wh.main_chunk = RIFF; 496 wh.main_chunk = RIFF;
491 wh.length=0; 497 wh.length=0;
492 wh.chunk_type = WAVE; 498 wh.chunk_type = WAVE;
493 wh.sub_chunk = FMT; 499 wh.sub_chunk = FMT;
494 wh.sc_len = 16; 500 wh.sc_len = 16;
495 if(useADPCM) 501 if(useADPCM)
496 wh.format = WAVE_FORMAT_DVI_ADPCM;//PCM_CODE; 502 wh.format = WAVE_FORMAT_DVI_ADPCM;//PCM_CODE;
497 else 503 else
@@ -524,24 +530,26 @@ bool VMemo::record() {
524 530
525// if(systemZaurus) { 531// if(systemZaurus) {
526// } else { // 16 bit only capabilities 532// } else { // 16 bit only capabilities
527 533
528 msg.sprintf("Recording format other"); 534 msg.sprintf("Recording format other");
529 qDebug(msg); 535 qDebug(msg);
530 536
531 int bufsize=1024; 537 int bufsize=1024;
532 int bytesWritten=0; 538 int bytesWritten=0;
533 signed short sound[1024], monoBuffer[1024]; 539 signed short sound[1024], monoBuffer[1024];
534 char abuf[bufsize/2]; 540 char abuf[bufsize/2];
535 short sbuf[bufsize]; 541 short sbuf[bufsize];
542 Config vmCfg("Vmemo");
543 vmCfg.setGroup("Defaults");
536 useADPCM = vmCfg.readBoolEntry("use_ADPCM", 0); 544 useADPCM = vmCfg.readBoolEntry("use_ADPCM", 0);
537 545
538 while(recording) { 546 while(recording) {
539 547
540 if(useADPCM) 548 if(useADPCM)
541 result = read( dsp, sbuf, bufsize); // 8192 549 result = read( dsp, sbuf, bufsize); // 8192
542 else 550 else
543 result = read(dsp, sound, 1024); // 8192 551 result = read(dsp, sound, 1024); // 8192
544 if( result <= 0) { 552 if( result <= 0) {
545 perror("recording error "); 553 perror("recording error ");
546// qDebug(currentFileName); 554// qDebug(currentFileName);
547 QMessageBox::message(tr("Note"),tr("error recording")); 555 QMessageBox::message(tr("Note"),tr("error recording"));
@@ -586,25 +594,25 @@ bool VMemo::record() {
586 write(wav, &value, 4); 594 write(wav, &value, 4);
587 lseek(wav, 40, SEEK_SET); 595 lseek(wav, 40, SEEK_SET);
588 596
589 write(wav, &length, 4); 597 write(wav, &length, 4);
590 598
591 track.close(); 599 track.close();
592 qDebug("Track closed"); 600 qDebug("Track closed");
593 601
594 if( ioctl( dsp, SNDCTL_DSP_RESET,0) == -1) 602 if( ioctl( dsp, SNDCTL_DSP_RESET,0) == -1)
595 perror("ioctl(\"SNDCTL_DSP_RESET\")"); 603 perror("ioctl(\"SNDCTL_DSP_RESET\")");
596 604
597 ::close(dsp); 605 ::close(dsp);
598 fileName = fileName.left(fileName.length()-4); 606
599 // if(useAlerts) 607 // if(useAlerts)
600 // QMessageBox::message("Vmemo"," Done1 recording\n"+ fileName); 608 // QMessageBox::message("Vmemo"," Done1 recording\n"+ fileName);
601 qDebug("done recording "+fileName); 609 qDebug("done recording "+fileName);
602 610
603// QSound::play(Resource::findSound("vmemoe")); 611// QSound::play(Resource::findSound("vmemoe"));
604 612
605 Config cfg("qpe"); 613 Config cfg("qpe");
606 cfg.setGroup("Volume"); 614 cfg.setGroup("Volume");
607 QString foo = cfg.readEntry("Mute","TRUE"); 615 QString foo = cfg.readEntry("Mute","TRUE");
608 if(foo.find("TRUE",0,TRUE) != -1) 616 if(foo.find("TRUE",0,TRUE) != -1)
609 QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE; //mute 617 QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE; //mute
610return TRUE; 618return TRUE;