Diffstat (limited to 'noncore/multimedia/opieplayer2/mediaplayer.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/mediaplayer.cpp | 52 |
1 files changed, 29 insertions, 23 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp index 5411a64..8d8e4e5 100644 --- a/noncore/multimedia/opieplayer2/mediaplayer.cpp +++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp | |||
@@ -6,16 +6,17 @@ | |||
6 | #include <qmainwindow.h> | 6 | #include <qmainwindow.h> |
7 | #include <qmessagebox.h> | 7 | #include <qmessagebox.h> |
8 | #include <qwidgetstack.h> | 8 | #include <qwidgetstack.h> |
9 | #include <qfile.h> | 9 | #include <qfile.h> |
10 | 10 | ||
11 | #include "mediaplayer.h" | 11 | #include "mediaplayer.h" |
12 | #include "playlistwidget.h" | 12 | #include "playlistwidget.h" |
13 | #include "audiowidget.h" | 13 | #include "audiowidget.h" |
14 | #include "volumecontrol.h" | ||
14 | 15 | ||
15 | #include "mediaplayerstate.h" | 16 | #include "mediaplayerstate.h" |
16 | 17 | ||
17 | 18 | ||
18 | 19 | ||
19 | extern AudioWidget *audioUI; | 20 | extern AudioWidget *audioUI; |
20 | extern PlayListWidget *playList; | 21 | extern PlayListWidget *playList; |
21 | extern MediaPlayerState *mediaPlayerState; | 22 | extern MediaPlayerState *mediaPlayerState; |
@@ -34,19 +35,23 @@ MediaPlayer::MediaPlayer( QObject *parent, const char *name ) | |||
34 | connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) ); | 35 | connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) ); |
35 | connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) ); | 36 | connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) ); |
36 | 37 | ||
37 | connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); | 38 | connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); |
38 | connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); | 39 | connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); |
39 | connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); | 40 | connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); |
40 | connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); | 41 | connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); |
41 | 42 | ||
43 | volControl = new VolumeControl; | ||
44 | |||
42 | } | 45 | } |
43 | 46 | ||
44 | MediaPlayer::~MediaPlayer() { | 47 | MediaPlayer::~MediaPlayer() { |
48 | delete xineControl; | ||
49 | delete volControl; | ||
45 | } | 50 | } |
46 | 51 | ||
47 | void MediaPlayer::pauseCheck( bool b ) { | 52 | void MediaPlayer::pauseCheck( bool b ) { |
48 | // Only pause if playing | 53 | // Only pause if playing |
49 | if ( b && !mediaPlayerState->playing() ) { | 54 | if ( b && !mediaPlayerState->playing() ) { |
50 | mediaPlayerState->setPaused( FALSE ); | 55 | mediaPlayerState->setPaused( FALSE ); |
51 | } | 56 | } |
52 | } | 57 | } |
@@ -66,17 +71,17 @@ void MediaPlayer::setPlaying( bool play ) { | |||
66 | mediaPlayerState->setPaused( FALSE ); | 71 | mediaPlayerState->setPaused( FALSE ); |
67 | return; | 72 | return; |
68 | } | 73 | } |
69 | 74 | ||
70 | const DocLnk *playListCurrent = playList->current(); | 75 | const DocLnk *playListCurrent = playList->current(); |
71 | if ( playListCurrent != NULL ) { | 76 | if ( playListCurrent != NULL ) { |
72 | currentFile = playListCurrent; | 77 | currentFile = playListCurrent; |
73 | } | 78 | } |
74 | 79 | ||
75 | xineControl->play( currentFile->file() ); | 80 | xineControl->play( currentFile->file() ); |
76 | 81 | ||
77 | xineControl->length(); | 82 | xineControl->length(); |
78 | long seconds = mediaPlayerState->length();// | 83 | long seconds = mediaPlayerState->length();// |
79 | QString time; time.sprintf("%li:%02i", seconds/60, (int)seconds%60 ); | 84 | QString time; time.sprintf("%li:%02i", seconds/60, (int)seconds%60 ); |
80 | qDebug(time); | 85 | qDebug(time); |
81 | 86 | ||
82 | QString tickerText; | 87 | QString tickerText; |
@@ -87,17 +92,17 @@ void MediaPlayer::setPlaying( bool play ) { | |||
87 | 92 | ||
88 | // QString fileInfo = mediaPlayerState->curDecoder()->fileInfo(); | 93 | // QString fileInfo = mediaPlayerState->curDecoder()->fileInfo(); |
89 | 94 | ||
90 | // if ( !fileInfo.isEmpty() ) | 95 | // if ( !fileInfo.isEmpty() ) |
91 | // tickerText += ", " + fileInfo; | 96 | // tickerText += ", " + fileInfo; |
92 | // audioUI->setTickerText( tickerText + "." ); | 97 | // audioUI->setTickerText( tickerText + "." ); |
93 | 98 | ||
94 | audioUI->setTickerText( currentFile->file( ) ); | 99 | audioUI->setTickerText( currentFile->file( ) ); |
95 | 100 | ||
96 | } | 101 | } |
97 | 102 | ||
98 | 103 | ||
99 | void MediaPlayer::prev() { | 104 | void MediaPlayer::prev() { |
100 | if ( playList->prev() ) { | 105 | if ( playList->prev() ) { |
101 | play(); | 106 | play(); |
102 | } else if ( mediaPlayerState->looping() ) { | 107 | } else if ( mediaPlayerState->looping() ) { |
103 | if ( playList->last() ) { | 108 | if ( playList->last() ) { |
@@ -120,26 +125,24 @@ void MediaPlayer::next() { | |||
120 | mediaPlayerState->setList(); | 125 | mediaPlayerState->setList(); |
121 | } | 126 | } |
122 | } | 127 | } |
123 | 128 | ||
124 | 129 | ||
125 | void MediaPlayer::startDecreasingVolume() { | 130 | void MediaPlayer::startDecreasingVolume() { |
126 | volumeDirection = -1; | 131 | volumeDirection = -1; |
127 | startTimer( 100 ); | 132 | startTimer( 100 ); |
128 | // da kommt demnächst osound denk ich mal | 133 | volControl->decVol(2); |
129 | /////////////////////////// lets just move those change volume here | ||
130 | // AudioDevice::decreaseVolume(); | ||
131 | } | 134 | } |
132 | 135 | ||
133 | 136 | ||
134 | void MediaPlayer::startIncreasingVolume() { | 137 | void MediaPlayer::startIncreasingVolume() { |
135 | volumeDirection = +1; | 138 | volumeDirection = +1; |
136 | startTimer( 100 ); | 139 | startTimer( 100 ); |
137 | // AudioDevice::increaseVolume(); | 140 | volControl->incVol(2); |
138 | } | 141 | } |
139 | 142 | ||
140 | 143 | ||
141 | bool drawnOnScreenDisplay = FALSE; | 144 | bool drawnOnScreenDisplay = FALSE; |
142 | unsigned int onScreenDisplayVolume = 0; | 145 | unsigned int onScreenDisplayVolume = 0; |
143 | const int yoff = 110; | 146 | const int yoff = 110; |
144 | 147 | ||
145 | void MediaPlayer::stopChangingVolume() { | 148 | void MediaPlayer::stopChangingVolume() { |
@@ -149,57 +152,60 @@ void MediaPlayer::stopChangingVolume() { | |||
149 | onScreenDisplayVolume = 0; | 152 | onScreenDisplayVolume = 0; |
150 | int w = audioUI->width(); | 153 | int w = audioUI->width(); |
151 | int h = audioUI->height(); | 154 | int h = audioUI->height(); |
152 | audioUI->repaint( (w - 200) / 2, h - yoff, 200 + 9, 70, FALSE ); | 155 | audioUI->repaint( (w - 200) / 2, h - yoff, 200 + 9, 70, FALSE ); |
153 | } | 156 | } |
154 | 157 | ||
155 | 158 | ||
156 | void MediaPlayer::timerEvent( QTimerEvent * ) { | 159 | void MediaPlayer::timerEvent( QTimerEvent * ) { |
157 | // if ( volumeDirection == +1 ) | 160 | if ( volumeDirection == +1 ) { |
158 | // AudioDevice::increaseVolume(); | 161 | volControl->incVol(2); |
159 | // else if ( volumeDirection == -1 ) | 162 | } else if ( volumeDirection == -1 ) { |
160 | // AudioDevice::decreaseVolume(); | 163 | volControl->decVol(2); |
164 | } | ||
161 | 165 | ||
162 | // Display an on-screen display volume | ||
163 | unsigned int l, r, v; bool m; | ||
164 | 166 | ||
165 | // TODO FIXME | 167 | // TODO FIXME |
166 | // AudioDevice::getVolume( l, r, m ); | 168 | int v; |
167 | // v = ((l + r) * 11) / (2*0xFFFF); | 169 | v = volControl->getVolume(); |
170 | v = v / 10; | ||
168 | 171 | ||
169 | if ( drawnOnScreenDisplay && onScreenDisplayVolume == v ) | 172 | if ( drawnOnScreenDisplay && onScreenDisplayVolume == v ) { |
170 | return; | 173 | return; |
174 | } | ||
171 | 175 | ||
172 | int w = audioUI->width(); | 176 | int w = audioUI->width(); |
173 | int h = audioUI->height(); | 177 | int h = audioUI->height(); |
174 | 178 | ||
175 | if ( drawnOnScreenDisplay ) { | 179 | if ( drawnOnScreenDisplay ) { |
176 | if ( onScreenDisplayVolume > v ) | 180 | if ( onScreenDisplayVolume > v ) { |
177 | audioUI->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, (onScreenDisplayVolume - v) * 20 + 9, 30, FALSE ); | 181 | audioUI->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, (onScreenDisplayVolume - v) * 20 + 9, 30, FALSE ); |
182 | } | ||
178 | } | 183 | } |
179 | 184 | ||
180 | drawnOnScreenDisplay = TRUE; | 185 | drawnOnScreenDisplay = TRUE; |
181 | onScreenDisplayVolume = v; | 186 | onScreenDisplayVolume = v; |
182 | 187 | ||
183 | QPainter p( audioUI ); | 188 | QPainter p( audioUI ); |
184 | p.setPen( QColor( 0x10, 0xD0, 0x10 ) ); | 189 | p.setPen( QColor( 0x10, 0xD0, 0x10 ) ); |
185 | p.setBrush( QColor( 0x10, 0xD0, 0x10 ) ); | 190 | p.setBrush( QColor( 0x10, 0xD0, 0x10 ) ); |
186 | 191 | ||
187 | QFont f; | 192 | QFont f; |
188 | f.setPixelSize( 20 ); | 193 | f.setPixelSize( 20 ); |
189 | f.setBold( TRUE ); | 194 | f.setBold( TRUE ); |
190 | p.setFont( f ); | 195 | p.setFont( f ); |
191 | p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") ); | 196 | p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") ); |
192 | 197 | ||
193 | for ( unsigned int i = 0; i < 10; i++ ) { | 198 | for ( unsigned int i = 0; i < 10; i++ ) { |
194 | if ( v > i ) | 199 | if ( v > i ) { |
195 | p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 ); | 200 | p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 ); |
196 | else | 201 | } else { |
197 | p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 ); | 202 | p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 ); |
203 | } | ||
198 | } | 204 | } |
199 | } | 205 | } |
200 | 206 | ||
201 | void MediaPlayer::keyReleaseEvent( QKeyEvent *e) { | 207 | void MediaPlayer::keyReleaseEvent( QKeyEvent *e) { |
202 | switch ( e->key() ) { | 208 | switch ( e->key() ) { |
203 | ////////////////////////////// Zaurus keys | 209 | ////////////////////////////// Zaurus keys |
204 | case Key_Home: | 210 | case Key_Home: |
205 | break; | 211 | break; |