summaryrefslogtreecommitdiff
path: root/core/multimedia
Unidiff
Diffstat (limited to 'core/multimedia') (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/audiodevice.cpp7
-rw-r--r--core/multimedia/opieplayer/inputDialog.cpp45
-rw-r--r--core/multimedia/opieplayer/inputDialog.h31
-rw-r--r--core/multimedia/opieplayer/libmad/libmadplugin.h6
-rw-r--r--core/multimedia/opieplayer/libmad/libmadpluginimpl.cpp8
-rw-r--r--core/multimedia/opieplayer/libmad/libmadpluginimpl.h4
-rw-r--r--core/multimedia/opieplayer/libmpeg3/libmpeg3plugin.h23
-rw-r--r--core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.cpp8
-rw-r--r--core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.h4
-rw-r--r--core/multimedia/opieplayer/loopcontrol.cpp34
-rw-r--r--core/multimedia/opieplayer/main.cpp2
-rw-r--r--core/multimedia/opieplayer/mediaplayer.cpp65
-rw-r--r--core/multimedia/opieplayer/mediaplayer.h4
-rw-r--r--core/multimedia/opieplayer/mediaplayerplugininterface.h15
-rw-r--r--core/multimedia/opieplayer/mediaplayerstate.cpp11
-rw-r--r--core/multimedia/opieplayer/mediaplayerstate.h65
-rw-r--r--core/multimedia/opieplayer/mpegplayer.pro7
-rw-r--r--core/multimedia/opieplayer/playlistselection.cpp6
-rw-r--r--core/multimedia/opieplayer/playlistwidget.cpp399
-rw-r--r--core/multimedia/opieplayer/playlistwidget.h12
-rw-r--r--core/multimedia/opieplayer/videowidget.cpp2
-rw-r--r--core/multimedia/opieplayer/wavplugin/wavplugin.cpp16
-rw-r--r--core/multimedia/opieplayer/wavplugin/wavplugin.h5
-rw-r--r--core/multimedia/opieplayer/wavplugin/wavpluginimpl.cpp8
-rw-r--r--core/multimedia/opieplayer/wavplugin/wavpluginimpl.h3
25 files changed, 505 insertions, 285 deletions
diff --git a/core/multimedia/opieplayer/audiodevice.cpp b/core/multimedia/opieplayer/audiodevice.cpp
index 9a10eb4..5fef792 100644
--- a/core/multimedia/opieplayer/audiodevice.cpp
+++ b/core/multimedia/opieplayer/audiodevice.cpp
@@ -189,3 +189,4 @@ void AudioDevice::setVolume( unsigned int leftVolume, unsigned int rightVolume,
189AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) { 189AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) {
190 d = new AudioDevicePrivate; 190 qDebug("creating new audio device");
191 d = new AudioDevicePrivate;
191 d->frequency = f; 192 d->frequency = f;
@@ -193,3 +194,3 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) {
193 d->bytesPerSample = bps; 194 d->bytesPerSample = bps;
194// qDebug("%d",bps); 195 qDebug("%d",bps);
195 int format=0; 196 int format=0;
@@ -199,3 +200,3 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) {
199 200
200// qDebug("AD- freq %d, channels %d, b/sample %d, bitrate %d",f,chs,bps,format); 201 qDebug("AD- freq %d, channels %d, b/sample %d, bitrate %d",f,chs,bps,format);
201 connect( qApp, SIGNAL( volumeChanged(bool) ), this, SLOT( volumeChanged(bool) ) ); 202 connect( qApp, SIGNAL( volumeChanged(bool) ), this, SLOT( volumeChanged(bool) ) );
diff --git a/core/multimedia/opieplayer/inputDialog.cpp b/core/multimedia/opieplayer/inputDialog.cpp
new file mode 100644
index 0000000..b443747
--- a/dev/null
+++ b/core/multimedia/opieplayer/inputDialog.cpp
@@ -0,0 +1,45 @@
1/****************************************************************************
2** Form implementation generated from reading ui file 'inputDialog.ui'
3**
4** Created: Sat Mar 2 07:55:03 2002
5** by: The User Interface Compiler (uic)
6**
7** WARNING! All changes made in this file will be lost!
8****************************************************************************/
9#include "inputDialog.h"
10
11#include <qlineedit.h>
12#include <qlayout.h>
13#include <qvariant.h>
14#include <qtooltip.h>
15#include <qwhatsthis.h>
16
17/*
18 * Constructs a InputDialog which is a child of 'parent', with the
19 * name 'name' and widget flags set to 'f'
20 *
21 * The dialog will by default be modeless, unless you set 'modal' to
22 * TRUE to construct a modal dialog.
23 */
24InputDialog::InputDialog( QWidget* parent, const char* name, bool modal, WFlags fl )
25 : QDialog( parent, name, modal, fl )
26{
27 if ( !name )
28 setName( "InputDialog" );
29 resize( 234, 50 );
30 setMaximumSize( QSize( 240, 50 ) );
31 setCaption( tr(name ) );
32
33 LineEdit1 = new QLineEdit( this, "LineEdit1" );
34 LineEdit1->setGeometry( QRect( 10, 10, 216, 22 ) );
35}
36
37/*
38 * Destroys the object and frees any allocated resources
39 */
40InputDialog::~InputDialog()
41{
42 inputText= LineEdit1->text();
43
44}
45
diff --git a/core/multimedia/opieplayer/inputDialog.h b/core/multimedia/opieplayer/inputDialog.h
new file mode 100644
index 0000000..26d5cd0
--- a/dev/null
+++ b/core/multimedia/opieplayer/inputDialog.h
@@ -0,0 +1,31 @@
1/****************************************************************************
2** Form interface generated from reading ui file 'inputDialog.ui'
3**
4** Created: Sat Mar 2 07:54:46 2002
5** by: The User Interface Compiler (uic)
6**
7** WARNING! All changes made in this file will be lost!
8****************************************************************************/
9#ifndef INPUTDIALOG_H
10#define INPUTDIALOG_H
11
12#include <qvariant.h>
13#include <qdialog.h>
14class QVBoxLayout;
15class QHBoxLayout;
16class QGridLayout;
17class QLineEdit;
18
19class InputDialog : public QDialog
20{
21 Q_OBJECT
22
23public:
24 InputDialog( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
25 ~InputDialog();
26 QString inputText;
27 QLineEdit* LineEdit1;
28
29};
30
31#endif // INPUTDIALOG_H
diff --git a/core/multimedia/opieplayer/libmad/libmadplugin.h b/core/multimedia/opieplayer/libmad/libmadplugin.h
index d163458..b240b77 100644
--- a/core/multimedia/opieplayer/libmad/libmadplugin.h
+++ b/core/multimedia/opieplayer/libmad/libmadplugin.h
@@ -23,4 +23,4 @@
23#include <qstring.h> 23#include <qstring.h>
24//#include <qpe/mediaplayerplugininterface.h> 24#include <qpe/mediaplayerplugininterface.h>
25#include "../mediaplayerplugininterface.h" 25/* #include "../mediaplayerplugininterface.h" */
26 26
@@ -55,3 +55,3 @@ public:
55 bool audioSetSample( long sample, int stream ); 55 bool audioSetSample( long sample, int stream );
56 int audioBitsPerSample(int) {return 0;} 56/* int audioBitsPerSample(int) {return 0;} */
57 long audioGetSample( int stream ); 57 long audioGetSample( int stream );
diff --git a/core/multimedia/opieplayer/libmad/libmadpluginimpl.cpp b/core/multimedia/opieplayer/libmad/libmadpluginimpl.cpp
index 028c658..67779e8 100644
--- a/core/multimedia/opieplayer/libmad/libmadpluginimpl.cpp
+++ b/core/multimedia/opieplayer/libmad/libmadpluginimpl.cpp
@@ -32,3 +32,3 @@ LibMadPluginImpl::~LibMadPluginImpl()
32 if ( libmadplugin ) 32 if ( libmadplugin )
33 delete libmadplugin; 33 delete libmadplugin;
34} 34}
@@ -39,3 +39,3 @@ MediaPlayerDecoder *LibMadPluginImpl::decoder()
39 if ( !libmadplugin ) 39 if ( !libmadplugin )
40 libmadplugin = new LibMadPlugin; 40 libmadplugin = new LibMadPlugin;
41 return libmadplugin; 41 return libmadplugin;
@@ -56,4 +56,4 @@ QRESULT LibMadPluginImpl::queryInterface( const QUuid &uuid, QUnknownInterface *
56 *iface = 0; 56 *iface = 0;
57 if ( ( uuid == IID_QUnknown ) || ( uuid == IID_MediaPlayerPlugin ) ) 57 if ( ( uuid == IID_QUnknown ) || ( uuid == IID_MediaPlayerPlugin ) )
58 *iface = this, (*iface)->addRef(); 58 *iface = this, (*iface)->addRef();
59 return QS_OK; 59 return QS_OK;
diff --git a/core/multimedia/opieplayer/libmad/libmadpluginimpl.h b/core/multimedia/opieplayer/libmad/libmadpluginimpl.h
index bc864ee..9b35b90 100644
--- a/core/multimedia/opieplayer/libmad/libmadpluginimpl.h
+++ b/core/multimedia/opieplayer/libmad/libmadpluginimpl.h
@@ -22,4 +22,4 @@
22 22
23//#include <qpe/mediaplayerplugininterface.h> 23#include <qpe/mediaplayerplugininterface.h>
24#include "../mediaplayerplugininterface.h" 24//#include "../mediaplayerplugininterface.h"
25 25
diff --git a/core/multimedia/opieplayer/libmpeg3/libmpeg3plugin.h b/core/multimedia/opieplayer/libmpeg3/libmpeg3plugin.h
index bd31706..b573e84 100644
--- a/core/multimedia/opieplayer/libmpeg3/libmpeg3plugin.h
+++ b/core/multimedia/opieplayer/libmpeg3/libmpeg3plugin.h
@@ -26,4 +26,3 @@
26#include "mpeg3protos.h" 26#include "mpeg3protos.h"
27//#include <qpe/mediaplayerplugininterface.h> 27#include <qpe/mediaplayerplugininterface.h>
28#include "../mediaplayerplugininterface.h"
29 28
@@ -53,3 +52,3 @@ public:
53 int audioFrequency( int stream ) { return file ? mpeg3_sample_rate( file, stream ) : 0; } 52 int audioFrequency( int stream ) { return file ? mpeg3_sample_rate( file, stream ) : 0; }
54 int audioBitsPerSample(int) { return 0;} 53/* int audioBitsPerSample(int) { return 0;} */
55 int audioSamples( int stream ) { return file ? mpeg3_audio_samples( file, stream ) : 0; } 54 int audioSamples( int stream ) { return file ? mpeg3_audio_samples( file, stream ) : 0; }
@@ -76,11 +75,11 @@ public:
76 if ( file ) { 75 if ( file ) {
77 int frames = mpeg3_video_frames( file, stream ); 76 int frames = mpeg3_video_frames( file, stream );
78 if ( frames == 1 ) { 77 if ( frames == 1 ) {
79 int res = mpeg3_seek_percentage( file, 0.99 ); 78 int res = mpeg3_seek_percentage( file, 0.99 );
80 printf("res: %i\n", res ); 79 printf("res: %i\n", res );
81 mpeg3video_seek( file->vtrack[stream]->video ); 80 mpeg3video_seek( file->vtrack[stream]->video );
82 frames = mpeg3_get_frame( file, stream ); 81 frames = mpeg3_get_frame( file, stream );
83 mpeg3_seek_percentage( file, 0.0 ); 82 mpeg3_seek_percentage( file, 0.0 );
84 } 83 }
85 return frames; 84 return frames;
86 } 85 }
diff --git a/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.cpp b/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.cpp
index e7216af..bf3f372 100644
--- a/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.cpp
+++ b/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.cpp
@@ -32,3 +32,3 @@ LibMpeg3PluginImpl::~LibMpeg3PluginImpl()
32 if ( libmpeg3plugin ) 32 if ( libmpeg3plugin )
33 delete libmpeg3plugin; 33 delete libmpeg3plugin;
34} 34}
@@ -39,3 +39,3 @@ MediaPlayerDecoder *LibMpeg3PluginImpl::decoder()
39 if ( !libmpeg3plugin ) 39 if ( !libmpeg3plugin )
40 libmpeg3plugin = new LibMpeg3Plugin; 40 libmpeg3plugin = new LibMpeg3Plugin;
41 return libmpeg3plugin; 41 return libmpeg3plugin;
@@ -56,4 +56,4 @@ QRESULT LibMpeg3PluginImpl::queryInterface( const QUuid &uuid, QUnknownInterface
56 *iface = 0; 56 *iface = 0;
57 if ( ( uuid == IID_QUnknown ) || ( uuid == IID_MediaPlayerPlugin ) ) 57 if ( ( uuid == IID_QUnknown ) || ( uuid == IID_MediaPlayerPlugin ) )
58 *iface = this, (*iface)->addRef(); 58 *iface = this, (*iface)->addRef();
59 return QS_OK; 59 return QS_OK;
diff --git a/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.h b/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.h
index a2f5211..ef3743e 100644
--- a/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.h
+++ b/core/multimedia/opieplayer/libmpeg3/libmpeg3pluginimpl.h
@@ -22,4 +22,4 @@
22 22
23//#include <qpe/mediaplayerplugininterface.h> 23#include <qpe/mediaplayerplugininterface.h>
24#include "../mediaplayerplugininterface.h" 24//#include "../mediaplayerplugininterface.h"
25 25
diff --git a/core/multimedia/opieplayer/loopcontrol.cpp b/core/multimedia/opieplayer/loopcontrol.cpp
index 90a7cc6..cb8de8a 100644
--- a/core/multimedia/opieplayer/loopcontrol.cpp
+++ b/core/multimedia/opieplayer/loopcontrol.cpp
@@ -36,3 +36,3 @@
36#include "audiodevice.h" 36#include "audiodevice.h"
37#include "mediaplayerplugininterface.h" 37#include <qpe/mediaplayerplugininterface.h>
38#include "mediaplayerstate.h" 38#include "mediaplayerstate.h"
@@ -103,3 +103,3 @@ LoopControl::LoopControl( QObject *parent, const char *name )
103 connect( qApp, SIGNAL( volumeChanged(bool) ), this, SLOT( setMute(bool) ) ); 103 connect( qApp, SIGNAL( volumeChanged(bool) ), this, SLOT( setMute(bool) ) );
104 104//qDebug("starting loopcontrol");
105 audioMutex = new Mutex; 105 audioMutex = new Mutex;
@@ -120,2 +120,3 @@ LoopControl::LoopControl( QObject *parent, const char *name )
120#endif 120#endif
121//qDebug("create audio thread");
121 pthread_create(&audio_tid, &audio_attr, (void * (*)(void *))startAudioThread, this); 122 pthread_create(&audio_tid, &audio_attr, (void * (*)(void *))startAudioThread, this);
@@ -222,4 +223,4 @@ void LoopControl::startAudio() {
222 223
224//qDebug("start audio");
223 audioMutex->lock(); 225 audioMutex->lock();
224
225 if ( moreAudio ) { 226 if ( moreAudio ) {
@@ -238,10 +239,10 @@ void LoopControl::startAudio() {
238 239
239 if ( ( sampleWaitTime > 2000 ) && ( sampleWaitTime < 20000 ) ) { 240// if ( ( sampleWaitTime > 2000 ) && ( sampleWaitTime < 20000 ) ) {
240 usleep( (long)((double)sampleWaitTime * 1000000.0 / freq) ); 241// usleep( (long)((double)sampleWaitTime * 1000000.0 / freq) );
241 } 242// }
242 else if ( sampleWaitTime <= -5000 ) { 243// else if ( sampleWaitTime <= -5000 ) {
243 qDebug("need to catch up by: %li (%i,%li)", -sampleWaitTime, currentSample, sampleWeShouldBeAt ); 244// qDebug("need to catch up by: %li (%i,%li)", -sampleWaitTime, currentSample, sampleWeShouldBeAt );
244 //mediaPlayerState->curDecoder()->audioSetSample( sampleWeShouldBeAt, stream ); 245// //mediaPlayerState->curDecoder()->audioSetSample( sampleWeShouldBeAt, stream );
245 currentSample = sampleWeShouldBeAt; 246// currentSample = sampleWeShouldBeAt;
246 } 247// }
247 248
@@ -393,4 +394,9 @@ bool LoopControl::init( const QString& filename ) {
393 audioSampleCounter = 0; 394 audioSampleCounter = 0;
394 395 int bits_per_sample;
395 int bits_per_sample = mediaPlayerState->curDecoder()->audioBitsPerSample( astream); 396 if ( mediaPlayerState->curDecoder()->pluginName() == QString("LibWavPlugin") ) {
397 bits_per_sample =(int) mediaPlayerState->curDecoder()->getTime();
398 qDebug("using stupid hack");
399 } else {
400 bits_per_sample=0;
401 }
396 402
@@ -439,3 +445,3 @@ bool LoopControl::init( const QString& filename ) {
439void LoopControl::play() { 445void LoopControl::play() {
440 446 qDebug("LC- play");
441#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 447#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
diff --git a/core/multimedia/opieplayer/main.cpp b/core/multimedia/opieplayer/main.cpp
index 720a1ca..4f43ff6 100644
--- a/core/multimedia/opieplayer/main.cpp
+++ b/core/multimedia/opieplayer/main.cpp
@@ -49,3 +49,3 @@ int main(int argc, char **argv) {
49 49
50 pl.setCaption( MediaPlayer::tr("Media Player") ); 50 pl.setCaption( MediaPlayer::tr("OpiePlayer") );
51 a.showMainDocumentWidget(&pl); 51 a.showMainDocumentWidget(&pl);
diff --git a/core/multimedia/opieplayer/mediaplayer.cpp b/core/multimedia/opieplayer/mediaplayer.cpp
index ce42c2c..c971a3c 100644
--- a/core/multimedia/opieplayer/mediaplayer.cpp
+++ b/core/multimedia/opieplayer/mediaplayer.cpp
@@ -50,4 +50,4 @@ MediaPlayer::MediaPlayer( QObject *parent, const char *name )
50 connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) ); 50 connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) );
51 connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) ); 51 connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) );
52 connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) ); 52 connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) );
53 53
@@ -67,3 +67,3 @@ void MediaPlayer::pauseCheck( bool b ) {
67 if ( b && !mediaPlayerState->playing() ) 67 if ( b && !mediaPlayerState->playing() )
68 mediaPlayerState->setPaused( FALSE ); 68 mediaPlayerState->setPaused( FALSE );
69} 69}
@@ -78,7 +78,6 @@ void MediaPlayer::play() {
78void MediaPlayer::setPlaying( bool play ) { 78void MediaPlayer::setPlaying( bool play ) {
79
80 if ( !play ) { 79 if ( !play ) {
81 mediaPlayerState->setPaused( FALSE ); 80 mediaPlayerState->setPaused( FALSE );
82 loopControl->stop( FALSE ); 81 loopControl->stop( FALSE );
83 return; 82 return;
84 } 83 }
@@ -86,4 +85,4 @@ void MediaPlayer::setPlaying( bool play ) {
86 if ( mediaPlayerState->paused() ) { 85 if ( mediaPlayerState->paused() ) {
87 mediaPlayerState->setPaused( FALSE ); 86 mediaPlayerState->setPaused( FALSE );
88 return; 87 return;
89 } 88 }
@@ -91,18 +90,15 @@ void MediaPlayer::setPlaying( bool play ) {
91 const DocLnk *playListCurrent = playList->current(); 90 const DocLnk *playListCurrent = playList->current();
92
93 if ( playListCurrent != NULL ) { 91 if ( playListCurrent != NULL ) {
94 loopControl->stop( TRUE ); 92 loopControl->stop( TRUE );
95 currentFile = playListCurrent; 93 currentFile = playListCurrent;
96 } 94 }
97
98 if ( currentFile == NULL ) { 95 if ( currentFile == NULL ) {
99 QMessageBox::critical( 0, tr( "No file"), tr( "Error: There is no file selected" ) ); 96 QMessageBox::critical( 0, tr( "No file"), tr( "Error: There is no file selected" ) );
100 mediaPlayerState->setPlaying( FALSE ); 97 mediaPlayerState->setPlaying( FALSE );
101 return; 98 return;
102 } 99 }
103
104 if ( !QFile::exists( currentFile->file() ) ) { 100 if ( !QFile::exists( currentFile->file() ) ) {
105 QMessageBox::critical( 0, tr( "File not found"), tr( "The following file was not found: <i>" ) + currentFile->file() + "</i>" ); 101 QMessageBox::critical( 0, tr( "File not found"), tr( "The following file was not found: <i>" ) + currentFile->file() + "</i>" );
106 mediaPlayerState->setPlaying( FALSE ); 102 mediaPlayerState->setPlaying( FALSE );
107 return; 103 return;
108 } 104 }
@@ -110,5 +106,5 @@ void MediaPlayer::setPlaying( bool play ) {
110 if ( !mediaPlayerState->newDecoder( currentFile->file() ) ) { 106 if ( !mediaPlayerState->newDecoder( currentFile->file() ) ) {
111 QMessageBox::critical( 0, tr( "No decoder found"), tr( "Sorry, no appropriate decoders found for this file: <i>" ) + currentFile->file() + "</i>" ); 107 QMessageBox::critical( 0, tr( "No decoder found"), tr( "Sorry, no appropriate decoders found for this file: <i>" ) + currentFile->file() + "</i>" );
112 mediaPlayerState->setPlaying( FALSE ); 108 mediaPlayerState->setPlaying( FALSE );
113 return; 109 return;
114 } 110 }
@@ -116,7 +112,6 @@ void MediaPlayer::setPlaying( bool play ) {
116 if ( !loopControl->init( currentFile->file() ) ) { 112 if ( !loopControl->init( currentFile->file() ) ) {
117 QMessageBox::critical( 0, tr( "Error opening file"), tr( "Sorry, an error occured trying to play the file: <i>" ) + currentFile->file() + "</i>" ); 113 QMessageBox::critical( 0, tr( "Error opening file"), tr( "Sorry, an error occured trying to play the file: <i>" ) + currentFile->file() + "</i>" );
118 mediaPlayerState->setPlaying( FALSE ); 114 mediaPlayerState->setPlaying( FALSE );
119 return; 115 return;
120 } 116 }
121
122 long seconds = loopControl->totalPlaytime(); 117 long seconds = loopControl->totalPlaytime();
@@ -126,3 +121,3 @@ void MediaPlayer::setPlaying( bool play ) {
126 if ( !fileInfo.isEmpty() ) 121 if ( !fileInfo.isEmpty() )
127 tickerText += ", " + fileInfo; 122 tickerText += ", " + fileInfo;
128 audioUI->setTickerText( tickerText + "." ); 123 audioUI->setTickerText( tickerText + "." );
@@ -137,8 +132,8 @@ void MediaPlayer::prev() {
137 if ( playList->prev() ) 132 if ( playList->prev() )
138 play(); 133 play();
139 else if ( mediaPlayerState->looping() ) { 134 else if ( mediaPlayerState->looping() ) {
140 if ( playList->last() ) 135 if ( playList->last() )
141 play(); 136 play();
142 } else 137 } else
143 mediaPlayerState->setList(); 138 mediaPlayerState->setList();
144} 139}
@@ -148,8 +143,8 @@ void MediaPlayer::next() {
148 if ( playList->next() ) 143 if ( playList->next() )
149 play(); 144 play();
150 else if ( mediaPlayerState->looping() ) { 145 else if ( mediaPlayerState->looping() ) {
151 if ( playList->first() ) 146 if ( playList->first() )
152 play(); 147 play();
153 } else 148 } else
154 mediaPlayerState->setList(); 149 mediaPlayerState->setList();
155} 150}
@@ -178,3 +173,3 @@ void MediaPlayer::timerEvent( QTimerEvent * ) {
178 if ( volumeDirection == +1 ) 173 if ( volumeDirection == +1 )
179 AudioDevice::increaseVolume(); 174 AudioDevice::increaseVolume();
180 else if ( volumeDirection == -1 ) 175 else if ( volumeDirection == -1 )
diff --git a/core/multimedia/opieplayer/mediaplayer.h b/core/multimedia/opieplayer/mediaplayer.h
index 73f8124..d6e90cb 100644
--- a/core/multimedia/opieplayer/mediaplayer.h
+++ b/core/multimedia/opieplayer/mediaplayer.h
@@ -51,4 +51,4 @@ protected:
51private: 51private:
52 int volumeDirection; 52 int volumeDirection;
53 const DocLnk*currentFile; 53 const DocLnk *currentFile;
54}; 54};
diff --git a/core/multimedia/opieplayer/mediaplayerplugininterface.h b/core/multimedia/opieplayer/mediaplayerplugininterface.h
index 339b2e4..97e4066 100644
--- a/core/multimedia/opieplayer/mediaplayerplugininterface.h
+++ b/core/multimedia/opieplayer/mediaplayerplugininterface.h
@@ -25,4 +25,8 @@
25#ifndef QT_NO_COMPONENT 25#ifndef QT_NO_COMPONENT
26// {c0093632-b44c-4cf7-a279-d82fe8a8890c} 26# ifndef IID_OpiePlayerPlugin
27// {F56F6CE0-1333-41FD-9B46-C0AF44D0B006}
28# define IID_OpiePlayerPlugin QUuid( 0xF56F6CE0, 0x1333, 0x41FD, 0x9B, 0x46, 0xC0, 0xAF, 0x44, 0xD0, 0xB0, 0x06);
29# endif
27# ifndef IID_MediaPlayerPlugin 30# ifndef IID_MediaPlayerPlugin
31// {c0093632-b44c-4cf7-a279-d82fe8a8890c}
28# define IID_MediaPlayerPlugin QUuid( 0xc0093632, 0xb44c, 0x4cf7, 0xa2, 0x79, 0xd8, 0x2f, 0xe8, 0xa8, 0x89, 0x0c ) 32# define IID_MediaPlayerPlugin QUuid( 0xc0093632, 0xb44c, 0x4cf7, 0xa2, 0x79, 0xd8, 0x2f, 0xe8, 0xa8, 0x89, 0x0c )
@@ -95,3 +99,5 @@ public:
95 virtual long getPlayTime() { return -1; } 99 virtual long getPlayTime() { return -1; }
100#ifdef IID_OpiePlayerPlugin
96 virtual int audioBitsPerSample( int stream ) = 0; 101 virtual int audioBitsPerSample( int stream ) = 0;
102#endif
97}; 103};
@@ -108,2 +114,9 @@ struct MediaPlayerPluginInterface : public QUnknownInterface
108 114
115#ifdef IID_OpiePlayerPlugin
116struct OpiePlayerPluginInterface : public QUnknownInterface
117{
118 virtual MediaPlayerDecoder *decoder() = 0;
119 virtual MediaPlayerEncoder *encoder() = 0;
120};
121#endif
109 122
diff --git a/core/multimedia/opieplayer/mediaplayerstate.cpp b/core/multimedia/opieplayer/mediaplayerstate.cpp
index 13741f6..a960c49 100644
--- a/core/multimedia/opieplayer/mediaplayerstate.cpp
+++ b/core/multimedia/opieplayer/mediaplayerstate.cpp
@@ -25,3 +25,3 @@
25#include <qdir.h> 25#include <qdir.h>
26#include "mediaplayerplugininterface.h" 26#include <qpe/mediaplayerplugininterface.h>
27#include "mediaplayerstate.h" 27#include "mediaplayerstate.h"
@@ -29,2 +29,3 @@
29 29
30
30#ifdef QT_NO_COMPONENT 31#ifdef QT_NO_COMPONENT
@@ -62,2 +63,3 @@ void MediaPlayerState::readConfig( Config& cfg ) {
62 usePlaylist = cfg.readBoolEntry( "UsePlayList" ); 63 usePlaylist = cfg.readBoolEntry( "UsePlayList" );
64 usePlaylist = TRUE;
63 isPlaying = FALSE; 65 isPlaying = FALSE;
@@ -123,3 +125,3 @@ MediaPlayerDecoder *MediaPlayerState::libMpeg3Decoder() {
123void MediaPlayerState::loadPlugins() { 125void MediaPlayerState::loadPlugins() {
124 126 qDebug("load plugins");
125#ifndef QT_NO_COMPONENT 127#ifndef QT_NO_COMPONENT
@@ -140,4 +142,3 @@ void MediaPlayerState::loadPlugins() {
140 QLibrary *lib = new QLibrary( path + "/" + *it ); 142 QLibrary *lib = new QLibrary( path + "/" + *it );
141 143// qDebug( "querying: %s", QString( path + "/" + *it ).latin1() );
142 MediaPlayerDebug(( "querying: %s", QString( path + "/" + *it ).latin1() ));
143 144
@@ -145,3 +146,3 @@ void MediaPlayerState::loadPlugins() {
145 146
146 MediaPlayerDebug(( "loading: %s", QString( path + "/" + *it ).latin1() )); 147// qDebug( "loading: %s", QString( path + "/" + *it ).latin1() );
147 148
diff --git a/core/multimedia/opieplayer/mediaplayerstate.h b/core/multimedia/opieplayer/mediaplayerstate.h
index e82c263..ad273f1 100644
--- a/core/multimedia/opieplayer/mediaplayerstate.h
+++ b/core/multimedia/opieplayer/mediaplayerstate.h
@@ -1,5 +1,5 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of the Qtopia Environment. 4** This file is part of Qtopia Environment.
5** 5**
@@ -22,2 +22,3 @@
22 22
23
23#include <qobject.h> 24#include <qobject.h>
@@ -35,12 +36,13 @@ public:
35 36
36 bool fullscreen() { return isFullscreen; } 37
37 bool scaled() { return isScaled; } 38 bool fullscreen() { return isFullscreen; }
38 bool looping() { return isLooping; } 39 bool scaled() { return isScaled; }
39 bool shuffled() { return isShuffled; } 40 bool looping() { return isLooping; }
40 bool playlist() { return usePlaylist; } 41 bool shuffled() { return isShuffled; }
41 bool paused() { return isPaused; } 42 bool playlist() { return usePlaylist; }
42 bool playing() { return isPlaying; } 43 bool paused() { return isPaused; }
43 long position() { return curPosition; } 44 bool playing() { return isPlaying; }
44 long length() { return curLength; } 45 long position() { return curPosition; }
45 char view() { return curView; } 46 long length() { return curLength; }
47 char view() { return curView; }
46 48
@@ -49,3 +51,3 @@ public:
49 MediaPlayerDecoder *libMpeg3Decoder(); // ### Yucky hack needed to use libmpeg3plugin to get the 51 MediaPlayerDecoder *libMpeg3Decoder(); // ### Yucky hack needed to use libmpeg3plugin to get the
50 // number of audio samples if we are using the libmad plugin 52 // number of audio samples if we are using the libmad plugin
51public slots: 53public slots:
@@ -56,22 +58,22 @@ public slots:
56 void setPlaylist( bool b ) { if ( usePlaylist == b ) return; usePlaylist = b; emit playlistToggled(b); } 58 void setPlaylist( bool b ) { if ( usePlaylist == b ) return; usePlaylist = b; emit playlistToggled(b); }
57 void setPaused( bool b ) { if ( isPaused == b ) return; isPaused = b; emit pausedToggled(b); } 59 void setPaused( bool b ) { if ( isPaused == b ) return; isPaused = b; emit pausedToggled(b); }
58 void setPlaying( bool b ) { if ( isPlaying == b ) return; isPlaying = b; emit playingToggled(b); } 60 void setPlaying( bool b ) { if ( isPlaying == b ) return; isPlaying = b; emit playingToggled(b); }
59 void setPosition( long p ) { if ( curPosition == p ) return; curPosition = p; emit positionChanged(p); } 61 void setPosition( long p ) { if ( curPosition == p ) return; curPosition = p; emit positionChanged(p); }
60 void updatePosition( long p ){ if ( curPosition == p ) return; curPosition = p; emit positionUpdated(p); } 62 void updatePosition( long p ){ if ( curPosition == p ) return; curPosition = p; emit positionUpdated(p); }
61 void setLength( long l ) { if ( curLength == l ) return; curLength = l; emit lengthChanged(l); } 63 void setLength( long l ) { if ( curLength == l ) return; curLength = l; emit lengthChanged(l); }
62 void setView( char v ) { if ( curView == v ) return; curView = v; emit viewChanged(v); } 64 void setView( char v ) { if ( curView == v ) return; curView = v; emit viewChanged(v); }
63 65
64 void setPrev() { emit prev(); } 66 void setPrev() { emit prev(); }
65 void setNext() { emit next(); } 67 void setNext() { emit next(); }
66 void setList() { setPlaying( FALSE ); setView('l'); } 68 void setList() { setPlaying( FALSE ); setView('l'); }
67 void setVideo() { setView('v'); } 69 void setVideo() { setView('v'); }
68 void setAudio() { setView('a'); } 70 void setAudio() { setView('a'); }
69 71
70 void toggleFullscreen() { setFullscreen( !isFullscreen ); } 72 void toggleFullscreen() { setFullscreen( !isFullscreen ); }
71 void toggleScaled() { setScaled( !isScaled); } 73 void toggleScaled() { setScaled( !isScaled); }
72 void toggleLooping() { setLooping( !isLooping); } 74 void toggleLooping() { setLooping( !isLooping); }
73 void toggleShuffled() { setShuffled( !isShuffled); } 75 void toggleShuffled() { setShuffled( !isShuffled); }
74 void togglePlaylist() { setPlaylist( !usePlaylist); } 76 void togglePlaylist() { setPlaylist( !usePlaylist); }
75 void togglePaused() { setPaused( !isPaused); } 77 void togglePaused() { setPaused( !isPaused); }
76 void togglePlaying() { setPlaying( !isPlaying); } 78 void togglePlaying() { setPlaying( !isPlaying); }
77 79
@@ -107,2 +109,3 @@ private:
107 MediaPlayerDecoder *libmpeg3decoder; 109 MediaPlayerDecoder *libmpeg3decoder;
110// MediaPlayerDecoder *libwavdecoder;
108 111
diff --git a/core/multimedia/opieplayer/mpegplayer.pro b/core/multimedia/opieplayer/mpegplayer.pro
index 41f2de0..5bea541 100644
--- a/core/multimedia/opieplayer/mpegplayer.pro
+++ b/core/multimedia/opieplayer/mpegplayer.pro
@@ -5,6 +5,6 @@ DESTDIR = $(OPIEDIR)/bin
5HEADERS = loopcontrol.h mediaplayerplugininterface.h playlistselection.h mediaplayerstate.h \ 5HEADERS = loopcontrol.h mediaplayerplugininterface.h playlistselection.h mediaplayerstate.h \
6 videowidget.h audiowidget.h playlistwidget.h mediaplayer.h audiodevice.h 6 videowidget.h audiowidget.h playlistwidget.h mediaplayer.h audiodevice.h inputDialog.h
7SOURCES = main.cpp \ 7SOURCES = main.cpp \
8 loopcontrol.cpp playlistselection.cpp mediaplayerstate.cpp \ 8 loopcontrol.cpp playlistselection.cpp mediaplayerstate.cpp \
9 videowidget.cpp audiowidget.cpp playlistwidget.cpp mediaplayer.cpp audiodevice.cpp 9 videowidget.cpp audiowidget.cpp playlistwidget.cpp mediaplayer.cpp audiodevice.cpp inputDialog.cpp
10TARGET = mpegplayer 10TARGET = mpegplayer
@@ -21,2 +21,5 @@ LIBS += -lqpe -lpthread
21 21
22INCLUDEPATH += $(OPIEDIR)/include
23DEPENDPATH += $(OPIEDIR)/include
24
22TRANSLATIONS = ../i18n/de/mpegplayer.ts 25TRANSLATIONS = ../i18n/de/mpegplayer.ts
diff --git a/core/multimedia/opieplayer/playlistselection.cpp b/core/multimedia/opieplayer/playlistselection.cpp
index 2c62e86..d70df51 100644
--- a/core/multimedia/opieplayer/playlistselection.cpp
+++ b/core/multimedia/opieplayer/playlistselection.cpp
@@ -57,5 +57,5 @@ PlayListSelection::PlayListSelection( QWidget *parent, const char *name )
57// #endif 57// #endif
58 addColumn("Title",236); 58// addColumn("Title",236);
59 setAllColumnsShowFocus( TRUE ); 59// setAllColumnsShowFocus( TRUE );
60 addColumn( tr( "Playlist Selection" ) ); 60 addColumn( tr( "Playlist Selection" ) );
61 header()->hide(); 61 header()->hide();
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp
index 202f351..7862d8d 100644
--- a/core/multimedia/opieplayer/playlistwidget.cpp
+++ b/core/multimedia/opieplayer/playlistwidget.cpp
@@ -19,2 +19,3 @@
19**********************************************************************/ 19**********************************************************************/
20// code added by L. J. Potter Sat 03-02-2002 06:17:54
20 21
@@ -42,2 +43,5 @@
42#include <qpoint.h> 43#include <qpoint.h>
44#include <qlineedit.h>
45#include <qpushbutton.h>
46
43//#include <qtimer.h> 47//#include <qtimer.h>
@@ -48,2 +52,5 @@
48 52
53#include "fileBrowser.h"
54#include "inputDialog.h"
55
49#include <stdlib.h> 56#include <stdlib.h>
@@ -121,7 +128,21 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
121 bar->setLabel( tr( "Play Operations" ) ); 128 bar->setLabel( tr( "Play Operations" ) );
122 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ),"mpegplayer/add_to_playlist",this , SLOT(addSelected()) ); 129// d->tbPlayCurList = new ToolButton( bar, tr( "play List" ), "mpegplayer/play_current_list",
123 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "mpegplayer/remove_from_playlist", this , SLOT(removeSelected()) ); 130// this , SLOT( addSelected()) );
124 d->tbPlay = new ToolButton( bar, tr( "Play" ),"mpegplayer/play", mediaPlayerState, SLOT( setPlaying(bool)), TRUE ); 131 tbDeletePlaylist = new QPushButton( Resource::loadIconSet("close"),"",bar,"close");
125 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ), "mpegplayer/shuffle", mediaPlayerState, SLOT(setShuffled(bool)), TRUE ); 132 tbDeletePlaylist->setFlat(TRUE);
126 d->tbLoop = new ToolButton( bar, tr( "Loop" ),"mpegplayer/loop", mediaPlayerState, SLOT(setLooping(bool)), TRUE ); 133 tbDeletePlaylist->setFixedSize(20,20);
134 connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist()));
135
136 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "mpegplayer/add_to_playlist",
137 this , SLOT(addSelected()) );
138 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "mpegplayer/remove_from_playlist",
139 this , SLOT(removeSelected()) );
140// d->tbPlay = new ToolButton( bar, tr( "Play" ), "mpegplayer/play", /*this */mediaPlayerState , SLOT(setPlaying(bool) /* btnPlay() */), TRUE );
141 d->tbPlay = new ToolButton( bar, tr( "Play" ), "mpegplayer/play",
142 this , SLOT( btnPlay(bool) ), TRUE );
143 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"mpegplayer/shuffle",
144 mediaPlayerState, SLOT(setShuffled(bool)), TRUE );
145 d->tbLoop = new ToolButton( bar, tr( "Loop" ),"mpegplayer/loop",
146 mediaPlayerState, SLOT(setLooping(bool)), TRUE );
147 tbDeletePlaylist->hide();
127 148
@@ -134,3 +155,3 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
134 new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) ); 155 new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) );
135 new MenuItem( pmPlayList, tr( "Load PlayList" ), this, SLOT( loadList() ) ); 156 // new MenuItem( pmPlayList, tr( "Load PlayList" ), this, SLOT( loadList() ) );
136 157
@@ -153,3 +174,3 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
153 tabWidget->setTabShape(QTabWidget::Triangular); 174 tabWidget->setTabShape(QTabWidget::Triangular);
154 175
155 QWidget *pTab; 176 QWidget *pTab;
@@ -230,31 +251,35 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
230 } 251 }
231 // add the library area
232 QPEApplication::setStylusOperation( this, QPEApplication::RightOnHold );
233 252
234// connect( audioView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); 253//playlists list
235// connect( videoView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); 254 QWidget *LTab;
255 LTab = new QWidget( tabWidget, "LTab" );
256 playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy
257 playLists->setMinimumSize(233,260);;
258 tabWidget->insertTab(LTab,"Lists");
259 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) );
260// connect( playLists, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
236 261
237 connect( audioView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
238 connect( videoView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
239 262
240 connect( audioView, SIGNAL( rightButtonPressed( QListViewItem *, const QPoint&, int ) ), 263// add the library area
241 this, SLOT( addToSelection( QListViewItem *, const QPoint&, int )) ); 264 QPEApplication::setStylusOperation( this, QPEApplication::RightOnHold );
242 connect( videoView, SIGNAL( rightButtonPressed( QListViewItem *, const QPoint&, int ) ),
243 this, SLOT( addToSelection( QListViewItem *, const QPoint&, int )) );
244 265
245 266
246 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*))); 267 connect( audioView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)),
247 // connect( d->files, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) ); 268 this, SLOT( fauxPlay( QListViewItem *) ) );
248 // connect( d->files, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) ); 269 connect( videoView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)),
249 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) ); 270 this, SLOT( fauxPlay( QListViewItem *)) );
250 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) );
251 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) );
252 271
253// connect( mediaPlayerState, SIGNAL( fullscreenToggled( bool ) ), fullScreenButton, SLOT( setOn( bool ) ) ); 272// connect( audioView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) );
254// connect( mediaPlayerState, SIGNAL( scaledToggled( bool ) ), scaleButton, SLOT( setEnabled( bool ) ) ); 273// connect( videoView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) );
255// connect( mediaPlayerState, SIGNAL( fullscreenToggled( bool ) ), fullScreenButton, SLOT( setEnabled( bool ) ) );
256 274
257 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) ); 275 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
276 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
258 277
259 connect( d->selectedFiles, SIGNAL( clicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); 278 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*)));
279 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) );
280 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) );
281 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) );
282 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) );
283
284 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) );
260// connect( d->selectedFiles, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) ); 285// connect( d->selectedFiles, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) );
@@ -289,2 +314,5 @@ void PlayListWidget::initializeStates() {
289// setPlaylist( mediaPlayerState->playlist() ); 314// setPlaylist( mediaPlayerState->playlist() );
315 setPlaylist( true);
316 d->selectedFiles->first();
317
290} 318}
@@ -298,9 +326,8 @@ void PlayListWidget::readConfig( Config& cfg ) {
298 for ( int i = 0; i < noOfFiles; i++ ) { 326 for ( int i = 0; i < noOfFiles; i++ ) {
299 QString entryName; 327 QString entryName;
300 entryName.sprintf( "File%i", i + 1 ); 328 entryName.sprintf( "File%i", i + 1 );
301 QString linkFile = cfg.readEntry( entryName ); 329 QString linkFile = cfg.readEntry( entryName );
302 DocLnk lnk( linkFile ); 330 DocLnk lnk( linkFile );
303 if ( lnk.isValid() ) 331 if ( lnk.isValid() )
304 d->selectedFiles->addToSelection( lnk ); 332 d->selectedFiles->addToSelection( lnk );
305
306 } 333 }
@@ -336,3 +363,3 @@ void PlayListWidget::writeConfig( Config& cfg ) const {
336 } 363 }
337 noOfFiles++; 364 noOfFiles++;
338 } 365 }
@@ -341,2 +368,4 @@ void PlayListWidget::writeConfig( Config& cfg ) const {
341 cfg.writeEntry("NumberOfFiles", noOfFiles ); 368 cfg.writeEntry("NumberOfFiles", noOfFiles );
369
370
342} 371}
@@ -345,3 +374,4 @@ void PlayListWidget::writeConfig( Config& cfg ) const {
345void PlayListWidget::addToSelection( const DocLnk& lnk ) { 374void PlayListWidget::addToSelection( const DocLnk& lnk ) {
346 d->setDocumentUsed = FALSE; 375 qDebug("add");
376 d->setDocumentUsed = FALSE;
347 if ( mediaPlayerState->playlist() ) 377 if ( mediaPlayerState->playlist() )
@@ -353,12 +383,2 @@ void PlayListWidget::addToSelection( const DocLnk& lnk ) {
353 383
354void PlayListWidget::addToSelection( QListViewItem *it ,const QPoint & p, int index) {
355 qDebug("add");
356// d->selectedFiles->addToSelection( lnk );
357 // }
358// else
359// mediaPlayerState->setPlaying( TRUE );
360//
361}
362
363
364void PlayListWidget::clearList() { 384void PlayListWidget::clearList() {
@@ -398,12 +418,12 @@ void PlayListWidget::setDocument(const QString& fileref) {
398 if ( fileref.isNull() ) { 418 if ( fileref.isNull() ) {
399 QMessageBox::critical( 0, tr( "Invalid File" ), tr( "There was a problem in getting the file." ) ); 419 QMessageBox::critical( 0, tr( "Invalid File" ), tr( "There was a problem in getting the file." ) );
400 return; 420 return;
401 } 421 }
402 if ( mediaPlayerState->playlist() ) 422 if ( mediaPlayerState->playlist() )
403 addToSelection( DocLnk( fileref ) ); 423 addToSelection( DocLnk( fileref ) );
404 else { 424 else {
405 d->setDocumentUsed = TRUE; 425 d->setDocumentUsed = TRUE;
406 if ( d->current ) 426 if ( d->current )
407 delete d->current; 427 delete d->current;
408 d->current = new DocLnk( fileref ); 428 d->current = new DocLnk( fileref );
409 } 429 }
@@ -428,8 +448,12 @@ void PlayListWidget::useSelectedDocument() {
428const DocLnk *PlayListWidget::current() { 448const DocLnk *PlayListWidget::current() {
429 if ( mediaPlayerState->playlist() ) 449
430 return d->selectedFiles->current(); 450// qDebug("in Playlist widget ::current");
451 if ( mediaPlayerState->playlist() ) {
452 return d->selectedFiles->current();
453 }
431 else if ( d->setDocumentUsed && d->current ) { 454 else if ( d->setDocumentUsed && d->current ) {
432 return d->current; 455 return d->current;
433 } else 456 } else {
434 return d->files->selected(); 457 return d->files->selected();
458 }
435} 459}
@@ -503,7 +527,34 @@ bool PlayListWidget::last() {
503void PlayListWidget::saveList() { 527void PlayListWidget::saveList() {
528
504 QString filename; 529 QString filename;
505// pseudo code 530 InputDialog *fileDlg;
506// filename = QLineEdit->getText(); 531 fileDlg=new InputDialog(this,"Save Playlist",TRUE, 0);
507 Config cfg( filename + ".playlist" ); 532 fileDlg->exec();
508 writeConfig( cfg ); 533 if( fileDlg->result() == 1 ) {
534 filename = fileDlg->LineEdit1->text();//+".playlist";
535 qDebug("saving playlist "+filename+".playlist");
536
537// DocLnk *lnk;
538// lnk.setName( filename); //sets file name
539// // lnk.setComment(title);
540// lnk.setFile( filename+".playlist"); //sets File property
541// lnk.setType("player/plain");// hey is this a REGISTERED mime type?!?!? ;D
542// lnk.setIcon("MPEGPlayer");
543// if(!lnk.writeLink())
544// qDebug("Writing doclink did not work");
545
546 Config cfg( filename +".playlist");
547 writeConfig( cfg );
548 }
549 DocLnk lnk;
550 lnk.setName( filename); //sets file name
551// lnk.setComment(title);
552 lnk.setFile(QPEApplication::qpeDir()+"Settings/"+filename+".playlist.conf"); //sets File property
553 lnk.setType("playlist/plain");// hey is this a REGISTERED mime type?!?!? ;D
554 lnk.setIcon("MPEGPlayer");
555 if(!lnk.writeLink())
556 qDebug("Writing doclink did not work");
557
558 if(fileDlg)
559 delete fileDlg;
509} 560}
@@ -511,8 +562,9 @@ void PlayListWidget::saveList() {
511 562
512void PlayListWidget::loadList() { 563void PlayListWidget::loadList( const DocLnk & lnk) {
513 QString filename; 564
514// pseudo code 565 clearList();
515// filename = FileSelector->openFile( "*.playlist" ); 566 Config cfg( lnk.file());
516 Config cfg( filename + ".playlist" ); 567 readConfig(cfg);
517 readConfig( cfg ); 568 tabWidget->setCurrentPage(0);
569 setCaption("OpiePlayer: "+lnk.name());
518} 570}
@@ -536,16 +588,15 @@ void PlayListWidget::setView( char view ) {
536void PlayListWidget::addSelected() { 588void PlayListWidget::addSelected() {
537// QMessageBox::message("Note","Bozo the clown thinks\nthere's something actually here"); 589
538 int tabPage=tabWidget->currentPageIndex(); 590 switch (tabWidget->currentPageIndex()) {
539 switch (tabPage) { 591 case 0: //playlist
540 case 0: //playlist
541 break; 592 break;
542 case 1: { //audio 593 case 1: { //audio
543 addToSelection( audioView->selectedItem() ); 594 addToSelection( audioView->selectedItem() );
544 } 595 }
545 break; 596 break;
546 case 2: { // video 597 case 2: { // video
547 addToSelection( videoView->selectedItem() ); 598 addToSelection( videoView->selectedItem() );
548 } 599 }
549 break; 600 break;
550 }; 601 };
551} 602}
@@ -559,3 +610,3 @@ void PlayListWidget::playIt( QListViewItem *it) {
559// d->setDocumentUsed = FALSE; 610// d->setDocumentUsed = FALSE;
560 mediaPlayerState->setPlaying(true); 611 mediaPlayerState->setPlaying(TRUE);
561} 612}
@@ -563,11 +614,85 @@ void PlayListWidget::playIt( QListViewItem *it) {
563void PlayListWidget::addToSelection( QListViewItem *it) { 614void PlayListWidget::addToSelection( QListViewItem *it) {
564 d->setDocumentUsed = FALSE; 615 d->setDocumentUsed = FALSE;
565 616
566 if(it) { 617 if(it) {
567 qDebug("add to selection"); 618// qDebug("add to selection");
568 int tabPage=tabWidget->currentPageIndex(); 619 switch (tabWidget->currentPageIndex()) {
569 switch (tabPage) { 620 case 1: {
570 case 1: { 621// qDebug("case 1");
622 QListIterator<DocLnk> dit( files.children() );
623 for ( ; dit.current(); ++dit ) {
624// qDebug(dit.current()->name());
625 if( dit.current()->name() == it->text(0)) {
626 d->selectedFiles->addToSelection( **dit );
627 }
628 }
629 }
630 break;
631 case 2: {
632// qDebug("case 2");
633 QListIterator<DocLnk> dit( vFiles.children() );
634 for ( ; dit.current(); ++dit ) {
635// qDebug(dit.current()->name());
636 if( dit.current()->name() == it->text(0)) {
637 d->selectedFiles->addToSelection( **dit );
638 }
639 }
640 }
641 break;
642 case 0:
643 break;
644 };
645 tabWidget->setCurrentPage(0);
646// mediaPlayerState->setPlaying( TRUE );
647 }
648}
649
650void PlayListWidget::tabChanged(QWidget *widg) {
651
652 switch ( tabWidget->currentPageIndex()) {
653 case 0:
654 {
655 if( !tbDeletePlaylist->isHidden())
656 tbDeletePlaylist->hide();
657 d->tbRemoveFromList->setEnabled(TRUE);
658 d->tbAddToList->setEnabled(FALSE);
659 }
660 break;
661 case 1:
662 {
663 if( !tbDeletePlaylist->isHidden())
664 tbDeletePlaylist->hide();
665 d->tbRemoveFromList->setEnabled(FALSE);
666 d->tbAddToList->setEnabled(TRUE);
667 }
668 break;
669 case 2:
670 {
671 if( !tbDeletePlaylist->isHidden())
672 tbDeletePlaylist->hide();
673 d->tbRemoveFromList->setEnabled(FALSE);
674 d->tbAddToList->setEnabled(TRUE);
675 }
676 break;
677 case 3:
678 {
679 if( tbDeletePlaylist->isHidden())
680 tbDeletePlaylist->show();
681 playLists->reread();
682 }
683 break;
684 };
685}
686
687/*
688 list is right clicked*/
689void PlayListWidget::fauxPlay(QListViewItem *it) {
690
691 switch (tabWidget->currentPageIndex()) {
692 case 0: //playlist
693 break;
694 case 1: { //audio
571 QListIterator<DocLnk> dit( files.children() ); 695 QListIterator<DocLnk> dit( files.children() );
572 for ( ; dit.current(); ++dit ) { 696 for ( ; dit.current(); ++dit ) {
697// qDebug(dit.current()->name());
573 if( dit.current()->name() == it->text(0)) { 698 if( dit.current()->name() == it->text(0)) {
@@ -576,8 +701,8 @@ void PlayListWidget::addToSelection( QListViewItem *it) {
576 } 701 }
577 } 702 }
578 break; 703 break;
579 case 2: { 704 case 2: { // video
580 QListIterator<DocLnk> dit( vFiles.children() ); 705 QListIterator<DocLnk> dit( vFiles.children() );
581 for ( ; dit.current(); ++dit ) { 706 for ( ; dit.current(); ++dit ) {
582 qDebug(dit.current()->name()); 707// qDebug(dit.current()->name());
583 if( dit.current()->name() == it->text(0)) { 708 if( dit.current()->name() == it->text(0)) {
@@ -588,62 +713,50 @@ void PlayListWidget::addToSelection( QListViewItem *it) {
588 break; 713 break;
589 case 0:
590 break;
591 }; 714 };
592 tabWidget->setCurrentPage(0); 715 mediaPlayerState->setPlaying( TRUE );
593// mediaPlayerState->setPlaying( TRUE ); 716// tabWidget->setCurrentPage(0);
594 } 717 d->selectedFiles->removeSelected();
595} 718}
596 719
597void PlayListWidget::tabChanged(QWidget *widg) { 720/*
598 721 play button is pressed*/
599 int tabPage=tabWidget->currentPageIndex(); 722void PlayListWidget::btnPlay(bool b) { // this is fugly
600 switch (tabPage) { 723 switch ( tabWidget->currentPageIndex()) {
601 case 0: 724 case 0:
602 { 725 {
603 d->tbRemoveFromList->setEnabled(TRUE); 726 mediaPlayerState->setPlaying(b);
604 d->tbAddToList->setEnabled(FALSE);
605 } 727 }
606 break; 728 break;
607 case 1: 729 case 1:
608 { 730 {
609 d->tbRemoveFromList->setEnabled(FALSE); 731 addToSelection( audioView->selectedItem() );
610 d->tbAddToList->setEnabled(TRUE); 732 mediaPlayerState->setPlaying(b);
611 } 733 d->selectedFiles->removeSelected( );
612 break; 734 tabWidget->setCurrentPage(1);
613 case 2: 735 }
614 { 736 break;
615 d->tbRemoveFromList->setEnabled(FALSE); 737 case 2:
616 d->tbAddToList->setEnabled(TRUE); 738 {
617 } 739 addToSelection( videoView->selectedItem() );
618 break; 740 mediaPlayerState->setPlaying(b);
619 }; 741 d->selectedFiles->removeSelected( );
620} 742 tabWidget->setCurrentPage(2);
621 743 }
622// void PlayListWidget::cancelMenuTimer() { 744 break;
623// if( menuTimer->isActive() ) 745 };
624// menuTimer->stop();
625// }
626
627// void PlayListWidget::showFileMenu() {
628
629// }
630
631// void PlayListWidget::contentsMousePressEvent( QMouseEvent * e )
632// {
633// // QListView::contentsMousePressEvent( e );
634// menuTimer->start( 750, TRUE );
635// }
636 746
747}
637 748
638// void PlayListWidget::contentsMouseReleaseEvent( QMouseEvent * e ) 749void PlayListWidget::deletePlaylist() {
639// { 750 switch( QMessageBox::information( this, (tr("Remove Playlist?")),
640// // QListView::contentsMouseReleaseEvent( e ); 751 (tr("You really want to delete\nthis playlist?")),
641// menuTimer->stop(); 752 (tr("Yes")), (tr("No")), 0 )){
642// } 753 case 0: // Yes clicked,
643// // void PlayListWidget::setFullScreen() { 754 QFile().remove(playLists->selected()->file());
644// mediaPlayerState->toggleFullscreen( ); 755 QFile().remove(playLists->selected()->linkFile());
645// } 756 playLists->reread();
757 break;
758 case 1: // Cancel
759 break;
760 };
646 761
647// void PlayListWidget::setScaled() { 762}
648// mediaPlayerState->toggleScaled();
649// }
diff --git a/core/multimedia/opieplayer/playlistwidget.h b/core/multimedia/opieplayer/playlistwidget.h
index 5b05f11..46272a0 100644
--- a/core/multimedia/opieplayer/playlistwidget.h
+++ b/core/multimedia/opieplayer/playlistwidget.h
@@ -25,2 +25,5 @@
25#include <qtabwidget.h> 25#include <qtabwidget.h>
26#include <fileselector.h>
27#include <qpushbutton.h>
28
26/* #include <qtimer.h> */ 29/* #include <qtimer.h> */
@@ -51,3 +54,4 @@ public:
51/* QTimer * menuTimer; */ 54/* QTimer * menuTimer; */
52 55 FileSelector* playLists;
56 QPushButton *tbDeletePlaylist;
53public slots: 57public slots:
@@ -56,3 +60,2 @@ public slots:
56 void addToSelection( QListViewItem* ); // Add a media file to the playlist 60 void addToSelection( QListViewItem* ); // Add a media file to the playlist
57 void addToSelection( QListViewItem*, const QPoint&,int ); // Add a media file to the playlist
58 void setActiveWindow(); // need to handle this to show the right view 61 void setActiveWindow(); // need to handle this to show the right view
@@ -65,4 +68,7 @@ public slots:
65 void saveList(); // Save the playlist 68 void saveList(); // Save the playlist
66 void loadList(); // Load a playlist 69 void loadList( const DocLnk &); // Load a playlist
67 void playIt( QListViewItem *); 70 void playIt( QListViewItem *);
71 void fauxPlay(QListViewItem *);
72 void btnPlay(bool);
73 void deletePlaylist();
68 bool first(); 74 bool first();
diff --git a/core/multimedia/opieplayer/videowidget.cpp b/core/multimedia/opieplayer/videowidget.cpp
index 1f128a4..be838c4 100644
--- a/core/multimedia/opieplayer/videowidget.cpp
+++ b/core/multimedia/opieplayer/videowidget.cpp
@@ -20,3 +20,3 @@
20#include <qpe/resource.h> 20#include <qpe/resource.h>
21#include "mediaplayerplugininterface.h" 21#include <qpe/mediaplayerplugininterface.h>
22#include <qwidget.h> 22#include <qwidget.h>
diff --git a/core/multimedia/opieplayer/wavplugin/wavplugin.cpp b/core/multimedia/opieplayer/wavplugin/wavplugin.cpp
index 7ac63c0..4a0da16 100644
--- a/core/multimedia/opieplayer/wavplugin/wavplugin.cpp
+++ b/core/multimedia/opieplayer/wavplugin/wavplugin.cpp
@@ -72,3 +72,3 @@ public:
72 72
73 // expands out samples to the frequency of 44kHz 73 // expands out samples to the frequency of 44kHz //not any more
74 bool add( short *output, long count, long& done, bool stereo ) 74 bool add( short *output, long count, long& done, bool stereo )
@@ -90,2 +90,4 @@ public:
90 samples_due += chunkdata.samplesPerSec; 90 samples_due += chunkdata.samplesPerSec;
91 printf("samples due %d\r", samples_due);
92 fflush(stdout);
91 while ( count && (samples_due > chunkdata.samplesPerSec) ) { 93 while ( count && (samples_due > chunkdata.samplesPerSec) ) {
@@ -330,10 +332,10 @@ bool WavPlugin::audioReadSamples( short *output, int channels, long samples, lon
330double WavPlugin::getTime() { 332double WavPlugin::getTime() {
331// qDebug( "WavPlugin::getTime" ); 333// qDebug( "WavPlugin::getTime" ); //this is a stupid hack here!!
332 return 0.0; 334 return d->chunkdata.wBitsPerSample; /*0.0*/;
333} 335}
334 336
335int WavPlugin::audioBitsPerSample( int ) { 337// int WavPlugin::audioBitsPerSample( int ) {
336// qDebug( "WavPlugin::audioFormat %d", d->chunkdata.wBitsPerSample ); 338// // qDebug( "WavPlugin::audioFormat %d", d->chunkdata.wBitsPerSample );
337 return d->chunkdata.wBitsPerSample; // 339// return d->chunkdata.wBitsPerSample; //
338} 340// }
339 341
diff --git a/core/multimedia/opieplayer/wavplugin/wavplugin.h b/core/multimedia/opieplayer/wavplugin/wavplugin.h
index 6ae6e06..1c8ba14 100644
--- a/core/multimedia/opieplayer/wavplugin/wavplugin.h
+++ b/core/multimedia/opieplayer/wavplugin/wavplugin.h
@@ -26,3 +26,4 @@
26#include <qapplication.h> 26#include <qapplication.h>
27#include "../mediaplayerplugininterface.h" 27/* #include "../mediaplayerplugininterface.h" */
28#include <qpe/mediaplayerplugininterface.h>
28 29
@@ -55,3 +56,3 @@ public:
55 int audioFrequency( int stream ); 56 int audioFrequency( int stream );
56 int audioBitsPerSample( int stream ); 57/* int audioBitsPerSample( int stream ); */
57 int audioSamples( int stream ); 58 int audioSamples( int stream );
diff --git a/core/multimedia/opieplayer/wavplugin/wavpluginimpl.cpp b/core/multimedia/opieplayer/wavplugin/wavpluginimpl.cpp
index 2923180..c232d7b 100644
--- a/core/multimedia/opieplayer/wavplugin/wavpluginimpl.cpp
+++ b/core/multimedia/opieplayer/wavplugin/wavpluginimpl.cpp
@@ -31,3 +31,3 @@ WavPluginImpl::~WavPluginImpl()
31 if ( libmadplugin ) 31 if ( libmadplugin )
32 delete libmadplugin; 32 delete libmadplugin;
33} 33}
@@ -38,3 +38,3 @@ MediaPlayerDecoder *WavPluginImpl::decoder()
38 if ( !libmadplugin ) 38 if ( !libmadplugin )
39 libmadplugin = new WavPlugin; 39 libmadplugin = new WavPlugin;
40 return libmadplugin; 40 return libmadplugin;
@@ -55,4 +55,4 @@ QRESULT WavPluginImpl::queryInterface( const QUuid &uuid, QUnknownInterface **if
55 *iface = 0; 55 *iface = 0;
56 if ( ( uuid == IID_QUnknown ) || ( uuid == IID_MediaPlayerPlugin ) ) 56 if ( ( uuid == IID_QUnknown ) || ( uuid == IID_MediaPlayerPlugin ) )
57 *iface = this, (*iface)->addRef(); 57 *iface = this, (*iface)->addRef();
58 return QS_OK; 58 return QS_OK;
diff --git a/core/multimedia/opieplayer/wavplugin/wavpluginimpl.h b/core/multimedia/opieplayer/wavplugin/wavpluginimpl.h
index 10f9305..fb1fa73 100644
--- a/core/multimedia/opieplayer/wavplugin/wavpluginimpl.h
+++ b/core/multimedia/opieplayer/wavplugin/wavpluginimpl.h
@@ -22,3 +22,4 @@
22 22
23#include "../mediaplayerplugininterface.h" 23
24/* #include "../mediaplayerplugininterface.h" */
24 25