summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/mediaplayer.cpp
authorzecke <zecke>2004-09-23 21:38:02 (UTC)
committer zecke <zecke>2004-09-23 21:38:02 (UTC)
commit97ab73d99688443d02086b4f00d1de7c81faa3c7 (patch) (unidiff)
tree63864e847abc41442d2ed88ca27a27ad1942c15a /noncore/multimedia/opieplayer2/mediaplayer.cpp
parent3080b2095fd9dddc4937cbf74037ce1dbc7fa6b2 (diff)
downloadopie-97ab73d99688443d02086b4f00d1de7c81faa3c7.zip
opie-97ab73d99688443d02086b4f00d1de7c81faa3c7.tar.gz
opie-97ab73d99688443d02086b4f00d1de7c81faa3c7.tar.bz2
-Remove bogus whitespaces
-Remove stl dependency -Make switching from fullscreen video to audio work -Remove debug output
Diffstat (limited to 'noncore/multimedia/opieplayer2/mediaplayer.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp50
1 files changed, 5 insertions, 45 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index e6afbd8..b8023ca 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -1,64 +1,61 @@
1#include "mediaplayer.h" 1#include "mediaplayer.h"
2#include "audiowidget.h" 2#include "audiowidget.h"
3#include "videowidget.h" 3#include "videowidget.h"
4#include "volumecontrol.h" 4#include "volumecontrol.h"
5 5
6/* OPIE */ 6/* OPIE */
7#include <opie2/odebug.h> 7#include <opie2/odebug.h>
8#include <opie2/odevice.h>
8#include <qpe/qpeapplication.h> 9#include <qpe/qpeapplication.h>
9#include <qpe/config.h> 10#include <qpe/config.h>
10 11
11/* QT */ 12/* QT */
12#include <qfileinfo.h> 13#include <qfileinfo.h>
13 14
14/* STD */ 15/* STD */
15#include <linux/fb.h> 16#include <linux/fb.h>
16#include <sys/file.h> 17#include <sys/file.h>
17#include <sys/ioctl.h> 18#include <sys/ioctl.h>
18 19
19#define FBIOBLANK 0x4611 20#define FBIOBLANK 0x4611
20 21
21MediaPlayer::MediaPlayer( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name ) 22MediaPlayer::MediaPlayer( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name )
22 : QObject( parent, name ), volumeDirection( 0 ), mediaPlayerState( _mediaPlayerState ), playList( _playList ) { 23 : QObject( parent, name ), volumeDirection( 0 ), mediaPlayerState( _mediaPlayerState ), playList( _playList ) {
23 24
24 m_audioUI = 0; 25 m_audioUI = 0;
25 m_videoUI = 0; 26 m_videoUI = 0;
26 m_xineControl = 0; 27 m_xineControl = 0;
27 xine = new XINE::Lib( XINE::Lib::InitializeInThread ); 28 xine = new XINE::Lib( XINE::Lib::InitializeInThread );
28 29
29 fd=-1;fl=-1; 30 fd=-1;fl=-1;
30 playList.setCaption( tr( "OpiePlayer: Initializating" ) ); 31 playList.setCaption( tr( "OpiePlayer: Initializating" ) );
31 32
32 qApp->processEvents(); 33 qApp->processEvents();
33 // QPEApplication::grabKeyboard(); // EVIL 34 // QPEApplication::grabKeyboard(); // EVIL
34 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 35 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
35 36
36 connect( &mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) ); 37 connect( &mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) );
37
38// What is pauseCheck good for? (Simon)
39// connect( &mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( pauseCheck(bool) ) );
40
41 connect( &mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) ); 38 connect( &mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) );
42 connect( &mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) ); 39 connect( &mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) );
43 connect( &mediaPlayerState, SIGNAL( blankToggled(bool) ), this, SLOT ( blank(bool) ) ); 40 connect( &mediaPlayerState, SIGNAL( blankToggled(bool) ), this, SLOT ( blank(bool) ) );
44 41
45 volControl = new VolumeControl; 42 volControl = new VolumeControl;
46 Config cfg( "OpiePlayer" ); 43 Config cfg( "OpiePlayer" );
47 cfg.setGroup("PlayList"); 44 cfg.setGroup("PlayList");
48 QString currentPlaylist = cfg.readEntry( "CurrentPlaylist", "default"); 45 QString currentPlaylist = cfg.readEntry( "CurrentPlaylist", "default");
49 playList.setCaption( tr( "OpiePlayer: " ) + QFileInfo(currentPlaylist).baseName() ); 46 playList.setCaption( tr( "OpiePlayer: " ) + QFileInfo(currentPlaylist).baseName() );
50 47
51 m_skinLoader = new SkinLoader; 48 m_skinLoader = new SkinLoader;
52 m_skinLoader->schedule( AudioWidget::guiInfo() ); 49 m_skinLoader->schedule( AudioWidget::guiInfo() );
53 m_skinLoader->schedule( VideoWidget::guiInfo() ); 50 m_skinLoader->schedule( VideoWidget::guiInfo() );
54 m_skinLoader->start(); 51 m_skinLoader->start();
55} 52}
56 53
57MediaPlayer::~MediaPlayer() { 54MediaPlayer::~MediaPlayer() {
58 // this shold never happen, but one never knows... 55 // this shold never happen, but one never knows...
59 if ( xine ) { 56 if ( xine ) {
60 xine->ensureInitialized(); 57 xine->ensureInitialized();
61 delete xine; 58 delete xine;
62 } 59 }
63 delete m_xineControl; 60 delete m_xineControl;
64 delete m_audioUI; 61 delete m_audioUI;
@@ -133,49 +130,49 @@ void MediaPlayer::prev() {
133 } else if ( mediaPlayerState.isLooping() ) { 130 } else if ( mediaPlayerState.isLooping() ) {
134 if ( playList.last() ) { 131 if ( playList.last() ) {
135 play(); 132 play();
136 } 133 }
137 } else { 134 } else {
138 mediaPlayerState.setList(); 135 mediaPlayerState.setList();
139 } 136 }
140 } 137 }
141} 138}
142 139
143 140
144void MediaPlayer::next() { 141void MediaPlayer::next() {
145 142
146 if(playList.currentTab() == PlayListWidget::CurrentPlayList) { //if using the playlist 143 if(playList.currentTab() == PlayListWidget::CurrentPlayList) { //if using the playlist
147 if ( playList.next() ) { 144 if ( playList.next() ) {
148 play(); 145 play();
149 } else if ( mediaPlayerState.isLooping() ) { 146 } else if ( mediaPlayerState.isLooping() ) {
150 if ( playList.first() ) { 147 if ( playList.first() ) {
151 play(); 148 play();
152 } 149 }
153 } else { 150 } else {
154 mediaPlayerState.setList(); 151 mediaPlayerState.setList();
155 } 152 }
156 } else { //if playing from file list, let's just stop 153 } else { //if playing from file list, let's just stop
157 odebug << "<<<<<<<<<<<<<<<<<stop for filelists" << oendl; 154 odebug << "<<<<<<<<<<<<<<<<<stop for filelists" << oendl;
158 mediaPlayerState.setPlaying(false); 155 mediaPlayerState.setPlaying(false);
159 mediaPlayerState.setDisplayType( MediaPlayerState::MediaSelection ); 156 mediaPlayerState.setDisplayType( MediaPlayerState::MediaSelection );
160 if(l) mediaPlayerState.setLooping(l); 157 if(l) mediaPlayerState.setLooping(l);
161 if(r) mediaPlayerState.setShuffled(r); 158 if(r) mediaPlayerState.setShuffled(r);
162 } 159 }
163 qApp->processEvents(); 160 qApp->processEvents();
164} 161}
165 162
166 163
167void MediaPlayer::startDecreasingVolume() { 164void MediaPlayer::startDecreasingVolume() {
168 volumeDirection = -1; 165 volumeDirection = -1;
169 startTimer( 100 ); 166 startTimer( 100 );
170 volControl->decVol(2); 167 volControl->decVol(2);
171} 168}
172 169
173 170
174void MediaPlayer::startIncreasingVolume() { 171void MediaPlayer::startIncreasingVolume() {
175 volumeDirection = +1; 172 volumeDirection = +1;
176 startTimer( 100 ); 173 startTimer( 100 );
177 volControl->incVol(2); 174 volControl->incVol(2);
178} 175}
179 176
180 177
181bool drawnOnScreenDisplay = FALSE; 178bool drawnOnScreenDisplay = FALSE;
@@ -260,115 +257,78 @@ void MediaPlayer::timerEvent( QTimerEvent * ) {
260 drawnOnScreenDisplay = TRUE; 257 drawnOnScreenDisplay = TRUE;
261 onScreenDisplayVolume = v; 258 onScreenDisplayVolume = v;
262 QPainter p( videoUI() ); 259 QPainter p( videoUI() );
263 p.setPen( QColor( 0x10, 0xD0, 0x10 ) ); 260 p.setPen( QColor( 0x10, 0xD0, 0x10 ) );
264 p.setBrush( QColor( 0x10, 0xD0, 0x10 ) ); 261 p.setBrush( QColor( 0x10, 0xD0, 0x10 ) );
265 262
266 QFont f; 263 QFont f;
267 f.setPixelSize( 20 ); 264 f.setPixelSize( 20 );
268 f.setBold( TRUE ); 265 f.setBold( TRUE );
269 p.setFont( f ); 266 p.setFont( f );
270 p.drawText( (w - 200) / 2, h - yoff + 20, tr( "Volume" ) ); 267 p.drawText( (w - 200) / 2, h - yoff + 20, tr( "Volume" ) );
271 268
272 for ( unsigned int i = 0; i < 10; i++ ) { 269 for ( unsigned int i = 0; i < 10; i++ ) {
273 if ( v > i ) { 270 if ( v > i ) {
274 p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 ); 271 p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 );
275 } else { 272 } else {
276 p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 ); 273 p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 );
277 } 274 }
278 } 275 }
279 } 276 }
280} 277}
281 278
282 279
283void MediaPlayer::blank( bool b ) { 280void MediaPlayer::blank( bool b ) {
284#ifdef QT_QWS_DEVFS 281 Opie::Core::ODevice::inst()->setDisplayStatus( b );
285 fd=open("/dev/fb/0",O_RDWR);
286#else
287 fd=open("/dev/fb0",O_RDWR);
288#endif
289#ifdef QT_QWS_SL5XXX
290 fl= open( "/dev/fl", O_RDWR );
291#endif
292 if (fd != -1) {
293 if ( b ) {
294 odebug << "do blanking" << oendl;
295#ifdef QT_QWS_SL5XXX
296 ioctl( fd, FBIOBLANK, 1 );
297 if(fl !=-1) {
298 ioctl( fl, 2 );
299 ::close(fl);
300 }
301#else
302 ioctl( fd, FBIOBLANK, 3 );
303#endif
304 isBlanked = TRUE;
305 } else {
306 odebug << "do unblanking" << oendl;
307 ioctl( fd, FBIOBLANK, 0);
308#ifdef QT_QWS_SL5XXX
309 if(fl != -1) {
310 ioctl( fl, 1);
311 ::close(fl);
312 }
313#endif
314 isBlanked = FALSE;
315 }
316 close( fd );
317 } else {
318 odebug << "<< /dev/fb0 could not be opened >>" << oendl;
319 }
320} 282}
321 283
322void MediaPlayer::keyReleaseEvent( QKeyEvent *e) { 284void MediaPlayer::keyReleaseEvent( QKeyEvent *e) {
323 switch ( e->key() ) { 285 switch ( e->key() ) {
324////////////////////////////// Zaurus keys 286////////////////////////////// Zaurus keys
325 case Key_Home: 287 case Key_Home:
326 break; 288 break;
327 case Key_F9: //activity 289 case Key_F9: //activity
328 break; 290 break;
329 case Key_F10: //contacts 291 case Key_F10: //contacts
330 break; 292 break;
331 case Key_F11: //menu 293 case Key_F11: //menu
332 break; 294 break;
333 case Key_F12: //home 295 case Key_F12: //home
334 odebug << "Blank here" << oendl; 296 odebug << "Blank here" << oendl;
335// mediaPlayerState->toggleBlank(); 297// mediaPlayerState->toggleBlank();
336 break; 298 break;
337 case Key_F13: //mail 299 case Key_F13: //mail
338 odebug << "Blank here" << oendl; 300 odebug << "Blank here" << oendl;
339 // mediaPlayerState->toggleBlank(); 301 // mediaPlayerState->toggleBlank();
340 break; 302 break;
341 } 303 }
342} 304}
343 305
344void MediaPlayer::cleanUp() {// this happens on closing 306void MediaPlayer::cleanUp() {// this happens on closing
345 Config cfg( "OpiePlayer" ); 307 Config cfg( "OpiePlayer" );
346 mediaPlayerState.writeConfig( cfg ); 308 mediaPlayerState.writeConfig( cfg );
347 playList.writeDefaultPlaylist( ); 309 playList.writeDefaultPlaylist( );
348 310
349// QPEApplication::grabKeyboard();
350// QPEApplication::ungrabKeyboard();
351} 311}
352 312
353void MediaPlayer::recreateAudioAndVideoWidgets() const 313void MediaPlayer::recreateAudioAndVideoWidgets() const
354{ 314{
355 delete m_skinLoader; 315 delete m_skinLoader;
356 316
357 delete m_xineControl; 317 delete m_xineControl;
358 delete m_audioUI; 318 delete m_audioUI;
359 delete m_videoUI; 319 delete m_videoUI;
360 m_audioUI = new AudioWidget( playList, mediaPlayerState, 0, "audioUI" ); 320 m_audioUI = new AudioWidget( playList, mediaPlayerState, 0, "audioUI" );
361 m_videoUI = new VideoWidget( playList, mediaPlayerState, 0, "videoUI" ); 321 m_videoUI = new VideoWidget( playList, mediaPlayerState, 0, "videoUI" );
362 322
363 connect( m_audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); 323 connect( m_audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
364 connect( m_audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); 324 connect( m_audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
365 connect( m_audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); 325 connect( m_audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
366 connect( m_audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); 326 connect( m_audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
367 327
368 connect( m_videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); 328 connect( m_videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
369 connect( m_videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); 329 connect( m_videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
370 connect( m_videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); 330 connect( m_videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
371 connect( m_videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); 331 connect( m_videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
372 332
373 if ( !xine ) 333 if ( !xine )
374 xine = new XINE::Lib( XINE::Lib::InitializeImmediately ); 334 xine = new XINE::Lib( XINE::Lib::InitializeImmediately );