-rw-r--r-- | core/applets/vmemo/vmemo.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/core/applets/vmemo/vmemo.cpp b/core/applets/vmemo/vmemo.cpp index b5239eb..035965e 100644 --- a/core/applets/vmemo/vmemo.cpp +++ b/core/applets/vmemo/vmemo.cpp @@ -259,13 +259,15 @@ VMemo::~VMemo() { void VMemo::receive( const QCString &msg, const QByteArray &data ) { qDebug("receive"); QDataStream stream( data, IO_ReadOnly ); + if (msg == "toggleRecord()") { + if (recording) { fromToggle = TRUE; mouseReleaseEvent(NULL); -// stopRecording(); + stopRecording(); } else { fromToggle = TRUE; // mousePressEvent(NULL); startRecording(); @@ -358,15 +360,15 @@ bool VMemo::startRecording() { fileName+="/"; fName = "vm_"+ dt.toString()+ ".wav"; fileName+=fName; - qDebug("filename is "+fileName); // No spaces in the filename fileName.replace(QRegExp("'"),""); fileName.replace(QRegExp(" "),"_"); fileName.replace(QRegExp(":"),"."); fileName.replace(QRegExp(","),""); + qDebug("filename is "+fileName); // open tmp file here char *pointer; pointer=tmpnam(NULL); qDebug("Opening tmp file %s",pointer); @@ -379,9 +381,9 @@ bool VMemo::startRecording() { QMessageBox::critical(0, "vmemo", err, "Abort"); ::close(dsp); return FALSE; } - record(); + if( record() ) { QString cmd; cmd.sprintf("mv %s "+fileName, pointer); // move tmp file to regular file here @@ -397,10 +399,12 @@ bool VMemo::startRecording() { l.setName(dlName); l.setType("audio/x-wav"); l.setCategories(cats); l.writeLink(); - return TRUE; + } else + return FALSE; + } void VMemo::stopRecording() { show(); @@ -503,17 +507,18 @@ int VMemo::openWAV(const char *filename) { return 1; } -void VMemo::record(void) { +bool VMemo::record() { + int length=0, result, value; QString msg; msg.sprintf("Recording format %d", format); qDebug(msg); Config config("Vmemo"); config.setGroup("Record"); int sRate=config.readNumEntry("SizeLimit", 30); - + if(sRate > 0) t_timer->start( sRate * 1000+1000, TRUE); // if(systemZaurus) { // } else { // 16 bit only capabilities @@ -536,10 +541,11 @@ void VMemo::record(void) { if( result <= 0) { perror("recording error "); // qDebug(currentFileName); QMessageBox::message(tr("Note"),tr("error recording")); - recording=FALSE;; + recording=FALSE; break; + return FALSE; } if(useADPCM) { adpcm_coder( sbuf, abuf, result/2, &encoder_state); @@ -557,8 +563,10 @@ void VMemo::record(void) { if(length<0) { recording=false; perror("dev/dsp's is a lookin' messy"); QMessageBox::message("Vmemo"," Done1 recording\n"+ fileName); + break; + return FALSE; } // printf("%d\r",length); // fflush(stdout); qApp->processEvents(); @@ -596,9 +604,9 @@ void VMemo::record(void) { cfg.setGroup("Volume"); QString foo = cfg.readEntry("Mute","TRUE"); if(foo.find("TRUE",0,TRUE) != -1) QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE; //mute - +return TRUE; } int VMemo::setToggleButton(int tog) { |