summaryrefslogtreecommitdiff
path: root/core/applets/vmemo/vmemo.cpp
Side-by-side diff
Diffstat (limited to 'core/applets/vmemo/vmemo.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/vmemo/vmemo.cpp42
1 files changed, 26 insertions, 16 deletions
diff --git a/core/applets/vmemo/vmemo.cpp b/core/applets/vmemo/vmemo.cpp
index b80b378..e747a19 100644
--- a/core/applets/vmemo/vmemo.cpp
+++ b/core/applets/vmemo/vmemo.cpp
@@ -233,13 +233,14 @@ VMemo::VMemo( QWidget *parent, const char *_name )
}
if(toggleKey == 1)
usingIcon = TRUE;
else
usingIcon = FALSE;
// if( vmCfg.readNumEntry("hideIcon",0) == 1)
-// hide();
+ if (!usingIcon)
+ hide();
recording = FALSE;
// }
}
VMemo::~VMemo() {
}
@@ -372,13 +373,13 @@ bool VMemo::startRecording() {
} else
return FALSE;
}
void VMemo::stopRecording() {
- show();
+// show();
odebug << "Stopped recording" << oendl;
recording = FALSE;
if(useAlerts) {
msgLabel->close();
msgLabel=0;
delete msgLabel;
@@ -482,36 +483,43 @@ int VMemo::openWAV(const char *filename) {
return 1;
}
bool VMemo::record() {
length = 0;
- int bytesWritten = 0;
+ int bytesWritten = 0;
int result = 0;
int value = 0;
+
QString msg;
msg.sprintf("Recording format %d", format);
odebug << msg << oendl;
+
Config config("Vmemo");
config.setGroup("Record");
int sRate = config.readNumEntry("SizeLimit", 30);
- if(sRate > 0)
- t_timer->start( sRate * 1000+1000, TRUE);
+ odebug << "VMEMO rate" << sRate << oendl;
- msg.sprintf("Recording format other");
- odebug << msg << oendl;
+ if(sRate > 0) {
+ t_timer->start( sRate * 1000+1000, TRUE);
+ }
+
+ msg.sprintf("Recording format other");
+ odebug << msg << oendl;
config.setGroup("Defaults");
useADPCM = config.readBoolEntry("use_ADPCM", 0);
- int bufsize = config.readNumEntry("BufferSize",1024);
- unsigned short sound[bufsize]; //, monoBuffer[bufsize];
+ int bufsize = config.readNumEntry("BufferSize",1024);
+ unsigned short sound[bufsize]; //, monoBuffer[bufsize];
char abuf[bufsize / 2];
short sbuf[bufsize];
-
+ odebug << "ready to record"<< oendl;
if(useADPCM) {
+ odebug << "usr ADPCM" << oendl;
+
while(recording) {
result = ::read(dsp, sbuf, bufsize); // adpcm read
if( result <= 0) {
perror("recording error ");
QMessageBox::message(tr("Note"),tr("error recording"));
recording = FALSE;
@@ -526,43 +534,45 @@ bool VMemo::record() {
recording = false;
perror("dev/dsp's is a lookin' messy");
QMessageBox::message("Vmemo","Error writing to file\n"+ fileName);
break;
return FALSE;
}
- // printf("%d\r", length);
- // fflush(stdout);
+ printf("%d\r", length);
+ fflush(stdout);
qApp->processEvents();
}
} else {
+ odebug << "use regular wav" << oendl;
while(recording) {
result = ::read(dsp, sound, bufsize); // read
if( result <= 0) {
perror("recording error ");
QMessageBox::message(tr("Note"),tr("error recording"));
recording = FALSE;
break;
return FALSE;
+ }
bytesWritten = ::write(wav, sound, result); // write
length += bytesWritten;
if(length < 0) {
recording = false;
perror("dev/dsp's is a lookin' messy");
QMessageBox::message("Vmemo","Error writing to file\n"+ fileName);
break;
return FALSE;
}
- // printf("%d\r", length);
- // fflush(stdout);
+// printf("%d\r", length);
+// fflush(stdout);
qApp->processEvents();
}
+// odebug << "result is " << result << oendl;
}
- }
- // odebug << "file has length of " << length << " lasting " << (( length / speed) / channels) / 2 ) << " seconds" << oendl;
+ odebug << "file has length of " << length << " lasting " << (( length / speed) / channels) / 2 << " seconds" << oendl;
value = length + 36;
lseek(wav, 4, SEEK_SET);
write(wav, &value, 4);
lseek(wav, 40, SEEK_SET);