summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2004-07-02 21:28:14 (UTC)
committer llornkcor <llornkcor>2004-07-02 21:28:14 (UTC)
commite46eb5eb8bb8a0a34dbc7f4749ff62633261aba0 (patch) (side-by-side diff)
tree0f18b7d34ee6208b18afc45837098c4e11cc5ed5
parent558c37f440baa57213d40639992bd29eaed1e12f (diff)
downloadopie-e46eb5eb8bb8a0a34dbc7f4749ff62633261aba0.zip
opie-e46eb5eb8bb8a0a34dbc7f4749ff62633261aba0.tar.gz
opie-e46eb5eb8bb8a0a34dbc7f4749ff62633261aba0.tar.bz2
fix
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/applets/vmemo/vmemo.cpp26
1 files changed, 18 insertions, 8 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
@@ -227,25 +227,26 @@ VMemo::VMemo( QWidget *parent, const char *_name )
QCopEnvelope e("QPE/Launcher", "keyRegister(int,QCString,QCString)");
// e << 4096; // Key_Escape
// e << Key_F5; //4148
e << toggleKey;
e << QString("QPE/VMemo");
e << QString("toggleRecord()");
}
if(toggleKey == 1)
usingIcon = TRUE;
else
usingIcon = FALSE;
// if( vmCfg.readNumEntry("hideIcon",0) == 1)
-// hide();
+ if (!usingIcon)
+ hide();
recording = FALSE;
// }
}
VMemo::~VMemo() {
}
int VMemo::position()
{
return 6;
}
@@ -366,25 +367,25 @@ bool VMemo::startRecording() {
l.setFile(fileName);
l.setName(dlName);
l.setType("audio/x-wav");
l.setCategories(cats);
l.writeLink();
return TRUE;
} else
return FALSE;
}
void VMemo::stopRecording() {
- show();
+// show();
odebug << "Stopped recording" << oendl;
recording = FALSE;
if(useAlerts) {
msgLabel->close();
msgLabel=0;
delete msgLabel;
}
t_timer->stop();
Config cfg("Vmemo");
cfg.setGroup("Defaults");
// if( cfg.readNumEntry("hideIcon",0) == 1 )
// hide();
@@ -479,96 +480,105 @@ int VMemo::openWAV(const char *filename) {
// odebug << "Write header channels " << wh.modus << ", speed " << wh.sample_fq << ", b/s "
// << wh.byte_p_sec << ", blockalign " << wh.byte_p_spl << ", bitrate " << wh.bit_p_spl << oendl;
write (wav, &wh, sizeof(WaveHeader));
return 1;
}
bool VMemo::record() {
length = 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)
+ odebug << "VMEMO rate" << sRate << 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];
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;
break;
return FALSE;
}
adpcm_coder( sbuf, abuf, result/2, &encoder_state);
bytesWritten = ::write(wav, abuf, result/4); // adpcm 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();
}
} 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);
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);
write(wav, &length, 4);
track.close();
odebug << "Track closed" << oendl;