summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/mediaplayerstate.h
Unidiff
Diffstat (limited to 'noncore/multimedia/opieplayer2/mediaplayerstate.h') (more/less context) (show 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 @@
1
2#ifndef MEDIA_PLAYER_STATE_H
3#define MEDIA_PLAYER_STATE_H
4
5
6#include <qobject.h>
7
8
9class MediaPlayerDecoder;
10class Config;
11
12
13class MediaPlayerState : public QObject {
14Q_OBJECT
15public:
16 MediaPlayerState( QObject *parent, const char *name );
17 ~MediaPlayerState();
18
19 bool isStreaming;
20 bool fullscreen() { return isFullscreen; }
21 bool scaled() { return isScaled; }
22 bool looping() { return isLooping; }
23 bool shuffled() { return isShuffled; }
24 bool playlist() { return usePlaylist; }
25 bool paused() { return isPaused; }
26 bool playing() { return isPlaying; }
27 long position() { return curPosition; }
28 long length() { return curLength; }
29 char view() { return curView; }
30
31 MediaPlayerDecoder *newDecoder( const QString& file );
32 MediaPlayerDecoder *curDecoder();
33 MediaPlayerDecoder *libMpeg3Decoder(); // ### Yucky hack needed to use libmpeg3plugin to get the
34 // number of audio samples if we are using the libmad plugin
35public slots:
36 void setFullscreen( bool b ) { if ( isFullscreen == b ) return; isFullscreen = b; emit fullscreenToggled(b); }
37 void setScaled( bool b ) { if ( isScaled == b ) return; isScaled = b; emit scaledToggled(b); }
38 void setLooping( bool b ) { if ( isLooping == b ) return; isLooping = b; emit loopingToggled(b); }
39 void setShuffled( bool b ) { if ( isShuffled == b ) return; isShuffled = b; emit shuffledToggled(b); }
40 void setPlaylist( bool b ) { if ( usePlaylist == b ) return; usePlaylist = b; emit playlistToggled(b); }
41 void setPaused( bool b ) { if ( isPaused == b ) return; isPaused = b; emit pausedToggled(b); }
42 void setPlaying( bool b ) { if ( isPlaying == b ) return; isPlaying = b; emit playingToggled(b); }
43 void setPosition( long p ) { if ( curPosition == p ) return; curPosition = p; emit positionChanged(p); }
44 void updatePosition( long p ){ if ( curPosition == p ) return; curPosition = p; emit positionUpdated(p); }
45 void setLength( long l ) { if ( curLength == l ) return; curLength = l; emit lengthChanged(l); }
46 void setView( char v ) { if ( curView == v ) return; curView = v; emit viewChanged(v); }
47
48 void setPrev() { emit prev(); }
49 void setNext() { emit next(); }
50 void setList() { setPlaying( FALSE ); setView('l'); }
51 void setVideo() { setView('v'); }
52 void setAudio() { setView('a'); }
53
54 void toggleFullscreen() { setFullscreen( !isFullscreen ); }
55 void toggleScaled() { setScaled( !isScaled); }
56 void toggleLooping() { setLooping( !isLooping); }
57 void toggleShuffled() { setShuffled( !isShuffled); }
58 void togglePlaylist() { setPlaylist( !usePlaylist); }
59 void togglePaused() { setPaused( !isPaused); }
60 void togglePlaying() { setPlaying( !isPlaying); }
61
62signals:
63 void fullscreenToggled( bool );
64 void scaledToggled( bool );
65 void loopingToggled( bool );
66 void shuffledToggled( bool );
67 void playlistToggled( bool );
68 void pausedToggled( bool );
69 void playingToggled( bool );
70 void positionChanged( long ); // When the slider is moved
71 void positionUpdated( long ); // When the media file progresses
72 void lengthChanged( long );
73 void viewChanged( char );
74
75 void prev();
76 void next();
77
78private:
79 bool isFullscreen;
80 bool isScaled;
81 bool isLooping;
82 bool isShuffled;
83 bool usePlaylist;
84 bool isPaused;
85 bool isPlaying;
86 long curPosition;
87 long curLength;
88 char curView;
89
90 MediaPlayerDecoder *decoder;
91 MediaPlayerDecoder *libmpeg3decoder;
92// MediaPlayerDecoder *libwavdecoder;
93
94 void readConfig( Config& cfg );
95 void writeConfig( Config& cfg ) const;
96};
97
98
99#endif // MEDIA_PLAYER_STATE_H
100