author | llornkcor <llornkcor> | 2002-02-25 05:10:32 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-02-25 05:10:32 (UTC) |
commit | 1bebd27631a6c9d1ab967cbb32dd4e796b3b0402 (patch) (side-by-side diff) | |
tree | 8ce49800cba26f6f2c33de74a71d4efe0338843f | |
parent | d948361c1b475fab4660b28fbf5ec21fd34d923f (diff) | |
download | opie-1bebd27631a6c9d1ab967cbb32dd4e796b3b0402.zip opie-1bebd27631a6c9d1ab967cbb32dd4e796b3b0402.tar.gz opie-1bebd27631a6c9d1ab967cbb32dd4e796b3b0402.tar.bz2 |
fixed 2
27 files changed, 432 insertions, 182 deletions
diff --git a/core/multimedia/opieplayer/Makefile.in b/core/multimedia/opieplayer/Makefile.in index 1d2ff5e..e8ccc34 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 \ @@ -147,3 +149,4 @@ main.o: main.cpp \ $(OPIEDIR)/include/qpe/qcom.h \ - $(OPIEDIR)/include/qpe/quuid.h + $(OPIEDIR)/include/qpe/quuid.h \ + $(OPIEDIR)/include/qpe/mediaplayerplugininterface.h @@ -151,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 \ @@ -167,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,2 +177,3 @@ mediaplayerstate.o: mediaplayerstate.cpp \ $(OPIEDIR)/include/qpe/config.h \ + mediaplayerplugininterface.h \ mediaplayerstate.h \ @@ -178,2 +185,5 @@ videowidget.o: videowidget.cpp \ $(OPIEDIR)/include/qpe/resource.h \ + mediaplayerplugininterface.h \ + $(OPIEDIR)/include/qpe/qcom.h \ + $(OPIEDIR)/include/qpe/quuid.h \ videowidget.h \ @@ -190,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 \ @@ -200,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 \ @@ -206,2 +223,3 @@ mediaplayer.o: mediaplayer.cpp \ mediaplayer.h \ + $(OPIEDIR)/include/qpe/mediaplayerplugininterface.h \ playlistwidget.h \ @@ -215,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 @@ -243,3 +262,4 @@ moc_mediaplayer.o: moc_mediaplayer.cpp \ $(OPIEDIR)/include/qpe/qcom.h \ - $(OPIEDIR)/include/qpe/quuid.h + $(OPIEDIR)/include/qpe/quuid.h \ + $(OPIEDIR)/include/qpe/mediaplayerplugininterface.h diff --git a/core/multimedia/opieplayer/audiodevice.cpp b/core/multimedia/opieplayer/audiodevice.cpp index 7b3700a..9a10eb4 100644 --- a/core/multimedia/opieplayer/audiodevice.cpp +++ b/core/multimedia/opieplayer/audiodevice.cpp @@ -1,5 +1,5 @@ /********************************************************************** -** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** Copyright (C) 2000 Trolltech AS. All rights reserved. ** -** This file is part of the Qtopia Environment. +** This file is part of Qtopia Environment. ** @@ -19,4 +19,6 @@ **********************************************************************/ +// L.J.Potter added better error code Fri 02-15-2002 14:37:47 #include <stdlib.h> +#include <stdio.h> #include <qpe/qpeapplication.h> @@ -108,3 +110,3 @@ void AudioDevice::getVolume( unsigned int& leftVolume, unsigned int& rightVolume if ( waveOutGetVolume( handle, (LPDWORD)&volume ) ) - qDebug( "get volume of audio device failed" ); +// qDebug( "get volume of audio device failed" ); waveOutClose( handle ); @@ -115,6 +117,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; @@ -149,3 +152,3 @@ void AudioDevice::setVolume( unsigned int leftVolume, unsigned int rightVolume, if ( waveOutSetVolume( handle, volume ) ) - qDebug( "set volume of audio device failed" ); +// qDebug( "set volume of audio device failed" ); waveOutClose( handle ); @@ -160,6 +163,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 @@ -188,41 +193,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; @@ -233,3 +210,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 ); @@ -243,9 +220,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\")"); } @@ -263,3 +247,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 ec70788..d59c388 100644 --- a/core/multimedia/opieplayer/audiodevice.h +++ b/core/multimedia/opieplayer/audiodevice.h @@ -1,5 +1,5 @@ /********************************************************************** -** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** Copyright (C) 2000 Trolltech AS. All rights reserved. ** -** This file is part of the Qtopia Environment. +** This file is part of Qtopia Environment. ** @@ -19,2 +19,4 @@ **********************************************************************/ +// L.J.Potter added changes Fri 02-15-2002 + #ifndef AUDIODEVICE_H @@ -22,3 +24,5 @@ + #include <qobject.h> +#include <sys/soundcard.h> @@ -31,3 +35,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 1e0757f..582660c 100644 --- a/core/multimedia/opieplayer/audiowidget.cpp +++ b/core/multimedia/opieplayer/audiowidget.cpp @@ -1,5 +1,5 @@ /********************************************************************** -** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** Copyright (C) 2000 Trolltech AS. All rights reserved. ** -** This file is part of the Qtopia Environment. +** This file is part of Qtopia Environment. ** @@ -62,3 +62,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/audiowidget.h b/core/multimedia/opieplayer/audiowidget.h index 95f5322..53e84b3 100644 --- a/core/multimedia/opieplayer/audiowidget.h +++ b/core/multimedia/opieplayer/audiowidget.h @@ -1,5 +1,5 @@ /********************************************************************** -** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** Copyright (C) 2000 Trolltech AS. All rights reserved. ** -** This file is part of the Qtopia Environment. +** This file is part of Qtopia Environment. ** 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..06e19e4 100644 --- a/core/multimedia/opieplayer/libmad/libmad.pro +++ b/core/multimedia/opieplayer/libmad/libmad.pro diff --git a/core/multimedia/opieplayer/libmad/libmadplugin.cpp b/core/multimedia/opieplayer/libmad/libmadplugin.cpp index 9d04f7e..9f8ba65 100644 --- a/core/multimedia/opieplayer/libmad/libmadplugin.cpp +++ b/core/multimedia/opieplayer/libmad/libmadplugin.cpp @@ -467,3 +467,3 @@ bool LibMadPlugin::decode( short *output, long samples, long& samplesMade ) { } - +//qApp->processEvents(); audio_pcm( output, samples, buffer[0], (d->synth.pcm.channels == 2) ? buffer[1] : 0 ); diff --git a/core/multimedia/opieplayer/libmad/libmadplugin.h b/core/multimedia/opieplayer/libmad/libmadplugin.h index d85e0d4..d163458 100644 --- a/core/multimedia/opieplayer/libmad/libmadplugin.h +++ b/core/multimedia/opieplayer/libmad/libmadplugin.h @@ -23,3 +23,4 @@ #include <qstring.h> -#include <qpe/mediaplayerplugininterface.h> +//#include <qpe/mediaplayerplugininterface.h> +#include "../mediaplayerplugininterface.h" @@ -54,2 +55,3 @@ public: bool audioSetSample( long sample, int stream ); + int audioBitsPerSample(int) {return 0;} long audioGetSample( int stream ); diff --git a/core/multimedia/opieplayer/libmad/libmadpluginimpl.h b/core/multimedia/opieplayer/libmad/libmadpluginimpl.h index 2c5ed3b..bc864ee 100644 --- a/core/multimedia/opieplayer/libmad/libmadpluginimpl.h +++ b/core/multimedia/opieplayer/libmad/libmadpluginimpl.h @@ -22,3 +22,4 @@ -#include <qpe/mediaplayerplugininterface.h> +//#include <qpe/mediaplayerplugininterface.h> +#include "../mediaplayerplugininterface.h" @@ -43,3 +44,2 @@ public: virtual MediaPlayerEncoder *encoder(); - private: 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/libmpeg3.pro b/core/multimedia/opieplayer/libmpeg3/libmpeg3.pro index b1426d1..e50aa4e 100644 --- a/core/multimedia/opieplayer/libmpeg3/libmpeg3.pro +++ b/core/multimedia/opieplayer/libmpeg3/libmpeg3.pro @@ -37,2 +37,3 @@ SOURCES = libmpeg3plugin.cpp libmpeg3pluginimpl.cpp \ TARGET = mpeg3plugin +TMAKE_CC=g++ DESTDIR = ../../plugins/codecs diff --git a/core/multimedia/opieplayer/libmpeg3/libmpeg3plugin.h b/core/multimedia/opieplayer/libmpeg3/libmpeg3plugin.h index e0eb930..bd31706 100644 --- a/core/multimedia/opieplayer/libmpeg3/libmpeg3plugin.h +++ b/core/multimedia/opieplayer/libmpeg3/libmpeg3plugin.h @@ -26,3 +26,4 @@ #include "mpeg3protos.h" -#include <qpe/mediaplayerplugininterface.h> +//#include <qpe/mediaplayerplugininterface.h> +#include "../mediaplayerplugininterface.h" @@ -52,2 +53,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; } diff --git a/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.h b/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.h index e9926f4..a2f5211 100644 --- a/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.h +++ b/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.h @@ -22,3 +22,4 @@ -#include <qpe/mediaplayerplugininterface.h> +//#include <qpe/mediaplayerplugininterface.h> +#include "../mediaplayerplugininterface.h" diff --git a/core/multimedia/opieplayer/loopcontrol.cpp b/core/multimedia/opieplayer/loopcontrol.cpp index dd466ed..90a7cc6 100644 --- a/core/multimedia/opieplayer/loopcontrol.cpp +++ b/core/multimedia/opieplayer/loopcontrol.cpp @@ -1,5 +1,5 @@ /********************************************************************** -** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** Copyright (C) 2000 Trolltech AS. All rights reserved. ** -** This file is part of the Qtopia Environment. +** This file is part of Qtopia Environment. ** @@ -19,8 +19,10 @@ **********************************************************************/ +// L.J.Potter added changes Fri 02-15-2002 + + #include <qpe/qpeapplication.h> -#ifdef Q_WS_QWS +#ifdef Q_WS_QWS #include <qpe/qcopenvelope_qws.h> #endif -#include <qpe/mediaplayerplugininterface.h> #include <stdio.h> @@ -34,2 +36,3 @@ #include "audiodevice.h" +#include "mediaplayerplugininterface.h" #include "mediaplayerstate.h" @@ -104,6 +107,4 @@ LoopControl::LoopControl( QObject *parent, const char *name ) pthread_attr_init(&audio_attr); - - if ( getuid() == 0 ) { - printf("true, guid = %i\n", getuid()); - +#define USE_REALTIME_AUDIO_THREAD +#ifdef USE_REALTIME_AUDIO_THREAD // Attempt to set it to real-time round robin @@ -118,6 +119,3 @@ LoopControl::LoopControl( QObject *parent, const char *name ) } - } -// printf("false, guid = %i\n", getuid()); - usleep( 100 ); - +#endif pthread_create(&audio_tid, &audio_attr, (void * (*)(void *))startAudioThread, this); @@ -236,3 +234,3 @@ void LoopControl::startAudio() { long samplesRead = 0; - mediaPlayerState->curDecoder()->audioReadSamples( (short*)audioBuffer, channels, 1024, samplesRead, stream ); + bool readOk=mediaPlayerState->curDecoder()->audioReadSamples( (short*)audioBuffer, channels, 1024, samplesRead, stream ); long sampleWeShouldBeAt = long( playtime.elapsed() ) * freq / 1000; @@ -242,3 +240,4 @@ void LoopControl::startAudio() { usleep( (long)((double)sampleWaitTime * 1000000.0 / freq) ); - } else if ( sampleWaitTime <= -5000 ) { + } + else if ( sampleWaitTime <= -5000 ) { qDebug("need to catch up by: %li (%i,%li)", -sampleWaitTime, currentSample, sampleWeShouldBeAt ); @@ -251,3 +250,3 @@ void LoopControl::startAudio() { - moreAudio = audioSampleCounter <= total_audio_samples; + moreAudio = readOk && (audioSampleCounter <= total_audio_samples); @@ -381,3 +380,3 @@ bool LoopControl::init( const QString& filename ) { channels = mediaPlayerState->curDecoder()->audioChannels( astream ); - DecodeLoopDebug(( "channels = %d\n", channels )); + qDebug( "LC- channels = %d", channels ); @@ -386,3 +385,3 @@ bool LoopControl::init( const QString& filename ) { - total_audio_samples += 1000; +// total_audio_samples += 1000; @@ -391,3 +390,3 @@ bool LoopControl::init( const QString& filename ) { freq = mediaPlayerState->curDecoder()->audioFrequency( astream ); - DecodeLoopDebug(( "frequency = %d\n", freq )); + qDebug( "LC- frequency = %d", freq ); @@ -395,5 +394,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 3191259..f4a7fcd 100644 --- a/core/multimedia/opieplayer/loopcontrol.h +++ b/core/multimedia/opieplayer/loopcontrol.h @@ -1,5 +1,5 @@ /********************************************************************** -** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** Copyright (C) 2000 Trolltech AS. All rights reserved. ** -** This file is part of the Qtopia Environment. +** This file is part of Qtopia Environment. ** @@ -19,2 +19,5 @@ **********************************************************************/ +// L.J.Potter added changes Fri 02-15-2002 + + #ifndef MPEGVIEW_H @@ -22,2 +25,3 @@ + #include <qwidget.h> diff --git a/core/multimedia/opieplayer/loopcontrol_threaded.cpp b/core/multimedia/opieplayer/loopcontrol_threaded.cpp index eb89b85..c7dc7a8 100644 --- a/core/multimedia/opieplayer/loopcontrol_threaded.cpp +++ b/core/multimedia/opieplayer/loopcontrol_threaded.cpp @@ -1,5 +1,5 @@ /********************************************************************** -** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** Copyright (C) 2000 Trolltech AS. All rights reserved. ** -** This file is part of the Qtopia Environment. +** This file is part of Qtopia Environment. ** @@ -19,6 +19,4 @@ **********************************************************************/ - #define _REENTRANT - #include <qpe/qpeapplication.h> @@ -29,3 +27,3 @@ #endif -#include <qpe/mediaplayerplugininterface.h> +#include "mediaplayerplugininterface.h" #include <stdio.h> diff --git a/core/multimedia/opieplayer/loopcontrol_threaded.h b/core/multimedia/opieplayer/loopcontrol_threaded.h index ced6ac8..1031169 100644 --- a/core/multimedia/opieplayer/loopcontrol_threaded.h +++ b/core/multimedia/opieplayer/loopcontrol_threaded.h @@ -1,5 +1,5 @@ /********************************************************************** -** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** Copyright (C) 2000 Trolltech AS. All rights reserved. ** -** This file is part of the Qtopia Environment. +** This file is part of Qtopia Environment. ** @@ -22,4 +22,2 @@ - - #include <qwidget.h> diff --git a/core/multimedia/opieplayer/mediaplayerplugininterface.h b/core/multimedia/opieplayer/mediaplayerplugininterface.h index aeeffde..339b2e4 100644 --- a/core/multimedia/opieplayer/mediaplayerplugininterface.h +++ b/core/multimedia/opieplayer/mediaplayerplugininterface.h @@ -22,3 +22,2 @@ - #include <qpe/qcom.h> @@ -64,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; @@ -99,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 7e82166..13741f6 100644 --- a/core/multimedia/opieplayer/mediaplayerstate.cpp +++ b/core/multimedia/opieplayer/mediaplayerstate.cpp @@ -1,5 +1,5 @@ /********************************************************************** -** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** Copyright (C) 2000 Trolltech AS. All rights reserved. ** -** This file is part of the Qtopia Environment. +** This file is part of Qtopia Environment. ** @@ -21,3 +21,2 @@ #include <qpe/qlibrary.h> -#include <qpe/mediaplayerplugininterface.h> #include <qpe/config.h> @@ -26,4 +25,6 @@ #include <qdir.h> +#include "mediaplayerplugininterface.h" #include "mediaplayerstate.h" + #ifdef QT_NO_COMPONENT @@ -36,4 +37,4 @@ -#define MediaPlayerDebug(x) qDebug x -//#define MediaPlayerDebug(x) +//#define MediaPlayerDebug(x) qDebug x +#define MediaPlayerDebug(x) @@ -116,2 +117,6 @@ MediaPlayerDecoder *MediaPlayerState::libMpeg3Decoder() { +// ### hack to get true sample count +// MediaPlayerDecoder *MediaPlayerState::libWavDecoder() { +// return libwavdecoder; +// } diff --git a/core/multimedia/opieplayer/mpegplayer.pro b/core/multimedia/opieplayer/mpegplayer.pro index 3b8d4b0..41f2de0 100644 --- a/core/multimedia/opieplayer/mpegplayer.pro +++ b/core/multimedia/opieplayer/mpegplayer.pro @@ -2,2 +2,3 @@ TEMPLATE = app CONFIG = qt warn_on release +#release DESTDIR = $(OPIEDIR)/bin diff --git a/core/multimedia/opieplayer/playlistselection.cpp b/core/multimedia/opieplayer/playlistselection.cpp index a82b594..2c62e86 100644 --- a/core/multimedia/opieplayer/playlistselection.cpp +++ b/core/multimedia/opieplayer/playlistselection.cpp @@ -52,6 +52,8 @@ PlayListSelection::PlayListSelection( QWidget *parent, const char *name ) { -#ifdef USE_PLAYLIST_BACKGROUND +// #ifdef USE_PLAYLIST_BACKGROUND setStaticBackground( TRUE ); - setBackgroundPixmap( Resource::loadPixmap( "mpegplayer/background" ) ); -#endif +// setBackgroundPixmap( Resource::loadPixmap( "mpegplayer/background" ) ); + setBackgroundPixmap( Resource::loadPixmap( "opielogo" ) ); +// #endif + addColumn("Title",236); setAllColumnsShowFocus( TRUE ); @@ -67,6 +69,7 @@ PlayListSelection::~PlayListSelection() { -#ifdef USE_PLAYLIST_BACKGROUND +// #ifdef USE_PLAYLIST_BACKGROUND void PlayListSelection::drawBackground( QPainter *p, const QRect &r ) { p->fillRect( r, QBrush( white ) ); - QImage logo = Resource::loadImage( "mpegplayer/background" ); +// QImage logo = Resource::loadImage( "mpegplayer/background" ); + QImage logo = Resource::loadImage( "opielogo" ); if ( !logo.isNull() ) @@ -74,3 +77,3 @@ void PlayListSelection::drawBackground( QPainter *p, const QRect &r ) { } -#endif +// #endif diff --git a/core/multimedia/opieplayer/playlistselection.h b/core/multimedia/opieplayer/playlistselection.h index 22d3c74..57e10f1 100644 --- a/core/multimedia/opieplayer/playlistselection.h +++ b/core/multimedia/opieplayer/playlistselection.h @@ -22,4 +22,2 @@ - - #include <qlist.h> @@ -49,6 +47,6 @@ protected: virtual void contentsMouseMoveEvent(QMouseEvent *); -#ifdef USE_PLAYLIST_BACKGROUND +/* #ifdef USE_PLAYLIST_BACKGROUND */ virtual void drawBackground( QPainter *p, const QRect &r ); virtual void paintEmptyArea( QPainter *p, const QRect &r ) { drawBackground( p, r ); }; -#endif +/* #endif */ diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp index 0423e7a..202f351 100644 --- a/core/multimedia/opieplayer/playlistwidget.cpp +++ b/core/multimedia/opieplayer/playlistwidget.cpp @@ -1,5 +1,5 @@ /********************************************************************** -** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** Copyright (C) 2000 Trolltech AS. All rights reserved. ** -** This file is part of the Qtopia Environment. +** This file is part of Qtopia Environment. ** @@ -23,2 +23,4 @@ #include <qpe/fileselector.h> +#include <qpe/qpeapplication.h> + #include <qpe/applnk.h> @@ -37,2 +39,6 @@ #include <qtoolbutton.h> +#include <qtabwidget.h> +#include <qlistview.h> +#include <qpoint.h> +//#include <qtimer.h> @@ -44,2 +50,5 @@ +#define BUTTONS_ON_TOOLBAR +#define SIDE_BUTTONS +#define CAN_SAVE_LOAD_PLAYLISTS @@ -47,11 +56,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; @@ -95,2 +101,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() ) ); @@ -98,3 +106,3 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) - setCaption( tr("MediaPlayer") ); + setCaption( tr("OpiePlayer") ); setIcon( Resource::loadPixmap( "MPEGPlayer" ) ); @@ -113,33 +121,49 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) bar->setLabel( tr( "Play Operations" ) ); -#ifdef BUTTONS_ON_TOOLBAR + 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 ); -#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 ); 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 ); + + 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); QHBox *hbox2 = new QHBox( vbox3 ); hbox2->setBackgroundMode( PaletteButton ); + d->selectedFiles = new PlayListSelection( hbox2 ); @@ -147,6 +171,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()) ); @@ -155,25 +176,74 @@ 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/hda") != -1 ) storage="CF"; + else if(dit.current()->file().find("/mnt/card") != -1 ) storage="SD"; + else storage="RAM"; + if ( QFile( dit.current()->file()).exists() ) { + 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/hda") != -1 ) storage="CF"; + else if( Vdit.current()->file().find("/mnt/card") != -1 ) storage="SD"; + else storage="RAM"; + QListViewItem * newItem; + if ( QFile( Vdit.current()->file()).exists() ) { + newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), QString::number( QFile( Vdit.current()->file()).size() ), storage); + newItem->setPixmap(0, Resource::loadPixmap( "mpegplayer/videofile" )); + } + } // add the library area - QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton ); + QPEApplication::setStylusOperation( this, QPEApplication::RightOnHold ); - QLabel *libString = new QLabel( tr(" Media Library"), vbox4 ); - libString->setBackgroundMode( QButton::PaletteButton ); - libString->setFont( QFont( "Helvetica", 8, QFont::Bold ) ); +// connect( audioView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); +// connect( videoView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); - 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 ); + connect( audioView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); + connect( videoView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); + + 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 )) ); -#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( d->files, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) ); + 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 ) ) ); @@ -181,7 +251,12 @@ 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 ) ) ); + connect( d->selectedFiles, SIGNAL( clicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); +// connect( d->selectedFiles, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) ); + setCentralWidget( vbox5 ); @@ -206,2 +281,3 @@ PlayListWidget::~PlayListWidget() { void PlayListWidget::initializeStates() { + d->tbPlay->setOn( mediaPlayerState->playing() ); @@ -209,6 +285,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() ); } @@ -277,2 +353,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() { @@ -449 +535,115 @@ 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; + mediaPlayerState->setPlaying(true); +} + +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 819adb1..5b05f11 100644 --- a/core/multimedia/opieplayer/playlistwidget.h +++ b/core/multimedia/opieplayer/playlistwidget.h @@ -1,5 +1,5 @@ /********************************************************************** -** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** Copyright (C) 2000 Trolltech AS. All rights reserved. ** -** This file is part of the Qtopia Environment. +** This file is part of Qtopia Environment. ** @@ -24,2 +24,4 @@ #include <qpe/applnk.h> +#include <qtabwidget.h> +/* #include <qtimer.h> */ @@ -28,3 +30,7 @@ class PlayListWidgetPrivate; class Config; - +class QListViewItem; +class QListView; +class QPoint; +class QAction; +class QLabel; @@ -35,3 +41,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) @@ -39,2 +50,3 @@ public: void useSelectedDocument(); +/* QTimer * menuTimer; */ @@ -43,2 +55,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 @@ -52,2 +66,3 @@ public slots: void loadList(); // Load a playlist + void playIt( QListViewItem *); bool first(); @@ -56,2 +71,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 ); */ @@ -62,2 +85,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 12ae4fd..1f128a4 100644 --- a/core/multimedia/opieplayer/videowidget.cpp +++ b/core/multimedia/opieplayer/videowidget.cpp @@ -1,5 +1,5 @@ /********************************************************************** -** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** Copyright (C) 2000 Trolltech AS. All rights reserved. ** -** This file is part of the Qtopia Environment. +** This file is part of Qtopia Environment. ** @@ -19,5 +19,4 @@ **********************************************************************/ - #include <qpe/resource.h> -#include <qpe/mediaplayerplugininterface.h> +#include "mediaplayerplugininterface.h" #include <qwidget.h> @@ -69,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 |