summaryrefslogtreecommitdiff
path: root/core/applets/vmemo/vmemo.cpp
Unidiff
Diffstat (limited to 'core/applets/vmemo/vmemo.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/applets/vmemo/vmemo.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/applets/vmemo/vmemo.cpp b/core/applets/vmemo/vmemo.cpp
index e747a19..07ef15c 100644
--- a/core/applets/vmemo/vmemo.cpp
+++ b/core/applets/vmemo/vmemo.cpp
@@ -390,49 +390,53 @@ void VMemo::stopRecording() {
390// if( cfg.readNumEntry("hideIcon",0) == 1 ) 390// if( cfg.readNumEntry("hideIcon",0) == 1 )
391// hide(); 391// hide();
392} 392}
393 393
394int VMemo::openDSP() { 394int VMemo::openDSP() {
395 Config cfg("Vmemo"); 395 Config cfg("Vmemo");
396 cfg.setGroup("Record"); 396 cfg.setGroup("Record");
397 397
398 speed = cfg.readNumEntry("SampleRate", 22050); 398 speed = cfg.readNumEntry("SampleRate", 22050);
399 channels = cfg.readNumEntry("Stereo", 1) ? 2 : 1; // 1 = stereo(2), 0 = mono(1) 399 channels = cfg.readNumEntry("Stereo", 1) ? 2 : 1; // 1 = stereo(2), 0 = mono(1)
400 if (cfg.readNumEntry("SixteenBit", 1)==1) { 400 if (cfg.readNumEntry("SixteenBit", 1)==1) {
401 format = AFMT_S16_LE; 401 format = AFMT_S16_LE;
402 resolution = 16; 402 resolution = 16;
403 } else { 403 } else {
404 format = AFMT_U8; 404 format = AFMT_U8;
405 resolution = 8; 405 resolution = 8;
406 } 406 }
407 407
408 odebug << "samplerate: " << speed << ", channels " << channels << ", resolution " << resolution << "" << oendl; 408 odebug << "samplerate: " << speed << ", channels " << channels << ", resolution " << resolution << "" << oendl;
409 409
410 if(systemZaurus) { 410 if(systemZaurus) {
411 dsp = open("/dev/dsp1", O_RDONLY); //Zaurus needs /dev/dsp1 411 dsp = open("/dev/dsp1", O_RDONLY); //Zaurus needs /dev/dsp1
412 channels=1; //zaurus has one input channel 412 channels=1; //zaurus has one input channel
413 } else { 413 } else {
414#ifdef QT_QWS_DEVFS
415 dsp = open("/dev/sound/dsp", O_RDONLY);
416#else
414 dsp = open("/dev/dsp", O_RDONLY); 417 dsp = open("/dev/dsp", O_RDONLY);
418#endif
415 } 419 }
416 420
417 if(dsp == -1) { 421 if(dsp == -1) {
418 msgLabel->close(); 422 msgLabel->close();
419 msgLabel=0; 423 msgLabel=0;
420 delete msgLabel; 424 delete msgLabel;
421 425
422 perror("open(\"/dev/dsp\")"); 426 perror("open(\"/dev/dsp\")");
423 errorMsg="open(\"/dev/dsp\")\n "+(QString)strerror(errno); 427 errorMsg="open(\"/dev/dsp\")\n "+(QString)strerror(errno);
424 QMessageBox::critical(0, "vmemo", errorMsg, "Abort"); 428 QMessageBox::critical(0, "vmemo", errorMsg, "Abort");
425 return -1; 429 return -1;
426 } 430 }
427 431
428 if(ioctl(dsp, SNDCTL_DSP_SETFMT , &format)==-1) { 432 if(ioctl(dsp, SNDCTL_DSP_SETFMT , &format)==-1) {
429 perror("ioctl(\"SNDCTL_DSP_SETFMT\")"); 433 perror("ioctl(\"SNDCTL_DSP_SETFMT\")");
430 return -1; 434 return -1;
431 } 435 }
432 if(ioctl(dsp, SNDCTL_DSP_CHANNELS , &channels)==-1) { 436 if(ioctl(dsp, SNDCTL_DSP_CHANNELS , &channels)==-1) {
433 perror("ioctl(\"SNDCTL_DSP_CHANNELS\")"); 437 perror("ioctl(\"SNDCTL_DSP_CHANNELS\")");
434 return -1; 438 return -1;
435 } 439 }
436 if(ioctl(dsp, SNDCTL_DSP_SPEED , &speed)==-1) { 440 if(ioctl(dsp, SNDCTL_DSP_SPEED , &speed)==-1) {
437 perror("ioctl(\"SNDCTL_DSP_SPEED\")"); 441 perror("ioctl(\"SNDCTL_DSP_SPEED\")");
438 return -1; 442 return -1;