-rw-r--r-- | noncore/multimedia/opierec/device.cpp | 286 | ||||
-rw-r--r-- | noncore/multimedia/opierec/device.h | 4 | ||||
-rw-r--r-- | noncore/multimedia/opierec/qtrec.cpp | 121 | ||||
-rw-r--r-- | noncore/multimedia/opierec/waveform.cpp | 2 |
4 files changed, 125 insertions, 288 deletions
diff --git a/noncore/multimedia/opierec/device.cpp b/noncore/multimedia/opierec/device.cpp index cb47b77..e7e0f4b 100644 --- a/noncore/multimedia/opierec/device.cpp +++ b/noncore/multimedia/opierec/device.cpp @@ -1,255 +1,161 @@ // device.cpp #include "device.h" #include <qpe/config.h> #include <qpe/qcopenvelope_qws.h> +#include <opie2/odebug.h> + /* STD */ #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <sys/ioctl.h> #include <sys/soundcard.h> #include <unistd.h> #include <sys/wait.h> #include <unistd.h> #include <errno.h> //extern QtRec *qperec; +#if defined(QT_QWS_SL5XXX) +///#if defined(QT_QWS_EBX) + +#define DSPSTROUT "/dev/dsp" +#define DSPSTRMIXEROUT "/dev/mixer" + +#ifdef SHARP +#define DSPSTRIN "/dev/dsp1" +#define DSPSTRMIXERIN "/dev/mixer1" +#else +#define DSPSTRIN "/dev/dsp" +#define DSPSTRMIXERIN "/dev/mixer" +#endif + +#else + +#ifdef QT_QWS_DEVFS +#define DSPSTROUT "/dev/sound/dsp" +#define DSPSTRIN "/dev/sound/dsp" +#define DSPSTRMIXERIN "/dev/sound/mixer" +#define DSPSTRMIXEROUT "/dev/sound/mixer" +#else +#define DSPSTROUT "/dev/dsp" +#define DSPSTRIN "/dev/dsp" +#define DSPSTRMIXERIN "/dev/mixer" +#define DSPSTRMIXEROUT "/dev/mixer" +#endif + +#endif -Device::Device( QObject * parent, const char * dsp, const char * mixr, bool record ) +Device::Device( QObject * parent, bool record ) : QObject( parent) { - dspstr = (char *)dsp; - mixstr = (char *)mixr; - - devForm=-1; - devCh=-1; - devRate=-1; +// dspstr = dsp; + devForm = -1; + devCh = -1; + devRate = -1; if( !record){ //playing - qDebug( "setting up DSP for playing" ); + owarn << "setting up DSP for playing" << oendl; flags = O_WRONLY; } else { //recording - qDebug( "setting up DSP for recording" ); + owarn << "setting up DSP for recording" << oendl; flags = O_RDWR; // flags = O_RDONLY; - -// selectMicInput(); - + selectMicInput(); } } bool Device::openDsp() { if( openDevice( flags) == -1) { perror("<<<<<<<<<<<<<<ioctl(\"Open device\")"); return false; } return true; } int Device::openDevice( int flags) { -/* pid_t pid; - int status; - int pipefd[2]; - char message[20]; - if (pipe(pipefd) == -1){ - perror ("Error creating pipe"); -exit(1); - } - switch (pid = fork()) { - case -1: - perror("The fork failed!"); - break; - case 0: { - */ -qDebug( "Opening %s",dspstr); - if (( sd = ::open( dspstr, flags)) == -1) { - perror("open(\"/dev/dsp\")"); - QString errorMsg="Could not open audio device\n /dev/dsp\n" - +(QString)strerror(errno); - qDebug( "XXXXXXXXXXXXXXXXXXXXXXX "+errorMsg ); - return -1; - } - -qDebug( "Opening mixer" ); - int mixerHandle=0; -#ifdef QT_QWS_DEVFS - if (( mixerHandle = open("/dev/sound/mixer",O_RDWR))<0) { -#else - if (( mixerHandle = open("/dev/mixer",O_RDWR))<0) { -#endif - perror("open(\"/dev/mixer\")"); - QString errorMsg="Could not open audio device\n /dev/dsp\n" - +(QString)strerror(errno); - qDebug( "XXXXXXXXXXXXXXXXXXXXXX "+errorMsg ); - } - - if(ioctl(sd,SNDCTL_DSP_RESET,0)<0){ - perror("ioctl RESET"); - } -// sprintf(message, "%d", sd); - -/* QFile f1("/pid"); - f1.open(IO_WriteOnly ); - f1.writeBlock(message, strlen(message)); - f1.close(); - */ - /* close(pipefd[0]); - write(pipefd[1], message, sizeof(message)); - close(pipefd[1]); - // qDebug( "" + soundDevice->sd ); - _exit(0); - } - default: - // pid greater than zero is parent getting the child's pid - printf("Child's pid is %d\n",pid); - QString s; - close(pipefd[1]); - read(pipefd[0], message, sizeof(message)); - s = message; - close(pipefd[0]); - -// while(wait(NULL)!=pid) - // ; - printf("child %ld terminated normally, return status is zero\n", (long) pid); - */ - // filePara.sd=(long) pid; - /* QFile f2("/pid"); - f2.open(IO_ReadOnly); - QTextStream t(&f2); - // for(int f=0; f < t.atEnd() ;f++) { - s = t.readLine(); - // } - */ -// bool ok; -// sd = s.toInt(&ok, 10); -// qDebug( "<<<<<<<<<<<<<>>>>>>>>>>>>"+s ); - -// f2.close(); -// } -::close(mixerHandle ); -// qDebug( "open device " + dspstr ); -// qDebug( "success! " + sd ); + owarn << "Opening"<< dspstr; + + if (( sd = ::open( DSPSTROUT, flags)) == -1) { + perror("open(\"/dev/dsp\")"); + QString errorMsg="Could not open audio device\n /dev/dsp\n" + +(QString)strerror(errno); + qDebug( "XXXXXXXXXXXXXXXXXXXXXXX "+errorMsg ); + return -1; + } + + if(ioctl(sd,SNDCTL_DSP_RESET,0)<0){ + perror("ioctl RESET"); + } return sd; } +int Device::getInVolume() { + unsigned int volume = 0; + Config cfg("qpe"); + cfg.setGroup("Volume"); + + return cfg.readNumEntry("Mic"); +} int Device::getOutVolume( ) { unsigned int volume; - int mixerHandle = open( mixstr, O_RDWR ); - if ( mixerHandle >= 0 ) { - if(ioctl( mixerHandle, MIXER_READ(SOUND_MIXER_VOLUME), &volume )==-1) - perror("<<<<<<<<<<<<<<ioctl(\"MIXER_READ\")"); - ::close( mixerHandle ); - } else - perror("open(\"/dev/mixer\")"); - printf("<<<<<<<<<<<<<<<<<<<<output volume %d\n",volume); - Config cfg("qpe"); cfg.setGroup("Volume"); return cfg.readNumEntry("VolumePercent"); } -int Device::getInVolume() { - unsigned int volume=0; - int mixerHandle = ::open( mixstr, O_RDWR ); - if ( mixerHandle >= 0 ) { - if(ioctl( mixerHandle, MIXER_READ(SOUND_MIXER_MIC), &volume )==-1) - perror("<<<<<<<<<<<<<<<ioctl(\"MIXER_READ\")"); - ::close( mixerHandle ); - } else - perror("open(\"/dev/mixer\")"); - printf("<<<<<<<<<<<<<<input volume %d\n", volume ); - Config cfg("qpe"); - cfg.setGroup("Volume"); - return cfg.readNumEntry("Mic"); +void Device::changedInVolume(int vol ) { + Config cfg("qpe"); + cfg.setGroup("Volume"); + cfg.writeEntry("Mic", QString::number(vol )); + QCopEnvelope( "QPE/System", "micChange(bool)" ) << false; } void Device::changedOutVolume(int vol) { - int level = (vol << 8) + vol; - int fd = 0; -#ifdef QT_QWS_DEVFS - if ((fd = open("/dev/sound/mixer", O_RDWR))>=0) { -#else - if ((fd = open("/dev/mixer", O_RDWR))>=0) { -#endif - if(ioctl(fd, MIXER_WRITE(SOUND_MIXER_VOLUME), &level) == -1) - perror("ioctl(\"MIXER_IN_WRITE\")"); - - Config cfg("qpe"); - cfg.setGroup("Volume"); - cfg.writeEntry("VolumePercent", QString::number( vol )); - QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << false; - qDebug("changing output vol %d" ,vol ); - } - ::close(fd); -} + Config cfg("qpe"); + cfg.setGroup("Volume"); + cfg.writeEntry("VolumePercent", QString::number( vol )); -void Device::changedInVolume(int vol ) { - int level = (vol << 8) + vol; - int fd = 0; -#ifdef QT_QWS_DEVFS - if ((fd = open("/dev/sound/mixer", O_RDWR))>=0) { -#else - if ((fd = open("/dev/mixer", O_RDWR))>=0) { -#endif - if(ioctl(fd, MIXER_WRITE(SOUND_MIXER_MIC), &level) == -1) - perror("ioctl(\"MIXER_IN_WRITE\")"); - Config cfg("qpe"); - cfg.setGroup("Volume"); - cfg.writeEntry("Mic", QString::number(vol )); - QCopEnvelope( "QPE/System", "micChange(bool)" ) << false; - qDebug("changing input volume %d",vol); - } - ::close(fd); + QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << false; + + owarn << "changing output vol " << vol << oendl; } bool Device::selectMicInput() { - int md=0; - int info=MIXER_WRITE(SOUND_MIXER_MIC); -#ifdef QT_QWS_DEVFS - md = ::open( "/dev/sound/mixer", O_RDWR ); -#else - md = ::open( "/dev/mixer", O_RDWR ); -#endif - if ( md == -1) - perror("open(\"/dev/mixer\")"); - else { - if( ioctl( md, SOUND_MIXER_WRITE_RECSRC, &info) == -1) - perror("ioctl(\"SOUND_MIXER_WRITE_RECSRC\")"); - ::close(md); - return false; - } - ::close(md); + int md = 0; + int info = SOUND_MASK_MIC;//MIXER_WRITE(SOUND_MIXER_MIC); + owarn << "sectMicInput" << oendl; + md = ::open( DSPSTRMIXEROUT, O_RDWR ); + + if ( md <= 0) { + QString err; + err.sprintf("open %s", DSPSTRMIXEROUT); + perror(err.latin1()); + } else { + if( ioctl( md, SOUND_MIXER_WRITE_RECSRC, &info) == -1) + perror("ioctl(\"SOUND_MIXER_WRITE_RECSRC\")"); + ::close(md); + return false; + } + ::close(md); return true; } bool Device::closeDevice( bool) { -// if(b) {//close now -// if (ioctl( sd, SNDCTL_DSP_RESET, 0) == -1) { -// perror("ioctl(\"SNDCTL_DSP_RESET\")"); -// } -// } else { //let play -// if (ioctl( sd, SNDCTL_DSP_SYNC, 0) == -1) { -// perror("ioctl(\"SNDCTL_DSP_SYNC\")"); -// } -// } - ::close( sd); //close sound device -// sdfd=0; - // sd=0; -// qDebug( "closed dsp" ); return true; } bool Device::setDeviceFormat( int form) { qDebug( "set device res %d: %d ",form, sd ); if (ioctl( sd, SNDCTL_DSP_SETFMT, &form)==-1) { //set format perror("ioctl(\"SNDCTL_DSP_SETFMT\")"); return false; @@ -297,36 +203,34 @@ int Device::getChannels() { } int Device::getDeviceFormat() { return 0; } int Device::getDeviceRate() { - int dRate=0; + int dRate = 0; if (ioctl( sd, SOUND_PCM_READ_RATE, &dRate) == -1) { perror("ioctl(\"SNDCTL_PCM_READ_RATE\")"); } return dRate; } int Device::getDeviceBits() { - int dBits=0; -#ifndef QT_QWS_EBX // zaurus doesnt have this + int dBits = 0; if (ioctl( sd, SOUND_PCM_READ_BITS, &dBits) == -1) { perror("ioctl(\"SNDCTL_PCM_READ_BITS\")"); } -#endif return dBits; } int Device::getDeviceChannels() { - int dCh=0; + int dCh = 0; if (ioctl( sd, SOUND_PCM_READ_CHANNELS, &dCh) == -1) { perror("ioctl(\"SNDCTL_PCM_READ_CHANNELS\")"); } return dCh; } int Device::getDeviceFragSize() { int frag_size; @@ -354,21 +258,19 @@ bool Device::reset() { perror("ioctl(\"SNDCTL_DSP_RESET\")"); return false; } return true; } int Device::devRead(int soundDescriptor, short *buf, int size) { Q_UNUSED(soundDescriptor); - int number = 0; - number = ::read( sd /*soundDescriptor*/, (char *)buf, size); - return number; + int number = 0; + number = ::read( sd /*soundDescriptor*/, (char *)buf, size); + return number; } int Device::devWrite(int soundDescriptor, short * buf, int size) { Q_UNUSED(soundDescriptor); int bytesWritten = 0; - bytesWritten = ::write( sd /*soundDescriptor*/, buf, size); - return bytesWritten; + bytesWritten = ::write( sd /*soundDescriptor*/, buf, size); + return bytesWritten; } - - diff --git a/noncore/multimedia/opierec/device.h b/noncore/multimedia/opierec/device.h index 8152e85..dbc7b00 100644 --- a/noncore/multimedia/opierec/device.h +++ b/noncore/multimedia/opierec/device.h @@ -2,17 +2,17 @@ #ifndef DEVICE_H #define DEVICE_H #include <qobject.h> #include <sys/soundcard.h> class Device : public QObject { Q_OBJECT public: - Device( QObject * parent=0, const char * dspStr=0, const char * mixerStr=0, bool record=0 ); + Device( QObject * parent=0, bool record=0 ); ~Device() {}; bool closeDevice( bool); int getChannels(); int getFormat(); int getInVolume(); int getOutVolume(); int getRate(); int getRes(); @@ -31,17 +31,17 @@ public: bool setDeviceFormat(int); bool reset(); int devRead(int, short *, int); int devWrite(int, short *, int); private: int devRes, devCh, devRate, devForm, flags; - char *dspstr, *mixstr; + QString dspstr, mixstr; bool selectMicInput(); int openDevice( int ); private slots: protected: }; diff --git a/noncore/multimedia/opierec/qtrec.cpp b/noncore/multimedia/opierec/qtrec.cpp index 6793b4e..e827083 100644 --- a/noncore/multimedia/opierec/qtrec.cpp +++ b/noncore/multimedia/opierec/qtrec.cpp @@ -1,14 +1,14 @@ /**************************************************************************** // qtrec.cpp Created: Thu Jan 17 11:19:58 2002 copyright 2002 by L.J. Potter <ljp@llornkcor.com> ****************************************************************************/ -#define DEV_VERSION +//#define DEV_VERSION #include "pixmaps.h" #include "qtrec.h" #include "waveform.h" extern "C" { #include "adpcm.h" } @@ -58,45 +58,16 @@ using namespace Opie::Core; #include <alsa/asoundlib.h> static int deviceSampleRates[8] = { 32000, 44100, 48000, 88200, 96000, 176400, 192000, -1 }; static int deviceBitRates[] = { 8, 16, 24, 32, -1 }; #else //OSS static int deviceSampleRates[6] = { 11025, 16000, 22050, 32000, 44100, -1 }; static int deviceBitRates[] = { 8, 16, -1 }; #endif -#if defined(QT_QWS_SL5XXX) -///#if defined(QT_QWS_EBX) - -#define DSPSTROUT "/dev/dsp" -#define DSPSTRMIXEROUT "/dev/mixer" - -#ifdef SHARP -#define DSPSTRIN "/dev/dsp1" -#define DSPSTRMIXERIN "/dev/mixer1" -#else -#define DSPSTRIN "/dev/dsp" -#define DSPSTRMIXERIN "/dev/mixer" -#endif - -#else - -#ifdef QT_QWS_DEVFS -#define DSPSTROUT "/dev/sound/dsp" -#define DSPSTRIN "/dev/sound/dsp" -#define DSPSTRMIXERIN "/dev/sound/mixer" -#define DSPSTRMIXEROUT "/dev/sound/mixer" -#else -#define DSPSTROUT "/dev/dsp" -#define DSPSTRIN "/dev/dsp" -#define DSPSTRMIXERIN "/dev/mixer" -#define DSPSTRMIXEROUT "/dev/mixer" -#endif - -#endif //#define ZAURUS 0 struct adpcm_state encoder_state; struct adpcm_state decoder_state; typedef struct { int sampleRate; /* int fragSize; */ @@ -188,18 +159,18 @@ void quickRec() bytesWritten = ::write( filePara.fd , (short *)abuf, number/4); waveform->newSamples( sbuf, number ); total += bytesWritten; filePara.numberSamples = total; timeSlider->setValue( total); - printf("%d, bytes %d,total %d\r",number, bytesWritten, total); - fflush(stdout); + printf("%d, bytes %d,total %d\r", number, bytesWritten, total); + fflush(stdout); filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate * (float)2 / filePara.channels; qApp->processEvents(); if( total >= filePara.samplesToRecord) { stopped = true; break; } @@ -238,18 +209,18 @@ void quickRec() } total += bytesWritten; filePara.numberSamples = total; if( filePara.SecondsToRecord != 0) timeSlider->setValue( total); - printf("%d, bytes %d,total %d\r",number, bytesWritten , total); - fflush(stdout); + printf("%d, bytes %d,total %d\r",number, bytesWritten , total); + fflush(stdout); filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate / (float)2/filePara.channels; qApp->processEvents(); if( total >= filePara.samplesToRecord) { stopped = true; break; @@ -291,16 +262,17 @@ void quickRec() qApp->processEvents(); if( total >= filePara.samplesToRecord) { stopped = true; break; } } //end main loop } + printf("\n"); } /// END quickRec() #ifdef THREADED void playIt() #else void QtRec::playIt() #endif @@ -445,24 +417,17 @@ QtRec::QtRec( QWidget* parent, const char* name, WFlags fl ) initConnections(); renameBox = 0; // open sound device to get volumes Config hwcfg("OpieRec"); hwcfg.setGroup("Hardware"); - soundDevice = new Device( this, - hwcfg.readEntry( "Audio",DSPSTROUT), - hwcfg.readEntry( "Mixer",DSPSTRMIXEROUT), false); -// soundDevice = new Device( this, hwcfg.readEntry( "Audio","hw:0"), hwcfg.readEntry( "Mixer","hw:0"), false); - -// soundDevice->setDeviceFormat(AFMT_S16_LE); -// soundDevice->setDeviceChannels(1); -// soundDevice->setDeviceRate( 22050); + soundDevice = new Device( this, false); //open play getInVol(); getOutVol(); soundDevice->closeDevice( true); soundDevice->sd = -1; soundDevice = 0; wavFile = 0; @@ -499,17 +464,17 @@ void QtRec::cleanUp() { void QtRec::init() { needsStereoOut = false; QPixmap image3( ( const char** ) image3_data ); QPixmap image4( ( const char** ) image4_data ); QPixmap image6( ( const char** ) image6_data ); stopped = true; - setCaption( tr( "OpieRecord " ) + QString::number(VERSION) ); + setCaption( tr( "OpieRecord " )); QGridLayout *layout = new QGridLayout( this ); layout->setSpacing( 2); layout->setMargin( 2); TabWidget = new QTabWidget( this, "TabWidget" ); layout->addMultiCellWidget(TabWidget, 0, 7, 0, 8); // TabWidget->setTabShape(QTabWidget::Triangular); @@ -571,31 +536,20 @@ void QtRec::init() { deleteSoundButton = new QPushButton( tab, "deleteSoundButton" ); layout1->addMultiCellWidget( deleteSoundButton, 1, 1, 8, 8); deleteSoundButton->setText( tr( "Del" ) ); ListView1 = new QListView( tab, "IconView1" ); layout1->addMultiCellWidget( ListView1, 2, 2, 0, 8); ListView1->addColumn( tr( "Name" ) ); -// ListView1->setColumnWidth( 0, 140); ListView1->setSorting( 1, false); ListView1->addColumn( tr( "Time" ) ); //in seconds -// ListView1->setColumnWidth( 1, -1); -// ListView1->addColumn( tr("Location") ); -// ListView1->setColumnWidth( 2, -1); -// ListView1->addColumn( tr("Date") ); -// ListView1->setColumnWidth( 3, -1); ListView1->setColumnWidthMode(0, QListView::Maximum); -// ListView1->setColumnWidthMode(1, QListView::Maximum); - -// ListView1->setColumnWidthMode( 0, QListView::Manual); ListView1->setColumnAlignment( 1, QListView::AlignCenter); -// ListView1->setColumnAlignment( 2, QListView::AlignRight); -// ListView1->setColumnAlignment( 3, QListView::AlignLeft); ListView1->setAllColumnsShowFocus( true ); QPEApplication::setStylusOperation( ListView1->viewport(), QPEApplication::RightOnHold); TabWidget->insertTab( tab, tr( "Files" ) ); ///**********<<<<<<<<<<<<>>>>>>>>>>>>*************** tab_3 = new QWidget( TabWidget, "tab_3" ); QGridLayout *glayout3 = new QGridLayout( tab_3 ); @@ -603,17 +557,16 @@ void QtRec::init() { glayout3->setMargin( 2); //////////////////////////////////// sampleGroup = new QGroupBox( tab_3, "samplegroup" ); sampleGroup->setTitle( tr( "Sample Rate" ) ); sampleGroup->setFixedSize( 95,50); sampleRateComboBox = new QComboBox( false, sampleGroup, "SampleRateComboBox" ); sampleRateComboBox->setGeometry( QRect( 10, 20, 80, 25 ) ); -//#ifndef QT_QWS_EBX QString s; int z = 0; while( deviceSampleRates[z] != -1) { sampleRateComboBox->insertItem( s.setNum( deviceSampleRates[z], 10)); z++; } @@ -712,52 +665,49 @@ void QtRec::init() { Layout19a->addLayout( Layout15b ); fillDirectoryCombo(); TabWidget->insertTab( tab_3, tr( "Options" ) ); TabWidget->insertTab( tab_5, tr( "Volume" ) ); - waveform = new Waveform( this, "waveform" ); -// waveform->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)3, waveform->sizePolicy().hasHeightForWidth() ) ); waveform->setMinimumSize( QSize( 0, 50 ) ); layout->addMultiCellWidget( waveform, 8, 8, 0, 8); waveform->setBackgroundColor ( black ); } void QtRec::initIconView() { - owarn << "initIconView" << oendl; ListView1->clear(); Config cfg("OpieRec"); cfg.setGroup("Sounds"); QString temp; QPixmap image0( ( const char** ) image0_data ); int nFiles = cfg.readNumEntry("NumberofFiles",0); - owarn << "init number of files " << nFiles << "" << oendl; +// owarn << "init number of files " << nFiles << "" << oendl; for(int i = 1; i <= nFiles; i++) { QListViewItem * item; QString fileS, mediaLocation, fileDate, filePath; temp.sprintf( "%d",i); temp = cfg.readEntry( temp,""); //reads currentFile filePath = cfg.readEntry( temp,""); //currentFileName QFileInfo info(filePath); fileDate = info.lastModified().toString(); fileS = cfg.readEntry( filePath, "0" );// file length in seconds mediaLocation = getStorage( filePath); if( info.exists()) { - owarn << "new item " << temp << oendl; +// owarn << "new item " << temp << oendl; item = new QListViewItem( ListView1, temp, fileS /*, mediaLocation, fileDate*/); item->setPixmap( 0, image0); if( currentFileName == filePath) ListView1->setSelected( item, true); } } } @@ -851,17 +801,17 @@ void QtRec::initConfig() { Config cofg( "qpe"); cofg.setGroup( "Volume"); outMuteCheckBox->setChecked( cofg.readBoolEntry( "Mute",0)); inMuteCheckBox->setChecked( cofg.readBoolEntry( "MicMute",0)); } void QtRec::stop() { - owarn << "STOP" << oendl; +// owarn << "STOP" << oendl; setRecordButton(false); if( !recording) endPlaying(); else endRecording(); timeSlider->setValue(0); } @@ -1056,20 +1006,16 @@ bool QtRec::setupAudio( bool b) { } else { sampleformat = AFMT_U8; filePara.resolution = 8; } #endif stereo = filePara.channels; flags = O_WRONLY; - Config hwcfg("OpieRec"); - hwcfg.setGroup("Hardware"); - dspString = hwcfg.readEntry( "Audio", DSPSTROUT); - mixerString = hwcfg.readEntry( "Mixer", DSPSTRMIXEROUT); recording = false; } else { // we want to record #ifdef PDAUDIO //ALSA if( !bitRateComboBox->isEnabled() || bitRateComboBox->currentText() == "16") sampleformat = SND_PCM_FORMAT_S16; else if( !bitRateComboBox->isEnabled() || bitRateComboBox->currentText() == "24") sampleformat = SND_PCM_FORMAT_S24; @@ -1093,29 +1039,25 @@ bool QtRec::setupAudio( bool b) { // odebug << "WAVE_FORMAT_DVI_ADPCM" << oendl; } #endif stereo = filePara.channels; // filePara.sampleRate = sampleRateComboBox->currentText().toInt( &ok,10);//44100; flags= O_RDWR; // flags= O_RDONLY; - Config hwcfg("OpieRec"); - hwcfg.setGroup("Hardware"); - dspString = hwcfg.readEntry( "Audio", DSPSTRIN); - mixerString = hwcfg.readEntry( "Mixer", DSPSTRMIXERIN); recording = true; } // if(soundDevice) delete soundDevice; odebug << "<<<<<<<<<<<<<<<<<<<open dsp " << filePara.sampleRate << " " << filePara.channels << " " << sampleformat << "" << oendl; - owarn << "change waveform settings" << oendl; +// owarn << "change waveform settings" << oendl; waveform->changeSettings( filePara.sampleRate, filePara.channels ); - soundDevice = new Device( this, dspString, mixerString, b); + soundDevice = new Device( this, b); //open rec // soundDevice->openDsp(); soundDevice->reset(); odebug << "device has been made " << soundDevice->sd << "" << oendl; ////////////////// <<<<<<<<<<<<>>>>>>>>>>>> soundDevice->setDeviceFormat( sampleformat); soundDevice->setDeviceChannels( filePara.channels); @@ -1276,23 +1218,23 @@ void QtRec::itClick(QListViewItem *item) { setCaption("OpieRecord "+currentFile); } void QtRec::deleteSound() { Config cfg("OpieRec"); cfg.setGroup("Sounds"); if( ListView1->currentItem() == NULL) return; -#ifndef DEV_VERSION - switch ( QMessageBox::warning(this,tr("Delete"), - tr("Do you really want to <font size=+2><B>DELETE</B></font>\nthe selected file?"), - tr("Yes"),tr("No"),0,1,1) ) { - case 0: -#endif - { +// #ifndef DEV_VERSION +// switch ( QMessageBox::warning(this,tr("Delete"), +// tr("Do you really want to <font size=+2><B>DELETE</B></font>\nthe selected file?"), +// tr("Yes"),tr("No"),0,1,1) ) { +// case 0: +// #endif + // { QString file = ListView1->currentItem()->text(0); QString fileName; fileName = cfg.readEntry( file, ""); QFile f( fileName); if( f.exists()) if( !f.remove()) QMessageBox::message( tr("Error"), tr("Could not remove file.")); @@ -1315,22 +1257,17 @@ void QtRec::deleteSound() { ListView1->takeItem( ListView1->currentItem() ); delete ListView1->currentItem(); ListView1->clear(); ListView1->setSelected( ListView1->firstChild(), true); initIconView(); update(); - } -#ifndef DEV_VERSION - }; -#endif - setCaption( tr( "OpieRecord " ) + QString::number(VERSION) ); - + setCaption( tr( "OpieRecord " )); } void QtRec::keyPressEvent( QKeyEvent *e) { switch ( e->key() ) { // case Key_F1: // if(stopped && !recording) // newSound(); @@ -1438,16 +1375,17 @@ void QtRec::keyReleaseEvent( QKeyEvent *e) { case Key_Right: odebug << "Right" << oendl; FastforwardReleased(); break; } } void QtRec::endRecording() { + monitoring = false; recording = false; stopped = true; waveform->reset(); setRecordButton( false); toBeginningButton->setEnabled( true); toEndButton->setEnabled( true); @@ -1498,16 +1436,18 @@ void QtRec::endRecording() { // timeLabel->setText(""); } // if(soundDevice) delete soundDevice; timeSlider->setValue(0); initIconView(); selectItemByName( currentFile); + setCaption( tr( "OpieRecord " )); + } void QtRec::endPlaying() { monitoring = false; recording = false; playing = false; stopped = true; waveform->reset(); @@ -1530,17 +1470,17 @@ void QtRec::endPlaying() { filePara.numberSamples = 0; filePara.sd = -1; // wavFile->closeFile(); filePara.fd = 0; // if(wavFile) delete wavFile; //this crashes odebug << "track closed" << oendl; killTimers(); - owarn << "reset slider" << oendl; +// owarn << "reset slider" << oendl; timeSlider->setValue(0); // if(soundDevice) delete soundDevice; } bool QtRec::openPlayFile() { @@ -1563,51 +1503,51 @@ bool QtRec::openPlayFile() { wavFile = new WavFile(this, currentFileName, false); filePara.fd = wavFile->wavHandle(); if(filePara.fd == -1) { // if(!track.open(IO_ReadOnly)) { QString errorMsg = (QString)strerror(errno); monitoring = false; - setCaption( tr( "OpieRecord " ) + QString::number(VERSION) ); + setCaption( tr( "OpieRecord " )); QMessageBox::message(tr("Note"), tr("Could not open audio file.\n") + errorMsg + "\n" + currentFile); return false; } else { filePara.numberSamples = wavFile->getNumberSamples(); filePara.format = wavFile->getFormat(); filePara.sampleRate = wavFile->getSampleRate(); filePara.resolution = wavFile->getResolution(); filePara.channels = wavFile->getChannels(); timeSlider->setPageStep(1); monitoring = true; odebug << "file " << filePara.fd << ", samples " << filePara.numberSamples << " " << filePara.sampleRate << "" << oendl; int sec = (int) (( filePara.numberSamples / filePara.sampleRate) / filePara.channels) / ( filePara.channels*( filePara.resolution/8)); - owarn << "seconds " << sec << "" << oendl; +// owarn << "seconds " << sec << "" << oendl; timeSlider->setRange(0, filePara.numberSamples ); } return true; } void QtRec::listPressed( int mouse, QListViewItem *item, const QPoint &, int ) { if(item == NULL ) return; switch (mouse) { case 1: { if( renameBox != 0 ) //tricky cancelRename(); currentFile = item->text(0); - setCaption( "OpieRecord " + currentFile); +// setCaption( "OpieRecord " + currentFile); } break; case 2: showListMenu(item); ListView1->clearSelection(); break; }; } @@ -1847,21 +1787,16 @@ void QtRec::timerEvent( QTimerEvent * ) { } if( recording && filePara.SecondsToRecord < secCount && filePara.SecondsToRecord != 0) { stop(); } odebug << "" << secCount << "" << oendl; QString timeString; -#ifdef DEV_VERSION - QString msg; - msg.sprintf("%d, %d, %d", filePara.sampleRate, filePara.channels, filePara.resolution); - setCaption( msg +" :: "+QString::number(secCount)); -#endif timeString.sprintf("%d", secCount); // timeLabel->setText( timeString + " seconds"); secCount++; } void QtRec::changeTimeSlider(int index) { diff --git a/noncore/multimedia/opierec/waveform.cpp b/noncore/multimedia/opierec/waveform.cpp index 7c9a25f..d1838e1 100644 --- a/noncore/multimedia/opierec/waveform.cpp +++ b/noncore/multimedia/opierec/waveform.cpp @@ -39,17 +39,17 @@ Waveform::Waveform( QWidget *parent, const char *name, WFlags fl ) } void Waveform::changeSettings( int frequency, int channels ) { makePixmap(); // owarn << "change waveform " << frequency << ", " << channels << "" << oendl; samplesPerPixel = frequency * channels / (5 * windowSize); - owarn << "Waveform::changeSettings " << samplesPerPixel << "" << oendl; +// owarn << "Waveform::changeSettings " << samplesPerPixel << "" << oendl; if ( !samplesPerPixel ) samplesPerPixel = 1; currentValue = 0; numSamples = 0; windowPosn = 0; draw(); } |