summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/mediaplayer.cpp
Unidiff
Diffstat (limited to 'noncore/multimedia/opieplayer2/mediaplayer.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp52
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
19extern AudioWidget *audioUI; 20extern AudioWidget *audioUI;
20extern PlayListWidget *playList; 21extern PlayListWidget *playList;
21extern MediaPlayerState *mediaPlayerState; 22extern 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
44MediaPlayer::~MediaPlayer() { 47MediaPlayer::~MediaPlayer() {
48 delete xineControl;
49 delete volControl;
45} 50}
46 51
47void MediaPlayer::pauseCheck( bool b ) { 52void 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
99void MediaPlayer::prev() { 104void 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
125void MediaPlayer::startDecreasingVolume() { 130void 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
134void MediaPlayer::startIncreasingVolume() { 137void 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
141bool drawnOnScreenDisplay = FALSE; 144bool drawnOnScreenDisplay = FALSE;
142unsigned int onScreenDisplayVolume = 0; 145unsigned int onScreenDisplayVolume = 0;
143const int yoff = 110; 146const int yoff = 110;
144 147
145void MediaPlayer::stopChangingVolume() { 148void 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
156void MediaPlayer::timerEvent( QTimerEvent * ) { 159void 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
201void MediaPlayer::keyReleaseEvent( QKeyEvent *e) { 207void 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;