summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2
authorsimon <simon>2002-12-02 20:09:10 (UTC)
committer simon <simon>2002-12-02 20:09:10 (UTC)
commite1ef407b16b652755f9c8eefce0f617ec3996998 (patch) (unidiff)
tree6db64108908f1eee41955caa0e9d7f1d7878e5a8 /noncore/multimedia/opieplayer2
parentacfbc79f2acf59fa5e4494dde4ea1c4ea5e429b7 (diff)
downloadopie-e1ef407b16b652755f9c8eefce0f617ec3996998.zip
opie-e1ef407b16b652755f9c8eefce0f617ec3996998.tar.gz
opie-e1ef407b16b652755f9c8eefce0f617ec3996998.tar.bz2
- MediaPlayer no more uses the MediaPlayerState instance as singleton
Diffstat (limited to 'noncore/multimedia/opieplayer2') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/main.cpp2
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp55
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.h4
3 files changed, 31 insertions, 30 deletions
diff --git a/noncore/multimedia/opieplayer2/main.cpp b/noncore/multimedia/opieplayer2/main.cpp
index e951554..24aba6c 100644
--- a/noncore/multimedia/opieplayer2/main.cpp
+++ b/noncore/multimedia/opieplayer2/main.cpp
@@ -21,13 +21,13 @@ int main(int argc, char **argv) {
21 pl.showMaximized(); 21 pl.showMaximized();
22 AudioWidget aw( 0, "audioUI" ); 22 AudioWidget aw( 0, "audioUI" );
23 audioUI = &aw; 23 audioUI = &aw;
24 VideoWidget vw( 0, "videoUI" ); 24 VideoWidget vw( 0, "videoUI" );
25 videoUI = &vw; 25 videoUI = &vw;
26 a.processEvents(); 26 a.processEvents();
27 MediaPlayer mp( 0, "mediaPlayer" ); 27 MediaPlayer mp( st, 0, "mediaPlayer" );
28 28
29 a.showMainDocumentWidget(&pl); 29 a.showMainDocumentWidget(&pl);
30 30
31 return a.exec(); 31 return a.exec();
32} 32}
33 33
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index 68bbae9..424259b 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -24,34 +24,33 @@
24#include <sys/ioctl.h> 24#include <sys/ioctl.h>
25 25
26 26
27extern AudioWidget *audioUI; 27extern AudioWidget *audioUI;
28extern VideoWidget *videoUI; 28extern VideoWidget *videoUI;
29extern PlayListWidget *playList; 29extern PlayListWidget *playList;
30extern MediaPlayerState *mediaPlayerState;
31 30
32 31
33#define FBIOBLANK 0x4611 32#define FBIOBLANK 0x4611
34 33
35MediaPlayer::MediaPlayer( QObject *parent, const char *name ) 34MediaPlayer::MediaPlayer( MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name )
36 : QObject( parent, name ), volumeDirection( 0 ) { 35 : QObject( parent, name ), volumeDirection( 0 ), mediaPlayerState( _mediaPlayerState ) {
37 36
38 fd=-1;fl=-1; 37 fd=-1;fl=-1;
39 playList->setCaption( tr( "OpiePlayer: Initializating" ) ); 38 playList->setCaption( tr( "OpiePlayer: Initializating" ) );
40 39
41 qApp->processEvents(); 40 qApp->processEvents();
42 // QPEApplication::grabKeyboard(); // EVIL 41 // QPEApplication::grabKeyboard(); // EVIL
43 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 42 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
44 43
45 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) ); 44 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) );
46 45
47 connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) ); 46 connect( &mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) );
48 47
49 connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) ); 48 connect( &mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) );
50 connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) ); 49 connect( &mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) );
51 connect( mediaPlayerState, SIGNAL( blankToggled( bool ) ), this, SLOT ( blank( bool ) ) ); 50 connect( &mediaPlayerState, SIGNAL( blankToggled( bool ) ), this, SLOT ( blank( bool ) ) );
52 51
53 connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); 52 connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
54 connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); 53 connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
55 connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); 54 connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
56 connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); 55 connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
57 56
@@ -71,51 +70,51 @@ MediaPlayer::MediaPlayer( QObject *parent, const char *name )
71MediaPlayer::~MediaPlayer() { 70MediaPlayer::~MediaPlayer() {
72 delete xineControl; 71 delete xineControl;
73 delete volControl; 72 delete volControl;
74} 73}
75 74
76void MediaPlayer::pauseCheck( bool b ) { 75void MediaPlayer::pauseCheck( bool b ) {
77 if ( b && !mediaPlayerState->isPlaying() ) { 76 if ( b && !mediaPlayerState.isPlaying() ) {
78 mediaPlayerState->setPaused( FALSE ); 77 mediaPlayerState.setPaused( FALSE );
79 } 78 }
80} 79}
81 80
82void MediaPlayer::play() { 81void MediaPlayer::play() {
83 mediaPlayerState->setPlaying( FALSE ); 82 mediaPlayerState.setPlaying( FALSE );
84 mediaPlayerState->setPlaying( TRUE ); 83 mediaPlayerState.setPlaying( TRUE );
85} 84}
86 85
87void MediaPlayer::setPlaying( bool play ) { 86void MediaPlayer::setPlaying( bool play ) {
88 if ( !play ) { 87 if ( !play ) {
89 return; 88 return;
90 } 89 }
91 90
92 if ( mediaPlayerState->isPaused() ) { 91 if ( mediaPlayerState.isPaused() ) {
93 mediaPlayerState->setPaused( FALSE ); 92 mediaPlayerState.setPaused( FALSE );
94 return; 93 return;
95 } 94 }
96 95
97 QString tickerText, time, fileName; 96 QString tickerText, time, fileName;
98 if ( playList->currentTab() != PlayListWidget::CurrentPlayList ) { 97 if ( playList->currentTab() != PlayListWidget::CurrentPlayList ) {
99 //if playing in file list.. play in a different way 98 //if playing in file list.. play in a different way
100 // random and looping settings enabled causes problems here, 99 // random and looping settings enabled causes problems here,
101 // since there is no selected file in the playlist, but a selected file in the file list, 100 // since there is no selected file in the playlist, but a selected file in the file list,
102 // so we remember and shutoff 101 // so we remember and shutoff
103 l = mediaPlayerState->isLooping(); 102 l = mediaPlayerState.isLooping();
104 if(l) { 103 if(l) {
105 mediaPlayerState->setLooping( false ); 104 mediaPlayerState.setLooping( false );
106 } 105 }
107 r = mediaPlayerState->isShuffled(); 106 r = mediaPlayerState.isShuffled();
108 mediaPlayerState->setShuffled( false ); 107 mediaPlayerState.setShuffled( false );
109 } 108 }
110 109
111 PlayListWidget::Entry playListEntry = playList->currentEntry(); 110 PlayListWidget::Entry playListEntry = playList->currentEntry();
112 fileName = playListEntry.name; 111 fileName = playListEntry.name;
113 xineControl->play( playListEntry.file ); 112 xineControl->play( playListEntry.file );
114 113
115 long seconds = mediaPlayerState->length(); 114 long seconds = mediaPlayerState.length();
116 time.sprintf("%li:%02i", seconds/60, (int)seconds%60 ); 115 time.sprintf("%li:%02i", seconds/60, (int)seconds%60 );
117 116
118 if( fileName.left(4) == "http" ) { 117 if( fileName.left(4) == "http" ) {
119 fileName = QFileInfo( fileName ).baseName(); 118 fileName = QFileInfo( fileName ).baseName();
120 if ( xineControl->getMetaInfo().isEmpty() ) { 119 if ( xineControl->getMetaInfo().isEmpty() ) {
121 tickerText = tr( " File: " ) + fileName; 120 tickerText = tr( " File: " ) + fileName;
@@ -134,41 +133,41 @@ void MediaPlayer::setPlaying( bool play ) {
134 133
135 134
136void MediaPlayer::prev() { 135void MediaPlayer::prev() {
137 if( playList->currentTab() == PlayListWidget::CurrentPlayList ) { //if using the playlist 136 if( playList->currentTab() == PlayListWidget::CurrentPlayList ) { //if using the playlist
138 if ( playList->prev() ) { 137 if ( playList->prev() ) {
139 play(); 138 play();
140 } else if ( mediaPlayerState->isLooping() ) { 139 } else if ( mediaPlayerState.isLooping() ) {
141 if ( playList->last() ) { 140 if ( playList->last() ) {
142 play(); 141 play();
143 } 142 }
144 } else { 143 } else {
145 mediaPlayerState->setList(); 144 mediaPlayerState.setList();
146 } 145 }
147 } 146 }
148} 147}
149 148
150 149
151void MediaPlayer::next() { 150void MediaPlayer::next() {
152 151
153 if(playList->currentTab() == PlayListWidget::CurrentPlayList) { //if using the playlist 152 if(playList->currentTab() == PlayListWidget::CurrentPlayList) { //if using the playlist
154 if ( playList->next() ) { 153 if ( playList->next() ) {
155 play(); 154 play();
156 } else if ( mediaPlayerState->isLooping() ) { 155 } else if ( mediaPlayerState.isLooping() ) {
157 if ( playList->first() ) { 156 if ( playList->first() ) {
158 play(); 157 play();
159 } 158 }
160 } else { 159 } else {
161 mediaPlayerState->setList(); 160 mediaPlayerState.setList();
162 } 161 }
163 } else { //if playing from file list, let's just stop 162 } else { //if playing from file list, let's just stop
164 qDebug("<<<<<<<<<<<<<<<<<stop for filelists"); 163 qDebug("<<<<<<<<<<<<<<<<<stop for filelists");
165 mediaPlayerState->setPlaying(false); 164 mediaPlayerState.setPlaying(false);
166 mediaPlayerState->setDisplayType( MediaPlayerState::MediaSelection ); 165 mediaPlayerState.setDisplayType( MediaPlayerState::MediaSelection );
167 if(l) mediaPlayerState->setLooping(l); 166 if(l) mediaPlayerState.setLooping(l);
168 if(r) mediaPlayerState->setShuffled(r); 167 if(r) mediaPlayerState.setShuffled(r);
169 } 168 }
170 qApp->processEvents(); 169 qApp->processEvents();
171} 170}
172 171
173 172
174void MediaPlayer::startDecreasingVolume() { 173void MediaPlayer::startDecreasingVolume() {
@@ -343,12 +342,12 @@ void MediaPlayer::keyReleaseEvent( QKeyEvent *e) {
343 break; 342 break;
344 } 343 }
345} 344}
346 345
347void MediaPlayer::cleanUp() {// this happens on closing 346void MediaPlayer::cleanUp() {// this happens on closing
348 Config cfg( "OpiePlayer" ); 347 Config cfg( "OpiePlayer" );
349 mediaPlayerState->writeConfig( cfg ); 348 mediaPlayerState.writeConfig( cfg );
350 playList->writeDefaultPlaylist( ); 349 playList->writeDefaultPlaylist( );
351 350
352// QPEApplication::grabKeyboard(); 351// QPEApplication::grabKeyboard();
353// QPEApplication::ungrabKeyboard(); 352// QPEApplication::ungrabKeyboard();
354} 353}
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.h b/noncore/multimedia/opieplayer2/mediaplayer.h
index de3886e..6aeac7c 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.h
+++ b/noncore/multimedia/opieplayer2/mediaplayer.h
@@ -38,17 +38,18 @@
38#include <qframe.h> 38#include <qframe.h>
39 39
40#include "xinecontrol.h" 40#include "xinecontrol.h"
41 41
42class DocLnk; 42class DocLnk;
43class VolumeControl; 43class VolumeControl;
44class MediaPlayerState;
44 45
45class MediaPlayer : public QObject { 46class MediaPlayer : public QObject {
46 Q_OBJECT 47 Q_OBJECT
47public: 48public:
48 MediaPlayer( QObject *parent, const char *name ); 49 MediaPlayer( MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name );
49 ~MediaPlayer(); 50 ~MediaPlayer();
50private slots: 51private slots:
51 void setPlaying( bool ); 52 void setPlaying( bool );
52 void pauseCheck( bool ); 53 void pauseCheck( bool );
53 void play(); 54 void play();
54 void next(); 55 void next();
@@ -65,11 +66,12 @@ protected:
65private: 66private:
66 bool isBlanked, l, r; 67 bool isBlanked, l, r;
67 int fd, fl; 68 int fd, fl;
68 int volumeDirection; 69 int volumeDirection;
69 XineControl *xineControl; 70 XineControl *xineControl;
70 VolumeControl *volControl; 71 VolumeControl *volControl;
72 MediaPlayerState &mediaPlayerState;
71}; 73};
72 74
73 75
74#endif // MEDIA_PLAYER_H 76#endif // MEDIA_PLAYER_H
75 77