summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/imageinfoui.cpp2
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.cpp2
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp10
-rw-r--r--noncore/multimedia/opierec/qtrec.cpp2972
-rw-r--r--noncore/multimedia/opierec/wavFile.cpp86
5 files changed, 1536 insertions, 1536 deletions
diff --git a/noncore/graphics/opie-eye/gui/imageinfoui.cpp b/noncore/graphics/opie-eye/gui/imageinfoui.cpp
index 27a67a6..e70d6a6 100644
--- a/noncore/graphics/opie-eye/gui/imageinfoui.cpp
+++ b/noncore/graphics/opie-eye/gui/imageinfoui.cpp
@@ -147,25 +147,25 @@ imageinfo::~imageinfo()
{
{
QCopEnvelope( "QPE/Application/opie-eye_slave", "refDown()" );
}
if (m_viewManager) {
delete m_viewManager;
}
}
void imageinfo::slot_fullInfo(const QString&_path, const QString&_t)
{
if (_path == currentFile) {
- qDebug(_t);
+ odebug << _t << oendl;
QString t = _t;
t.replace(QRegExp("\n"),"<br>");
TextView1->setText(t);
}
}
void imageinfo::slotThumbNail(const QString&_path, const QPixmap&_pix)
{
if (_path == currentFile) {
if (_pix.width()>0) {
PPixmapCache::self()->insertImage( _path, _pix, THUMBSIZE, THUMBSIZE );
PixmapLabel1->setPixmap( _pix );
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp
index 274a22a..6fff5ab 100644
--- a/noncore/graphics/opie-eye/gui/mainwindow.cpp
+++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp
@@ -33,25 +33,25 @@
#include <qframe.h>
//OPIE_EXPORT_APP_V2( Opie::Core::OApplicationFactory<PMainWindow>,"Opie Eye" )
OPIE_EXPORT_APP( Opie::Core::OApplicationFactory<PMainWindow>)
PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style)
: QMainWindow( wid, name, style ), m_info( 0 ), m_disp( 0 )
{
setCaption( QObject::tr("Opie Eye Caramba" ) );
m_cfg = new Opie::Core::OConfig("phunkview");
m_cfg->setGroup("Zecke_view" );
-// qDebug( "Process-wide OApplication object @ %0x", oApp );
+// odebug << "Process-wide OApplication object @ " << oApp << oendl;
/*
* Initialize ToolBar and IconView
* And Connect Them
*/
QToolBar *bar = new QToolBar( this );
bar->setHorizontalStretchable( true );
setToolBarsMovable( false );
m_stack = new Opie::Ui::OWidgetStack( this );
setCentralWidget( m_stack );
m_view = new PIconView( m_stack, m_cfg );
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index 95a0f45..1c08b41 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -127,25 +127,25 @@ void AudioWidget::sliderPressed() {
}
void AudioWidget::sliderReleased() {
audioSliderBeingMoved = FALSE;
if ( slider.width() == 0 )
return;
long val = long((double)slider.value() * mediaPlayerState.length() / slider.width());
mediaPlayerState.setPosition( val );
}
void AudioWidget::setPosition( long i ) {
- // odebug << "<<<<<<<<<<<<<<<<<<<<<<<<set position " << i << "" << oendl;
+ // odebug << "<<<<<<<<<<<<<<<<<<<<<<<<set position " << i << "" << oendl;
updateSlider( i, mediaPlayerState.length() );
}
void AudioWidget::setLength( long max ) {
updateSlider( mediaPlayerState.position(), max );
}
void AudioWidget::setDisplayType( MediaPlayerState::DisplayType mediaType ) {
if ( mediaType == MediaPlayerState::Audio ) {
// startTimer( 150 );
@@ -181,55 +181,55 @@ void AudioWidget::loadSkin()
time.setFocusPolicy( QWidget::NoFocus );
time.setAlignment( Qt::AlignCenter );
// time.setFrame(FALSE);
// changeTextColor( &time );
resizeEvent( 0 );
}
void AudioWidget::setSeekable( bool isSeekable ) {
if ( !isSeekable ) {
- odebug << "<<<<<<<<<<<<<<file is STREAMING>>>>>>>>>>>>>>>>>>>" << oendl;
+ odebug << "<<<<<<<<<<<<<<file is STREAMING>>>>>>>>>>>>>>>>>>>" << oendl;
if( !slider.isHidden()) {
slider.hide();
}
disconnect( &mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
disconnect( &mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
disconnect( &slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
disconnect( &slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
} else {
// this stops the slider from being moved, thus
// does not stop stream when it reaches the end
slider.show();
- odebug << " CONNECT SET POSTION " << oendl;
+ odebug << " CONNECT SET POSTION " << oendl;
connect( &mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
connect( &mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
connect( &slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
connect( &slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
}
}
static QString timeAsString( long length ) {
int minutes = length / 60;
int seconds = length % 60;
return QString("%1:%2%3").arg( minutes ).arg( seconds / 10 ).arg( seconds % 10 );
}
void AudioWidget::updateSlider( long i, long max ) {
time.setText( timeAsString( i ) + " / " + timeAsString( max ) );
-// qDebug( timeAsString( i ) + " / " + timeAsString( max ) ) ;
+// odebug << timeAsString( i ) << " / " << timeAsString( max ) << oendl;
if ( max == 0 ) {
return;
}
// Will flicker too much if we don't do this
// Scale to something reasonable
int width = slider.width();
int val = int((double)i * width / max);
if ( !audioSliderBeingMoved ) {
if ( slider.value() != val ) {
slider.setValue( val );
}
@@ -265,25 +265,25 @@ void AudioWidget::timerEvent( QTimerEvent * ) {
} else if ( skipDirection == -1 ) {
mediaPlayerState.setPosition( mediaPlayerState.position() - 2 );
}
}
void AudioWidget::keyReleaseEvent( QKeyEvent *e) {
switch ( e->key() ) {
////////////////////////////// Zaurus keys
case Key_Home:
break;
case Key_F9: //activity
hide();
- // odebug << "Audio F9" << oendl;
+ // odebug << "Audio F9" << oendl;
e->accept();
break;
case Key_F10: //contacts
break;
case Key_F11: //menu
mediaPlayerState.toggleBlank();
e->accept();
break;
case Key_F12: //home
break;
case Key_F13: //mail
mediaPlayerState.toggleBlank();
diff --git a/noncore/multimedia/opierec/qtrec.cpp b/noncore/multimedia/opierec/qtrec.cpp
index 6eb6524..3b8cb0d 100644
--- a/noncore/multimedia/opierec/qtrec.cpp
+++ b/noncore/multimedia/opierec/qtrec.cpp
@@ -1,14 +1,14 @@
/****************************************************************************
- // qtrec.cpp
+ // qtrec.cpp
Created: Thu Jan 17 11:19:58 2002
copyright 2002 by L.J. Potter <ljp@llornkcor.com>
****************************************************************************/
#define DEV_VERSION
#include "pixmaps.h"
#include "qtrec.h"
#include "waveform.h"
extern "C" {
#include "adpcm.h"
}
@@ -76,2030 +76,2028 @@ static int deviceBitRates[] = { 8, 16, -1 };
#define DSPSTROUT "/dev/dsp"
#define DSPSTRIN "/dev/dsp"
#define DSPSTRMIXERIN "/dev/mixer"
#define DSPSTRMIXEROUT "/dev/mixer"
#endif
//#define ZAURUS 0
struct adpcm_state encoder_state;
struct adpcm_state decoder_state;
typedef struct {
- int sampleRate;
- /* int fragSize; */
- /* int blockSize; */
- int resolution; //bitrate
- int channels; //number of channels
- int fd; //file descriptor
- int sd; //sound device descriptor
- int numberSamples; //total number of samples
- int SecondsToRecord; // number of seconds that should be recorded
- float numberOfRecordedSeconds; //total number of samples recorded
- int samplesToRecord; //number of samples to be recorded
- int inVol; //input volume
- int outVol; //output volume
- int format; //wavfile format PCM.. ADPCM
- const char *fileName; //name of fiel to be played/recorded
+ int sampleRate;
+ /* int fragSize; */
+ /* int blockSize; */
+ int resolution; //bitrate
+ int channels; //number of channels
+ int fd; //file descriptor
+ int sd; //sound device descriptor
+ int numberSamples; //total number of samples
+ int SecondsToRecord; // number of seconds that should be recorded
+ float numberOfRecordedSeconds; //total number of samples recorded
+ int samplesToRecord; //number of samples to be recorded
+ int inVol; //input volume
+ int outVol; //output volume
+ int format; //wavfile format PCM.. ADPCM
+ const char *fileName; //name of fiel to be played/recorded
} fileParameters;
fileParameters filePara;
bool monitoring, recording, playing;
bool stopped;
QLabel *timeLabel;
QSlider *timeSlider;
int sd;
Waveform* waveform;
Device *soundDevice;
#ifdef THREADED
void quickRec()
#else
- void QtRec::quickRec()
+ void QtRec::quickRec()
#endif
{
- qDebug("%d",
- filePara.numberSamples/filePara.sampleRate * filePara.channels);
- qDebug("samples %d, rate %d, channels %d",
- filePara.numberSamples, filePara.sampleRate, filePara.channels);
+ odebug << ( filePara.numberSamples/filePara.sampleRate * filePara.channels ) << oendl;
+ odebug << "samples " << filePara.numberSamples << ", rate " << filePara.sampleRate
+ << ", channels " << filePara.channels << oendl;
- int total = 0; // Total number of bytes read in so far.
- int bytesWritten, number;
+ int total = 0; // Total number of bytes read in so far.
+ int bytesWritten, number;
- bytesWritten = 0;
- number = 0;
- QString num;
- int level = 0;
- int threshold = 0;
+ bytesWritten = 0;
+ number = 0;
+ QString num;
+ int level = 0;
+ int threshold = 0;
// int bits = filePara.resolution;
// odebug << "bits " << bits << "" << oendl;
- if( filePara.resolution == 16 ) { //AFMT_S16_LE)
+ if( filePara.resolution == 16 ) { //AFMT_S16_LE)
// odebug << "AFMT_S16_LE size " << filePara.SecondsToRecord << "" << oendl;
// odebug << "samples to record " << filePara.samplesToRecord << "" << oendl;
// odebug << "" << filePara.sd << "" << oendl;
- level = 7;
- threshold = 0;
+ level = 7;
+ threshold = 0;
- if( filePara.format == WAVE_FORMAT_DVI_ADPCM) {
+ if( filePara.format == WAVE_FORMAT_DVI_ADPCM) {
// odebug << "start recording WAVE_FORMAT_DVI_ADPCM" << oendl;
// <<<<<<<<<<<<<<<<<<<<<<<<<<< WAVE_FORMAT_DVI_ADPCM >>>>>>>>>>>>>>>>>>>>>>
- char abuf[ BUFSIZE/2 ];
- short sbuf[ BUFSIZE ];
- short sbuf2[ BUFSIZE ];
- memset( abuf, 0, BUFSIZE/2);
- memset( sbuf, 0, BUFSIZE);
- memset( sbuf2, 0, BUFSIZE);
-
- for(;;) {
- if ( stopped) {
-// odebug << "quickRec:: stopped" << oendl;
- break;
- }
+ char abuf[ BUFSIZE/2 ];
+ short sbuf[ BUFSIZE ];
+ short sbuf2[ BUFSIZE ];
+ memset( abuf, 0, BUFSIZE/2);
+ memset( sbuf, 0, BUFSIZE);
+ memset( sbuf2, 0, BUFSIZE);
+
+ for(;;) {
+ if ( stopped) {
+// odebug << "quickRec:: stopped" << oendl;
+ break;
+ }
// number=::read( filePara.sd, sbuf, BUFSIZE);
- number = soundDevice ->devRead( filePara.sd, sbuf, BUFSIZE);
-
- if(number <= 0) {
- perror("recording error ");
- odebug << "" << filePara.fileName << " " << number << "" << oendl;
- stopped = true;
- return;
- }
- //if(stereo == 2) {
+ number = soundDevice ->devRead( filePara.sd, sbuf, BUFSIZE);
+
+ if(number <= 0) {
+ perror("recording error ");
+ odebug << "" << filePara.fileName << " " << number << "" << oendl;
+ stopped = true;
+ return;
+ }
+ //if(stereo == 2) {
// adpcm_coder( sbuf2, abuf, number/2, &encoder_state);
- adpcm_coder( sbuf, abuf, number/2, &encoder_state);
+ adpcm_coder( sbuf, abuf, number/2, &encoder_state);
- bytesWritten = ::write( filePara.fd , (short *)abuf, number/4);
+ bytesWritten = ::write( filePara.fd , (short *)abuf, number/4);
- waveform->newSamples( sbuf, number );
+ waveform->newSamples( sbuf, number );
- total += bytesWritten;
- filePara.numberSamples = total;
- timeSlider->setValue( total);
+ total += bytesWritten;
+ filePara.numberSamples = total;
+ timeSlider->setValue( total);
- filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate * (float)2
+ filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate * (float)2
/ filePara.channels;
- qApp->processEvents();
- if( total >= filePara.samplesToRecord) {
- stopped = true;
- break;
- }
- }
- } else {
- // <<<<<<<<<<<<<<<<<<<<<<<<<<< WAVE_FORMAT_PCM >>>>>>>>>>>>>>>>>>>>>>
- odebug << "start recording WAVE_FORMAT_PCM" << oendl;
- short inbuffer[ BUFSIZE ], outbuffer[ BUFSIZE ];
- memset( inbuffer, 0, BUFSIZE);
- memset( outbuffer, 0, BUFSIZE);
-
- for(;;) {
- if ( stopped) {
- odebug << "quickRec:: stopped" << oendl;
- stopped = true;
- break; // stop if playing was set to false
- return;
- }
-
- number = soundDevice->devRead( filePara.sd, (short *)inbuffer, BUFSIZE);
-
- if( number <= 0) {
- perror( "recording error ");
- odebug << filePara.fileName << oendl;
- stopped = true;
- return;
- }
-
- bytesWritten = ::write( filePara.fd , inbuffer, number);
- waveform->newSamples( inbuffer, number );
-
- if( bytesWritten < 0) {
- perror("File writing error ");
- stopped = true;
- return;
- }
-
- total += bytesWritten;
-
- filePara.numberSamples = total;
-
- if( filePara.SecondsToRecord != 0)
- timeSlider->setValue( total);
+ qApp->processEvents();
+ if( total >= filePara.samplesToRecord) {
+ stopped = true;
+ break;
+ }
+ }
+ } else {
+ // <<<<<<<<<<<<<<<<<<<<<<<<<<< WAVE_FORMAT_PCM >>>>>>>>>>>>>>>>>>>>>>
+ odebug << "start recording WAVE_FORMAT_PCM" << oendl;
+ short inbuffer[ BUFSIZE ], outbuffer[ BUFSIZE ];
+ memset( inbuffer, 0, BUFSIZE);
+ memset( outbuffer, 0, BUFSIZE);
+
+ for(;;) {
+ if ( stopped) {
+ odebug << "quickRec:: stopped" << oendl;
+ stopped = true;
+ break; // stop if playing was set to false
+ return;
+ }
+
+ number = soundDevice->devRead( filePara.sd, (short *)inbuffer, BUFSIZE);
+
+ if( number <= 0) {
+ perror( "recording error ");
+ odebug << filePara.fileName << oendl;
+ stopped = true;
+ return;
+ }
+
+ bytesWritten = ::write( filePara.fd , inbuffer, number);
+ waveform->newSamples( inbuffer, number );
+
+ if( bytesWritten < 0) {
+ perror("File writing error ");
+ stopped = true;
+ return;
+ }
+
+ total += bytesWritten;
+
+ filePara.numberSamples = total;
+
+ if( filePara.SecondsToRecord != 0)
+ timeSlider->setValue( total);
// printf("Writing number %d, bytes %d,total %d\r",number, bytesWritten , total);
// fflush(stdout);
- filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate
+ filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate
/ (float)2/filePara.channels;
- qApp->processEvents();
+ qApp->processEvents();
- if( total >= filePara.samplesToRecord) {
- stopped = true;
- break;
- }
- }
- } //end main loop
+ if( total >= filePara.samplesToRecord) {
+ stopped = true;
+ break;
+ }
+ }
+ } //end main loop
- } else {
+ } else {
// <<<<<<<<<<<<<<<<<<<<<<< format = AFMT_U8;
- unsigned char unsigned_inbuffer[ BUFSIZE ], unsigned_outbuffer[ BUFSIZE ];
- memset( unsigned_inbuffer, 0, BUFSIZE);
- memset( unsigned_outbuffer, 0, BUFSIZE);
-
- for(;;) {
- if ( stopped) {
- odebug << "quickRec:: stopped" << oendl;
- break; // stop if playing was set to false
- }
-
- number = ::read( filePara.sd, unsigned_inbuffer, BUFSIZE);
- bytesWritten = ::write( filePara.fd , unsigned_inbuffer, number);
+ unsigned char unsigned_inbuffer[ BUFSIZE ], unsigned_outbuffer[ BUFSIZE ];
+ memset( unsigned_inbuffer, 0, BUFSIZE);
+ memset( unsigned_outbuffer, 0, BUFSIZE);
+
+ for(;;) {
+ if ( stopped) {
+ odebug << "quickRec:: stopped" << oendl;
+ break; // stop if playing was set to false
+ }
+
+ number = ::read( filePara.sd, unsigned_inbuffer, BUFSIZE);
+ bytesWritten = ::write( filePara.fd , unsigned_inbuffer, number);
waveform->newSamples( (const short *) unsigned_inbuffer, number );
- if(bytesWritten < 0) {
- stopped = true;
- QMessageBox::message("Note","<p>There was a problem writing to the file</p>");
- perror("File writing error ");
- return;
- }
-
- total += bytesWritten;
- filePara.numberSamples = total;
- // printf("\nWriting number %d, bytes %d,total %d \r",number, bytesWritten , total);
- // fflush(stdout);
- if( filePara.SecondsToRecord !=0)
- timeSlider->setValue( total);
-
- filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate;
-
- qApp->processEvents();
- if( total >= filePara.samplesToRecord) {
- stopped = true;
- break;
- }
- } //end main loop
- }
+ if(bytesWritten < 0) {
+ stopped = true;
+ QMessageBox::message("Note","<p>There was a problem writing to the file</p>");
+ perror("File writing error ");
+ return;
+ }
+
+ total += bytesWritten;
+ filePara.numberSamples = total;
+ // printf("\nWriting number %d, bytes %d,total %d \r",number, bytesWritten , total);
+ // fflush(stdout);
+ if( filePara.SecondsToRecord !=0)
+ timeSlider->setValue( total);
+
+ filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate;
+
+ qApp->processEvents();
+ if( total >= filePara.samplesToRecord) {
+ stopped = true;
+ break;
+ }
+ } //end main loop
+ }
} /// END quickRec()
#ifdef THREADED
void playIt()
#else
- void QtRec::playIt()
+ void QtRec::playIt()
#endif
{
- int bytesWritten = 0;
- int number = 0;
- int total = 0; // Total number of bytes read in so far.
- if( filePara.resolution == 16 ) { //AFMT_S16_LE) {
- if( filePara.format == WAVE_FORMAT_DVI_ADPCM) {
- char abuf[ BUFSIZE / 2 ];
- short sbuf[ BUFSIZE ];
- short sbuf2[ BUFSIZE * 2 ];
- memset( abuf, 0, BUFSIZE / 2);
- memset( sbuf, 0, BUFSIZE);
- memset( sbuf2, 0, BUFSIZE * 2);
+ int bytesWritten = 0;
+ int number = 0;
+ int total = 0; // Total number of bytes read in so far.
+ if( filePara.resolution == 16 ) { //AFMT_S16_LE) {
+ if( filePara.format == WAVE_FORMAT_DVI_ADPCM) {
+ char abuf[ BUFSIZE / 2 ];
+ short sbuf[ BUFSIZE ];
+ short sbuf2[ BUFSIZE * 2 ];
+ memset( abuf, 0, BUFSIZE / 2);
+ memset( sbuf, 0, BUFSIZE);
+ memset( sbuf2, 0, BUFSIZE * 2);
// <<<<<<<<<<<<<<<<<<<<<<<<<<< WAVE_FORMAT_DVI_ADPCM >>>>>>>>>>>>>>>>>>>>>>
- for(;;) { // play loop
- if ( stopped) {
- break;
- return;
- }// stop if playing was set to false
+ for(;;) { // play loop
+ if ( stopped) {
+ break;
+ return;
+ }// stop if playing was set to false
- number = ::read( filePara.fd, abuf, BUFSIZE / 2);
- adpcm_decoder( abuf, sbuf, number * 2, &decoder_state);
+ number = ::read( filePara.fd, abuf, BUFSIZE / 2);
+ adpcm_decoder( abuf, sbuf, number * 2, &decoder_state);
// for (int i=0;i< number * 2; 2 * i++) { //2*i is left channel
// sbuf2[i+1]=sbuf2[i]=sbuf[i];
// }
- bytesWritten = write ( filePara.sd, sbuf, number * 4);
- waveform->newSamples( (const short *)sbuf, number *4);
- // if(filePara.channels==1)
- // total += bytesWritten/2; //mono
- // else
- total += bytesWritten;
- filePara.numberSamples = total/4;
- filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate / 2;
-
- timeSlider->setValue( total/4);
+ bytesWritten = write ( filePara.sd, sbuf, number * 4);
+ waveform->newSamples( (const short *)sbuf, number *4);
+ // if(filePara.channels==1)
+ // total += bytesWritten/2; //mono
+ // else
+ total += bytesWritten;
+ filePara.numberSamples = total/4;
+ filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate / 2;
+
+ timeSlider->setValue( total/4);
// timeString.sprintf("%.2f", filePara.numberOfRecordedSeconds);
// if(filePara.numberOfRecordedSeconds>1)
// timeLabel->setText( timeString+ tr(" seconds"));
-// printf("playing number %d, bytes %d, total %d\n",number, bytesWritten, total/4);
-// fflush(stdout);
+// printf("playing number %d, bytes %d, total %d\n",number, bytesWritten, total/4);
+// fflush(stdout);
- qApp->processEvents();
+ qApp->processEvents();
- if( /*total >= filePara.numberSamples || */ bytesWritten == 0) {
+ if( /*total >= filePara.numberSamples || */ bytesWritten == 0) {
// if( total >= filePara.numberSamples ){//|| secCount > filePara.numberOfRecordedSeconds ) {
- stopped = true;
- break;
- }
- }
- } else {
- // <<<<<<<<<<<<<<<<<<<<<<<<<<< WAVE_FORMAT_PCM >>>>>>>>>>>>>>>>>>>>>>
- short inbuffer[ BUFSIZE ], outbuffer[ BUFSIZE ];
- memset( inbuffer, 0, BUFSIZE);
- memset( outbuffer, 0, BUFSIZE);
-
- for(;;) { // play loop
- if ( stopped) {
- break;
- return;
- }
+ stopped = true;
+ break;
+ }
+ }
+ } else {
+ // <<<<<<<<<<<<<<<<<<<<<<<<<<< WAVE_FORMAT_PCM >>>>>>>>>>>>>>>>>>>>>>
+ short inbuffer[ BUFSIZE ], outbuffer[ BUFSIZE ];
+ memset( inbuffer, 0, BUFSIZE);
+ memset( outbuffer, 0, BUFSIZE);
+
+ for(;;) { // play loop
+ if ( stopped) {
+ break;
+ return;
+ }
// stop if playing was set to false
- number = ::read( filePara.fd, inbuffer, BUFSIZE);
+ number = ::read( filePara.fd, inbuffer, BUFSIZE);
// for (int i=0;i< number * 2; 2 * i++) { //2*i is left channel
// // for (int i=0;i< number ; i++) { //2*i is left channel
// outbuffer[i+1]= outbuffer[i]=inbuffer[i];
// }
- bytesWritten = ::write( filePara.sd, inbuffer, number);
- waveform->newSamples( inbuffer, number);
- //-------------->>>> out to device
- // total+=bytesWritten;
- // if(filePara.channels==1)
- // total += bytesWritten/2; //mono
- // else
- total += bytesWritten;
- timeSlider->setValue( total);
-
- filePara.numberSamples = total;
- filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate / (float)2;
+ bytesWritten = ::write( filePara.sd, inbuffer, number);
+ waveform->newSamples( inbuffer, number);
+ //-------------->>>> out to device
+ // total+=bytesWritten;
+ // if(filePara.channels==1)
+ // total += bytesWritten/2; //mono
+ // else
+ total += bytesWritten;
+ timeSlider->setValue( total);
+
+ filePara.numberSamples = total;
+ filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate / (float)2;
// timeString.sprintf("%.2f",filePara.numberOfRecordedSeconds);
// timeLabel->setText( timeString + tr(" seconds"));
- qApp->processEvents();
+ qApp->processEvents();
- if( /*total >= filePara.numberSamples || */ bytesWritten == 0) {
- owarn << "Jane! Stop this crazy thing!" << oendl;
- stopped = true;
+ if( /*total >= filePara.numberSamples || */ bytesWritten == 0) {
+ owarn << "Jane! Stop this crazy thing!" << oendl;
+ stopped = true;
// playing = false;
- break;
- }
- }
+ break;
+ }
+ }
// printf("\nplaying number %d, bytes %d, total %d\r",number, bytesWritten, total);
// fflush(stdout);
- } //end loop
- } else {
+ } //end loop
+ } else {
/////////////////////////////// format = AFMT_U8;
- unsigned char unsigned_inbuffer[ BUFSIZE ]; //, unsigned_outbuffer[BUFSIZE];
- memset( unsigned_inbuffer, 0, BUFSIZE);
- for(;;) {
+ unsigned char unsigned_inbuffer[ BUFSIZE ]; //, unsigned_outbuffer[BUFSIZE];
+ memset( unsigned_inbuffer, 0, BUFSIZE);
+ for(;;) {
// main loop
- if (stopped) {
- break; // stop if playing was set to false
- return;
- }
- number = ::read( filePara.fd, unsigned_inbuffer, BUFSIZE);
+ if (stopped) {
+ break; // stop if playing was set to false
+ return;
+ }
+ number = ::read( filePara.fd, unsigned_inbuffer, BUFSIZE);
//data = (val >> 8) ^ 0x80;
- // unsigned_outbuffer = (unsigned_inbuffer >> 8) ^ 0x80;
- bytesWritten = write ( filePara.sd, unsigned_inbuffer, number);
- waveform->newSamples( (const short *)unsigned_inbuffer, bytesWritten );
- total += bytesWritten;
+ // unsigned_outbuffer = (unsigned_inbuffer >> 8) ^ 0x80;
+ bytesWritten = write ( filePara.sd, unsigned_inbuffer, number);
+ waveform->newSamples( (const short *)unsigned_inbuffer, bytesWritten );
+ total += bytesWritten;
timeSlider->setValue( total);
- filePara.numberSamples = total;
+ filePara.numberSamples = total;
- filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate;
+ filePara.numberOfRecordedSeconds = (float)total / (float)filePara.sampleRate;
// timeString.sprintf("%.2f",filePara.numberOfRecordedSeconds);
// timeLabel->setText( timeString + tr(" seconds"));
- qApp->processEvents();
+ qApp->processEvents();
- if( /*total >= filePara.numberSamples || */ bytesWritten == 0) {
+ if( /*total >= filePara.numberSamples || */ bytesWritten == 0) {
// if( total >= filePara.numberSamples ) {
- stopped = true;
- break;
- }
-// printf("Writing number %d, bytes %d, total %d, numberSamples %d\r",number, bytesWritten , total, filePara.numberSamples);
-// fflush(stdout);
- }
- }
+ stopped = true;
+ break;
+ }
+// printf("Writing number %d, bytes %d, total %d, numberSamples %d\r",number, bytesWritten , total, filePara.numberSamples);
+// fflush(stdout);
+ }
+ }
}
QtRec::QtRec( QWidget* parent, const char* name, WFlags fl )
- : QWidget( parent, name, fl )
+ : QWidget( parent, name, fl )
{
- if ( !name )
- setName( "OpieRec" );
- init();
- initConfig();
- initConnections();
- renameBox = 0;
+ if ( !name )
+ setName( "OpieRec" );
+ init();
+ initConfig();
+ initConnections();
+ renameBox = 0;
// open sound device to get volumes
- Config hwcfg("OpieRec");
- hwcfg.setGroup("Hardware");
+ 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 = 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);
- getInVol();
- getOutVol();
+ getInVol();
+ getOutVol();
- soundDevice->closeDevice( true);
- soundDevice->sd = -1;
- soundDevice = 0;
- wavFile = 0;
+ soundDevice->closeDevice( true);
+ soundDevice->sd = -1;
+ soundDevice = 0;
+ wavFile = 0;
-// if( soundDevice) delete soundDevice;
+// if( soundDevice) delete soundDevice;
- initIconView();
+ initIconView();
- if( autoMute)
- doMute( true);
- ListView1->setFocus();
- playing = false;
+ if( autoMute)
+ doMute( true);
+ ListView1->setFocus();
+ playing = false;
}
QtRec::~QtRec() {
// if( soundDevice) delete soundDevice;
}
void QtRec::cleanUp() {
- if( !stopped) {
- stopped = true;
- endRecording();
- }
+ if( !stopped) {
+ stopped = true;
+ endRecording();
+ }
- ListView1->clear();
+ ListView1->clear();
- if( autoMute)
- doMute(false);
+ if( autoMute)
+ doMute(false);
-// if( wavFile) delete wavFile;
+// if( wavFile) delete wavFile;
// if(soundDevice) delete soundDevice;
}
void QtRec::init() {
- needsStereoOut = false;
- QPixmap image3( ( const char** ) image3_data );
- QPixmap image4( ( const char** ) image4_data );
- QPixmap image6( ( const char** ) image6_data );
+ 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) );
- QGridLayout *layout = new QGridLayout( this );
- layout->setSpacing( 2);
- layout->setMargin( 2);
+ stopped = true;
+ setCaption( tr( "OpieRecord " ) + QString::number(VERSION) );
+ QGridLayout *layout = new QGridLayout( this );
+ layout->setSpacing( 2);
+ layout->setMargin( 2);
- TabWidget = new QTabWidget( this, "TabWidget" );
- layout->addMultiCellWidget(TabWidget, 0, 7, 0, 7);
+ TabWidget = new QTabWidget( this, "TabWidget" );
+ layout->addMultiCellWidget(TabWidget, 0, 7, 0, 7);
// TabWidget->setTabShape(QTabWidget::Triangular);
- ///**********<<<<<<<<<<<<>>>>>>>>>>>>***************
- tab = new QWidget( TabWidget, "tab" );
-
- QGridLayout *layout1 = new QGridLayout( tab);
- layout1->setSpacing( 2);
- layout1->setMargin( 2);
-
- timeSlider = new QSlider( 0,100,10,0, QSlider::Horizontal, tab, (const char *) "timeSlider" );
- layout1->addMultiCellWidget( timeSlider, 1, 1, 0, 3);
-
- timeLabel = new QLabel( tab, "TimeLabel" );
- layout1->addMultiCellWidget( timeLabel, 0, 0, 0, 3);
-
- playLabel2 = new QLabel(tab, "PlayLabel2" );
- playLabel2->setText(tr("Play") );
- playLabel2->setFixedHeight( 18);
- layout1->addMultiCellWidget( playLabel2, 0, 0, 4, 4);
-
- Stop_PushButton = new QPushButton( tab, "Stop_PushButton" );
- layout1->addMultiCellWidget( Stop_PushButton, 1, 1, 4, 4);
- Stop_PushButton->setFixedSize( 22, 22);
- Stop_PushButton->setPixmap( image4 );
-
- toBeginningButton = new QPushButton( tab, "Beginning_PushButton" );
- layout1->addMultiCellWidget(toBeginningButton, 1, 1, 5, 5);
- toBeginningButton->setFixedSize( 22, 22);
- toBeginningButton->setPixmap( Resource::loadPixmap("fastback") );
-
- toEndButton = new QPushButton( tab, "End_PushButton" );
- layout1->addMultiCellWidget( toEndButton, 1, 1, 6, 6);
- toEndButton->setFixedSize( 22, 22);
- toEndButton->setPixmap( Resource::loadPixmap( "fastforward" ) );
-
- QLabel *recLabel2;
- recLabel2 = new QLabel( tab, "recLabel2" );
- recLabel2->setText(tr("Rec"));
- recLabel2->setFixedHeight( 18);
- layout1->addMultiCellWidget( recLabel2, 0, 0, 7, 7);
-
- Rec_PushButton = new QPushButton( tab, "Rec_PushButton" );
- layout1->addMultiCellWidget( Rec_PushButton, 1, 1, 7, 7);
- Rec_PushButton->setFixedSize( 22, 22);
- Rec_PushButton->setPixmap( image6 );
-
- t = new QTimer( this );
- connect( t, SIGNAL( timeout() ), SLOT( timerBreak() ) );
-
- rewindTimer = new QTimer( this );
- connect( rewindTimer, SIGNAL( timeout() ),
- this, SLOT( rewindTimerTimeout() ) );
-
- forwardTimer = new QTimer( this );
- connect( forwardTimer, SIGNAL( timeout() ),
- this, SLOT( forwardTimerTimeout() ) );
-
- deleteSoundButton = new QPushButton( tab, "deleteSoundButton" );
- layout1->addMultiCellWidget( deleteSoundButton, 1, 1, 8, 8);
- deleteSoundButton->setText( tr( "Delete" ) );
-
- 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, 50);
- ListView1->addColumn( tr("Location") );
- ListView1->setColumnWidth( 2, 50);
- ListView1->addColumn( tr("Date") );
- ListView1->setColumnWidth( 3, 63);
-
- 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 );
- glayout3->setSpacing( 2);
- 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 ) );
+ ///**********<<<<<<<<<<<<>>>>>>>>>>>>***************
+ tab = new QWidget( TabWidget, "tab" );
+
+ QGridLayout *layout1 = new QGridLayout( tab);
+ layout1->setSpacing( 2);
+ layout1->setMargin( 2);
+
+ timeSlider = new QSlider( 0,100,10,0, QSlider::Horizontal, tab, (const char *) "timeSlider" );
+ layout1->addMultiCellWidget( timeSlider, 1, 1, 0, 3);
+
+ timeLabel = new QLabel( tab, "TimeLabel" );
+ layout1->addMultiCellWidget( timeLabel, 0, 0, 0, 3);
+
+ playLabel2 = new QLabel(tab, "PlayLabel2" );
+ playLabel2->setText(tr("Play") );
+ playLabel2->setFixedHeight( 18);
+ layout1->addMultiCellWidget( playLabel2, 0, 0, 4, 4);
+
+ Stop_PushButton = new QPushButton( tab, "Stop_PushButton" );
+ layout1->addMultiCellWidget( Stop_PushButton, 1, 1, 4, 4);
+ Stop_PushButton->setFixedSize( 22, 22);
+ Stop_PushButton->setPixmap( image4 );
+
+ toBeginningButton = new QPushButton( tab, "Beginning_PushButton" );
+ layout1->addMultiCellWidget(toBeginningButton, 1, 1, 5, 5);
+ toBeginningButton->setFixedSize( 22, 22);
+ toBeginningButton->setPixmap( Resource::loadPixmap("fastback") );
+
+ toEndButton = new QPushButton( tab, "End_PushButton" );
+ layout1->addMultiCellWidget( toEndButton, 1, 1, 6, 6);
+ toEndButton->setFixedSize( 22, 22);
+ toEndButton->setPixmap( Resource::loadPixmap( "fastforward" ) );
+
+ QLabel *recLabel2;
+ recLabel2 = new QLabel( tab, "recLabel2" );
+ recLabel2->setText(tr("Rec"));
+ recLabel2->setFixedHeight( 18);
+ layout1->addMultiCellWidget( recLabel2, 0, 0, 7, 7);
+
+ Rec_PushButton = new QPushButton( tab, "Rec_PushButton" );
+ layout1->addMultiCellWidget( Rec_PushButton, 1, 1, 7, 7);
+ Rec_PushButton->setFixedSize( 22, 22);
+ Rec_PushButton->setPixmap( image6 );
+
+ t = new QTimer( this );
+ connect( t, SIGNAL( timeout() ), SLOT( timerBreak() ) );
+
+ rewindTimer = new QTimer( this );
+ connect( rewindTimer, SIGNAL( timeout() ),
+ this, SLOT( rewindTimerTimeout() ) );
+
+ forwardTimer = new QTimer( this );
+ connect( forwardTimer, SIGNAL( timeout() ),
+ this, SLOT( forwardTimerTimeout() ) );
+
+ deleteSoundButton = new QPushButton( tab, "deleteSoundButton" );
+ layout1->addMultiCellWidget( deleteSoundButton, 1, 1, 8, 8);
+ deleteSoundButton->setText( tr( "Delete" ) );
+
+ 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, 50);
+ ListView1->addColumn( tr("Location") );
+ ListView1->setColumnWidth( 2, 50);
+ ListView1->addColumn( tr("Date") );
+ ListView1->setColumnWidth( 3, 63);
+
+ 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 );
+ glayout3->setSpacing( 2);
+ 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++;
- }
+ QString s;
+ int z = 0;
+ while( deviceSampleRates[z] != -1) {
+ sampleRateComboBox->insertItem( s.setNum( deviceSampleRates[z], 10));
+ z++;
+ }
- glayout3->addMultiCellWidget( sampleGroup, 0, 0, 0, 0);
+ glayout3->addMultiCellWidget( sampleGroup, 0, 0, 0, 0);
- sizeGroup= new QGroupBox( tab_3, "sizeGroup" );
- sizeGroup->setTitle( tr( "Limit Size" ) );
- sizeGroup->setFixedSize( 80, 50);
+ sizeGroup= new QGroupBox( tab_3, "sizeGroup" );
+ sizeGroup->setTitle( tr( "Limit Size" ) );
+ sizeGroup->setFixedSize( 80, 50);
- sizeLimitCombo = new QComboBox( false, sizeGroup, "sizeLimitCombo" );
- sizeLimitCombo ->setGeometry( QRect( 5, 20, 70, 25 ) );
- sizeLimitCombo->insertItem(tr("Unlimited"));
+ sizeLimitCombo = new QComboBox( false, sizeGroup, "sizeLimitCombo" );
+ sizeLimitCombo ->setGeometry( QRect( 5, 20, 70, 25 ) );
+ sizeLimitCombo->insertItem(tr("Unlimited"));
- for(int i=1;i<13; i++) {
- sizeLimitCombo->insertItem( QString::number( i * 5));
- }
+ for(int i=1;i<13; i++) {
+ sizeLimitCombo->insertItem( QString::number( i * 5));
+ }
- glayout3->addMultiCellWidget( sizeGroup, 0, 0, 1, 1);
- dirGroup = new QGroupBox( tab_3, "dirGroup" );
- dirGroup->setTitle( tr( "File Directory" ) );
- dirGroup->setFixedSize( 130, 50);
+ glayout3->addMultiCellWidget( sizeGroup, 0, 0, 1, 1);
+ dirGroup = new QGroupBox( tab_3, "dirGroup" );
+ dirGroup->setTitle( tr( "File Directory" ) );
+ dirGroup->setFixedSize( 130, 50);
- directoryComboBox = new QComboBox( false, dirGroup, "dirGroup" );
- directoryComboBox->setGeometry( QRect( 10, 15, 115, 25 ) );
+ directoryComboBox = new QComboBox( false, dirGroup, "dirGroup" );
+ directoryComboBox->setGeometry( QRect( 10, 15, 115, 25 ) );
- glayout3->addMultiCellWidget( dirGroup, 1, 1, 0, 0);
+ glayout3->addMultiCellWidget( dirGroup, 1, 1, 0, 0);
- bitGroup = new QGroupBox( tab_3, "bitGroup" );
- bitGroup->setTitle( tr( "Bit Depth" ) );
- bitGroup->setFixedSize( 65, 50);
+ bitGroup = new QGroupBox( tab_3, "bitGroup" );
+ bitGroup->setTitle( tr( "Bit Depth" ) );
+ bitGroup->setFixedSize( 65, 50);
- bitRateComboBox = new QComboBox( false, bitGroup, "BitRateComboBox" );
+ bitRateComboBox = new QComboBox( false, bitGroup, "BitRateComboBox" );
- z = 0;
- while( deviceBitRates[z] != -1) {
- bitRateComboBox->insertItem( s.setNum( deviceBitRates[z], 10) );
- z++;
- }
+ z = 0;
+ while( deviceBitRates[z] != -1) {
+ bitRateComboBox->insertItem( s.setNum( deviceBitRates[z], 10) );
+ z++;
+ }
- bitRateComboBox->setGeometry( QRect( 5, 20, 50, 25 ) );
+ bitRateComboBox->setGeometry( QRect( 5, 20, 50, 25 ) );
- glayout3->addMultiCellWidget( bitGroup, 1, 1, 1, 1);
+ glayout3->addMultiCellWidget( bitGroup, 1, 1, 1, 1);
- compressionCheckBox = new QCheckBox ( tr("Wave Compression (smaller files)"), tab_3 );
+ compressionCheckBox = new QCheckBox ( tr("Wave Compression (smaller files)"), tab_3 );
- autoMuteCheckBox = new QCheckBox ( tr("Auto Mute"), tab_3 );
- stereoCheckBox = new QCheckBox ( tr("Stereo Channels"), tab_3 );
+ autoMuteCheckBox = new QCheckBox ( tr("Auto Mute"), tab_3 );
+ stereoCheckBox = new QCheckBox ( tr("Stereo Channels"), tab_3 );
- glayout3->addMultiCellWidget( compressionCheckBox, 2, 2, 0, 3);
- glayout3->addMultiCellWidget( autoMuteCheckBox, 3, 3, 0, 0);
- glayout3->addMultiCellWidget( stereoCheckBox, 3, 3, 1, 1);
+ glayout3->addMultiCellWidget( compressionCheckBox, 2, 2, 0, 3);
+ glayout3->addMultiCellWidget( autoMuteCheckBox, 3, 3, 0, 0);
+ glayout3->addMultiCellWidget( stereoCheckBox, 3, 3, 1, 1);
- tab_5 = new QWidget( TabWidget, "tab_5" );
+ tab_5 = new QWidget( TabWidget, "tab_5" );
- QHBoxLayout *Layout19a;
- Layout19a = new QHBoxLayout( tab_5);
- Layout19a->setSpacing( 2 );
- Layout19a->setMargin( 0 );
+ QHBoxLayout *Layout19a;
+ Layout19a = new QHBoxLayout( tab_5);
+ Layout19a->setSpacing( 2 );
+ Layout19a->setMargin( 0 );
- Layout15 = new QVBoxLayout( this);
- Layout15->setSpacing( 2 );
- Layout15->setMargin( 0 );
+ Layout15 = new QVBoxLayout( this);
+ Layout15->setSpacing( 2 );
+ Layout15->setMargin( 0 );
- Layout15b = new QVBoxLayout( this);
- Layout15b->setSpacing( 2 );
- Layout15b->setMargin( 0 );
+ Layout15b = new QVBoxLayout( this);
+ Layout15b->setSpacing( 2 );
+ Layout15b->setMargin( 0 );
- TextLabel2 = new QLabel( tab_5, "InputLabel" );
- TextLabel2->setText( tr( "In"));
- TextLabel2->setFixedWidth( 35);
- Layout15->addWidget( TextLabel2 );
+ TextLabel2 = new QLabel( tab_5, "InputLabel" );
+ TextLabel2->setText( tr( "In"));
+ TextLabel2->setFixedWidth( 35);
+ Layout15->addWidget( TextLabel2 );
- TextLabel3 = new QLabel( tab_5, "OutputLabel" );
- TextLabel3->setText( tr( "Out" ) );
- Layout15b->addWidget( TextLabel3 );
+ TextLabel3 = new QLabel( tab_5, "OutputLabel" );
+ TextLabel3->setText( tr( "Out" ) );
+ Layout15b->addWidget( TextLabel3 );
- InputSlider = new QSlider( -100, 0, 10, 0, QSlider::Vertical, tab_5, (const char *) "InputSlider" );
- InputSlider->setTickmarks( QSlider::Both);
- Layout15->addWidget( InputSlider);
+ InputSlider = new QSlider( -100, 0, 10, 0, QSlider::Vertical, tab_5, (const char *) "InputSlider" );
+ InputSlider->setTickmarks( QSlider::Both);
+ Layout15->addWidget( InputSlider);
- OutputSlider = new QSlider( -100,0,10,0, QSlider::Vertical,tab_5,(const char *) "OutputSlider" );
- OutputSlider->setTickmarks( QSlider::Both);
+ OutputSlider = new QSlider( -100,0,10,0, QSlider::Vertical,tab_5,(const char *) "OutputSlider" );
+ OutputSlider->setTickmarks( QSlider::Both);
- Layout15b->addWidget( OutputSlider );
+ Layout15b->addWidget( OutputSlider );
- outMuteCheckBox = new QCheckBox ( tr("mute"), tab_5 );
- Layout15->addWidget( outMuteCheckBox );
+ outMuteCheckBox = new QCheckBox ( tr("mute"), tab_5 );
+ Layout15->addWidget( outMuteCheckBox );
- inMuteCheckBox = new QCheckBox ( tr("mute"), tab_5 );
- inMuteCheckBox-> setFocusPolicy ( QWidget::NoFocus );
- Layout15b->addWidget( inMuteCheckBox );
+ inMuteCheckBox = new QCheckBox ( tr("mute"), tab_5 );
+ inMuteCheckBox-> setFocusPolicy ( QWidget::NoFocus );
+ Layout15b->addWidget( inMuteCheckBox );
- Layout19a->addLayout( Layout15 );
- Layout19a->addLayout( Layout15b );
+ Layout19a->addLayout( Layout15 );
+ Layout19a->addLayout( Layout15b );
- fillDirectoryCombo();
+ fillDirectoryCombo();
- TabWidget->insertTab( tab_3, tr( "Options" ) );
+ TabWidget->insertTab( tab_3, tr( "Options" ) );
- TabWidget->insertTab( tab_5, tr( "Volume" ) );
+ TabWidget->insertTab( tab_5, tr( "Volume" ) );
- waveform = new Waveform( this, "waveform" );
+ waveform = new Waveform( this, "waveform" );
// waveform->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)3, waveform->sizePolicy().hasHeightForWidth() ) );
- waveform->setMinimumSize( QSize( 0, 50 ) );
+ waveform->setMinimumSize( QSize( 0, 50 ) );
- layout->addMultiCellWidget( waveform, 8, 8, 0, 7 );
- waveform->setBackgroundColor ( black );
+ layout->addMultiCellWidget( waveform, 8, 8, 0, 7 );
+ waveform->setBackgroundColor ( black );
}
void QtRec::initIconView() {
- ListView1->clear();
- Config cfg("OpieRec");
- cfg.setGroup("Sounds");
- QString temp;
- QPixmap image0( ( const char** ) image0_data );
+ ListView1->clear();
+ Config cfg("OpieRec");
+ cfg.setGroup("Sounds");
+ QString temp;
+ QPixmap image0( ( const char** ) image0_data );
- int nFiles = cfg.readNumEntry("NumberofFiles",0);
-// odebug << "init number of files " << nFiles << "" << oendl;
+ int nFiles = cfg.readNumEntry("NumberofFiles",0);
+// odebug << "init number of files " << nFiles << "" << oendl;
- for(int i=1;i<= nFiles;i++) {
+ for(int i=1;i<= nFiles;i++) {
- QListViewItem * item;
- QString fileS, mediaLocation, fileDate, filePath;
+ QListViewItem * item;
+ QString fileS, mediaLocation, fileDate, filePath;
- temp.sprintf( "%d",i);
- temp = cfg.readEntry( temp,""); //reads currentFile
- filePath = cfg.readEntry( temp,""); //currentFileName
+ temp.sprintf( "%d",i);
+ temp = cfg.readEntry( temp,""); //reads currentFile
+ filePath = cfg.readEntry( temp,""); //currentFileName
- QFileInfo info(filePath);
- fileDate = info.lastModified().toString();
+ QFileInfo info(filePath);
+ fileDate = info.lastModified().toString();
- fileS = cfg.readEntry( filePath, "0" );// file length in seconds
- mediaLocation = getStorage( filePath);
- if( info.exists()) {
- item = new QListViewItem( ListView1, temp, fileS, mediaLocation, fileDate);
- item->setPixmap( 0, image0);
- if( currentFileName == filePath)
- ListView1->setSelected( item, true);
- }
- }
+ fileS = cfg.readEntry( filePath, "0" );// file length in seconds
+ mediaLocation = getStorage( filePath);
+ if( info.exists()) {
+ item = new QListViewItem( ListView1, temp, fileS, mediaLocation, fileDate);
+ item->setPixmap( 0, image0);
+ if( currentFileName == filePath)
+ ListView1->setSelected( item, true);
+ }
+ }
}
void QtRec::initConnections() {
- connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
-
- connect( toBeginningButton, SIGNAL( pressed()),
- this, SLOT( rewindPressed() ));
- connect( toBeginningButton, SIGNAL( released()),
- this, SLOT( rewindReleased() ));
- connect( toEndButton, SIGNAL( pressed()),
- this, SLOT( FastforwardPressed() ));
- connect( toEndButton, SIGNAL( released()),
- this, SLOT( FastforwardReleased() ));
- connect( deleteSoundButton, SIGNAL(released()),
- this, SLOT( deleteSound() ));
- connect( Stop_PushButton, SIGNAL(released()),
- this, SLOT( doPlayBtn() ));
- connect( Rec_PushButton, SIGNAL(released()),
- this, SLOT( newSound() ) );
- connect( TabWidget, SIGNAL( currentChanged(QWidget*)),
- this, SLOT(thisTab(QWidget*) ));
- connect( OutputSlider, SIGNAL(sliderReleased()),
- this, SLOT( changedOutVolume()) );
- connect( InputSlider, SIGNAL(sliderReleased()),
- this, SLOT( changedInVolume()) );
-
- connect( sampleRateComboBox, SIGNAL(activated(int)),
- this, SLOT( changesamplerateCombo(int)) );
- connect( bitRateComboBox, SIGNAL(activated(int)),
- this, SLOT( changebitrateCombo(int)) );
-
- connect( directoryComboBox, SIGNAL(activated(int)),
- this, SLOT( changeDirCombo(int)) );
- connect( sizeLimitCombo, SIGNAL(activated(int)),
- this, SLOT( changeSizeLimitCombo(int)) );
-
- connect( stereoCheckBox, SIGNAL(toggled(bool)),
- this, SLOT( changeStereoCheck(bool)) );
-
- connect( outMuteCheckBox, SIGNAL(toggled(bool)),
- this, SLOT( doVolMuting(bool)) );
- connect( inMuteCheckBox , SIGNAL(toggled(bool)),
- this, SLOT( doMicMuting(bool)) );
-
- connect( ListView1,SIGNAL(doubleClicked(QListViewItem*)),
- this,SLOT( itClick(QListViewItem*)));
- connect( ListView1, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int)),
- this,SLOT( listPressed(int,QListViewItem*,const QPoint&,int)) );
- connect( timeSlider, SIGNAL( sliderMoved(int)),
- this, SLOT( changeTimeSlider(int) ));
- connect( timeSlider, SIGNAL( sliderPressed()),
- this, SLOT( timeSliderPressed() ));
- connect( timeSlider, SIGNAL( sliderReleased()),
- this, SLOT( timeSliderReleased() ));
- connect( compressionCheckBox, SIGNAL( toggled(bool)),
- this, SLOT( compressionSelected(bool)));
- connect( autoMuteCheckBox, SIGNAL( toggled(bool)),
- this, SLOT( slotAutoMute(bool)));
+ connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
+
+ connect( toBeginningButton, SIGNAL( pressed()),
+ this, SLOT( rewindPressed() ));
+ connect( toBeginningButton, SIGNAL( released()),
+ this, SLOT( rewindReleased() ));
+ connect( toEndButton, SIGNAL( pressed()),
+ this, SLOT( FastforwardPressed() ));
+ connect( toEndButton, SIGNAL( released()),
+ this, SLOT( FastforwardReleased() ));
+ connect( deleteSoundButton, SIGNAL(released()),
+ this, SLOT( deleteSound() ));
+ connect( Stop_PushButton, SIGNAL(released()),
+ this, SLOT( doPlayBtn() ));
+ connect( Rec_PushButton, SIGNAL(released()),
+ this, SLOT( newSound() ) );
+ connect( TabWidget, SIGNAL( currentChanged(QWidget*)),
+ this, SLOT(thisTab(QWidget*) ));
+ connect( OutputSlider, SIGNAL(sliderReleased()),
+ this, SLOT( changedOutVolume()) );
+ connect( InputSlider, SIGNAL(sliderReleased()),
+ this, SLOT( changedInVolume()) );
+
+ connect( sampleRateComboBox, SIGNAL(activated(int)),
+ this, SLOT( changesamplerateCombo(int)) );
+ connect( bitRateComboBox, SIGNAL(activated(int)),
+ this, SLOT( changebitrateCombo(int)) );
+
+ connect( directoryComboBox, SIGNAL(activated(int)),
+ this, SLOT( changeDirCombo(int)) );
+ connect( sizeLimitCombo, SIGNAL(activated(int)),
+ this, SLOT( changeSizeLimitCombo(int)) );
+
+ connect( stereoCheckBox, SIGNAL(toggled(bool)),
+ this, SLOT( changeStereoCheck(bool)) );
+
+ connect( outMuteCheckBox, SIGNAL(toggled(bool)),
+ this, SLOT( doVolMuting(bool)) );
+ connect( inMuteCheckBox , SIGNAL(toggled(bool)),
+ this, SLOT( doMicMuting(bool)) );
+
+ connect( ListView1,SIGNAL(doubleClicked(QListViewItem*)),
+ this,SLOT( itClick(QListViewItem*)));
+ connect( ListView1, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int)),
+ this,SLOT( listPressed(int,QListViewItem*,const QPoint&,int)) );
+ connect( timeSlider, SIGNAL( sliderMoved(int)),
+ this, SLOT( changeTimeSlider(int) ));
+ connect( timeSlider, SIGNAL( sliderPressed()),
+ this, SLOT( timeSliderPressed() ));
+ connect( timeSlider, SIGNAL( sliderReleased()),
+ this, SLOT( timeSliderReleased() ));
+ connect( compressionCheckBox, SIGNAL( toggled(bool)),
+ this, SLOT( compressionSelected(bool)));
+ connect( autoMuteCheckBox, SIGNAL( toggled(bool)),
+ this, SLOT( slotAutoMute(bool)));
}
void QtRec::initConfig() {
- int index, fred, i;
- Config cfg("OpieRec");
- cfg.setGroup("Settings");
-
- index = cfg.readNumEntry("samplerate",22050);
- bool ok;
-
- for(int ws=0;ws<sampleRateComboBox->count();ws++) {
- fred = sampleRateComboBox->text(ws).toInt(&ok, 10);
- if( index == fred) {
- filePara.sampleRate = fred;
- sampleRateComboBox->setCurrentItem(ws);
- }
- }
-
- i = cfg.readNumEntry("bitrate",16);
- if(i == 16)
- bitRateComboBox->setCurrentItem( 1);
- else if(i == 24)
- bitRateComboBox->setCurrentItem( 2);
- else if(i == 32)
- bitRateComboBox->setCurrentItem( 3);
- else
- bitRateComboBox->setCurrentItem( 0);
-
- filePara.resolution = i;
-
- i = cfg.readNumEntry("sizeLimit", 5 );
- QString temp;
- sizeLimitCombo->setCurrentItem((i/5));
-
- stereoCheckBox->setChecked( cfg.readBoolEntry("stereo", 1));
- if( stereoCheckBox->isChecked()) {
- filePara.channels = 2;
- } else {
- filePara.channels = 1;
- }
-
- compressionCheckBox->setChecked( cfg.readBoolEntry("wavCompression",1));
- if( compressionCheckBox->isChecked()) {
- bitRateComboBox->setEnabled(false);
- bitRateComboBox->setCurrentItem(0);
- filePara.resolution=16;
- }
-
- autoMuteCheckBox->setChecked( cfg.readBoolEntry("useAutoMute",0));
- if( autoMuteCheckBox->isChecked())
- slotAutoMute(true);
- else
- slotAutoMute(false);
-
- Config cofg( "qpe");
- cofg.setGroup( "Volume");
- outMuteCheckBox->setChecked( cofg.readBoolEntry( "Mute",0));
- inMuteCheckBox->setChecked( cofg.readBoolEntry( "MicMute",0));
+ int index, fred, i;
+ Config cfg("OpieRec");
+ cfg.setGroup("Settings");
+
+ index = cfg.readNumEntry("samplerate",22050);
+ bool ok;
+
+ for(int ws=0;ws<sampleRateComboBox->count();ws++) {
+ fred = sampleRateComboBox->text(ws).toInt(&ok, 10);
+ if( index == fred) {
+ filePara.sampleRate = fred;
+ sampleRateComboBox->setCurrentItem(ws);
+ }
+ }
+
+ i = cfg.readNumEntry("bitrate",16);
+ if(i == 16)
+ bitRateComboBox->setCurrentItem( 1);
+ else if(i == 24)
+ bitRateComboBox->setCurrentItem( 2);
+ else if(i == 32)
+ bitRateComboBox->setCurrentItem( 3);
+ else
+ bitRateComboBox->setCurrentItem( 0);
+
+ filePara.resolution = i;
+
+ i = cfg.readNumEntry("sizeLimit", 5 );
+ QString temp;
+ sizeLimitCombo->setCurrentItem((i/5));
+
+ stereoCheckBox->setChecked( cfg.readBoolEntry("stereo", 1));
+ if( stereoCheckBox->isChecked()) {
+ filePara.channels = 2;
+ } else {
+ filePara.channels = 1;
+ }
+
+ compressionCheckBox->setChecked( cfg.readBoolEntry("wavCompression",1));
+ if( compressionCheckBox->isChecked()) {
+ bitRateComboBox->setEnabled(false);
+ bitRateComboBox->setCurrentItem(0);
+ filePara.resolution=16;
+ }
+
+ autoMuteCheckBox->setChecked( cfg.readBoolEntry("useAutoMute",0));
+ if( autoMuteCheckBox->isChecked())
+ slotAutoMute(true);
+ else
+ slotAutoMute(false);
+
+ Config cofg( "qpe");
+ cofg.setGroup( "Volume");
+ outMuteCheckBox->setChecked( cofg.readBoolEntry( "Mute",0));
+ inMuteCheckBox->setChecked( cofg.readBoolEntry( "MicMute",0));
}
void QtRec::stop() {
- owarn << "STOP" << oendl;
- setRecordButton(false);
+ owarn << "STOP" << oendl;
+ setRecordButton(false);
- if( !recording)
- endPlaying();
- else
- endRecording();
- timeSlider->setValue(0);
+ if( !recording)
+ endPlaying();
+ else
+ endRecording();
+ timeSlider->setValue(0);
}
void QtRec::doPlayBtn() {
- if(!stopped) {
- playLabel2->setText(tr("Play"));
- stop();
- } else {
- if(ListView1->currentItem() == 0) return;
- playLabel2->setText(tr("Stop"));
- currentFile = ListView1->currentItem()->text(0);
- start();
- }
+ if(!stopped) {
+ playLabel2->setText(tr("Play"));
+ stop();
+ } else {
+ if(ListView1->currentItem() == 0) return;
+ playLabel2->setText(tr("Stop"));
+ currentFile = ListView1->currentItem()->text(0);
+ start();
+ }
}
void QtRec::start() { //play
- if( stopped) {
- QPixmap image3( ( const char** ) image3_data );
- Stop_PushButton->setPixmap( image3 );
- Stop_PushButton->setDown( true);
- stopped = false;
- paused = false;
- secCount = 1;
+ if( stopped) {
+ QPixmap image3( ( const char** ) image3_data );
+ Stop_PushButton->setPixmap( image3 );
+ Stop_PushButton->setDown( true);
+ stopped = false;
+ paused = false;
+ secCount = 1;
- if( openPlayFile())
- if( setupAudio( false)) //recording is false
- doPlay();
- }
+ if( openPlayFile())
+ if( setupAudio( false)) //recording is false
+ doPlay();
+ }
}
bool QtRec::rec() { //record
- QString timeString;
- timeString.sprintf("%.0f", 0.0);
- timeLabel->setText( timeString+ " seconds");
- if(!stopped) {
- monitoring = true;
- return false;
- } else {
- secCount = 1;
- playLabel2->setText(tr("Stop"));
- monitoring = false;
- setRecordButton( true);
-
- if( setupAudio( true))
- if(setUpFile()) {
- int fileSize = 0;
- Config cfg("OpieRec");
- cfg.setGroup("Settings");
-// qDebug( "<<<<<<<Device bits %d, device rate %d, device channels %d",
-// soundDevice->getDeviceBits(),
-// soundDevice->getDeviceRate(),
-// soundDevice->getDeviceChannels());
-
- //filePara.sampleRate = cfg.readNumEntry("samplerate", 22050);
+ QString timeString;
+ timeString.sprintf("%.0f", 0.0);
+ timeLabel->setText( timeString+ " seconds");
+ if(!stopped) {
+ monitoring = true;
+ return false;
+ } else {
+ secCount = 1;
+ playLabel2->setText(tr("Stop"));
+ monitoring = false;
+ setRecordButton( true);
+
+ if( setupAudio( true))
+ if(setUpFile()) {
+ int fileSize = 0;
+ Config cfg("OpieRec");
+ cfg.setGroup("Settings");
+// odebug << "<<<<<<<Device bits " << soundDevice->getDeviceBits()
+// << ", device rate " << soundDevice->getDeviceRate()
+// << ", device channels " << soundDevice->getDeviceChannels() << oendl;
+
+ //filePara.sampleRate = cfg.readNumEntry("samplerate", 22050);
// odebug << "sample rate is " << filePara.sampleRate << "" << oendl;
- filePara.SecondsToRecord = getCurrentSizeLimit();
+ filePara.SecondsToRecord = getCurrentSizeLimit();
// odebug << "size limit " << filePara.SecondsToRecord << " sec" << oendl;
- int diskSize = checkDiskSpace( (const QString &) wavFile->trackName());
+ int diskSize = checkDiskSpace( (const QString &) wavFile->trackName());
- if( filePara.SecondsToRecord == 0) {
- fileSize = diskSize;
- } else if( filePara.format == WAVE_FORMAT_PCM) {
+ if( filePara.SecondsToRecord == 0) {
+ fileSize = diskSize;
+ } else if( filePara.format == WAVE_FORMAT_PCM) {
// odebug << "WAVE_FORMAT_PCM" << oendl;
- fileSize = (filePara.SecondsToRecord ) * filePara.channels
- * filePara.sampleRate * ( filePara.resolution / 8) + 1000;
- } else {
+ fileSize = (filePara.SecondsToRecord ) * filePara.channels
+ * filePara.sampleRate * ( filePara.resolution / 8) + 1000;
+ } else {
// odebug << "WAVE_FORMAT_DVI_ADPCM" << oendl;
- fileSize = ((filePara.SecondsToRecord) * filePara.channels
- * filePara.sampleRate * ( filePara.resolution / 8) ) / 4 + 250;
- }
-
- filePara.samplesToRecord = fileSize;
- qDebug("filesize should be %d, bits %d, rate %d",
- filePara.samplesToRecord, filePara.resolution, filePara.sampleRate);
- if( paused) {
- paused = false;
- }
- // else {
- odebug << "Setting timeslider " << filePara.samplesToRecord << "" << oendl;
- // if(fileSize != 0)
- timeSlider->setRange(0, filePara.samplesToRecord);
- // }
-
- if( diskSize < fileSize/1024) {
- QMessageBox::warning(this,
- tr("Low Disk Space"),
- tr("You are running low of\nrecording space\n"
- "or a card isn't being recognized"));
- stopped = true; //we need to be stopped
- stop();
- } else {
- QString msg;
- msg.sprintf("%d, %d, %d", filePara.sampleRate, filePara.channels, filePara.resolution);
+ fileSize = ((filePara.SecondsToRecord) * filePara.channels
+ * filePara.sampleRate * ( filePara.resolution / 8) ) / 4 + 250;
+ }
+
+ filePara.samplesToRecord = fileSize;
+ odebug << "filesize should be " << filePara.samplesToRecord
+ << ", bits " << filePara.resolution << ", rate " << filePara.sampleRate;
+ if( paused) {
+ paused = false;
+ }
+ // else {
+ odebug << "Setting timeslider " << filePara.samplesToRecord << "" << oendl;
+ // if(fileSize != 0)
+ timeSlider->setRange(0, filePara.samplesToRecord);
+ // }
+
+ if( diskSize < fileSize/1024) {
+ QMessageBox::warning(this,
+ tr("Low Disk Space"),
+ tr("You are running low of\nrecording space\n"
+ "or a card isn't being recognized"));
+ stopped = true; //we need to be stopped
+ stop();
+ } else {
+ QString msg;
+ msg.sprintf("%d, %d, %d", filePara.sampleRate, filePara.channels, filePara.resolution);
#ifdef DEV_VERSION
- setCaption( msg);
+ setCaption( msg);
#endif
- filePara.fileName=currentFile.latin1();
- odebug << "Start recording thread" << oendl;
- stopped = false;
+ filePara.fileName=currentFile.latin1();
+ odebug << "Start recording thread" << oendl;
+ stopped = false;
#ifdef THREADED
- pthread_t thread1;
- pthread_create( &thread1, NULL, (void * (*)(void *))quickRec, NULL/* &*/);
+ pthread_t thread1;
+ pthread_create( &thread1, NULL, (void * (*)(void *))quickRec, NULL/* &*/);
#endif
- toBeginningButton->setEnabled( false);
- toEndButton->setEnabled( false);
+ toBeginningButton->setEnabled( false);
+ toEndButton->setEnabled( false);
- startTimer(1000);
+ startTimer(1000);
#ifndef THREADED
- quickRec();
+ quickRec();
#endif
- }
- } //end setUpFile
- } //end setupAudio
- return true;
+ }
+ } //end setUpFile
+ } //end setupAudio
+ return true;
}
/*
This happens when a tab is selected*/
void QtRec::thisTab(QWidget* widg) {
- if(widg != NULL) {
- int index = TabWidget->currentPageIndex();
+ if(widg != NULL) {
+ int index = TabWidget->currentPageIndex();
- if(index == 0) { //file page
- }
+ if(index == 0) { //file page
+ }
- if(index == 1) { //control page
- fillDirectoryCombo();
+ if(index == 1) { //control page
+ fillDirectoryCombo();
// soundDevice->getOutVol();
// soundDevice->getInVol();
- }
+ }
- if( index==2) { //help page
- }
+ if( index==2) { //help page
+ }
- qApp->processEvents();
- update();
- }
+ qApp->processEvents();
+ update();
+ }
}
void QtRec::getOutVol( ) {
- filePara.outVol = soundDevice->getOutVolume();
+ filePara.outVol = soundDevice->getOutVolume();
// odebug << "out vol " << filePara.outVol << "" << oendl;
- OutputSlider->setValue( -filePara.outVol);
+ OutputSlider->setValue( -filePara.outVol);
}
void QtRec::getInVol() {
- filePara.inVol = soundDevice->getInVolume();
+ filePara.inVol = soundDevice->getInVolume();
// odebug << "in vol " << filePara.inVol << "" << oendl;
- InputSlider->setValue( -filePara.inVol);
+ InputSlider->setValue( -filePara.inVol);
}
void QtRec::changedOutVolume() {
- soundDevice->changedOutVolume( -OutputSlider->value());
+ soundDevice->changedOutVolume( -OutputSlider->value());
}
void QtRec::changedInVolume( ) {
- soundDevice->changedInVolume( -InputSlider->value());
+ soundDevice->changedInVolume( -InputSlider->value());
}
bool QtRec::setupAudio( bool b) {
- bool ok;
- int sampleformat, stereo, flags;
- QString dspString, mixerString;
+ bool ok;
+ int sampleformat, stereo, flags;
+ QString dspString, mixerString;
- filePara.resolution = bitRateComboBox->currentText().toInt( &ok,10); //16
+ filePara.resolution = bitRateComboBox->currentText().toInt( &ok,10); //16
- if( !b) {
+ if( !b) {
// we want to play
#ifdef PDAUDIO //ALSA
- if( filePara.resolution == 16 || compressionCheckBox->isChecked() ) {
- sampleformat = SND_PCM_FORMAT_S16;
- filePara.resolution = 16;
- } else if( filePara.resolution == 24 || compressionCheckBox->isChecked() ) {
- sampleformat = SND_PCM_FORMAT_S24;
- filePara.resolution = 24;
- } else if( filePara.resolution == 32 || compressionCheckBox->isChecked() ) {
- sampleformat = SND_PCM_FORMAT_S32;
- filePara.resolution = 32;
- } else {
- sampleformat = SND_PCM_FORMAT_U8;
- filePara.resolution = 8;
- }
+ if( filePara.resolution == 16 || compressionCheckBox->isChecked() ) {
+ sampleformat = SND_PCM_FORMAT_S16;
+ filePara.resolution = 16;
+ } else if( filePara.resolution == 24 || compressionCheckBox->isChecked() ) {
+ sampleformat = SND_PCM_FORMAT_S24;
+ filePara.resolution = 24;
+ } else if( filePara.resolution == 32 || compressionCheckBox->isChecked() ) {
+ sampleformat = SND_PCM_FORMAT_S32;
+ filePara.resolution = 32;
+ } else {
+ sampleformat = SND_PCM_FORMAT_U8;
+ filePara.resolution = 8;
+ }
#else
// we want to play
- if( filePara.resolution == 16 || compressionCheckBox->isChecked() ) {
- sampleformat = AFMT_S16_LE;
- filePara.resolution = 16;
- } else {
- sampleformat = AFMT_U8;
- filePara.resolution = 8;
- }
+ if( filePara.resolution == 16 || compressionCheckBox->isChecked() ) {
+ sampleformat = AFMT_S16_LE;
+ filePara.resolution = 16;
+ } 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
+ 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;
- else if( !bitRateComboBox->isEnabled() || bitRateComboBox->currentText() == "32")
- sampleformat = SND_PCM_FORMAT_S32;
- else
- sampleformat = SND_PCM_FORMAT_U8;
+ if( !bitRateComboBox->isEnabled() || bitRateComboBox->currentText() == "16")
+ sampleformat = SND_PCM_FORMAT_S16;
+ else if( !bitRateComboBox->isEnabled() || bitRateComboBox->currentText() == "24")
+ sampleformat = SND_PCM_FORMAT_S24;
+ else if( !bitRateComboBox->isEnabled() || bitRateComboBox->currentText() == "32")
+ sampleformat = SND_PCM_FORMAT_S32;
+ else
+ sampleformat = SND_PCM_FORMAT_U8;
#else
- if( !bitRateComboBox->isEnabled() || bitRateComboBox->currentText() == "16")
- sampleformat = AFMT_S16_LE;
- else
- sampleformat = AFMT_U8;
+ if( !bitRateComboBox->isEnabled() || bitRateComboBox->currentText() == "16")
+ sampleformat = AFMT_S16_LE;
+ else
+ sampleformat = AFMT_U8;
- if( !compressionCheckBox->isChecked()) {
- filePara.format = WAVE_FORMAT_PCM;
+ if( !compressionCheckBox->isChecked()) {
+ filePara.format = WAVE_FORMAT_PCM;
// odebug << "WAVE_FORMAT_PCM" << oendl;
- } else {
- filePara.format = WAVE_FORMAT_DVI_ADPCM;
- sampleformat = AFMT_S16_LE;
+ } else {
+ filePara.format = WAVE_FORMAT_DVI_ADPCM;
+ sampleformat = AFMT_S16_LE;
// odebug << "WAVE_FORMAT_DVI_ADPCM" << oendl;
- }
+ }
#endif
- stereo = filePara.channels;
+ stereo = filePara.channels;
// filePara.sampleRate = sampleRateComboBox->currentText().toInt( &ok,10);//44100;
- flags= O_RDWR;
+ 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;
- waveform->changeSettings( filePara.sampleRate, filePara.channels );
-
- soundDevice = new Device( this, dspString, mixerString, b);
+ 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;
+ waveform->changeSettings( filePara.sampleRate, filePara.channels );
+
+ soundDevice = new Device( this, dspString, mixerString, b);
// soundDevice->openDsp();
- soundDevice->reset();
+ soundDevice->reset();
- odebug << "device has been made " << soundDevice->sd << "" << oendl;
+ odebug << "device has been made " << soundDevice->sd << "" << oendl;
- ////////////////// <<<<<<<<<<<<>>>>>>>>>>>>
- soundDevice->setDeviceFormat( sampleformat);
- soundDevice->setDeviceChannels( filePara.channels);
- soundDevice->setDeviceRate( filePara.sampleRate);
- soundDevice->getDeviceFragSize();
+ ////////////////// <<<<<<<<<<<<>>>>>>>>>>>>
+ soundDevice->setDeviceFormat( sampleformat);
+ soundDevice->setDeviceChannels( filePara.channels);
+ soundDevice->setDeviceRate( filePara.sampleRate);
+ soundDevice->getDeviceFragSize();
#ifdef QT_QWS_EBX
- int frag = FRAGSIZE;
- soundDevice->setFragSize( frag);
- soundDevice->getDeviceFragSize();
+ int frag = FRAGSIZE;
+ soundDevice->setFragSize( frag);
+ soundDevice->getDeviceFragSize();
#endif
- /////////////////
- filePara.sd = soundDevice->sd;
+ /////////////////
+ filePara.sd = soundDevice->sd;
- if ( filePara.sd == -1) {
+ if ( filePara.sd == -1) {
- monitoring = false;
- stopped = true;
- update();
- setCaption( tr( "OpieRecord " )+ QString::number(VERSION) );
- return false;
- }
- if(autoMute)
- doMute(false);
+ monitoring = false;
+ stopped = true;
+ update();
+ setCaption( tr( "OpieRecord " )+ QString::number(VERSION) );
+ return false;
+ }
+ if(autoMute)
+ doMute(false);
- return true;
+ return true;
}
bool QtRec::setUpFile() { //setup file for recording
// odebug << "Setting up wavfile" << oendl;
// if(wavFile) delete wavFile;
- wavFile = new WavFile( this, (const QString &)"",
- true,
- filePara.sampleRate,
- filePara.channels,
- filePara.resolution,
- filePara.format);
-
- filePara.fd = wavFile->wavHandle();
- if(filePara.fd == -1) {
- return false;
- } else {
+ wavFile = new WavFile( this, (const QString &)"",
+ true,
+ filePara.sampleRate,
+ filePara.channels,
+ filePara.resolution,
+ filePara.format);
+
+ filePara.fd = wavFile->wavHandle();
+ if(filePara.fd == -1) {
+ return false;
+ } else {
// filePara.channels=1;
- }
- return true;
+ }
+ return true;
}
/// <<<<<<<<<<<<<<<< PLAY >>>>>>>>>>>>>>>>>>>
bool QtRec::doPlay() {
- if( !paused) {
- total = 0;
- filePara.numberOfRecordedSeconds = 0;
- } else {
- paused = false;
- secCount = (int)filePara.numberOfRecordedSeconds;
- }
- playing = true;
- stopped = false;
- recording = false;
+ if( !paused) {
+ total = 0;
+ filePara.numberOfRecordedSeconds = 0;
+ } else {
+ paused = false;
+ secCount = (int)filePara.numberOfRecordedSeconds;
+ }
+ playing = true;
+ stopped = false;
+ recording = false;
- QString num;
- odebug << "Play number of samples " << filePara.numberSamples << "" << oendl;
+ QString num;
+ odebug << "Play number of samples " << filePara.numberSamples << "" << oendl;
// timeSlider->setRange( 0, filePara.numberSamples);
- timeString.sprintf("%f", filePara.numberOfRecordedSeconds);
- timeLabel->setText( timeString+ tr(" seconds"));
+ timeString.sprintf("%f", filePara.numberOfRecordedSeconds);
+ timeLabel->setText( timeString+ tr(" seconds"));
- QString msg;
- msg.sprintf("%d, %d, %d",
- filePara.sampleRate,
- filePara.channels,
- filePara.resolution);
+ QString msg;
+ msg.sprintf("%d, %d, %d",
+ filePara.sampleRate,
+ filePara.channels,
+ filePara.resolution);
#ifdef DEV_VERSION
- setCaption( msg);
+ setCaption( msg);
#endif
- startTimer( 1000);
+ startTimer( 1000);
#ifdef THREADED
- pthread_t thread2;
- pthread_create( &thread2, NULL, (void * (*)(void *))playIt, NULL/* &*/);
+ pthread_t thread2;
+ pthread_create( &thread2, NULL, (void * (*)(void *))playIt, NULL/* &*/);
#endif
- toBeginningButton->setEnabled( false);
- toEndButton->setEnabled( false);
+ toBeginningButton->setEnabled( false);
+ toEndButton->setEnabled( false);
#ifndef THREADED
- playIt();
+ playIt();
#endif
- return true;
+ return true;
}
void QtRec::changebitrateCombo(int i) {
- Config cfg("OpieRec");
- cfg.setGroup("Settings");
- int bits = 0;
- if( i == 1) { bits = 16; }
- else if( i == 2) { bits = 24; }
- else if( i == 3) { bits = 32; }
- else { bits=8; }
- cfg.writeEntry("bitrate", bits);
- filePara.resolution = bits;
- cfg.write();
+ Config cfg("OpieRec");
+ cfg.setGroup("Settings");
+ int bits = 0;
+ if( i == 1) { bits = 16; }
+ else if( i == 2) { bits = 24; }
+ else if( i == 3) { bits = 32; }
+ else { bits=8; }
+ cfg.writeEntry("bitrate", bits);
+ filePara.resolution = bits;
+ cfg.write();
}
void QtRec::changesamplerateCombo(int i) {
- Config cfg("OpieRec");
- cfg.setGroup("Settings");
- int rate=0;
- bool ok;
- rate = sampleRateComboBox->text(i).toInt(&ok, 10);
- cfg.writeEntry( "samplerate",rate);
- filePara.sampleRate=rate;
- odebug << "Change sample rate " << rate << "" << oendl;
- cfg.write();
+ Config cfg("OpieRec");
+ cfg.setGroup("Settings");
+ int rate=0;
+ bool ok;
+ rate = sampleRateComboBox->text(i).toInt(&ok, 10);
+ cfg.writeEntry( "samplerate",rate);
+ filePara.sampleRate=rate;
+ odebug << "Change sample rate " << rate << "" << oendl;
+ cfg.write();
}
void QtRec::changeDirCombo(int index) {
- Config cfg("OpieRec");
- cfg.setGroup("Settings");
- QString sName = directoryComboBox->text(index);
-
- StorageInfo storageInfo;
- const QList<FileSystem> &fs = storageInfo.fileSystems();
- QListIterator<FileSystem> it ( fs );
- QString storage;
- for( ; it.current(); ++it ){
- if( sName == (*it)->name()+" "+ (*it)->path() ||
- (*it)->name() == sName ) {
- const QString path = (*it)->path();
- recDir = path;
- cfg.writeEntry("directory", recDir);
- odebug << "new rec dir "+recDir << oendl;
- }
- }
- cfg.write();
+ Config cfg("OpieRec");
+ cfg.setGroup("Settings");
+ QString sName = directoryComboBox->text(index);
+
+ StorageInfo storageInfo;
+ const QList<FileSystem> &fs = storageInfo.fileSystems();
+ QListIterator<FileSystem> it ( fs );
+ QString storage;
+ for( ; it.current(); ++it ){
+ if( sName == (*it)->name()+" "+ (*it)->path() ||
+ (*it)->name() == sName ) {
+ const QString path = (*it)->path();
+ recDir = path;
+ cfg.writeEntry("directory", recDir);
+ odebug << "new rec dir "+recDir << oendl;
+ }
+ }
+ cfg.write();
}
void QtRec::changeSizeLimitCombo(int) {
- Config cfg("OpieRec");
- cfg.setGroup("Settings");
- cfg.writeEntry("sizeLimit", getCurrentSizeLimit() );
- cfg.write();
+ Config cfg("OpieRec");
+ cfg.setGroup("Settings");
+ cfg.writeEntry("sizeLimit", getCurrentSizeLimit() );
+ cfg.write();
}
void QtRec::newSound() {
- if( !rec()) {
- endRecording();
- deleteSound();
- }
+ if( !rec()) {
+ endRecording();
+ deleteSound();
+ }
}
void QtRec::itClick(QListViewItem *item) {
- currentFile = item->text(0);
- setCaption("OpieRecord "+currentFile);
+ currentFile = item->text(0);
+ setCaption("OpieRecord "+currentFile);
}
void QtRec::deleteSound() {
- Config cfg("OpieRec");
- cfg.setGroup("Sounds");
- if( ListView1->currentItem() == NULL)
- return;
+ 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:
+ 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."));
-
- int nFiles = cfg.readNumEntry( "NumberofFiles",0);
- bool found = false;
- for(int i=0;i<nFiles+1;i++) {
-
- if( cfg.readEntry( QString::number(i),"").find( file,0,true) != -1) {
- found = true;
- cfg.writeEntry( QString::number(i), cfg.readEntry( QString::number(i+1),""));
- }
- if(found)
- cfg.writeEntry( QString::number(i), cfg.readEntry( QString::number(i+1),""));
- }
-
- cfg.removeEntry( cfg.readEntry( file));
- cfg.removeEntry( file);
- cfg.writeEntry( "NumberofFiles", nFiles-1);
- cfg.write();
-
- ListView1->takeItem( ListView1->currentItem() );
- delete ListView1->currentItem();
-
- ListView1->clear();
- ListView1->setSelected( ListView1->firstChild(), true);
- initIconView();
- update();
- }
+ {
+ 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."));
+
+ int nFiles = cfg.readNumEntry( "NumberofFiles",0);
+ bool found = false;
+ for(int i=0;i<nFiles+1;i++) {
+
+ if( cfg.readEntry( QString::number(i),"").find( file,0,true) != -1) {
+ found = true;
+ cfg.writeEntry( QString::number(i), cfg.readEntry( QString::number(i+1),""));
+ }
+ if(found)
+ cfg.writeEntry( QString::number(i), cfg.readEntry( QString::number(i+1),""));
+ }
+
+ cfg.removeEntry( cfg.readEntry( file));
+ cfg.removeEntry( file);
+ cfg.writeEntry( "NumberofFiles", nFiles-1);
+ cfg.write();
+
+ 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 " ) + QString::number(VERSION) );
}
void QtRec::keyPressEvent( QKeyEvent *e) {
- switch ( e->key() ) {
- // case Key_F1:
- // if(stopped && !recording)
- // newSound();
- // else
- // stop();
- // break;
- // case Key_F2: {
- // if( !e->isAutoRepeat())
- // rewindPressed();
- // }
- // break;
- // case Key_F3: {
- // if( !e->isAutoRepeat())
- // FastforwardPressed();
- // }
- // break;
-
- ////////////////////////////// Zaurus keys
- case Key_F9: //activity
- break;
- case Key_F10: //contacts
- break;
- case Key_F11: //menu
- break;
- case Key_F12: //home
- break;
- case Key_F13: //mail
- break;
- case Key_Space:
- break;
- case Key_Delete:
- break;
- case Key_Up:
- // stop();
- break;
- case Key_Down:
- // newSound();
- break;
- case Key_Left: {
- odebug << "rewinding" << oendl;
- if( !e->isAutoRepeat())
- rewindPressed();
- }
- break;
- case Key_Right: {
- if( !e->isAutoRepeat())
- FastforwardPressed();
- }
- break;
- }
+ switch ( e->key() ) {
+ // case Key_F1:
+ // if(stopped && !recording)
+ // newSound();
+ // else
+ // stop();
+ // break;
+ // case Key_F2: {
+ // if( !e->isAutoRepeat())
+ // rewindPressed();
+ // }
+ // break;
+ // case Key_F3: {
+ // if( !e->isAutoRepeat())
+ // FastforwardPressed();
+ // }
+ // break;
+
+ ////////////////////////////// Zaurus keys
+ case Key_F9: //activity
+ break;
+ case Key_F10: //contacts
+ break;
+ case Key_F11: //menu
+ break;
+ case Key_F12: //home
+ break;
+ case Key_F13: //mail
+ break;
+ case Key_Space:
+ break;
+ case Key_Delete:
+ break;
+ case Key_Up:
+ // stop();
+ break;
+ case Key_Down:
+ // newSound();
+ break;
+ case Key_Left: {
+ odebug << "rewinding" << oendl;
+ if( !e->isAutoRepeat())
+ rewindPressed();
+ }
+ break;
+ case Key_Right: {
+ if( !e->isAutoRepeat())
+ FastforwardPressed();
+ }
+ break;
+ }
}
void QtRec::keyReleaseEvent( QKeyEvent *e) {
- switch ( e->key() ) {
- // case Key_F1:
- // if(stopped && !recording)
- // newSound();
- // else
- // stop();
- // break;
- // case Key_F2:
- // rewindReleased();
- // break;
- // case Key_F3:
- // FastforwardReleased();
- // break;
-
- ////////////////////////////// Zaurus keys
- case Key_F9: //activity
- break;
- case Key_F10: //contacts
- break;
- case Key_F11: //menu
- break;
- case Key_F12: //home
- if(stopped)
- doPlayBtn();
- else
- stop();
- break;
- case Key_F13: //mail
- break;
- case Key_Space:
- if(stopped && !recording)
- newSound();
- else
- stop();
- break;
- case Key_Delete:
- deleteSound();
- break;
- case Key_Up:
- // stop();
- odebug << "Up" << oendl;
- break;
- case Key_Down:
- // start();
- // odebug << "Down" << oendl;
- // newSound();
- break;
- case Key_Left:
- odebug << "Left" << oendl;
- rewindReleased();
- break;
- case Key_Right:
- odebug << "Right" << oendl;
- FastforwardReleased();
- break;
- }
+ switch ( e->key() ) {
+ // case Key_F1:
+ // if(stopped && !recording)
+ // newSound();
+ // else
+ // stop();
+ // break;
+ // case Key_F2:
+ // rewindReleased();
+ // break;
+ // case Key_F3:
+ // FastforwardReleased();
+ // break;
+
+ ////////////////////////////// Zaurus keys
+ case Key_F9: //activity
+ break;
+ case Key_F10: //contacts
+ break;
+ case Key_F11: //menu
+ break;
+ case Key_F12: //home
+ if(stopped)
+ doPlayBtn();
+ else
+ stop();
+ break;
+ case Key_F13: //mail
+ break;
+ case Key_Space:
+ if(stopped && !recording)
+ newSound();
+ else
+ stop();
+ break;
+ case Key_Delete:
+ deleteSound();
+ break;
+ case Key_Up:
+ // stop();
+ odebug << "Up" << oendl;
+ break;
+ case Key_Down:
+ // start();
+ // odebug << "Down" << oendl;
+ // newSound();
+ break;
+ case Key_Left:
+ odebug << "Left" << oendl;
+ rewindReleased();
+ break;
+ case Key_Right:
+ odebug << "Right" << oendl;
+ FastforwardReleased();
+ break;
+ }
}
void QtRec::endRecording() {
- monitoring = false;
- recording = false;
- stopped = true;
- waveform->reset();
- setRecordButton( false);
+ monitoring = false;
+ recording = false;
+ stopped = true;
+ waveform->reset();
+ setRecordButton( false);
- toBeginningButton->setEnabled( true);
- toEndButton->setEnabled( true);
+ toBeginningButton->setEnabled( true);
+ toEndButton->setEnabled( true);
- killTimers();
+ killTimers();
- if(autoMute)
- doMute( true);
+ if(autoMute)
+ doMute( true);
- soundDevice->closeDevice( true);
+ soundDevice->closeDevice( true);
- if( wavFile->track.isOpen()) {
- wavFile->adjustHeaders( filePara.fd, filePara.numberSamples);
- // soundDevice->sd=-1;
- filePara.numberSamples = 0;
- // filePara.sd=-1;
- wavFile->closeFile();
- filePara.fd=0;
+ if( wavFile->track.isOpen()) {
+ wavFile->adjustHeaders( filePara.fd, filePara.numberSamples);
+ // soundDevice->sd=-1;
+ filePara.numberSamples = 0;
+ // filePara.sd=-1;
+ wavFile->closeFile();
+ filePara.fd=0;
- if( wavFile->isTempFile()) {
+ if( wavFile->isTempFile()) {
// move tmp file to regular file
- QString cmd;
- cmd.sprintf("mv "+ wavFile->trackName() + " " + wavFile->currentFileName);
+ QString cmd;
+ cmd.sprintf("mv "+ wavFile->trackName() + " " + wavFile->currentFileName);
// odebug << "moving tmp file to "+currentFileName << oendl;
- system( cmd.latin1());
- }
+ system( cmd.latin1());
+ }
- odebug << "Just moved " + wavFile->currentFileName << oendl;
- Config cfg("OpieRec");
- cfg.setGroup("Sounds");
+ odebug << "Just moved " + wavFile->currentFileName << oendl;
+ Config cfg("OpieRec");
+ cfg.setGroup("Sounds");
- int nFiles = cfg.readNumEntry( "NumberofFiles",0);
+ int nFiles = cfg.readNumEntry( "NumberofFiles",0);
- currentFile = QFileInfo( wavFile->currentFileName).fileName();
- currentFile = currentFile.left( currentFile.length() - 4);
+ currentFile = QFileInfo( wavFile->currentFileName).fileName();
+ currentFile = currentFile.left( currentFile.length() - 4);
- cfg.writeEntry( "NumberofFiles", nFiles + 1);
- cfg.writeEntry( QString::number( nFiles + 1), currentFile);
- cfg.writeEntry( currentFile, wavFile->currentFileName);
+ cfg.writeEntry( "NumberofFiles", nFiles + 1);
+ cfg.writeEntry( QString::number( nFiles + 1), currentFile);
+ cfg.writeEntry( currentFile, wavFile->currentFileName);
- QString time;
- time.sprintf("%.2f", filePara.numberOfRecordedSeconds);
- cfg.writeEntry( wavFile->currentFileName, time );
+ QString time;
+ time.sprintf("%.2f", filePara.numberOfRecordedSeconds);
+ cfg.writeEntry( wavFile->currentFileName, time );
// odebug << "writing config numberOfRecordedSeconds "+time << oendl;
- cfg.write();
- odebug << "finished recording" << oendl;
- timeLabel->setText("");
- }
+ cfg.write();
+ odebug << "finished recording" << oendl;
+ timeLabel->setText("");
+ }
-// if(soundDevice) delete soundDevice;
+// if(soundDevice) delete soundDevice;
- timeSlider->setValue(0);
- initIconView();
- selectItemByName( currentFile);
+ timeSlider->setValue(0);
+ initIconView();
+ selectItemByName( currentFile);
}
void QtRec::endPlaying() {
- monitoring = false;
- recording = false;
- playing = false;
- stopped = true;
- waveform->reset();
+ monitoring = false;
+ recording = false;
+ playing = false;
+ stopped = true;
+ waveform->reset();
// errorStop();
// odebug << "end playing" << oendl;
- setRecordButton( false);
+ setRecordButton( false);
- toBeginningButton->setEnabled( true);
- toEndButton->setEnabled( true);
+ toBeginningButton->setEnabled( true);
+ toEndButton->setEnabled( true);
- if(autoMute)
- doMute( true);
+ if(autoMute)
+ doMute( true);
- soundDevice->closeDevice( false);
- soundDevice->sd = -1;
- // if(soundDevice) delete soundDevice;
+ soundDevice->closeDevice( false);
+ soundDevice->sd = -1;
+ // if(soundDevice) delete soundDevice;
// odebug << "file and sound device closed" << oendl;
- timeLabel->setText("");
- total = 0;
- filePara.numberSamples = 0;
- filePara.sd = -1;
+ timeLabel->setText("");
+ total = 0;
+ filePara.numberSamples = 0;
+ filePara.sd = -1;
// wavFile->closeFile();
- filePara.fd = 0;
+ filePara.fd = 0;
// if(wavFile) delete wavFile; //this crashes
// odebug << "track closed" << oendl;
- killTimers();
- owarn << "reset slider" << oendl;
- timeSlider->setValue(0);
+ killTimers();
+ owarn << "reset slider" << oendl;
+ timeSlider->setValue(0);
-// if(soundDevice) delete soundDevice;
+// if(soundDevice) delete soundDevice;
}
bool QtRec::openPlayFile() {
- qApp->processEvents();
- if( currentFile.isEmpty()) {
- QMessageBox::message(tr("Opierec"),tr("Please select file to play"));
- endPlaying();
- return false;
- }
- QString currentFileName;
- Config cfg("OpieRec");
- cfg.setGroup("Sounds");
- int nFiles = cfg.readNumEntry( "NumberofFiles", 0);
- for(int i=0;i<nFiles+1;i++) { //look for file
- if( cfg.readEntry( QString::number(i),"").find( currentFile,0,true) != -1) {
- currentFileName = cfg.readEntry( currentFile, "" );
- odebug << "opening for play: " + currentFileName << oendl;
- }
- }
- 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) );
- 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;
-
- timeSlider->setRange(0, filePara.numberSamples );
- }
-
- return true;
+ qApp->processEvents();
+ if( currentFile.isEmpty()) {
+ QMessageBox::message(tr("Opierec"),tr("Please select file to play"));
+ endPlaying();
+ return false;
+ }
+ QString currentFileName;
+ Config cfg("OpieRec");
+ cfg.setGroup("Sounds");
+ int nFiles = cfg.readNumEntry( "NumberofFiles", 0);
+ for(int i=0;i<nFiles+1;i++) { //look for file
+ if( cfg.readEntry( QString::number(i),"").find( currentFile,0,true) != -1) {
+ currentFileName = cfg.readEntry( currentFile, "" );
+ odebug << "opening for play: " + currentFileName << oendl;
+ }
+ }
+ 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) );
+ 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;
+
+ 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);
- }
- break;
- case 2:
- showListMenu(item);
- ListView1->clearSelection();
- break;
- };
+ if(item == NULL )
+ return;
+ switch (mouse) {
+ case 1: {
+ if( renameBox != 0 ) //tricky
+ cancelRename();
+
+ currentFile = item->text(0);
+ setCaption( "OpieRecord " + currentFile);
+ }
+ break;
+ case 2:
+ showListMenu(item);
+ ListView1->clearSelection();
+ break;
+ };
}
void QtRec::showListMenu(QListViewItem * item) {
- if(item == NULL)
- return;
- QPopupMenu *m = new QPopupMenu(this);
- m->insertItem( tr("Play"), this, SLOT( doMenuPlay() ));
- if(Ir::supported()) m->insertItem( tr( "Send with Ir" ), this, SLOT( doBeam() ));
- m->insertItem( tr( "Rename" ), this, SLOT( doRename() ));
- // #if defined (QTOPIA_INTERNAL_FSLP)
- // m->insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
- // #endif
- m->insertSeparator();
- m->insertItem( tr("Delete"), this, SLOT( deleteSound() ) );
- m->exec( QCursor::pos() );
- qApp->processEvents();
+ if(item == NULL)
+ return;
+ QPopupMenu *m = new QPopupMenu(this);
+ m->insertItem( tr("Play"), this, SLOT( doMenuPlay() ));
+ if(Ir::supported()) m->insertItem( tr( "Send with Ir" ), this, SLOT( doBeam() ));
+ m->insertItem( tr( "Rename" ), this, SLOT( doRename() ));
+ // #if defined (QTOPIA_INTERNAL_FSLP)
+ // m->insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
+ // #endif
+ m->insertSeparator();
+ m->insertItem( tr("Delete"), this, SLOT( deleteSound() ) );
+ m->exec( QCursor::pos() );
+ qApp->processEvents();
}
void QtRec::fileBeamFinished( Ir *ir) {
- if(ir)
- QMessageBox::message( tr("Ir Beam out"), tr("Ir sent.") ,tr("Ok") );
+ if(ir)
+ QMessageBox::message( tr("Ir Beam out"), tr("Ir sent.") ,tr("Ok") );
}
void QtRec::doBeam() {
- qApp->processEvents();
- if( ListView1->currentItem() == NULL)
- return;
- Ir ir;
- if( ir.supported()) {
- QString file = ListView1->currentItem()->text(0);
- Config cfg("OpieRec");
- cfg.setGroup("Sounds");
-
- int nFiles = cfg.readNumEntry("NumberofFiles",0);
-
- for(int i=0;i<nFiles+1;i++) {
- if( cfg.readEntry( QString::number( i),"").find( file, 0, true) != -1) {
- QString filePath = cfg.readEntry(file,"");
- Ir *file = new Ir(this, "IR");
- connect( file, SIGNAL( done(Ir*)),
- this, SLOT( fileBeamFinished(Ir*)));
- file->send( filePath, "OPieRec audio file\n" + filePath );
- }
- }
- }
+ qApp->processEvents();
+ if( ListView1->currentItem() == NULL)
+ return;
+ Ir ir;
+ if( ir.supported()) {
+ QString file = ListView1->currentItem()->text(0);
+ Config cfg("OpieRec");
+ cfg.setGroup("Sounds");
+
+ int nFiles = cfg.readNumEntry("NumberofFiles",0);
+
+ for(int i=0;i<nFiles+1;i++) {
+ if( cfg.readEntry( QString::number( i),"").find( file, 0, true) != -1) {
+ QString filePath = cfg.readEntry(file,"");
+ Ir *file = new Ir(this, "IR");
+ connect( file, SIGNAL( done(Ir*)),
+ this, SLOT( fileBeamFinished(Ir*)));
+ file->send( filePath, "OPieRec audio file\n" + filePath );
+ }
+ }
+ }
}
void QtRec::doMenuPlay() {
- qApp->processEvents();
- currentFile = ListView1->currentItem()->text(0);
+ qApp->processEvents();
+ currentFile = ListView1->currentItem()->text(0);
}
void QtRec::doRename() {
- QRect r = ListView1->itemRect( ListView1->currentItem( ));
- r = QRect( ListView1->viewportToContents( r.topLeft() ), r.size() );
- r.setX( ListView1->contentsX() );
- if ( r.width() > ListView1->visibleWidth() )
- r.setWidth( ListView1->visibleWidth() );
+ QRect r = ListView1->itemRect( ListView1->currentItem( ));
+ r = QRect( ListView1->viewportToContents( r.topLeft() ), r.size() );
+ r.setX( ListView1->contentsX() );
+ if ( r.width() > ListView1->visibleWidth() )
+ r.setWidth( ListView1->visibleWidth() );
- renameBox = new QLineEdit( ListView1->viewport(), "qt_renamebox" );
- renameBox->setFrame(true);
+ renameBox = new QLineEdit( ListView1->viewport(), "qt_renamebox" );
+ renameBox->setFrame(true);
- renameBox->setText( ListView1->currentItem()->text(0) );
+ renameBox->setText( ListView1->currentItem()->text(0) );
- renameBox->selectAll();
- renameBox->installEventFilter( this );
- ListView1->addChild( renameBox, r.x(), r.y() );
- renameBox->resize( r.size() );
- ListView1->viewport()->setFocusProxy( renameBox );
- renameBox->setFocus();
- renameBox->show();
+ renameBox->selectAll();
+ renameBox->installEventFilter( this );
+ ListView1->addChild( renameBox, r.x(), r.y() );
+ renameBox->resize( r.size() );
+ ListView1->viewport()->setFocusProxy( renameBox );
+ renameBox->setFocus();
+ renameBox->show();
}
void QtRec::okRename() {
- odebug << renameBox->text() << oendl;
- QString filename = renameBox->text();
- cancelRename();
+ odebug << renameBox->text() << oendl;
+ QString filename = renameBox->text();
+ cancelRename();
- if( ListView1->currentItem() == NULL)
- return;
+ if( ListView1->currentItem() == NULL)
+ return;
- Config cfg("OpieRec");
- cfg.setGroup("Sounds");
+ Config cfg("OpieRec");
+ cfg.setGroup("Sounds");
- QString file = ListView1->currentItem()->text(0);
+ QString file = ListView1->currentItem()->text(0);
- odebug << "filename is " + filename << oendl;
+ odebug << "filename is " + filename << oendl;
- int nFiles = cfg.readNumEntry("NumberofFiles",0);
+ int nFiles = cfg.readNumEntry("NumberofFiles",0);
- for(int i=0;i<nFiles+1;i++) { //look for file
- if( cfg.readEntry( QString::number(i),"").find(file,0,true) != -1) {
+ for(int i=0;i<nFiles+1;i++) { //look for file
+ if( cfg.readEntry( QString::number(i),"").find(file,0,true) != -1) {
- QString filePath = cfg.readEntry(file,"");
+ QString filePath = cfg.readEntry(file,"");
- cfg.writeEntry( QString::number(i), filename );
- cfg.writeEntry( filename, filePath );
- cfg.removeEntry( file);
- cfg.write();
- }
- }
+ cfg.writeEntry( QString::number(i), filename );
+ cfg.writeEntry( filename, filePath );
+ cfg.removeEntry( file);
+ cfg.write();
+ }
+ }
- ListView1->takeItem( ListView1->currentItem() );
- delete ListView1->currentItem();
- ListView1->clear();
- initIconView();
- update();
+ ListView1->takeItem( ListView1->currentItem() );
+ delete ListView1->currentItem();
+ ListView1->clear();
+ initIconView();
+ update();
}
void QtRec::cancelRename() {
- bool resetFocus = ListView1->viewport()->focusProxy() == renameBox;
- delete renameBox;
- renameBox = 0;
- if ( resetFocus ) {
- ListView1->viewport()->setFocusProxy( ListView1 );
- ListView1->setFocus();
- }
+ bool resetFocus = ListView1->viewport()->focusProxy() == renameBox;
+ delete renameBox;
+ renameBox = 0;
+ if ( resetFocus ) {
+ ListView1->viewport()->setFocusProxy( ListView1 );
+ ListView1->setFocus();
+ }
}
bool QtRec::eventFilter( QObject * o, QEvent * e ) {
- if ( o->inherits( "QLineEdit" ) ) {
- if ( e->type() == QEvent::KeyPress ) {
- QKeyEvent *ke = (QKeyEvent*)e;
- if ( ke->key() == Key_Return ||
- ke->key() == Key_Enter ) {
- okRename();
- return true;
- } else if ( ke->key() == Key_Escape ) {
- cancelRename();
- return true;
- }
- } else if ( e->type() == QEvent::FocusOut ) {
- cancelRename();
- return true;
- }
- }
- return QWidget::eventFilter( o, e );
+ if ( o->inherits( "QLineEdit" ) ) {
+ if ( e->type() == QEvent::KeyPress ) {
+ QKeyEvent *ke = (QKeyEvent*)e;
+ if ( ke->key() == Key_Return ||
+ ke->key() == Key_Enter ) {
+ okRename();
+ return true;
+ } else if ( ke->key() == Key_Escape ) {
+ cancelRename();
+ return true;
+ }
+ } else if ( e->type() == QEvent::FocusOut ) {
+ cancelRename();
+ return true;
+ }
+ }
+ return QWidget::eventFilter( o, e );
}
int QtRec::getCurrentSizeLimit() {
- return sizeLimitCombo->currentItem() * 5;
+ return sizeLimitCombo->currentItem() * 5;
}
void QtRec::timerBreak() {
- endPlaying();
+ endPlaying();
}
void QtRec::doVolMuting(bool b) {
- Config cfg( "qpe" );
- cfg. setGroup( "Volume" );
- cfg.writeEntry( "Mute",b);
- cfg.write();
- QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << b;
+ Config cfg( "qpe" );
+ cfg. setGroup( "Volume" );
+ cfg.writeEntry( "Mute",b);
+ cfg.write();
+ QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << b;
}
void QtRec::doMicMuting(bool b) {
- // odebug << "mic mute" << oendl;
- Config cfg( "qpe" );
- cfg. setGroup( "Volume" );
- cfg.writeEntry( "MicMute",b);
- cfg.write();
- QCopEnvelope( "QPE/System", "micChange(bool)" ) << b;
+ // odebug << "mic mute" << oendl;
+ Config cfg( "qpe" );
+ cfg. setGroup( "Volume" );
+ cfg.writeEntry( "MicMute",b);
+ cfg.write();
+ QCopEnvelope( "QPE/System", "micChange(bool)" ) << b;
}
void QtRec::compressionSelected(bool b) {
- Config cfg("OpieRec");
- cfg.setGroup("Settings");
- cfg.writeEntry("wavCompression", b);
- cfg.writeEntry("bitrate", 16);
- filePara.resolution = 16;
- cfg.write();
-
- if(b) {
- bitRateComboBox->setEnabled( false);
- bitRateComboBox->setCurrentItem( 1);
- filePara.resolution = 16;
- } else{
- bitRateComboBox->setEnabled( true);
- }
+ Config cfg("OpieRec");
+ cfg.setGroup("Settings");
+ cfg.writeEntry("wavCompression", b);
+ cfg.writeEntry("bitrate", 16);
+ filePara.resolution = 16;
+ cfg.write();
+
+ if(b) {
+ bitRateComboBox->setEnabled( false);
+ bitRateComboBox->setCurrentItem( 1);
+ filePara.resolution = 16;
+ } else{
+ bitRateComboBox->setEnabled( true);
+ }
}
long QtRec::checkDiskSpace(const QString &path) {
- struct statfs fs;
+ struct statfs fs;
- if ( !statfs( path.latin1(), &fs ) ) {
+ if ( !statfs( path.latin1(), &fs ) ) {
- int blkSize = fs.f_bsize;
- int availBlks = fs.f_bavail;
+ int blkSize = fs.f_bsize;
+ int availBlks = fs.f_bavail;
- long mult = blkSize / 1024;
- long div = 1024 / blkSize;
+ long mult = blkSize / 1024;
+ long div = 1024 / blkSize;
- if ( !mult ) mult = 1;
- if ( !div ) div = 1;
+ if ( !mult ) mult = 1;
+ if ( !div ) div = 1;
- return availBlks * mult / div;
- }
- return -1;
+ return availBlks * mult / div;
+ }
+ return -1;
}
// short f_fstyp; /* File system type */
// long f_bsize; /* Block size */
// long f_frsize; /* Fragment size */
// long f_blocks; /* Total number of blocks*/
// long f_bfree; /* Count of free blocks */
// long f_files; /* Total number of file nodes */
// long f_ffree; /* Count of free file nodes */
// char f_fname[6]; /* Volumename */
// char f_fpack[6]; /* Pack name */
void QtRec::receive( const QCString &msg, const QByteArray & ) {
- odebug << "Voicerecord received message "+msg << oendl;
+ odebug << "Voicerecord received message "+msg << oendl;
}
///////////////////////////// timerEvent
void QtRec::timerEvent( QTimerEvent * ) {
// if(!recording)
// timeSlider->setValue( secCount);
// else
// timeSlider->setValue( filePara.numberOfRecordedSeconds);
- if( stopped && playing) {
- stop();
- }
+ if( stopped && playing) {
+ stop();
+ }
- if( stopped && recording ){
- stop();
- }
+ if( stopped && recording ){
+ stop();
+ }
- if( recording && filePara.SecondsToRecord < secCount && filePara.SecondsToRecord != 0) {
- stop();
- }
+ if( recording && filePara.SecondsToRecord < secCount && filePara.SecondsToRecord != 0) {
+ stop();
+ }
- odebug << "" << secCount << "" << oendl;
- QString timeString;
+ 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));
+ 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");
+ timeString.sprintf("%d", secCount);
+ timeLabel->setText( timeString + " seconds");
- secCount++;
+ secCount++;
}
void QtRec::changeTimeSlider(int index) {
- if( ListView1->currentItem() == 0 || !wavFile->track.isOpen()) return;
- // odebug << "Slider moved to " << index << "" << oendl;
- paused = true;
- stopped = true;
+ if( ListView1->currentItem() == 0 || !wavFile->track.isOpen()) return;
+ // odebug << "Slider moved to " << index << "" << oendl;
+ paused = true;
+ stopped = true;
- sliderPos=index;
+ sliderPos=index;
- QString timeString;
- filePara.numberOfRecordedSeconds = (float)sliderPos / (float)filePara.sampleRate * (float)2;
- timeString.sprintf( "%.2f", filePara.numberOfRecordedSeconds);
- secCount = (int)filePara.numberOfRecordedSeconds;
- timeLabel->setText( timeString + tr(" seconds"));
+ QString timeString;
+ filePara.numberOfRecordedSeconds = (float)sliderPos / (float)filePara.sampleRate * (float)2;
+ timeString.sprintf( "%.2f", filePara.numberOfRecordedSeconds);
+ secCount = (int)filePara.numberOfRecordedSeconds;
+ timeLabel->setText( timeString + tr(" seconds"));
}
void QtRec::timeSliderPressed() {
- if( ListView1->currentItem() == 0) return;
- // odebug << "slider pressed" << oendl;
- paused = true;
- stopped = true;
+ if( ListView1->currentItem() == 0) return;
+ // odebug << "slider pressed" << oendl;
+ paused = true;
+ stopped = true;
}
void QtRec::timeSliderReleased() {
- if( ListView1->currentItem() == 0) return;
- sliderPos = timeSlider->value();
+ if( ListView1->currentItem() == 0) return;
+ sliderPos = timeSlider->value();
- // odebug << "slider released " << sliderPos << "" << oendl;
- stopped = false;
- int newPos = lseek( filePara.fd, sliderPos, SEEK_SET);
- total = newPos*4;
- filePara.numberOfRecordedSeconds = (float)sliderPos / (float)filePara.sampleRate * (float)2;
+ // odebug << "slider released " << sliderPos << "" << oendl;
+ stopped = false;
+ int newPos = lseek( filePara.fd, sliderPos, SEEK_SET);
+ total = newPos*4;
+ filePara.numberOfRecordedSeconds = (float)sliderPos / (float)filePara.sampleRate * (float)2;
- doPlay();
+ doPlay();
}
void QtRec::rewindPressed() {
- if( ListView1->currentItem() == 0) return;
- if( !wavFile->track.isOpen()) {
- if( !openPlayFile() )
- return;
- else
- if( !setupAudio( false))
- return;
- } else {
- killTimers();
- paused = true;
- stopped = true;
- rewindTimer->start( 50, false);
- }
+ if( ListView1->currentItem() == 0) return;
+ if( !wavFile->track.isOpen()) {
+ if( !openPlayFile() )
+ return;
+ else
+ if( !setupAudio( false))
+ return;
+ } else {
+ killTimers();
+ paused = true;
+ stopped = true;
+ rewindTimer->start( 50, false);
+ }
}
void QtRec::rewindTimerTimeout() {
- int sliderValue = timeSlider->value();
- sliderValue = sliderValue - ( filePara.numberSamples / 100);
- // if(toBeginningButton->isDown())
- timeSlider->setValue( sliderValue ) ;
- // odebug << "" << sliderValue << "" << oendl;
- QString timeString;
- filePara.numberOfRecordedSeconds = (float)sliderValue / (float)filePara.sampleRate * (float)2;
- timeString.sprintf( "%.2f", filePara.numberOfRecordedSeconds);
- timeLabel->setText( timeString+ tr(" seconds"));
+ int sliderValue = timeSlider->value();
+ sliderValue = sliderValue - ( filePara.numberSamples / 100);
+ // if(toBeginningButton->isDown())
+ timeSlider->setValue( sliderValue ) ;
+ // odebug << "" << sliderValue << "" << oendl;
+ QString timeString;
+ filePara.numberOfRecordedSeconds = (float)sliderValue / (float)filePara.sampleRate * (float)2;
+ timeString.sprintf( "%.2f", filePara.numberOfRecordedSeconds);
+ timeLabel->setText( timeString+ tr(" seconds"));
}
void QtRec::rewindReleased() {
- rewindTimer->stop();
- if( wavFile->track.isOpen()) {
- sliderPos=timeSlider->value();
- stopped = false;
- int newPos = lseek( filePara.fd, sliderPos, SEEK_SET);
- total = newPos * 4;
- // odebug << "rewind released " << total << "" << oendl;
- startTimer( 1000);
- doPlay();
- }
+ rewindTimer->stop();
+ if( wavFile->track.isOpen()) {
+ sliderPos=timeSlider->value();
+ stopped = false;
+ int newPos = lseek( filePara.fd, sliderPos, SEEK_SET);
+ total = newPos * 4;
+ // odebug << "rewind released " << total << "" << oendl;
+ startTimer( 1000);
+ doPlay();
+ }
}
void QtRec::FastforwardPressed() {
- if( ListView1->currentItem() == 0) return;
- if( !wavFile->track.isOpen())
- if( !openPlayFile() )
- return;
- else
- if( !setupAudio( false))
- return;
- killTimers();
+ if( ListView1->currentItem() == 0) return;
+ if( !wavFile->track.isOpen())
+ if( !openPlayFile() )
+ return;
+ else
+ if( !setupAudio( false))
+ return;
+ killTimers();
- paused = true;
- stopped = true;
- forwardTimer->start(50, false);
+ paused = true;
+ stopped = true;
+ forwardTimer->start(50, false);
}
void QtRec::forwardTimerTimeout() {
- int sliderValue = timeSlider->value();
- sliderValue = sliderValue + ( filePara.numberSamples / 100);
+ int sliderValue = timeSlider->value();
+ sliderValue = sliderValue + ( filePara.numberSamples / 100);
- // if(toEndButton->isDown())
- timeSlider->setValue( sliderValue);
+ // if(toEndButton->isDown())
+ timeSlider->setValue( sliderValue);
- QString timeString;
- filePara.numberOfRecordedSeconds = (float)sliderValue / (float)filePara.sampleRate * (float)2;
- timeString.sprintf( "%.2f", filePara.numberOfRecordedSeconds);
- timeLabel->setText( timeString+ tr(" seconds"));
+ QString timeString;
+ filePara.numberOfRecordedSeconds = (float)sliderValue / (float)filePara.sampleRate * (float)2;
+ timeString.sprintf( "%.2f", filePara.numberOfRecordedSeconds);
+ timeLabel->setText( timeString+ tr(" seconds"));
}
void QtRec::FastforwardReleased() {
- forwardTimer->stop();
- if( wavFile->track.isOpen()) {
- sliderPos=timeSlider->value();
- stopped = false;
- int newPos = lseek( filePara.fd, sliderPos, SEEK_SET);
- total = newPos * 4;
- filePara.numberOfRecordedSeconds = (float)sliderPos / (float)filePara.sampleRate * (float)2;
- startTimer( 1000);
- doPlay();
- }
+ forwardTimer->stop();
+ if( wavFile->track.isOpen()) {
+ sliderPos=timeSlider->value();
+ stopped = false;
+ int newPos = lseek( filePara.fd, sliderPos, SEEK_SET);
+ total = newPos * 4;
+ filePara.numberOfRecordedSeconds = (float)sliderPos / (float)filePara.sampleRate * (float)2;
+ startTimer( 1000);
+ doPlay();
+ }
}
QString QtRec::getStorage(const QString &fileName) {
- StorageInfo storageInfo;
- const QList<FileSystem> &fs = storageInfo.fileSystems();
- QListIterator<FileSystem> it ( fs );
- QString storage;
- for( ; it.current(); ++it ){
- const QString name = ( *it)->name();
- const QString path = ( *it)->path();
- const QString disk = ( *it)->disk();
- if( fileName.find( path,0,true) != -1)
- storage = name;
- // const QString options = (*it)->options();
- // if( name.find( tr("Internal"),0,true) == -1) {
- // storageComboBox->insertItem( name +" -> "+disk);
- // odebug << name << oendl;
- }
- return storage;
- // struct mntent *me;
- // // if(fileName == "/etc/mtab") {
- // FILE *mntfp = setmntent( fileName.latin1(), "r" );
- // if ( mntfp ) {
- // while ( (me = getmntent( mntfp )) != 0 ) {
- // QString filesystemType = me->mnt_type;
-
- // }
- // }
- // endmntent( mntfp );
+ StorageInfo storageInfo;
+ const QList<FileSystem> &fs = storageInfo.fileSystems();
+ QListIterator<FileSystem> it ( fs );
+ QString storage;
+ for( ; it.current(); ++it ){
+ const QString name = ( *it)->name();
+ const QString path = ( *it)->path();
+ const QString disk = ( *it)->disk();
+ if( fileName.find( path,0,true) != -1)
+ storage = name;
+ // const QString options = (*it)->options();
+ // if( name.find( tr("Internal"),0,true) == -1) {
+ // storageComboBox->insertItem( name +" -> "+disk);
+ // odebug << name << oendl;
+ }
+ return storage;
+ // struct mntent *me;
+ // // if(fileName == "/etc/mtab") {
+ // FILE *mntfp = setmntent( fileName.latin1(), "r" );
+ // if ( mntfp ) {
+ // while ( (me = getmntent( mntfp )) != 0 ) {
+ // QString filesystemType = me->mnt_type;
+
+ // }
+ // }
+ // endmntent( mntfp );
}
void QtRec::setRecordButton(bool b) {
- if(b) { //about to record or play
+ if(b) { //about to record or play
- Rec_PushButton->setDown( true);
- QPixmap image3( ( const char** ) image3_data );
- Stop_PushButton->setPixmap( image3 );
- if(Stop_PushButton->isDown())
- Stop_PushButton->setDown( true);
- playLabel2->setText( tr("Stop") );
+ Rec_PushButton->setDown( true);
+ QPixmap image3( ( const char** ) image3_data );
+ Stop_PushButton->setPixmap( image3 );
+ if(Stop_PushButton->isDown())
+ Stop_PushButton->setDown( true);
+ playLabel2->setText( tr("Stop") );
- } else { //about to stop
+ } else { //about to stop
- QPixmap image4( ( const char** ) image4_data );
- Stop_PushButton->setPixmap( image4);
- if(Stop_PushButton->isDown())
- Stop_PushButton->setDown( false);
- playLabel2->setText( tr("Play") );
- if(Rec_PushButton->isDown())
- Rec_PushButton->setDown( false);
- }
+ QPixmap image4( ( const char** ) image4_data );
+ Stop_PushButton->setPixmap( image4);
+ if(Stop_PushButton->isDown())
+ Stop_PushButton->setDown( false);
+ playLabel2->setText( tr("Play") );
+ if(Rec_PushButton->isDown())
+ Rec_PushButton->setDown( false);
+ }
}
void QtRec::fillDirectoryCombo() {
- if( directoryComboBox->count() > 0)
- directoryComboBox->clear();
- int index = 0;
- Config cfg("OpieRec");
- cfg.setGroup("Settings");
- QString dir = cfg.readEntry("directory", "/");
- StorageInfo storageInfo;
- const QList<FileSystem> &fs = storageInfo.fileSystems();
- QListIterator<FileSystem> it ( fs );
- QString storage;
- for( ; it.current(); ++it ){
- const QString name = ( *it)->name();
- const QString path = ( *it)->path();
- // directoryComboBox->insertItem(name+" "+path);
- directoryComboBox->insertItem(name);
- if( path == dir)
- directoryComboBox->setCurrentItem( index);
- index++;
- }
+ if( directoryComboBox->count() > 0)
+ directoryComboBox->clear();
+ int index = 0;
+ Config cfg("OpieRec");
+ cfg.setGroup("Settings");
+ QString dir = cfg.readEntry("directory", "/");
+ StorageInfo storageInfo;
+ const QList<FileSystem> &fs = storageInfo.fileSystems();
+ QListIterator<FileSystem> it ( fs );
+ QString storage;
+ for( ; it.current(); ++it ){
+ const QString name = ( *it)->name();
+ const QString path = ( *it)->path();
+ // directoryComboBox->insertItem(name+" "+path);
+ directoryComboBox->insertItem(name);
+ if( path == dir)
+ directoryComboBox->setCurrentItem( index);
+ index++;
+ }
}
void QtRec::errorStop() {
- stopped = true;
- wavFile->closeFile();
- killTimers();
+ stopped = true;
+ wavFile->closeFile();
+ killTimers();
}
void QtRec::doMute(bool b) {
- doVolMuting( b);
- doMicMuting( b);
+ doVolMuting( b);
+ doMicMuting( b);
}
void QtRec::slotAutoMute(bool b) {
- autoMute = b;
- Config cfg("OpieRec");
- cfg.setGroup("Settings");
- cfg.writeEntry("useAutoMute",b);
- doMute( b);
- outMuteCheckBox->setChecked( b);
- inMuteCheckBox->setChecked( b);
+ autoMute = b;
+ Config cfg("OpieRec");
+ cfg.setGroup("Settings");
+ cfg.writeEntry("useAutoMute",b);
+ doMute( b);
+ outMuteCheckBox->setChecked( b);
+ inMuteCheckBox->setChecked( b);
}
void QtRec::selectItemByName(const QString & name) {
- QListViewItemIterator it( ListView1 );
- for ( ; it.current(); ++it )
- if( name == it.current()->text(0))
- ListView1->setCurrentItem(it.current());
+ QListViewItemIterator it( ListView1 );
+ for ( ; it.current(); ++it )
+ if( name == it.current()->text(0))
+ ListView1->setCurrentItem(it.current());
}
// long findPeak(long input ) {
// // halfLife = time in seconds for output to decay to half value after an impulse
// static float output = 0.0;
// float halfLife = .0025;
// float vsf = .0025;
// float scalar = pow( 0.5, 1.0/(halfLife * filePara.sampleRate ));
// if( input < 0.0 )
// input = -input; // Absolute value.
@@ -2112,24 +2110,24 @@ void QtRec::selectItemByName(const QString & name) {
// //
// // When current gets close to 0.0, set current to 0.0 to prevent FP underflow
// // which can cause a severe performance degradation due to a flood
// // of interrupts.
// //
// if( output < vsf ) output = 0.0;
// }
// return (long) output;
// }
void QtRec::changeStereoCheck(bool b) {
- Config cfg("OpieRec");
- cfg.setGroup("Settings");
- int ch = 0;
- if ( !b) { ch = 1;}
- else { ch = 2;}
- cfg.writeEntry("stereo", b);
- filePara.channels = ch;
-
- cfg.write();
+ Config cfg("OpieRec");
+ cfg.setGroup("Settings");
+ int ch = 0;
+ if ( !b) { ch = 1;}
+ else { ch = 2;}
+ cfg.writeEntry("stereo", b);
+ filePara.channels = ch;
+
+ cfg.write();
}
diff --git a/noncore/multimedia/opierec/wavFile.cpp b/noncore/multimedia/opierec/wavFile.cpp
index 7e9b50f..fc0130c 100644
--- a/noncore/multimedia/opierec/wavFile.cpp
+++ b/noncore/multimedia/opierec/wavFile.cpp
@@ -18,267 +18,269 @@ using namespace Opie::Core;
#include <sys/vfs.h>
#include <fcntl.h>
#include <math.h>
#include <mntent.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
WavFile::WavFile( QObject * parent,const QString &fileName, bool makeNwFile, int sampleRate,
int channels, int resolution, int format )
: QObject( parent)
{
-//odebug << "new wave file" << oendl;
+//odebug << "new wave file" << oendl;
bool b = makeNwFile;
wavSampleRate=sampleRate;
wavFormat=format;
wavChannels=channels;
wavResolution=resolution;
useTmpFile=false;
if( b) {
newFile();
} else {
openFile(fileName);
}
}
bool WavFile::newFile() {
-// odebug << "Set up new file" << oendl;
+// odebug << "Set up new file" << oendl;
Config cfg("OpieRec");
cfg.setGroup("Settings");
currentFileName=cfg.readEntry("directory",QDir::homeDirPath());
QString date;
QDateTime dt = QDateTime::currentDateTime();
date = dt.toString();//TimeString::dateString( QDateTime::currentDateTime(),false,true);
date.replace(QRegExp("'"),"");
date.replace(QRegExp(" "),"_");
date.replace(QRegExp(":"),".");
date.replace(QRegExp(","),"");
QString currentFile=date;
if(currentFileName.right(1).find("/",0,true) == -1)
currentFileName += "/" + date;
else
currentFileName += date;
currentFileName+=".wav";
-// odebug << "set up file for recording: "+currentFileName << oendl;
+// odebug << "set up file for recording: "+currentFileName << oendl;
char pointer[] = "/tmp/opierec-XXXXXX";
int fd = 0;
if( currentFileName.find("/mnt",0,true) == -1
&& currentFileName.find("/tmp",0,true) == -1 ) {
// if destination file is most likely in flash (assuming jffs2)
// we have to write to a different filesystem first
-
+
useTmpFile = true;
if(( fd = mkstemp( pointer)) < 0 ) {
perror("mkstemp failed");
return false;
}
-
-// odebug << "Opening tmp file " << pointer << "" << oendl;
+
+// odebug << "Opening tmp file " << pointer << "" << oendl;
track.setName( pointer);
} else { //just use regular file.. no moving
-
+
useTmpFile = false;
track.setName( currentFileName);
}
if(!track.open( IO_ReadWrite | IO_Truncate)) {
QString errorMsg=(QString)strerror(errno);
- odebug << errorMsg << oendl;
+ odebug << errorMsg << oendl;
QMessageBox::message("Note", "Error opening file.\n" +errorMsg);
-
+
return false;
} else {
setWavHeader( track.handle() , &hdr);
}
return true;
}
WavFile::~WavFile() {
closeFile();
}
void WavFile::closeFile() {
- if(track.isOpen())
+ if(track.isOpen())
track.close();
}
int WavFile::openFile(const QString &currentFileName) {
-// odebug << "open play file "+currentFileName << oendl;
+// odebug << "open play file "+currentFileName << oendl;
closeFile();
-
+
track.setName(currentFileName);
if(!track.open(IO_ReadOnly)) {
QString errorMsg=(QString)strerror(errno);
- odebug << "<<<<<<<<<<< "+errorMsg+currentFileName << oendl;
+ odebug << "<<<<<<<<<<< "+errorMsg+currentFileName << oendl;
QMessageBox::message("Note", "Error opening file.\n" +errorMsg);
return -1;
} else {
parseWavHeader( track.handle());
}
return track.handle();
}
-
+
bool WavFile::setWavHeader(int fd, wavhdr *hdr) {
strncpy((*hdr).riffID, "RIFF", 4); // RIFF
strncpy((*hdr).wavID, "WAVE", 4); //WAVE
strncpy((*hdr).fmtID, "fmt ", 4); // fmt
(*hdr).fmtLen = 16; // format length = 16
if( wavFormat == WAVE_FORMAT_PCM) {
(*hdr).fmtTag = 1; // PCM
-// odebug << "set header WAVE_FORMAT_PCM" << oendl;
+// odebug << "set header WAVE_FORMAT_PCM" << oendl;
}
else {
(*hdr).fmtTag = WAVE_FORMAT_DVI_ADPCM; //intel ADPCM
- // odebug << "set header WAVE_FORMAT_DVI_ADPCM" << oendl;
+ // odebug << "set header WAVE_FORMAT_DVI_ADPCM" << oendl;
}
// (*hdr).nChannels = 1;//filePara.channels;// ? 2 : 1*/; // channels
(*hdr).nChannels = wavChannels;// ? 2 : 1*/; // channels
(*hdr).sampleRate = wavSampleRate; //samples per second
(*hdr).avgBytesPerSec = (wavSampleRate)*( wavChannels*(wavResolution/8)); // bytes per second
(*hdr).nBlockAlign = wavChannels*( wavResolution/8); //block align
(*hdr).bitsPerSample = wavResolution; //bits per sample 8, or 16
strncpy((*hdr).dataID, "data", 4);
write( fd,hdr, sizeof(*hdr));
- qDebug("writing header: bitrate%d, samplerate %d, channels %d",
- wavResolution, wavSampleRate, wavChannels);
+ odebug << "writing header: bitrate " << wavResolution
+ << ", samplerate " << wavSampleRate
+ << ", channels " << wavChannels << oendl;
return true;
}
bool WavFile::adjustHeaders(int fd, int total) {
lseek(fd, 4, SEEK_SET);
int i = total + 36;
write( fd, &i, sizeof(i));
lseek( fd, 40, SEEK_SET);
write( fd, &total, sizeof(total));
- odebug << "adjusting header " << total << "" << oendl;
+ odebug << "adjusting header " << total << "" << oendl;
return true;
}
int WavFile::parseWavHeader(int fd) {
- odebug << "Parsing wav header" << oendl;
+ odebug << "Parsing wav header" << oendl;
char string[4];
int found;
short fmt;
unsigned short ch, bitrate;
unsigned long samplerrate, longdata;
if (read(fd, string, 4) < 4) {
- odebug << " Could not read from sound file.\n" << oendl;
+ odebug << " Could not read from sound file.\n" << oendl;
return -1;
}
if (strncmp(string, "RIFF", 4)) {
- odebug << " not a valid WAV file.\n" << oendl;
+ odebug << " not a valid WAV file.\n" << oendl;
return -1;
}
lseek(fd, 4, SEEK_CUR);
if (read(fd, string, 4) < 4) {
- odebug << "Could not read from sound file.\n" << oendl;
+ odebug << "Could not read from sound file.\n" << oendl;
return -1;
}
if (strncmp(string, "WAVE", 4)) {
- odebug << "not a valid WAV file.\n" << oendl;
+ odebug << "not a valid WAV file.\n" << oendl;
return -1;
}
found = 0;
while (!found) {
if (read(fd, string, 4) < 4) {
- odebug << "Could not read from sound file.\n" << oendl;
+ odebug << "Could not read from sound file.\n" << oendl;
return -1;
}
if (strncmp(string, "fmt ", 4)) {
if (read(fd, &longdata, 4) < 4) {
- odebug << "Could not read from sound file.\n" << oendl;
+ odebug << "Could not read from sound file.\n" << oendl;
return -1;
}
lseek(fd, longdata, SEEK_CUR);
} else {
lseek(fd, 4, SEEK_CUR);
if (read(fd, &fmt, 2) < 2) {
- odebug << "Could not read format chunk.\n" << oendl;
+ odebug << "Could not read format chunk.\n" << oendl;
return -1;
}
if (fmt != WAVE_FORMAT_PCM && fmt != WAVE_FORMAT_DVI_ADPCM) {
- qDebug("Wave file contains unknown format."
- " Unable to continue.\n");
+ odebug << "Wave file contains unknown format. Unable to continue.\n" << oendl;
return -1;
}
wavFormat = fmt;
// compressionFormat=fmt;
- odebug << "compressionFormat is " << fmt << "" << oendl;
+ odebug << "compressionFormat is " << fmt << "" << oendl;
if (read(fd, &ch, 2) < 2) {
- odebug << "Could not read format chunk.\n" << oendl;
+ odebug << "Could not read format chunk.\n" << oendl;
return -1;
} else {
wavChannels = ch;
- odebug << "File has " << ch << " channels" << oendl;
+ odebug << "File has " << ch << " channels" << oendl;
}
if (read(fd, &samplerrate, 4) < 4) {
- odebug << "Could not read from format chunk.\n" << oendl;
+ odebug << "Could not read from format chunk.\n" << oendl;
return -1;
} else {
wavSampleRate = samplerrate;
// sampleRate = samplerrate;
- odebug << "File has samplerate of " << (int) samplerrate << "" << oendl;
+ odebug << "File has samplerate of " << (int) samplerrate << "" << oendl;
}
lseek(fd, 6, SEEK_CUR);
if (read(fd, &bitrate, 2) < 2) {
- odebug << "Could not read format chunk.\n" << oendl;
+ odebug << "Could not read format chunk.\n" << oendl;
return -1;
} else {
wavResolution=bitrate;
// resolution = bitrate;
- odebug << "File has bitrate of " << bitrate << "" << oendl;
+ odebug << "File has bitrate of " << bitrate << "" << oendl;
}
found++;
}
}
found = 0;
while (!found) {
if (read(fd, string, 4) < 4) {
- odebug << "Could not read from sound file.\n" << oendl;
+ odebug << "Could not read from sound file.\n" << oendl;
return -1;
}
if (strncmp(string, "data", 4)) {
if (read(fd, &longdata, 4)<4) {
- odebug << "Could not read from sound file.\n" << oendl;
+ odebug << "Could not read from sound file.\n" << oendl;
return -1;
}
lseek(fd, longdata, SEEK_CUR);
} else {
if (read(fd, &longdata, 4) < 4) {
- odebug << "Could not read from sound file.\n" << oendl;
+ odebug << "Could not read from sound file.\n" << oendl;
return -1;
} else {
wavNumberSamples = longdata;
- qDebug("file has length of %d \nlasting %d seconds", (int)longdata,
- (int)(( longdata / wavSampleRate) / wavChannels) / ( wavChannels*( wavResolution/8)) );
+ odebug << "file hase length of " << (int)longdata << "\n"
+ << "lasting "
+ << (int)(( longdata / wavSampleRate) / wavChannels) / ( wavChannels*( wavResolution/8))
+ << " seconds" << oendl;
// wavSeconds = (( longdata / wavSampleRate) / wavChannels) / ( wavChannels*( wavResolution/8));
-
+
return longdata;
}
}
}
lseek(fd, 0, SEEK_SET);
return 0;
}
QString WavFile::trackName() {
return track.name();