29 files changed, 508 insertions, 172 deletions
diff --git a/core/multimedia/opieplayer/Makefile.in b/core/multimedia/opieplayer/Makefile.in index 1b0307a..8d33fb4 100644 --- a/core/multimedia/opieplayer/Makefile.in +++ b/core/multimedia/opieplayer/Makefile.in @@ -138,2 +138,4 @@ main.o: main.cpp \ $(OPIEDIR)/include/qpe/qpeapplication.h \ + $(OPIEDIR)/include/qpedecoration_qws.h \ + $(OPIEDIR)/include/timestring.h \ mediaplayerstate.h \ @@ -148,3 +150,3 @@ main.o: main.cpp \ $(OPIEDIR)/include/qpe/quuid.h \ - $(OPIEDIR)/include/qpe/mediaplayerplugininterface.h + mediaplayerplugininterface.h @@ -152,3 +154,4 @@ loopcontrol.o: loopcontrol.cpp \ $(OPIEDIR)/include/qpe/qpeapplication.h \ - $(OPIEDIR)/include/qpe/qcopenvelope_qws.h \ + $(OPIEDIR)/include/qpedecoration_qws.h \ + $(OPIEDIR)/include/timestring.h \ loopcontrol.h \ @@ -168,2 +171,4 @@ mediaplayerstate.o: mediaplayerstate.cpp \ $(OPIEDIR)/include/qpe/qpeapplication.h \ + $(OPIEDIR)/include/qpedecoration_qws.h \ + $(OPIEDIR)/include/timestring.h \ $(OPIEDIR)/include/qpe/qlibrary.h \ @@ -171,4 +176,4 @@ mediaplayerstate.o: mediaplayerstate.cpp \ $(OPIEDIR)/include/qpe/quuid.h \ - $(OPIEDIR)/include/qpe/mediaplayerplugininterface.h \ $(OPIEDIR)/include/qpe/config.h \ + mediaplayerplugininterface.h \ mediaplayerstate.h \ @@ -180,3 +185,3 @@ videowidget.o: videowidget.cpp \ $(OPIEDIR)/include/qpe/resource.h \ - $(OPIEDIR)/include/qpe/mediaplayerplugininterface.h \ + mediaplayerplugininterface.h \ $(OPIEDIR)/include/qpe/qcom.h \ @@ -195,2 +200,7 @@ playlistwidget.o: playlistwidget.cpp \ $(OPIEDIR)/include/qpe/fileselector.h \ + $(OPIEDIR)/include/filemanager.h \ + $(OPIEDIR)/include/applnk.h \ + $(OPIEDIR)/include/qpe/qpeapplication.h \ + $(OPIEDIR)/include/qpedecoration_qws.h \ + $(OPIEDIR)/include/timestring.h \ $(OPIEDIR)/include/qpe/applnk.h \ @@ -205,2 +215,4 @@ mediaplayer.o: mediaplayer.cpp \ $(OPIEDIR)/include/qpe/qpeapplication.h \ + $(OPIEDIR)/include/qpedecoration_qws.h \ + $(OPIEDIR)/include/timestring.h \ $(OPIEDIR)/include/qpe/qlibrary.h \ @@ -211,3 +223,3 @@ mediaplayer.o: mediaplayer.cpp \ mediaplayer.h \ - $(OPIEDIR)/include/qpe/mediaplayerplugininterface.h \ + mediaplayerplugininterface.h \ playlistwidget.h \ @@ -221,5 +233,6 @@ audiodevice.o: audiodevice.cpp \ $(OPIEDIR)/include/qpe/qpeapplication.h \ + $(OPIEDIR)/include/qpedecoration_qws.h \ + $(OPIEDIR)/include/timestring.h \ $(OPIEDIR)/include/qpe/config.h \ - audiodevice.h \ - $(OPIEDIR)/include/qpe/qcopenvelope_qws.h + audiodevice.h @@ -250,3 +263,3 @@ moc_mediaplayer.o: moc_mediaplayer.cpp \ $(OPIEDIR)/include/qpe/quuid.h \ - $(OPIEDIR)/include/qpe/mediaplayerplugininterface.h + mediaplayerplugininterface.h diff --git a/core/multimedia/opieplayer/audiodevice.cpp b/core/multimedia/opieplayer/audiodevice.cpp index 8861015..59136af 100644 --- a/core/multimedia/opieplayer/audiodevice.cpp +++ b/core/multimedia/opieplayer/audiodevice.cpp @@ -19,3 +19,7 @@ **********************************************************************/ +// L.J.Potter added better error code Fri 02-15-2002 14:37:47 + + #include <stdlib.h> +#include <stdio.h> #include <qpe/qpeapplication.h> @@ -114,6 +118,7 @@ void AudioDevice::getVolume( unsigned int& leftVolume, unsigned int& rightVolume if ( mixerHandle >= 0 ) { - ioctl( mixerHandle, MIXER_READ(0), &volume ); + if(ioctl( mixerHandle, MIXER_READ(0), &volume )==-1) + perror("ioctl(\"MIXER_READ\")"); close( mixerHandle ); } else - qDebug( "get volume of audio device failed" ); + perror("open(\"/dev/mixer\")"); leftVolume = ((volume & 0x00FF) << 16) / 101; @@ -159,6 +164,8 @@ void AudioDevice::setVolume( unsigned int leftVolume, unsigned int rightVolume, if ( ( mixerHandle = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { - ioctl( mixerHandle, MIXER_WRITE(0), &volume ); + if(ioctl( mixerHandle, MIXER_WRITE(0), &volume ) ==-1) + perror("ioctl(\"MIXER_WRITE\")"); close( mixerHandle ); } else - qDebug( "set volume of audio device failed" ); + perror("open(\"/dev/mixer\")"); + # else @@ -187,41 +194,13 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) { d->bytesPerSample = bps; + qDebug("%d",bps); + int format=0; + if( bps == 8) format = AFMT_U8; + else if( bps <= 0) format = AFMT_S16_LE; + else format = AFMT_S16_LE; + qDebug("AD- freq %d, channels %d, b/sample %d, bitrate %d",f,chs,bps,format); connect( qApp, SIGNAL( volumeChanged(bool) ), this, SLOT( volumeChanged(bool) ) ); -#ifdef Q_OS_WIN32 - UINT result; - WAVEFORMATEX formatData; - formatData.cbSize = sizeof(WAVEFORMATEX); -/* - // Other possible formats windows supports - formatData.wFormatTag = WAVE_FORMAT_MPEG; - formatData.wFormatTag = WAVE_FORMAT_MPEGLAYER3; - formatData.wFormatTag = WAVE_FORMAT_ADPCM; -*/ - formatData.wFormatTag = WAVE_FORMAT_PCM; - formatData.nAvgBytesPerSec = bps * chs * f; - formatData.nBlockAlign = bps * chs; - formatData.nChannels = chs; - formatData.nSamplesPerSec = f; - formatData.wBitsPerSample = bps * 8; - // Open a waveform device for output - if (result = waveOutOpen((LPHWAVEOUT)&d->handle, WAVE_MAPPER, &formatData, 0L, 0L, CALLBACK_NULL)) { - QString errorMsg = "error opening audio device.\nReason: %i - "; - switch (result) { - case MMSYSERR_ALLOCATED: errorMsg += "Specified resource is already allocated."; break; - case MMSYSERR_BADDEVICEID: errorMsg += "Specified device identifier is out of range."; break; - case MMSYSERR_NODRIVER: errorMsg += "No device driver is present."; break; - case MMSYSERR_NOMEM: errorMsg += "Unable to allocate or lock memory."; break; - case WAVERR_BADFORMAT: errorMsg += "Attempted to open with an unsupported waveform-audio format."; break; - case WAVERR_SYNC: errorMsg += "The device is synchronous but waveOutOpen was called without using the WAVE_ALLOWSYNC flag."; break; - default: errorMsg += "Undefined error"; break; - } - qDebug( errorMsg, result ); - } - - d->bufferSize = sound_fragment_bytes; -#else int fragments = 0x10000 * 8 + sound_fragment_shift; - int format = AFMT_S16_LE; int capabilities = 0; @@ -232,3 +211,3 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) { if ( ( d->handle = ::open( "/dev/dsp", O_WRONLY ) ) < 0 ) { - qDebug( "error opening audio device /dev/dsp, sending data to /dev/null instead" ); + perror("open(\"/dev/dsp\") sending to /dev/null instead"); d->handle = ::open( "/dev/null", O_WRONLY ); @@ -242,9 +221,16 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) { - ioctl( d->handle, SNDCTL_DSP_GETCAPS, &capabilities ); - ioctl( d->handle, SNDCTL_DSP_SETFRAGMENT, &fragments ); - ioctl( d->handle, SNDCTL_DSP_SETFMT, &format ); - ioctl( d->handle, SNDCTL_DSP_SPEED, &d->frequency ); + if(ioctl( d->handle, SNDCTL_DSP_GETCAPS, &capabilities )==-1) + perror("ioctl(\"SNDCTL_DSP_GETCAPS\")"); + if(ioctl( d->handle, SNDCTL_DSP_SETFRAGMENT, &fragments )==-1) + perror("ioctl(\"SNDCTL_DSP_SETFRAGMENT\")"); + if(ioctl( d->handle, SNDCTL_DSP_SETFMT, & format )==-1) + perror("ioctl(\"SNDCTL_DSP_SETFMT\")"); + qDebug("freq %d", d->frequency); + if(ioctl( d->handle, SNDCTL_DSP_SPEED, &d->frequency )==-1) + perror("ioctl(\"SNDCTL_DSP_SPEED\")"); + qDebug("channels %d",d->channels); if ( ioctl( d->handle, SNDCTL_DSP_CHANNELS, &d->channels ) == -1 ) { d->channels = ( d->channels == 1 ) ? 2 : d->channels; - ioctl( d->handle, SNDCTL_DSP_CHANNELS, &d->channels ); + if(ioctl( d->handle, SNDCTL_DSP_CHANNELS, &d->channels )==-1) + perror("ioctl(\"SNDCTL_DSP_CHANNELS\")"); } @@ -262,3 +248,2 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) { //if ( capabilities & DSP_CAP_MMAP ) qDebug( "Sound card can mmap" ); -#endif } diff --git a/core/multimedia/opieplayer/audiodevice.h b/core/multimedia/opieplayer/audiodevice.h index 928f134..dcd79fe 100644 --- a/core/multimedia/opieplayer/audiodevice.h +++ b/core/multimedia/opieplayer/audiodevice.h @@ -19,2 +19,5 @@ **********************************************************************/ +// L.J.Potter added changes Fri 02-15-2002 + + #ifndef AUDIODEVICE_H @@ -24,2 +27,3 @@ #include <qobject.h> +#include <sys/soundcard.h> @@ -32,3 +36,3 @@ class AudioDevice : public QObject { public: - AudioDevice( unsigned int freq = 44000, unsigned int channels = 2, unsigned int bytesPerSample = 2 ); + AudioDevice( unsigned int freq = 44000, unsigned int channels = 2, unsigned int bytesPerSample = AFMT_S16_LE ); ~AudioDevice(); diff --git a/core/multimedia/opieplayer/audiowidget.cpp b/core/multimedia/opieplayer/audiowidget.cpp index 243c58c..0d88591 100644 --- a/core/multimedia/opieplayer/audiowidget.cpp +++ b/core/multimedia/opieplayer/audiowidget.cpp @@ -63,3 +63,3 @@ AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) : { - setCaption( tr("MediaPlayer") ); + setCaption( tr("OpiePlayer") ); setBackgroundPixmap( Resource::loadPixmap( "mpegplayer/metalFinish" ) ); diff --git a/core/multimedia/opieplayer/libflash/libflashplugin.h b/core/multimedia/opieplayer/libflash/libflashplugin.h index 532bca2..a2f1c42 100644 --- a/core/multimedia/opieplayer/libflash/libflashplugin.h +++ b/core/multimedia/opieplayer/libflash/libflashplugin.h @@ -26,3 +26,4 @@ #include "flash.h" -#include "mediaplayerplugininterface.h" +//#include <qpe/mediaplayerplugininterface.h> +#include "../mediaplayerplugininterface.h" @@ -50,2 +51,3 @@ public: int audioSamples( int /*stream*/ ) { return 1000000; } +int audioBitsPerSample(int) { return 0;} bool audioSetSample( long sample, int stream ); diff --git a/core/multimedia/opieplayer/libflash/libflashpluginimpl.h b/core/multimedia/opieplayer/libflash/libflashpluginimpl.h index b5cc869..cb8d959 100644 --- a/core/multimedia/opieplayer/libflash/libflashpluginimpl.h +++ b/core/multimedia/opieplayer/libflash/libflashpluginimpl.h @@ -23,2 +23,3 @@ +//#include <qpe/mediaplayerplugininterface.h> #include "../mediaplayerplugininterface.h" diff --git a/core/multimedia/opieplayer/libflash/swf.h b/core/multimedia/opieplayer/libflash/swf.h index 5f5e4f7..48986cc 100644 --- a/core/multimedia/opieplayer/libflash/swf.h +++ b/core/multimedia/opieplayer/libflash/swf.h @@ -210,3 +210,3 @@ extern "C" { //#include "zlib.h" -#include "../src/3rdparty/zlib/zlib.h" +#include "/opt/qt-2.3.2-embedded/src/3rdparty/zlib/zlib.h" }; diff --git a/core/multimedia/opieplayer/libmad/Makefile.in b/core/multimedia/opieplayer/libmad/Makefile.in index e9f74e7..552043c 100644 --- a/core/multimedia/opieplayer/libmad/Makefile.in +++ b/core/multimedia/opieplayer/libmad/Makefile.in @@ -216,2 +216,3 @@ libmadplugin.o: libmadplugin.cpp \ libmadplugin.h \ + ../mediaplayerplugininterface.h \ mad.h @@ -220,2 +221,3 @@ libmadpluginimpl.o: libmadpluginimpl.cpp \ libmadplugin.h \ + ../mediaplayerplugininterface.h \ libmadpluginimpl.h diff --git a/core/multimedia/opieplayer/libmad/libmad.pro b/core/multimedia/opieplayer/libmad/libmad.pro index 6c40a15..b54ca6b 100644 --- a/core/multimedia/opieplayer/libmad/libmad.pro +++ b/core/multimedia/opieplayer/libmad/libmad.pro @@ -10,2 +10,4 @@ INCLUDEPATH += $(OPIEDIR)/include .. DEPENDPATH += ../$(OPIEDIR)/include .. +TMAKE_CFLAGS += -DFPM_64BIT +TMAKE_CXXFLAGS += -DFPM_64BIT LIBS += -lqpe -lm diff --git a/core/multimedia/opieplayer/libmad/libmadplugin.h b/core/multimedia/opieplayer/libmad/libmadplugin.h index 88647ae..ff84c27 100644 --- a/core/multimedia/opieplayer/libmad/libmadplugin.h +++ b/core/multimedia/opieplayer/libmad/libmadplugin.h @@ -24,3 +24,7 @@ #include <qstring.h> -#include "mediaplayerplugininterface.h" +//#include <qpe/mediaplayerplugininterface.h> +#include "../mediaplayerplugininterface.h" + + +// #define OLD_MEDIAPLAYER_API @@ -52,8 +56,12 @@ public: bool audioSetSample( long sample, int stream ); + int audioBitsPerSample(int) {return 0;} long audioGetSample( int stream ); -// bool audioReadMonoSamples( short *output, long samples, long& samplesRead, int stream ); -// bool audioReadStereoSamples( short *output, long samples, long& samplesRead, int stream ); +#ifdef OLD_MEDIAPLAYER_API + bool audioReadMonoSamples( short *output, long samples, long& samplesRead, int stream ); + bool audioReadStereoSamples( short *output, long samples, long& samplesRead, int stream ); + bool audioReadSamples( short *output, int channel, long samples, int stream ); + bool audioReReadSamples( short *output, int channel, long samples, int stream ); +#else bool audioReadSamples( short *output, int channels, long samples, long& samplesRead, int stream ); -// bool audioReadSamples( short *output, int channel, long samples, int stream ); -// bool audioReReadSamples( short *output, int channel, long samples, int stream ); +#endif @@ -93,2 +101,4 @@ public: + long getPlayTime() { return -1; } + private: diff --git a/core/multimedia/opieplayer/libmad/libmadpluginimpl.h b/core/multimedia/opieplayer/libmad/libmadpluginimpl.h index a26b421..8ad4956 100644 --- a/core/multimedia/opieplayer/libmad/libmadpluginimpl.h +++ b/core/multimedia/opieplayer/libmad/libmadpluginimpl.h @@ -23,2 +23,3 @@ +//#include <qpe/mediaplayerplugininterface.h> #include "../mediaplayerplugininterface.h" @@ -44,3 +45,2 @@ public: virtual MediaPlayerEncoder *encoder(); - private: diff --git a/core/multimedia/opieplayer/libmad/version.c b/core/multimedia/opieplayer/libmad/version.c index 413d54b..1baba26 100644 --- a/core/multimedia/opieplayer/libmad/version.c +++ b/core/multimedia/opieplayer/libmad/version.c diff --git a/core/multimedia/opieplayer/libmpeg3/Makefile.in b/core/multimedia/opieplayer/libmpeg3/Makefile.in index 154f85d..d255e4f 100644 --- a/core/multimedia/opieplayer/libmpeg3/Makefile.in +++ b/core/multimedia/opieplayer/libmpeg3/Makefile.in @@ -178,3 +178,4 @@ libmpeg3plugin.o: libmpeg3plugin.cpp \ video/mpeg3video.h \ - mpeg3protos.h + mpeg3protos.h \ + ../mediaplayerplugininterface.h @@ -194,2 +195,3 @@ libmpeg3pluginimpl.o: libmpeg3pluginimpl.cpp \ mpeg3protos.h \ + ../mediaplayerplugininterface.h \ libmpeg3pluginimpl.h @@ -416,3 +418,3 @@ audio/layer2.o: audio/layer2.c \ audio/layer3.o: audio/layer3.c \ - audio/huffman.h \ + huffman.h \ audio/mpeg3audio.h \ diff --git a/core/multimedia/opieplayer/libmpeg3/libmpeg3plugin.h b/core/multimedia/opieplayer/libmpeg3/libmpeg3plugin.h index 0a06264..54f259b 100644 --- a/core/multimedia/opieplayer/libmpeg3/libmpeg3plugin.h +++ b/core/multimedia/opieplayer/libmpeg3/libmpeg3plugin.h @@ -27,3 +27,7 @@ #include "mpeg3protos.h" -#include "mediaplayerplugininterface.h" +//#include <qpe/mediaplayerplugininterface.h> +#include "../mediaplayerplugininterface.h" + + +// #define OLD_MEDIAPLAYER_API @@ -44,3 +48,3 @@ public: bool isOpen() { return file != NULL; } - const QString &fileInfo() { return strInfo = QString( "" ); } + const QString &fileInfo() { return strInfo = ""; } @@ -50,2 +54,3 @@ public: int audioFrequency( int stream ) { return file ? mpeg3_sample_rate( file, stream ) : 0; } + int audioBitsPerSample(int) { return 0;} int audioSamples( int stream ) { return file ? mpeg3_audio_samples( file, stream ) : 0; } @@ -53,7 +58,10 @@ public: long audioGetSample( int stream ) { return file ? mpeg3_get_sample( file, stream ) : 0; } -// bool audioReadMonoSamples( short *output, long samples, long& samplesRead, int stream ); -// bool audioReadStereoSamples( short *output, long samples, long& samplesRead, int stream ); +#ifdef OLD_MEDIAPLAYER_API + bool audioReadMonoSamples( short *output, long samples, long& samplesRead, int stream ); + bool audioReadStereoSamples( short *output, long samples, long& samplesRead, int stream ); + bool audioReadSamples( short *output, int channel, long samples, int stream ); + bool audioReReadSamples( short *output, int channel, long samples, int stream ); +#else bool audioReadSamples( short *output, int channels, long samples, long& samplesRead, int stream ); -// bool audioReadSamples( short *output, int channel, long samples, int stream ); -// bool audioReReadSamples( short *output, int channel, long samples, int stream ); +#endif @@ -104,2 +112,4 @@ public: + long getPlayTime() { return -1; } + private: diff --git a/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.h b/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.h index 29ec6ba..89abf97 100644 --- a/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.h +++ b/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.h @@ -23,2 +23,3 @@ +//#include <qpe/mediaplayerplugininterface.h> #include "../mediaplayerplugininterface.h" diff --git a/core/multimedia/opieplayer/loopcontrol.cpp b/core/multimedia/opieplayer/loopcontrol.cpp index 6dfd057..859a67a 100644 --- a/core/multimedia/opieplayer/loopcontrol.cpp +++ b/core/multimedia/opieplayer/loopcontrol.cpp @@ -19,3 +19,6 @@ **********************************************************************/ +// L.J.Potter added changes Fri 02-15-2002 + #include <qpe/qpeapplication.h> + #ifdef Q_WS_QWS @@ -234,9 +237,10 @@ void LoopControl::startAudio() { - if ( ( sampleWaitTime > 2000 ) && ( sampleWaitTime < 20000 ) ) { - usleep( (long)((double)sampleWaitTime * 1000000.0 / freq) ); - } else if ( sampleWaitTime <= -5000 ) { - qDebug("need to catch up by: %li (%i,%li)", -sampleWaitTime, currentSample, sampleWeShouldBeAt ); - //mediaPlayerState->curDecoder()->audioSetSample( sampleWeShouldBeAt, stream ); - currentSample = sampleWeShouldBeAt; - } +// if ( ( sampleWaitTime > 2000 ) && ( sampleWaitTime < 5000 ) ) { +// usleep( (long)((double)sampleWaitTime * 1000000.0 / freq) ); +// } +// else if ( sampleWaitTime <= -5000 ) { +// qDebug("need to catch up by: %li (%i,%li)", -sampleWaitTime, currentSample, sampleWeShouldBeAt ); +// //mediaPlayerState->curDecoder()->audioSetSample( sampleWeShouldBeAt, stream ); +// currentSample = sampleWeShouldBeAt; +// } @@ -375,3 +379,3 @@ bool LoopControl::init( const QString& filename ) { channels = mediaPlayerState->curDecoder()->audioChannels( astream ); - DecodeLoopDebug(( "channels = %d\n", channels )); + qDebug( "LC- channels = %d", channels ); @@ -380,3 +384,3 @@ bool LoopControl::init( const QString& filename ) { - total_audio_samples += 1000; +// total_audio_samples += 1000; @@ -385,3 +389,3 @@ bool LoopControl::init( const QString& filename ) { freq = mediaPlayerState->curDecoder()->audioFrequency( astream ); - DecodeLoopDebug(( "frequency = %d\n", freq )); + qDebug( "LC- frequency = %d", freq ); @@ -389,5 +393,5 @@ bool LoopControl::init( const QString& filename ) { - static const int bytes_per_sample = 2; //16 bit + int bits_per_sample = mediaPlayerState->curDecoder()->audioBitsPerSample( astream); - audioDevice = new AudioDevice( freq, channels, bytes_per_sample ); + audioDevice = new AudioDevice( freq, channels, bits_per_sample); audioBuffer = new char[ audioDevice->bufferSize() ]; diff --git a/core/multimedia/opieplayer/loopcontrol.h b/core/multimedia/opieplayer/loopcontrol.h index 967ee25..fc7d316 100644 --- a/core/multimedia/opieplayer/loopcontrol.h +++ b/core/multimedia/opieplayer/loopcontrol.h @@ -19,2 +19,4 @@ **********************************************************************/ +// L.J.Potter added changes Fri 02-15-2002 + #ifndef MPEGVIEW_H diff --git a/core/multimedia/opieplayer/loopcontrol_threaded.cpp b/core/multimedia/opieplayer/loopcontrol_threaded.cpp index 2ec4a48..2e49bb7 100644 --- a/core/multimedia/opieplayer/loopcontrol_threaded.cpp +++ b/core/multimedia/opieplayer/loopcontrol_threaded.cpp @@ -28,2 +28,3 @@ #endif +#include "mediaplayerplugininterface.h" #include <stdio.h> @@ -38,3 +39,2 @@ #include "audiowidget.h" -#include "mediaplayerplugininterface.h" #include "mediaplayerstate.h" diff --git a/core/multimedia/opieplayer/main.cpp b/core/multimedia/opieplayer/main.cpp index 5246e40..9f7ef73 100644 --- a/core/multimedia/opieplayer/main.cpp +++ b/core/multimedia/opieplayer/main.cpp @@ -50,3 +50,3 @@ int main(int argc, char **argv) { - pl.setCaption( MediaPlayer::tr("Media Player") ); + pl.setCaption( MediaPlayer::tr("Opie Player") ); a.showMainDocumentWidget(&pl); diff --git a/core/multimedia/opieplayer/mediaplayerplugininterface.h b/core/multimedia/opieplayer/mediaplayerplugininterface.h index 24d5a80..339b2e4 100644 --- a/core/multimedia/opieplayer/mediaplayerplugininterface.h +++ b/core/multimedia/opieplayer/mediaplayerplugininterface.h @@ -63,8 +63,3 @@ public: virtual long audioGetSample( int stream ) = 0; -// virtual bool audioReadMonoSamples( short *samples, long samples, long& samplesRead, int stream ) = 0; -// virtual bool audioReadStereoSamples( short *samples, long samples, long& samplesRead, int stream ) = 0; virtual bool audioReadSamples( short *samples, int channels, long samples, long& samplesRead, int stream ) = 0; - // Libmpeg3 functions, perhaps good for reading an audio file with 5 channels or something! -// virtual bool audioReadSamples( short *samples, int channel, long samples, int stream ) = 0; -// virtual bool audioReReadSamples( short *samples, int channel, long samples, int stream ) = 0; @@ -98,2 +93,5 @@ public: + // File Properies + virtual long getPlayTime() { return -1; } + virtual int audioBitsPerSample( int stream ) = 0; }; diff --git a/core/multimedia/opieplayer/mediaplayerstate.cpp b/core/multimedia/opieplayer/mediaplayerstate.cpp index 9b9d133..2a6bca3 100644 --- a/core/multimedia/opieplayer/mediaplayerstate.cpp +++ b/core/multimedia/opieplayer/mediaplayerstate.cpp @@ -28,2 +28,4 @@ + + #ifdef QT_NO_COMPONENT @@ -116,2 +118,6 @@ MediaPlayerDecoder *MediaPlayerState::libMpeg3Decoder() { +// ### hack to get true sample count +// MediaPlayerDecoder *MediaPlayerState::libWavDecoder() { +// return libwavdecoder; +// } diff --git a/core/multimedia/opieplayer/mediaplayerstate.h b/core/multimedia/opieplayer/mediaplayerstate.h index 5d95b92..1a23742 100644 --- a/core/multimedia/opieplayer/mediaplayerstate.h +++ b/core/multimedia/opieplayer/mediaplayerstate.h @@ -108,2 +108,3 @@ private: MediaPlayerDecoder *libmpeg3decoder; +// MediaPlayerDecoder *libwavdecoder; diff --git a/core/multimedia/opieplayer/playlistselection.cpp b/core/multimedia/opieplayer/playlistselection.cpp index fbfb946..f17ab6f 100644 --- a/core/multimedia/opieplayer/playlistselection.cpp +++ b/core/multimedia/opieplayer/playlistselection.cpp diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp index 969fc4b..4e1543e 100644 --- a/core/multimedia/opieplayer/playlistwidget.cpp +++ b/core/multimedia/opieplayer/playlistwidget.cpp @@ -22,2 +22,4 @@ #include <qpe/fileselector.h> +#include <qpe/qpeapplication.h> + #include <qpe/applnk.h> @@ -36,2 +38,6 @@ #include <qtoolbutton.h> +#include <qtabwidget.h> +#include <qlistview.h> +#include <qpoint.h> +#include <qtimer.h> @@ -43,2 +49,5 @@ +#define BUTTONS_ON_TOOLBAR +#define SIDE_BUTTONS +#define CAN_SAVE_LOAD_PLAYLISTS @@ -46,11 +55,8 @@ extern MediaPlayerState *mediaPlayerState; +// class myFileSelector { +// }; class PlayListWidgetPrivate { public: - QToolButton *tbPlay; - QToolButton *tbFull; - QToolButton *tbLoop; - QToolButton *tbScale; - QToolButton *tbShuffle; - + QToolButton *tbPlay, *tbFull, *tbLoop, *tbScale, *tbShuffle, *tbAddToList, *tbRemoveFromList, *tbMoveUp, *tbMoveDown, *tbRemove; QFrame *playListFrame; @@ -94,2 +100,4 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) d->current = NULL; + menuTimer = new QTimer( this ,"menu timer"), + connect( menuTimer, SIGNAL( timeout() ), SLOT( addSelected() ) ); @@ -97,3 +105,3 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) - setCaption( tr("MediaPlayer") ); + setCaption( tr("OpiePlayer") ); setIcon( Resource::loadPixmap( "MPEGPlayer" ) ); @@ -112,31 +120,60 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) bar->setLabel( tr( "Play Operations" ) ); -#ifdef BUTTONS_ON_TOOLBAR - d->tbPlay = new ToolButton( bar, tr( "Play" ), "mpegplayer/play", mediaPlayerState, SLOT(setPlaying(bool)), TRUE ); - d->tbShuffle = new ToolButton( bar, tr( "Randomize" ), "mpegplayer/shuffle", mediaPlayerState, SLOT(setShuffled(bool)), TRUE ); -#endif - d->tbLoop = new ToolButton( bar, tr( "Loop" ), "mpegplayer/loop", mediaPlayerState, SLOT(setLooping(bool)), TRUE ); - d->tbFull = new ToolButton( bar, tr( "Fullscreen" ), "fullscreen", mediaPlayerState, SLOT(setFullscreen(bool)), TRUE ); - d->tbScale = new ToolButton( bar, tr( "Scale" ), "mpegplayer/scale", mediaPlayerState, SLOT(setScaled(bool)), TRUE ); + d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "mpegplayer/add_to_playlist", + this , SLOT(addSelected()) ); + d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "mpegplayer/remove_from_playlist", + this , SLOT(removeSelected()) ); + d->tbPlay = new ToolButton( bar, tr( "Play" ), "mpegplayer/play", + mediaPlayerState, SLOT(setPlaying(bool)), TRUE ); + + d->tbShuffle = new ToolButton( bar, tr( "Randomize" ), "mpegplayer/shuffle", + mediaPlayerState, SLOT(setShuffled(bool)), TRUE ); + d->tbLoop = new ToolButton( bar, tr( "Loop" ), "mpegplayer/loop", + mediaPlayerState, SLOT(setLooping(bool)), TRUE ); + +// d->tbFull = new ToolButton( bar, tr( "Fullscreen" ), "fullscreen", mediaPlayerState, SLOT(setFullscreen(bool)), TRUE ); +// d->tbScale = new ToolButton( bar, tr( "Scale" ), "mpegplayer/scale", mediaPlayerState, SLOT(setScaled(bool)), TRUE ); QPopupMenu *pmPlayList = new QPopupMenu( this ); - menu->insertItem( tr( "PlayList" ), pmPlayList ); - new MenuItem( pmPlayList, tr( "Toggle PlayList" ), mediaPlayerState, SLOT( togglePlaylist() ) ); + menu->insertItem( tr( "File" ), pmPlayList ); new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) ); - new MenuItem( pmPlayList, tr( "Add all music files" ), this, SLOT( addAllMusicToList() ) ); + new MenuItem( pmPlayList, tr( "Add all audio files" ), this, SLOT( addAllMusicToList() ) ); new MenuItem( pmPlayList, tr( "Add all video files" ), this, SLOT( addAllVideoToList() ) ); new MenuItem( pmPlayList, tr( "Add all files" ), this, SLOT( addAllToList() ) ); -#ifdef CAN_SAVE_LOAD_PLAYLISTS new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) ); new MenuItem( pmPlayList, tr( "Load PlayList" ), this, SLOT( loadList() ) ); -#endif + + QPopupMenu *pmView = new QPopupMenu( this ); + menu->insertItem( tr( "View" ), pmView ); + + fullScreenButton = new QAction(tr("Full Screen"), Resource::loadPixmap("fullscreen"), QString::null, 0, this, 0); + connect( fullScreenButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleFullscreen()) ); + fullScreenButton->addTo(pmView); + scaleButton = new QAction(tr("Scale"), Resource::loadPixmap("mpegplayer/scale"), QString::null, 0, this, 0); + connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled()) ); + scaleButton->addTo(pmView); QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton ); + QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton ); +// vbox4->setMargin(4); +// libString = new QLabel( tr(" Media Library"), vbox4 ); +// libString->setBackgroundMode( QButton::PaletteButton ); +// libString->setFont( QFont( "Helvetica", 8, QFont::Bold ) ); + + QHBox *hbox6 = new QHBox( vbox4 ); hbox6->setBackgroundMode( PaletteButton ); + + tabWidget = new QTabWidget( hbox6, "tabWidget" ); + tabWidget->setTabShape(QTabWidget::Triangular); + + + QWidget *pTab; + pTab = new QWidget( tabWidget, "pTab" ); + playlistView = new QListView( pTab, "Videoview" ); + playlistView->setMinimumSize(236,260); + tabWidget->insertTab( pTab,"Playlist"); // Add the playlist area - QVBox *vbox3 = new QVBox( vbox5 ); vbox3->setBackgroundMode( PaletteButton ); - d->playListFrame = vbox3; - QLabel *plString = new QLabel( tr(" PlayList"), vbox3 ); - plString->setBackgroundMode( QButton::PaletteButton ); - plString->setFont( QFont( "Helvetica", 8, QFont::Bold ) ); + QVBox *vbox3 = new QVBox( pTab ); vbox3->setBackgroundMode( PaletteButton ); + d->playListFrame = vbox3; + d->playListFrame ->setMinimumSize(235,260); @@ -146,6 +183,3 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) -#ifndef BUTTONS_ON_TOOLBAR - d->tbPlay = new ToolButton( vbox1, tr( "Play" ), "mpegplayer/play", mediaPlayerState, SLOT(setPlaying(bool)), TRUE ); QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch -#endif new ToolButton( vbox1, tr( "Move Up" ), "mpegplayer/up", d->selectedFiles, SLOT(moveSelectedUp()) ); @@ -154,25 +188,81 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) QVBox *stretch2 = new QVBox( vbox1 ); stretch2->setBackgroundMode( PaletteButton ); // add stretch -#ifndef BUTTONS_ON_TOOLBAR - d->tbShuffle = new ToolButton( vbox1, tr( "Randomize" ), "mpegplayer/shuffle", mediaPlayerState, SLOT(setShuffled(bool)), TRUE ); -#endif + + QWidget *aTab; + aTab = new QWidget( tabWidget, "aTab" ); + audioView = new QListView( aTab, "Audioview" ); + audioView->setMinimumSize(233,260); + audioView->addColumn( "Title",150); + audioView->addColumn("Size", 45); + audioView->addColumn("Media",35); + audioView->setColumnAlignment(1, Qt::AlignRight); + audioView->setColumnAlignment(2, Qt::AlignRight); + tabWidget->insertTab(aTab,"Audio"); +// audioView + Global::findDocuments(&files, "audio/*"); + QListIterator<DocLnk> dit( files.children() ); + QString storage; + for ( ; dit.current(); ++dit ) { + QListViewItem * newItem; + if(dit.current()->file().find("/mnt/cf") != -1 ) storage="CF"; + else if(dit.current()->file().find("/mnt/card") != -1 ) storage="SD"; + else storage="RAM"; + + newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), QString::number( QFile( dit.current()->file()).size() ), storage); + newItem->setPixmap(0, Resource::loadPixmap( "mpegplayer/musicfile" )); + } +// videowidget + + QWidget *vTab; + vTab = new QWidget( tabWidget, "vTab" ); + videoView = new QListView( vTab, "Videoview" ); + videoView->setMinimumSize(233,260); + + videoView->addColumn("Title",150); + videoView->addColumn("Size",45); + videoView->addColumn("Media",35); + videoView->setColumnAlignment(1, Qt::AlignRight); + videoView->setColumnAlignment(2, Qt::AlignRight); + + tabWidget->insertTab( vTab,"Video"); + + Global::findDocuments(&vFiles, "video/*"); + QListIterator<DocLnk> Vdit( vFiles.children() ); + for ( ; Vdit.current(); ++Vdit ) { + if( Vdit.current()->file().find("/mnt/cf") != -1 ) storage="CF"; + else if( Vdit.current()->file().find("/mnt/card") != -1 ) storage="SD"; + else storage="RAM"; + QListViewItem * newItem; + newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), QString::number( QFile( Vdit.current()->file()).size() ), storage); + newItem->setPixmap(0, Resource::loadPixmap( "mpegplayer/videofile" )); + } + + +// d->tbPlay = new ToolButton( vbox1, tr( "Play" ), "mpegplayer/play", mediaPlayerState, SLOT(setPlaying(bool)), TRUE ); +// d->tbShuffle = new ToolButton( vbox1, tr( "Randomize" ), "mpegplayer/shuffle", mediaPlayerState, SLOT(setShuffled(bool)), TRUE ); // add the library area - QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton ); - QLabel *libString = new QLabel( tr(" Media Library"), vbox4 ); - libString->setBackgroundMode( QButton::PaletteButton ); - libString->setFont( QFont( "Helvetica", 8, QFont::Bold ) ); +// d->files->setBackgroundMode( PaletteButton ); +// QVBox *vbox7 = new QVBox( hbox6 ); vbox7->setBackgroundMode( PaletteButton ); - QHBox *hbox6 = new QHBox( vbox4 ); hbox6->setBackgroundMode( PaletteButton ); - d->files = new FileSelector( "video/*;audio/*", hbox6, "Find Media Files", FALSE, FALSE ); - d->files->setBackgroundMode( PaletteButton ); - QVBox *vbox7 = new QVBox( hbox6 ); vbox7->setBackgroundMode( PaletteButton ); +// #ifdef SIDE_BUTTONS +// QVBox *stretch3 = new QVBox( vbox1 ); stretch3->setBackgroundMode( PaletteButton ); // add stretch +// #endif + QPEApplication::setStylusOperation( this, QPEApplication::RightOnHold ); + +// connect( audioView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); +// connect( videoView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); -#ifdef SIDE_BUTTONS - new ToolButton( vbox7, tr( "Add to Playlist" ), "mpegplayer/add_to_playlist", d->selectedFiles, SLOT(addSelected()) ); - new ToolButton( vbox7, tr( "Remove from Playlist" ), "mpegplayer/remove_from_playlist", d->selectedFiles, SLOT(removeSelected()) ); - QVBox *stretch3 = new QVBox( vbox1 ); stretch3->setBackgroundMode( PaletteButton ); // add stretch -#endif + connect( audioView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); + connect( videoView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); - connect( d->files, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) ); + connect( audioView, SIGNAL( rightButtonPressed( QListViewItem *, const QPoint&, int ) ), + this, SLOT( addToSelection( QListViewItem *, const QPoint&, int )) ); + connect( videoView, SIGNAL( rightButtonPressed( QListViewItem *, const QPoint&, int ) ), + this, SLOT( addToSelection( QListViewItem *, const QPoint&, int )) ); + + connect( playlistView, SIGNAL( pressed( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); + connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*))); + // connect( d->files, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) ); + // connect( d->files, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) ); connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) ); @@ -180,5 +270,7 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) ); - connect( mediaPlayerState, SIGNAL( fullscreenToggled( bool ) ), d->tbFull, SLOT( setOn( bool ) ) ); - connect( mediaPlayerState, SIGNAL( scaledToggled( bool ) ), d->tbScale, SLOT( setOn( bool ) ) ); - connect( mediaPlayerState, SIGNAL( fullscreenToggled( bool ) ), d->tbScale, SLOT( setEnabled( bool ) ) ); + +// connect( mediaPlayerState, SIGNAL( fullscreenToggled( bool ) ), fullScreenButton, SLOT( setOn( bool ) ) ); +// connect( mediaPlayerState, SIGNAL( scaledToggled( bool ) ), scaleButton, SLOT( setEnabled( bool ) ) ); +// connect( mediaPlayerState, SIGNAL( fullscreenToggled( bool ) ), fullScreenButton, SLOT( setEnabled( bool ) ) ); + connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) ); @@ -205,2 +297,3 @@ PlayListWidget::~PlayListWidget() { void PlayListWidget::initializeStates() { + d->tbPlay->setOn( mediaPlayerState->playing() ); @@ -208,6 +301,6 @@ void PlayListWidget::initializeStates() { d->tbShuffle->setOn( mediaPlayerState->shuffled() ); - d->tbFull->setOn( mediaPlayerState->fullscreen() ); - d->tbScale->setOn( mediaPlayerState->scaled() ); - d->tbScale->setEnabled( mediaPlayerState->fullscreen() ); - setPlaylist( mediaPlayerState->playlist() ); +// d->tbFull->setOn( mediaPlayerState->fullscreen() ); +// d->tbScale->setOn( mediaPlayerState->scaled() ); +// d->tbScale->setEnabled( mediaPlayerState->fullscreen() ); +// setPlaylist( mediaPlayerState->playlist() ); } @@ -276,2 +369,12 @@ void PlayListWidget::addToSelection( const DocLnk& lnk ) { +void PlayListWidget::addToSelection( QListViewItem *it ,const QPoint & p, int index) { + qDebug("add"); +// d->selectedFiles->addToSelection( lnk ); + // } +// else +// mediaPlayerState->setPlaying( TRUE ); +// +} + + void PlayListWidget::clearList() { @@ -448 +551,143 @@ void PlayListWidget::setView( char view ) { +void PlayListWidget::addSelected() { +// QMessageBox::message("Note","Bozo the clown thinks\nthere's something actually here"); + int tabPage=tabWidget->currentPageIndex(); + switch (tabPage) { + case 0: //playlist + break; + case 1: { //audio + addToSelection( audioView->selectedItem() ); + } + break; + case 2: { // video + addToSelection( videoView->selectedItem() ); + } + break; + }; +} + +void PlayListWidget::removeSelected() { + d->selectedFiles->removeSelected( ); +} + + +void PlayListWidget::playIt( QListViewItem *it) { + d->setDocumentUsed = FALSE; + + if(it) { + qDebug("playit"); + int tabPage=tabWidget->currentPageIndex(); + switch (tabPage) { + case 1: { + DocLnkSet files; + QListIterator<DocLnk> dit( files.children() ); + for ( ; dit.current(); ++dit ) { + if( dit.current()->name() == it->text(0)) { + setDocument( dit.current()->name()); + } + } + } + break; + case 2: { + DocLnkSet vFiles; + QListIterator<DocLnk> dit( vFiles.children() ); + for ( ; dit.current(); ++dit ) { + qDebug(dit.current()->name()); + if( dit.current()->name() == it->text(0)) { + qDebug(it->text(0)); + setDocument( dit.current()->name()); + } + } + } + break; + }; + } +} + +void PlayListWidget::addToSelection( QListViewItem *it) { + d->setDocumentUsed = FALSE; + + if(it) { + qDebug("add to selection"); + int tabPage=tabWidget->currentPageIndex(); + switch (tabPage) { + case 1: { + QListIterator<DocLnk> dit( files.children() ); + for ( ; dit.current(); ++dit ) { + if( dit.current()->name() == it->text(0)) { + d->selectedFiles->addToSelection( **dit ); + } + } + } + break; + case 2: { + QListIterator<DocLnk> dit( vFiles.children() ); + for ( ; dit.current(); ++dit ) { + qDebug(dit.current()->name()); + if( dit.current()->name() == it->text(0)) { + d->selectedFiles->addToSelection( **dit ); + } + } + } + break; + case 0: + break; + }; + tabWidget->setCurrentPage(0); +// mediaPlayerState->setPlaying( TRUE ); + } +} + +void PlayListWidget::tabChanged(QWidget *widg) { + + int tabPage=tabWidget->currentPageIndex(); + switch (tabPage) { + case 0: + { + d->tbRemoveFromList->setEnabled(TRUE); + d->tbAddToList->setEnabled(FALSE); + } + break; + case 1: + { + d->tbRemoveFromList->setEnabled(FALSE); + d->tbAddToList->setEnabled(TRUE); + } + break; + case 2: + { + d->tbRemoveFromList->setEnabled(FALSE); + d->tbAddToList->setEnabled(TRUE); + } + break; + }; +} + +void PlayListWidget::cancelMenuTimer() { + if( menuTimer->isActive() ) + menuTimer->stop(); +} + +void PlayListWidget::showFileMenu() { + +} + +void PlayListWidget::contentsMousePressEvent( QMouseEvent * e ) +{ +// QListView::contentsMousePressEvent( e ); + menuTimer->start( 750, TRUE ); +} + + +void PlayListWidget::contentsMouseReleaseEvent( QMouseEvent * e ) +{ +// QListView::contentsMouseReleaseEvent( e ); + menuTimer->stop(); +} +// void PlayListWidget::setFullScreen() { +// mediaPlayerState->toggleFullscreen( ); +// } + +// void PlayListWidget::setScaled() { +// mediaPlayerState->toggleScaled(); +// } diff --git a/core/multimedia/opieplayer/playlistwidget.h b/core/multimedia/opieplayer/playlistwidget.h index 6976641..3a52dd5 100644 --- a/core/multimedia/opieplayer/playlistwidget.h +++ b/core/multimedia/opieplayer/playlistwidget.h @@ -25,2 +25,4 @@ #include <qpe/applnk.h> +#include <qtabwidget.h> +#include <qtimer.h> @@ -29,3 +31,7 @@ class PlayListWidgetPrivate; class Config; - +class QListViewItem; +class QListView; +class QPoint; +class QAction; +class QLabel; @@ -36,3 +42,8 @@ public: ~PlayListWidget(); - + QTabWidget * tabWidget; + QAction *fullScreenButton, *scaleButton; + DocLnkSet files; + DocLnkSet vFiles; + QListView *audioView, *videoView, *playlistView; + QLabel *libString; // retrieve the current playlist entry (media file link) @@ -40,2 +51,3 @@ public: void useSelectedDocument(); + QTimer * menuTimer; @@ -44,2 +56,4 @@ public slots: void addToSelection( const DocLnk& ); // Add a media file to the playlist + void addToSelection( QListViewItem* ); // Add a media file to the playlist + void addToSelection( QListViewItem*, const QPoint&,int ); // Add a media file to the playlist void setActiveWindow(); // need to handle this to show the right view @@ -53,2 +67,3 @@ public slots: void loadList(); // Load a playlist + void playIt( QListViewItem *); bool first(); @@ -57,2 +72,10 @@ public slots: bool prev(); + void addSelected(); + void removeSelected(); + void tabChanged(QWidget*); +/* void setFullScreen(); */ +/* void setScaled(); */ +protected: + void contentsMousePressEvent( QMouseEvent * e ); + void contentsMouseReleaseEvent( QMouseEvent * e ); @@ -63,2 +86,8 @@ private: PlayListWidgetPrivate *d; // Private implementation data + +protected slots: + void cancelMenuTimer(); + void showFileMenu(); + + }; diff --git a/core/multimedia/opieplayer/videowidget.cpp b/core/multimedia/opieplayer/videowidget.cpp index f3974a0..1f128a4 100644 --- a/core/multimedia/opieplayer/videowidget.cpp +++ b/core/multimedia/opieplayer/videowidget.cpp @@ -20,2 +20,3 @@ #include <qpe/resource.h> +#include "mediaplayerplugininterface.h" #include <qwidget.h> @@ -26,3 +27,2 @@ #include "videowidget.h" -#include "mediaplayerplugininterface.h" #include "mediaplayerstate.h" @@ -68,3 +68,3 @@ VideoWidget::VideoWidget(QWidget* parent, const char* name, WFlags f) : QWidget( parent, name, f ), scaledWidth( 0 ), scaledHeight( 0 ) { - setCaption( tr("MediaPlayer") ); + setCaption( tr("OpiePlayer") ); setBackgroundPixmap( Resource::loadPixmap( "mpegplayer/metalFinish" ) ); diff --git a/core/multimedia/opieplayer/wavplugin/Makefile.in b/core/multimedia/opieplayer/wavplugin/Makefile.in index bcbe7f2..a46b925 100644 --- a/core/multimedia/opieplayer/wavplugin/Makefile.in +++ b/core/multimedia/opieplayer/wavplugin/Makefile.in @@ -102,3 +102,4 @@ REQUIRES= wavplugin.o: wavplugin.cpp \ - wavplugin.h + wavplugin.h \ + ../mediaplayerplugininterface.h @@ -106,2 +107,3 @@ wavpluginimpl.o: wavpluginimpl.cpp \ wavplugin.h \ + ../mediaplayerplugininterface.h \ wavpluginimpl.h diff --git a/core/multimedia/opieplayer/wavplugin/wavplugin.cpp b/core/multimedia/opieplayer/wavplugin/wavplugin.cpp index a6bd974..7f63b3b 100644 --- a/core/multimedia/opieplayer/wavplugin/wavplugin.cpp +++ b/core/multimedia/opieplayer/wavplugin/wavplugin.cpp @@ -19,2 +19,4 @@ **********************************************************************/ +// L.J.Potter added changes Fri 02-15-2002 + #include <stdio.h> @@ -49,3 +51,3 @@ struct ChunkData { -const int sound_buffer_size = 4096; +const int sound_buffer_size = 512; // 4096; // you got to be kidding right? @@ -75,2 +77,3 @@ public: done = 0; + qApp->processEvents(); @@ -87,3 +90,3 @@ public: } - samples_due += 44100; + samples_due += chunkdata.samplesPerSec; while ( count && (samples_due > chunkdata.samplesPerSec) ) { @@ -97,3 +100,2 @@ public: } - return TRUE; @@ -145,3 +147,3 @@ public: } // while - + qDebug("bits %d", chunkdata.wBitsPerSample); return TRUE; @@ -207,3 +209,3 @@ WavPlugin::~WavPlugin() { bool WavPlugin::isFileSupported( const QString& path ) { - debugMsg( "WavPlugin::isFileSupported" ); +// qDebug( "WavPlugin::isFileSupported" ); @@ -226,3 +228,3 @@ bool WavPlugin::isFileSupported( const QString& path ) { bool WavPlugin::open( const QString& path ) { - debugMsg( "WavPlugin::open" ); +// qDebug( "WavPlugin::open" ); @@ -247,3 +249,3 @@ bool WavPlugin::open( const QString& path ) { bool WavPlugin::close() { - debugMsg( "WavPlugin::close" ); +// qDebug( "WavPlugin::close" ); @@ -257,3 +259,3 @@ bool WavPlugin::close() { bool WavPlugin::isOpen() { - debugMsg( "WavPlugin::isOpen" ); +// qDebug( "WavPlugin::isOpen" ); return ( d->input != 0 ); @@ -263,3 +265,3 @@ bool WavPlugin::isOpen() { int WavPlugin::audioStreams() { - debugMsg( "WavPlugin::audioStreams" ); +// qDebug( "WavPlugin::audioStreams" ); return 1; @@ -269,4 +271,4 @@ int WavPlugin::audioStreams() { int WavPlugin::audioChannels( int ) { - debugMsg( "WavPlugin::audioChannels" ); - return 2; // ### Always scale audio to stereo samples +// qDebug( "WavPlugin::audioChannels" ); + return d->chunkdata.channels;// 2; // ### Always scale audio to stereo samples } @@ -275,4 +277,4 @@ int WavPlugin::audioChannels( int ) { int WavPlugin::audioFrequency( int ) { - debugMsg( "WavPlugin::audioFrequency" ); - return 44100; // ### Always scale to frequency of 44100 +// qDebug( "WavPlugin::audioFrequency %d", d->chunkdata.samplesPerSec ); + return d->chunkdata.samplesPerSec; //44100; // ### Always scale to frequency of 44100 } @@ -281,4 +283,4 @@ int WavPlugin::audioFrequency( int ) { int WavPlugin::audioSamples( int ) { - debugMsg( "WavPlugin::audioSamples" ); - return d->samples * 2 / d->chunkdata.channels; // ### Scaled samples will be made stereo, +// qDebug( "WavPlugin::audioSamples" ); + return d->samples / d->chunkdata.channels/2; // ### Scaled samples will be made stereo, // Therefore if source is mono we will double the number of samples @@ -288,3 +290,3 @@ int WavPlugin::audioSamples( int ) { bool WavPlugin::audioSetSample( long, int ) { - debugMsg( "WavPlugin::audioSetSample" ); +// qDebug( "WavPlugin::audioSetSample" ); return FALSE; @@ -294,3 +296,3 @@ bool WavPlugin::audioSetSample( long, int ) { long WavPlugin::audioGetSample( int ) { - debugMsg( "WavPlugin::audioGetSample" ); +// qDebug( "WavPlugin::audioGetSample" ); return 0; @@ -324,3 +326,3 @@ bool WavPlugin::audioReadStereoSamples( short *output, long samples, long& sampl bool WavPlugin::audioReadSamples( short *output, int channels, long samples, long& samplesMade, int ) { - debugMsg( "WavPlugin::audioReadSamples" ); +// qDebug( "WavPlugin::audioReadSamples" ); return d->add( output, samples, samplesMade, channels != 1 ); @@ -329,3 +331,3 @@ bool WavPlugin::audioReadSamples( short *output, int channels, long samples, lon double WavPlugin::getTime() { - debugMsg( "WavPlugin::getTime" ); +// qDebug( "WavPlugin::getTime" ); return 0.0; @@ -333,2 +335,7 @@ double WavPlugin::getTime() { +int WavPlugin::audioBitsPerSample( int ) { +// qDebug( "WavPlugin::audioFormat %d", d->chunkdata.wBitsPerSample ); + return d->chunkdata.wBitsPerSample; // +} + diff --git a/core/multimedia/opieplayer/wavplugin/wavplugin.h b/core/multimedia/opieplayer/wavplugin/wavplugin.h index 64635ca..6afd67e 100644 --- a/core/multimedia/opieplayer/wavplugin/wavplugin.h +++ b/core/multimedia/opieplayer/wavplugin/wavplugin.h @@ -19,2 +19,4 @@ **********************************************************************/ +// L.J.Potter added changes Fri 02-15-2002 + #ifndef WAV_PLUGIN_H @@ -25,3 +27,6 @@ #include <qapplication.h> -#include "mediaplayerplugininterface.h" +#include "../mediaplayerplugininterface.h" + + +// #define OLD_MEDIAPLAYER_API @@ -45,4 +50,3 @@ public: bool isOpen(); - //const QString &fileInfo() { return strInfo = qApp->translate( "MediaPlayer", "No Information Available", "media plugin text" ); } - const QString &fileInfo() { return strInfo = QString(""); } + const QString &fileInfo() { return strInfo = ""; } @@ -52,2 +56,3 @@ public: int audioFrequency( int stream ); + int audioBitsPerSample( int stream ); int audioSamples( int stream ); @@ -55,7 +60,10 @@ public: long audioGetSample( int stream ); - //bool audioReadMonoSamples( short *output, long samples, long& samplesRead, int stream ); - //bool audioReadStereoSamples( short *output, long samples, long& samplesRead, int stream ); +#ifdef OLD_MEDIAPLAYER_API + bool audioReadMonoSamples( short *output, long samples, long& samplesRead, int stream ); + bool audioReadStereoSamples( short *output, long samples, long& samplesRead, int stream ); + bool audioReadSamples( short *output, int channel, long samples, int stream ); + bool audioReReadSamples( short *output, int channel, long samples, int stream ); +#else bool audioReadSamples( short *output, int channels, long samples, long& samplesRead, int stream ); - //bool audioReadSamples( short *output, int channel, long samples, int stream ); - //bool audioReReadSamples( short *output, int channel, long samples, int stream ); +#endif @@ -89,2 +97,4 @@ public: + long getPlayTime() { return -1; } + private: |