summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/mediaplayerstate.h
authorharlekin <harlekin>2002-07-01 23:39:54 (UTC)
committer harlekin <harlekin>2002-07-01 23:39:54 (UTC)
commit7ae4965a4052808172e843356cdfb2d0a673bccf (patch) (side-by-side diff)
treecb9567ea7740ea1b3e63de03f836581a0e5ad589 /noncore/multimedia/opieplayer2/mediaplayerstate.h
parent329ea43b68180058bcd8e9d2af4d09d9c03c55a3 (diff)
downloadopie-7ae4965a4052808172e843356cdfb2d0a673bccf.zip
opie-7ae4965a4052808172e843356cdfb2d0a673bccf.tar.gz
opie-7ae4965a4052808172e843356cdfb2d0a673bccf.tar.bz2
gui
Diffstat (limited to 'noncore/multimedia/opieplayer2/mediaplayerstate.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayerstate.h100
1 files changed, 100 insertions, 0 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayerstate.h b/noncore/multimedia/opieplayer2/mediaplayerstate.h
new file mode 100644
index 0000000..374e780
--- a/dev/null
+++ b/noncore/multimedia/opieplayer2/mediaplayerstate.h
@@ -0,0 +1,100 @@
+
+#ifndef MEDIA_PLAYER_STATE_H
+#define MEDIA_PLAYER_STATE_H
+
+
+#include <qobject.h>
+
+
+class MediaPlayerDecoder;
+class Config;
+
+
+class MediaPlayerState : public QObject {
+Q_OBJECT
+public:
+ MediaPlayerState( QObject *parent, const char *name );
+ ~MediaPlayerState();
+
+ bool isStreaming;
+ bool fullscreen() { return isFullscreen; }
+ bool scaled() { return isScaled; }
+ bool looping() { return isLooping; }
+ bool shuffled() { return isShuffled; }
+ bool playlist() { return usePlaylist; }
+ bool paused() { return isPaused; }
+ bool playing() { return isPlaying; }
+ long position() { return curPosition; }
+ long length() { return curLength; }
+ char view() { return curView; }
+
+ MediaPlayerDecoder *newDecoder( const QString& file );
+ MediaPlayerDecoder *curDecoder();
+ MediaPlayerDecoder *libMpeg3Decoder(); // ### Yucky hack needed to use libmpeg3plugin to get the
+ // number of audio samples if we are using the libmad plugin
+public slots:
+ void setFullscreen( bool b ) { if ( isFullscreen == b ) return; isFullscreen = b; emit fullscreenToggled(b); }
+ void setScaled( bool b ) { if ( isScaled == b ) return; isScaled = b; emit scaledToggled(b); }
+ void setLooping( bool b ) { if ( isLooping == b ) return; isLooping = b; emit loopingToggled(b); }
+ void setShuffled( bool b ) { if ( isShuffled == b ) return; isShuffled = b; emit shuffledToggled(b); }
+ void setPlaylist( bool b ) { if ( usePlaylist == b ) return; usePlaylist = b; emit playlistToggled(b); }
+ void setPaused( bool b ) { if ( isPaused == b ) return; isPaused = b; emit pausedToggled(b); }
+ void setPlaying( bool b ) { if ( isPlaying == b ) return; isPlaying = b; emit playingToggled(b); }
+ void setPosition( long p ) { if ( curPosition == p ) return; curPosition = p; emit positionChanged(p); }
+ void updatePosition( long p ){ if ( curPosition == p ) return; curPosition = p; emit positionUpdated(p); }
+ void setLength( long l ) { if ( curLength == l ) return; curLength = l; emit lengthChanged(l); }
+ void setView( char v ) { if ( curView == v ) return; curView = v; emit viewChanged(v); }
+
+ void setPrev() { emit prev(); }
+ void setNext() { emit next(); }
+ void setList() { setPlaying( FALSE ); setView('l'); }
+ void setVideo() { setView('v'); }
+ void setAudio() { setView('a'); }
+
+ void toggleFullscreen() { setFullscreen( !isFullscreen ); }
+ void toggleScaled() { setScaled( !isScaled); }
+ void toggleLooping() { setLooping( !isLooping); }
+ void toggleShuffled() { setShuffled( !isShuffled); }
+ void togglePlaylist() { setPlaylist( !usePlaylist); }
+ void togglePaused() { setPaused( !isPaused); }
+ void togglePlaying() { setPlaying( !isPlaying); }
+
+signals:
+ void fullscreenToggled( bool );
+ void scaledToggled( bool );
+ void loopingToggled( bool );
+ void shuffledToggled( bool );
+ void playlistToggled( bool );
+ void pausedToggled( bool );
+ void playingToggled( bool );
+ void positionChanged( long ); // When the slider is moved
+ void positionUpdated( long ); // When the media file progresses
+ void lengthChanged( long );
+ void viewChanged( char );
+
+ void prev();
+ void next();
+
+private:
+ bool isFullscreen;
+ bool isScaled;
+ bool isLooping;
+ bool isShuffled;
+ bool usePlaylist;
+ bool isPaused;
+ bool isPlaying;
+ long curPosition;
+ long curLength;
+ char curView;
+
+ MediaPlayerDecoder *decoder;
+ MediaPlayerDecoder *libmpeg3decoder;
+// MediaPlayerDecoder *libwavdecoder;
+
+ void readConfig( Config& cfg );
+ void writeConfig( Config& cfg ) const;
+};
+
+
+#endif // MEDIA_PLAYER_STATE_H
+