summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2
Unidiff
Diffstat (limited to 'noncore/multimedia/opieplayer2') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp4
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp7
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayerstate.cpp29
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayerstate.h8
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.cpp9
5 files changed, 42 insertions, 15 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index 125fd72..303e56e 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -104,85 +104,85 @@ AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) :
104 slider->setFixedHeight( 20 ); 104 slider->setFixedHeight( 20 );
105 slider->setMinValue( 0 ); 105 slider->setMinValue( 0 );
106 slider->setMaxValue( 1 ); 106 slider->setMaxValue( 1 );
107 slider->setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) ); 107 slider->setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) );
108 slider->setFocusPolicy( QWidget::NoFocus ); 108 slider->setFocusPolicy( QWidget::NoFocus );
109 slider->setGeometry( QRect( 7, 262, 220, 20 ) ); 109 slider->setGeometry( QRect( 7, 262, 220, 20 ) );
110 110
111 connect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) ); 111 connect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
112 connect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) ); 112 connect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
113 connect( mediaPlayerState, SIGNAL( lengthChanged(long) ), this, SLOT( setLength(long) ) ); 113 connect( mediaPlayerState, SIGNAL( lengthChanged(long) ), this, SLOT( setLength(long) ) );
114 connect( mediaPlayerState, SIGNAL( viewChanged(char) ), this, SLOT( setView(char) ) ); 114 connect( mediaPlayerState, SIGNAL( viewChanged(char) ), this, SLOT( setView(char) ) );
115 connect( mediaPlayerState, SIGNAL( loopingToggled(bool) ), this, SLOT( setLooping(bool) ) ); 115 connect( mediaPlayerState, SIGNAL( loopingToggled(bool) ), this, SLOT( setLooping(bool) ) );
116 connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( setPaused(bool) ) ); 116 connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( setPaused(bool) ) );
117 connect( mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) ); 117 connect( mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) );
118 118
119 // Intialise state 119 // Intialise state
120 setLength( mediaPlayerState->length() ); 120 setLength( mediaPlayerState->length() );
121 setPosition( mediaPlayerState->position() ); 121 setPosition( mediaPlayerState->position() );
122 setLooping( mediaPlayerState->fullscreen() ); 122 setLooping( mediaPlayerState->fullscreen() );
123 setPaused( mediaPlayerState->paused() ); 123 setPaused( mediaPlayerState->paused() );
124 setPlaying( mediaPlayerState->playing() ); 124 setPlaying( mediaPlayerState->playing() );
125} 125}
126 126
127AudioWidget::~AudioWidget() { 127AudioWidget::~AudioWidget() {
128 mediaPlayerState->isStreaming = FALSE; 128 mediaPlayerState->setIsStreaming( FALSE );
129 for ( int i = 0; i < 3; i++ ) { 129 for ( int i = 0; i < 3; i++ ) {
130 delete pixmaps[i]; 130 delete pixmaps[i];
131 } 131 }
132} 132}
133 133
134 134
135static bool audioSliderBeingMoved = FALSE; 135static bool audioSliderBeingMoved = FALSE;
136 136
137 137
138void AudioWidget::sliderPressed() { 138void AudioWidget::sliderPressed() {
139 audioSliderBeingMoved = TRUE; 139 audioSliderBeingMoved = TRUE;
140} 140}
141 141
142 142
143void AudioWidget::sliderReleased() { 143void AudioWidget::sliderReleased() {
144 audioSliderBeingMoved = FALSE; 144 audioSliderBeingMoved = FALSE;
145 if ( slider->width() == 0 ) { 145 if ( slider->width() == 0 ) {
146 return; 146 return;
147 } 147 }
148 long val = long((double)slider->value() * mediaPlayerState->length() / slider->width()); 148 long val = long((double)slider->value() * mediaPlayerState->length() / slider->width());
149 mediaPlayerState->setPosition( val ); 149 mediaPlayerState->setPosition( val );
150} 150}
151 151
152void AudioWidget::setPosition( long i ) { 152void AudioWidget::setPosition( long i ) {
153 // qDebug("set position %d",i); 153 // qDebug("set position %d",i);
154 updateSlider( i, mediaPlayerState->length() ); 154 updateSlider( i, mediaPlayerState->length() );
155} 155}
156 156
157 157
158void AudioWidget::setLength( long max ) { 158void AudioWidget::setLength( long max ) {
159 updateSlider( mediaPlayerState->position(), max ); 159 updateSlider( mediaPlayerState->position(), max );
160} 160}
161 161
162 162
163void AudioWidget::setView( char view ) { 163void AudioWidget::setView( char view ) {
164 if (mediaPlayerState->isStreaming) { 164 if (mediaPlayerState->streaming() ) {
165 if( !slider->isHidden()) slider->hide(); 165 if( !slider->isHidden()) slider->hide();
166 disconnect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); 166 disconnect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
167 disconnect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); 167 disconnect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
168 } else { 168 } else {
169 // this stops the slider from being moved, thus 169 // this stops the slider from being moved, thus
170 // does not stop stream when it reaches the end 170 // does not stop stream when it reaches the end
171 slider->show(); 171 slider->show();
172 connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); 172 connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
173 connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); 173 connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
174 } 174 }
175 175
176 if ( view == 'a' ) { 176 if ( view == 'a' ) {
177 startTimer( 150 ); 177 startTimer( 150 );
178 showMaximized(); 178 showMaximized();
179 } else { 179 } else {
180 killTimers(); 180 killTimers();
181 hide(); 181 hide();
182 } 182 }
183} 183}
184 184
185 185
186void AudioWidget::updateSlider( long i, long max ) { 186void AudioWidget::updateSlider( long i, long max ) {
187 if ( max == 0 ) { 187 if ( max == 0 ) {
188 return; 188 return;
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index 0ab0124..38ba08f 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -54,55 +54,48 @@ void MediaPlayer::pauseCheck( bool b ) {
54void MediaPlayer::play() { 54void MediaPlayer::play() {
55 mediaPlayerState->setPlaying( FALSE ); 55 mediaPlayerState->setPlaying( FALSE );
56 mediaPlayerState->setPlaying( TRUE ); 56 mediaPlayerState->setPlaying( TRUE );
57} 57}
58 58
59void MediaPlayer::setPlaying( bool play ) { 59void MediaPlayer::setPlaying( bool play ) {
60 if ( !play ) { 60 if ( !play ) {
61 mediaPlayerState->setPaused( FALSE ); 61 mediaPlayerState->setPaused( FALSE );
62 return; 62 return;
63 } 63 }
64 64
65 if ( mediaPlayerState->paused() ) { 65 if ( mediaPlayerState->paused() ) {
66 mediaPlayerState->setPaused( FALSE ); 66 mediaPlayerState->setPaused( FALSE );
67 return; 67 return;
68 } 68 }
69 69
70 const DocLnk *playListCurrent = playList->current(); 70 const DocLnk *playListCurrent = playList->current();
71 if ( playListCurrent != NULL ) { 71 if ( playListCurrent != NULL ) {
72 currentFile = playListCurrent; 72 currentFile = playListCurrent;
73 } 73 }
74 74
75 audioUI->setTickerText( currentFile->file( ) ); 75 audioUI->setTickerText( currentFile->file( ) );
76 76
77 xineControl->play( currentFile->file() ); 77 xineControl->play( currentFile->file() );
78
79 // alles nicht nötig, xine kümmert sich drum, man muss nur den return andio oder video gui geben
80
81 // Ob auch video 'v' : 'a'
82 // mediaPlayerState->setView( 'v' );
83
84 // abspielen starten.
85} 78}
86 79
87 80
88void MediaPlayer::prev() { 81void MediaPlayer::prev() {
89 if ( playList->prev() ) { 82 if ( playList->prev() ) {
90 play(); 83 play();
91 } else if ( mediaPlayerState->looping() ) { 84 } else if ( mediaPlayerState->looping() ) {
92 if ( playList->last() ) { 85 if ( playList->last() ) {
93 play(); 86 play();
94 } 87 }
95 } else { 88 } else {
96 mediaPlayerState->setList(); 89 mediaPlayerState->setList();
97 } 90 }
98} 91}
99 92
100 93
101void MediaPlayer::next() { 94void MediaPlayer::next() {
102 if ( playList->next() ) { 95 if ( playList->next() ) {
103 play(); 96 play();
104 } else if ( mediaPlayerState->looping() ) { 97 } else if ( mediaPlayerState->looping() ) {
105 if ( playList->first() ) { 98 if ( playList->first() ) {
106 play(); 99 play();
107 } 100 }
108 } else { 101 } else {
diff --git a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
index 3090b08..778cd1e 100644
--- a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
@@ -35,90 +35,108 @@ void MediaPlayerState::readConfig( Config& cfg ) {
35 isShuffled = cfg.readBoolEntry( "Shuffle" ); 35 isShuffled = cfg.readBoolEntry( "Shuffle" );
36 usePlaylist = cfg.readBoolEntry( "UsePlayList" ); 36 usePlaylist = cfg.readBoolEntry( "UsePlayList" );
37 usePlaylist = TRUE; 37 usePlaylist = TRUE;
38 isPlaying = FALSE; 38 isPlaying = FALSE;
39 isPaused = FALSE; 39 isPaused = FALSE;
40 curPosition = 0; 40 curPosition = 0;
41 curLength = 0; 41 curLength = 0;
42 curView = 'l'; 42 curView = 'l';
43} 43}
44 44
45 45
46void MediaPlayerState::writeConfig( Config& cfg ) const { 46void MediaPlayerState::writeConfig( Config& cfg ) const {
47 cfg.setGroup("Options"); 47 cfg.setGroup("Options");
48 cfg.writeEntry("FullScreen", isFullscreen ); 48 cfg.writeEntry("FullScreen", isFullscreen );
49 cfg.writeEntry("Scaling", isScaled ); 49 cfg.writeEntry("Scaling", isScaled );
50 cfg.writeEntry("Looping", isLooping ); 50 cfg.writeEntry("Looping", isLooping );
51 cfg.writeEntry("Shuffle", isShuffled ); 51 cfg.writeEntry("Shuffle", isShuffled );
52 cfg.writeEntry("UsePlayList", usePlaylist ); 52 cfg.writeEntry("UsePlayList", usePlaylist );
53} 53}
54 54
55 55
56 56
57 57
58// public stuff 58// public stuff
59
60
61bool MediaPlayerState::streaming() {
62 return isStreaming;
63}
64
59bool MediaPlayerState::fullscreen() { 65bool MediaPlayerState::fullscreen() {
60 return isFullscreen; 66 return isFullscreen;
61} 67}
62 68
63bool MediaPlayerState::scaled() { 69bool MediaPlayerState::scaled() {
64 return isScaled; 70 return isScaled;
65} 71}
66 72
67bool MediaPlayerState::looping() { 73bool MediaPlayerState::looping() {
68 return isLooping; 74 return isLooping;
69} 75}
70 76
71bool MediaPlayerState::shuffled() { 77bool MediaPlayerState::shuffled() {
72 return isShuffled; 78 return isShuffled;
73} 79}
74 80
75 81
76bool MediaPlayerState:: playlist() { 82bool MediaPlayerState:: playlist() {
77 return usePlaylist; 83 return usePlaylist;
78} 84}
79 85
80bool MediaPlayerState::paused() { 86bool MediaPlayerState::paused() {
81 return isPaused; 87 return isPaused;
82} 88}
83 89
84bool MediaPlayerState::playing() { 90bool MediaPlayerState::playing() {
85 return isPlaying; 91 return isPlaying;
86} 92}
87 93
94bool MediaPlayerState::stop() {
95 return isStoped;
96}
97
88long MediaPlayerState::position() { 98long MediaPlayerState::position() {
89 return curPosition; 99 return curPosition;
90} 100}
91 101
92long MediaPlayerState::length() { 102long MediaPlayerState::length() {
93 return curLength; 103 return curLength;
94} 104}
95 105
96char MediaPlayerState::view() { 106char MediaPlayerState::view() {
97 return curView; 107 return curView;
98} 108}
99 109
100// slots 110// slots
111void MediaPlayerState::setIsStreaming( bool b ) {
112 if ( isStreaming == b ) {
113 return;
114 }
115 isStreaming = b;
116}
117
118
101void MediaPlayerState::setFullscreen( bool b ) { 119void MediaPlayerState::setFullscreen( bool b ) {
102 if ( isFullscreen == b ) { 120 if ( isFullscreen == b ) {
103 return; 121 return;
104 } 122 }
105 isFullscreen = b; 123 isFullscreen = b;
106 emit fullscreenToggled(b); 124 emit fullscreenToggled(b);
107} 125}
108 126
109 127
110void MediaPlayerState::setScaled( bool b ) { 128void MediaPlayerState::setScaled( bool b ) {
111 if ( isScaled == b ) { 129 if ( isScaled == b ) {
112 return; 130 return;
113 } 131 }
114 isScaled = b; 132 isScaled = b;
115 emit scaledToggled(b); 133 emit scaledToggled(b);
116} 134}
117 135
118void MediaPlayerState::setLooping( bool b ) { 136void MediaPlayerState::setLooping( bool b ) {
119 if ( isLooping == b ) { 137 if ( isLooping == b ) {
120 return; 138 return;
121 } 139 }
122 isLooping = b; 140 isLooping = b;
123 emit loopingToggled(b); 141 emit loopingToggled(b);
124} 142}
@@ -131,51 +149,60 @@ void MediaPlayerState::setShuffled( bool b ) {
131 emit shuffledToggled(b); 149 emit shuffledToggled(b);
132} 150}
133 151
134void MediaPlayerState::setPlaylist( bool b ) { 152void MediaPlayerState::setPlaylist( bool b ) {
135 if ( usePlaylist == b ) { 153 if ( usePlaylist == b ) {
136 return; 154 return;
137 } 155 }
138 usePlaylist = b; 156 usePlaylist = b;
139 emit playlistToggled(b); 157 emit playlistToggled(b);
140} 158}
141 159
142void MediaPlayerState::setPaused( bool b ) { 160void MediaPlayerState::setPaused( bool b ) {
143 if ( isPaused == b ) { 161 if ( isPaused == b ) {
144 return; 162 return;
145 } 163 }
146 isPaused = b; 164 isPaused = b;
147 emit pausedToggled(b); 165 emit pausedToggled(b);
148} 166}
149 167
150void MediaPlayerState::setPlaying( bool b ) { 168void MediaPlayerState::setPlaying( bool b ) {
151 if ( isPlaying == b ) { 169 if ( isPlaying == b ) {
152 return; 170 return;
153 } 171 }
154 isPlaying = b; 172 isPlaying = b;
173 isStoped = !b;
155 emit playingToggled(b); 174 emit playingToggled(b);
156} 175}
157 176
177void MediaPlayerState::setStop( bool b ) {
178 if ( isStoped == b ) {
179 return;
180 }
181 isStoped = b;
182 emit stopToggled(b);
183}
184
158void MediaPlayerState::setPosition( long p ) { 185void MediaPlayerState::setPosition( long p ) {
159 if ( curPosition == p ) { 186 if ( curPosition == p ) {
160 return; 187 return;
161 } 188 }
162 curPosition = p; 189 curPosition = p;
163 emit positionChanged(p); 190 emit positionChanged(p);
164} 191}
165 192
166void MediaPlayerState::updatePosition( long p ){ 193void MediaPlayerState::updatePosition( long p ){
167 if ( curPosition == p ) { 194 if ( curPosition == p ) {
168 return; 195 return;
169 } 196 }
170 curPosition = p; 197 curPosition = p;
171 emit positionUpdated(p); 198 emit positionUpdated(p);
172} 199}
173 200
174void MediaPlayerState::setLength( long l ) { 201void MediaPlayerState::setLength( long l ) {
175 if ( curLength == l ) { 202 if ( curLength == l ) {
176 return; 203 return;
177 } 204 }
178 curLength = l; 205 curLength = l;
179 emit lengthChanged(l); 206 emit lengthChanged(l);
180} 207}
181 208
@@ -187,50 +214,48 @@ void MediaPlayerState::setView( char v ) {
187 emit viewChanged(v); 214 emit viewChanged(v);
188} 215}
189 216
190void MediaPlayerState::setPrev(){ 217void MediaPlayerState::setPrev(){
191 emit prev(); 218 emit prev();
192} 219}
193 220
194void MediaPlayerState::setNext() { 221void MediaPlayerState::setNext() {
195 emit next(); 222 emit next();
196} 223}
197 224
198void MediaPlayerState::setList() { 225void MediaPlayerState::setList() {
199 setPlaying( FALSE ); 226 setPlaying( FALSE );
200 setView('l'); 227 setView('l');
201} 228}
202 229
203void MediaPlayerState::setVideo() { 230void MediaPlayerState::setVideo() {
204 setView('v'); 231 setView('v');
205} 232}
206 233
207void MediaPlayerState::setAudio() { 234void MediaPlayerState::setAudio() {
208 setView('a'); 235 setView('a');
209} 236}
210 237
211
212
213void MediaPlayerState::toggleFullscreen() { 238void MediaPlayerState::toggleFullscreen() {
214 setFullscreen( !isFullscreen ); 239 setFullscreen( !isFullscreen );
215} 240}
216 241
217void MediaPlayerState::toggleScaled() { 242void MediaPlayerState::toggleScaled() {
218 setScaled( !isScaled); 243 setScaled( !isScaled);
219} 244}
220 245
221void MediaPlayerState::toggleLooping() { 246void MediaPlayerState::toggleLooping() {
222 setLooping( !isLooping); 247 setLooping( !isLooping);
223} 248}
224 249
225void MediaPlayerState::toggleShuffled() { 250void MediaPlayerState::toggleShuffled() {
226 setShuffled( !isShuffled); 251 setShuffled( !isShuffled);
227} 252}
228 253
229void MediaPlayerState::togglePlaylist() { 254void MediaPlayerState::togglePlaylist() {
230 setPlaylist( !usePlaylist); 255 setPlaylist( !usePlaylist);
231} 256}
232 257
233void MediaPlayerState::togglePaused() { 258void MediaPlayerState::togglePaused() {
234 setPaused( !isPaused); 259 setPaused( !isPaused);
235} 260}
236 261
diff --git a/noncore/multimedia/opieplayer2/mediaplayerstate.h b/noncore/multimedia/opieplayer2/mediaplayerstate.h
index dbbb0f2..20e3552 100644
--- a/noncore/multimedia/opieplayer2/mediaplayerstate.h
+++ b/noncore/multimedia/opieplayer2/mediaplayerstate.h
@@ -1,94 +1,100 @@
1 1
2#ifndef MEDIA_PLAYER_STATE_H 2#ifndef MEDIA_PLAYER_STATE_H
3#define MEDIA_PLAYER_STATE_H 3#define MEDIA_PLAYER_STATE_H
4 4
5 5
6#include <qobject.h> 6#include <qobject.h>
7 7
8 8
9class MediaPlayerDecoder; 9class MediaPlayerDecoder;
10class Config; 10class Config;
11 11
12 12
13class MediaPlayerState : public QObject { 13class MediaPlayerState : public QObject {
14Q_OBJECT 14Q_OBJECT
15public: 15public:
16 MediaPlayerState( QObject *parent, const char *name ); 16 MediaPlayerState( QObject *parent, const char *name );
17 ~MediaPlayerState(); 17 ~MediaPlayerState();
18 18
19 bool isStreaming; 19 bool streaming();
20 bool fullscreen(); 20 bool fullscreen();
21 bool scaled(); 21 bool scaled();
22 bool looping(); 22 bool looping();
23 bool shuffled(); 23 bool shuffled();
24 bool playlist(); 24 bool playlist();
25 bool paused(); 25 bool paused();
26 bool playing(); 26 bool playing();
27 bool stop();
27 long position(); 28 long position();
28 long length(); 29 long length();
29 char view(); 30 char view();
30 31
31public slots: 32public slots:
33 void setIsStreaming( bool b );
32 void setFullscreen( bool b ); 34 void setFullscreen( bool b );
33 void setScaled( bool b ); 35 void setScaled( bool b );
34 void setLooping( bool b ); 36 void setLooping( bool b );
35 void setShuffled( bool b ); 37 void setShuffled( bool b );
36 void setPlaylist( bool b ); 38 void setPlaylist( bool b );
37 void setPaused( bool b ); 39 void setPaused( bool b );
38 void setPlaying( bool b ); 40 void setPlaying( bool b );
41 void setStop( bool b );
39 void setPosition( long p ); 42 void setPosition( long p );
40 void updatePosition( long p ); 43 void updatePosition( long p );
41 void setLength( long l ); 44 void setLength( long l );
42 void setView( char v ); 45 void setView( char v );
43 46
44 void setPrev(); 47 void setPrev();
45 void setNext(); 48 void setNext();
46 void setList(); 49 void setList();
47 void setVideo(); 50 void setVideo();
48 void setAudio(); 51 void setAudio();
49 52
50 void toggleFullscreen(); 53 void toggleFullscreen();
51 void toggleScaled(); 54 void toggleScaled();
52 void toggleLooping(); 55 void toggleLooping();
53 void toggleShuffled(); 56 void toggleShuffled();
54 void togglePlaylist(); 57 void togglePlaylist();
55 void togglePaused(); 58 void togglePaused();
56 void togglePlaying(); 59 void togglePlaying();
57 60
58signals: 61signals:
59 void fullscreenToggled( bool ); 62 void fullscreenToggled( bool );
60 void scaledToggled( bool ); 63 void scaledToggled( bool );
61 void loopingToggled( bool ); 64 void loopingToggled( bool );
62 void shuffledToggled( bool ); 65 void shuffledToggled( bool );
63 void playlistToggled( bool ); 66 void playlistToggled( bool );
64 void pausedToggled( bool ); 67 void pausedToggled( bool );
65 void playingToggled( bool ); 68 void playingToggled( bool );
69 void stopToggled( bool );
66 void positionChanged( long ); // When the slider is moved 70 void positionChanged( long ); // When the slider is moved
67 void positionUpdated( long ); // When the media file progresses 71 void positionUpdated( long ); // When the media file progresses
68 void lengthChanged( long ); 72 void lengthChanged( long );
69 void viewChanged( char ); 73 void viewChanged( char );
70 74
71 void prev(); 75 void prev();
72 void next(); 76 void next();
73 77
74private: 78private:
79 bool isStreaming;
75 bool isFullscreen; 80 bool isFullscreen;
76 bool isScaled; 81 bool isScaled;
77 bool isLooping; 82 bool isLooping;
78 bool isShuffled; 83 bool isShuffled;
79 bool usePlaylist; 84 bool usePlaylist;
80 bool isPaused; 85 bool isPaused;
81 bool isPlaying; 86 bool isPlaying;
87 bool isStoped;
82 long curPosition; 88 long curPosition;
83 long curLength; 89 long curLength;
84 char curView; 90 char curView;
85 91
86 void readConfig( Config& cfg ); 92 void readConfig( Config& cfg );
87 void writeConfig( Config& cfg ) const; 93 void writeConfig( Config& cfg ) const;
88 94
89 95
90}; 96};
91 97
92 98
93#endif // MEDIA_PLAYER_STATE_H 99#endif // MEDIA_PLAYER_STATE_H
94 100
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.cpp b/noncore/multimedia/opieplayer2/xinecontrol.cpp
index cda9be2..5b674f8 100644
--- a/noncore/multimedia/opieplayer2/xinecontrol.cpp
+++ b/noncore/multimedia/opieplayer2/xinecontrol.cpp
@@ -3,57 +3,60 @@
3#include "mediaplayerstate.h" 3#include "mediaplayerstate.h"
4 4
5extern MediaPlayerState *mediaPlayerState; 5extern MediaPlayerState *mediaPlayerState;
6 6
7XineControl::XineControl( QObject *parent, const char *name ) 7XineControl::XineControl( QObject *parent, const char *name )
8 : QObject( parent, name ) { 8 : QObject( parent, name ) {
9 libXine = new XINE::Lib(); 9 libXine = new XINE::Lib();
10 10
11 connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( pause(bool) ) ); 11 connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( pause(bool) ) );
12 connect( this, SIGNAL( positionChanged( int position ) ), mediaPlayerState, SLOT( updatePosition( long p ) ) ); 12 connect( this, SIGNAL( positionChanged( int position ) ), mediaPlayerState, SLOT( updatePosition( long p ) ) );
13 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( stop( bool ) ) ); 13 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( stop( bool ) ) );
14 14
15} 15}
16 16
17XineControl::~XineControl() { 17XineControl::~XineControl() {
18 delete libXine; 18 delete libXine;
19} 19}
20 20
21void XineControl::play( const QString& fileName ) { 21void XineControl::play( const QString& fileName ) {
22 libXine->play( fileName ); 22 libXine->play( fileName );
23 mediaPlayerState->setPlaying( true ); 23 mediaPlayerState->setPlaying( true );
24 // default to audio view until we know how to handle video 24 // default to audio view until we know how to handle video
25 mediaPlayerState->setView('a'); 25 mediaPlayerState->setView('a');
26 // determines of slider is shown 26 // determines of slider is shown
27 mediaPlayerState->isStreaming = false; 27 // mediaPlayerState->setIsStreaming( false );
28 // hier dann schaun welcher view 28 // hier dann schaun welcher view
29} 29}
30 30
31void XineControl::stop( bool isSet ) { 31void XineControl::stop( bool isSet ) {
32 if ( isSet) { 32 if ( !isSet) {
33 libXine->stop(); 33 libXine->stop();
34 } 34 mediaPlayerState->setNext();
35 // mediaPlayerState->setPlaying( false ); 35 // mediaPlayerState->setPlaying( false );
36 } else {
37 // play again
38 }
36} 39}
37 40
38void XineControl::pause( bool isSet) { 41void XineControl::pause( bool isSet) {
39 42
40 libXine->pause(); 43 libXine->pause();
41} 44}
42 45
43int XineControl::currentTime() { 46int XineControl::currentTime() {
44 // todo: jede sekunde überprüfen 47 // todo: jede sekunde überprüfen
45 m_currentTime = libXine->currentTime(); 48 m_currentTime = libXine->currentTime();
46 return m_currentTime; 49 return m_currentTime;
47} 50}
48 51
49void XineControl::length() { 52void XineControl::length() {
50 m_length = libXine->length(); 53 m_length = libXine->length();
51 mediaPlayerState->setLength( m_length ); 54 mediaPlayerState->setLength( m_length );
52} 55}
53 56
54int XineControl::position() { 57int XineControl::position() {
55 m_position = (m_currentTime/m_length*100); 58 m_position = (m_currentTime/m_length*100);
56 mediaPlayerState->setPosition( m_position ); 59 mediaPlayerState->setPosition( m_position );
57 return m_position; 60 return m_position;
58 emit positionChanged( m_position ); 61 emit positionChanged( m_position );
59} 62}