summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-07-06 23:21:45 (UTC)
committer harlekin <harlekin>2002-07-06 23:21:45 (UTC)
commitf975653aeec521ec473ed27eba1fc4d7648c0dd3 (patch) (unidiff)
tree3273440fc22fba619a90846e71ce8fde54dcd980
parent345c2059bdcfcde8c03c7ae6332b075705ac0a6f (diff)
downloadopie-f975653aeec521ec473ed27eba1fc4d7648c0dd3.zip
opie-f975653aeec521ec473ed27eba1fc4d7648c0dd3.tar.gz
opie-f975653aeec521ec473ed27eba1fc4d7648c0dd3.tar.bz2
first try to get stuff together
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp23
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.h3
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayerstate.cpp6
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayerstate.h4
-rw-r--r--noncore/multimedia/opieplayer2/opieplayer2.pro10
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.cpp51
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.h38
7 files changed, 116 insertions, 19 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index 87184ba..be59d8d 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -6,79 +6,84 @@
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 14
15#include "mediaplayerstate.h" 15#include "mediaplayerstate.h"
16 16
17 17
18
18extern AudioWidget *audioUI; 19extern AudioWidget *audioUI;
19extern PlayListWidget *playList; 20extern PlayListWidget *playList;
20extern MediaPlayerState *mediaPlayerState; 21extern MediaPlayerState *mediaPlayerState;
21 22
22 23
23MediaPlayer::MediaPlayer( QObject *parent, const char *name ) 24MediaPlayer::MediaPlayer( QObject *parent, const char *name )
24 : QObject( parent, name ), volumeDirection( 0 ), currentFile( NULL ) { 25 : QObject( parent, name ), volumeDirection( 0 ), currentFile( NULL ) {
25 26
26 27
28 xineControl = new XineControl();
27// QPEApplication::grabKeyboard(); // EVIL 29// QPEApplication::grabKeyboard(); // EVIL
28 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 30 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
29 31
30 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) ); 32 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) );
31 connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) ); 33 connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) );
32 connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) ); 34 connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) );
33 connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) ); 35 connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) );
36
37 connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
38 connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
39 connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
40 connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
34 41
35 connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
36 connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
37 connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
38 connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
39} 42}
40 43
41MediaPlayer::~MediaPlayer() { 44MediaPlayer::~MediaPlayer() {
42} 45}
43 46
44void MediaPlayer::pauseCheck( bool b ) { 47void MediaPlayer::pauseCheck( bool b ) {
45 // Only pause if playing 48 // Only pause if playing
46 if ( b && !mediaPlayerState->playing() ) 49 if ( b && !mediaPlayerState->playing() ) {
47 mediaPlayerState->setPaused( FALSE ); 50 mediaPlayerState->setPaused( FALSE );
51 }
48} 52}
49 53
50void MediaPlayer::play() { 54void MediaPlayer::play() {
51 mediaPlayerState->setPlaying( FALSE ); 55 mediaPlayerState->setPlaying( FALSE );
52 mediaPlayerState->setPlaying( TRUE ); 56 mediaPlayerState->setPlaying( TRUE );
53} 57}
54 58
55void MediaPlayer::setPlaying( bool play ) { 59void MediaPlayer::setPlaying( bool play ) {
56 if ( !play ) { 60 if ( !play ) {
57 mediaPlayerState->setPaused( FALSE ); 61 mediaPlayerState->setPaused( FALSE );
58 return; 62 return;
59 } 63 }
60 64
61 if ( mediaPlayerState->paused() ) { 65 if ( mediaPlayerState->paused() ) {
62 mediaPlayerState->setPaused( FALSE ); 66 mediaPlayerState->setPaused( FALSE );
63 return; 67 return;
64 } 68 }
65 69
66 const DocLnk *playListCurrent = playList->current(); 70 const DocLnk *playListCurrent = playList->current();
67 if ( playListCurrent != NULL ) { 71 if ( playListCurrent != NULL ) {
68 currentFile = playListCurrent; 72 currentFile = playListCurrent;
69 } 73 }
70 74
71 audioUI->setTickerText( currentFile->file() ); 75 audioUI->setTickerText( currentFile->file( ) );
72 76
77 xineControl->play( currentFile->file() );
73 78
74 // alles nicht nötig, xine kümmert sich drum, man muss nur den return andio oder video gui geben 79 // alles nicht nötig, xine kümmert sich drum, man muss nur den return andio oder video gui geben
75 80
76 // Ob auch video 'v' : 'a' 81 // Ob auch video 'v' : 'a'
77 // mediaPlayerState->setView( 'v' ); 82 // mediaPlayerState->setView( 'v' );
78 83
79 // abspielen starten. 84 // abspielen starten.
80} 85}
81 86
82 87
83void MediaPlayer::prev() { 88void MediaPlayer::prev() {
84 if ( playList->prev() ) 89 if ( playList->prev() )
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.h b/noncore/multimedia/opieplayer2/mediaplayer.h
index c4d38b5..7b79066 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.h
+++ b/noncore/multimedia/opieplayer2/mediaplayer.h
@@ -1,21 +1,22 @@
1 1
2#ifndef MEDIA_PLAYER_H 2#ifndef MEDIA_PLAYER_H
3#define MEDIA_PLAYER_H 3#define MEDIA_PLAYER_H
4 4
5#include <qmainwindow.h> 5#include <qmainwindow.h>
6#include <qframe.h> 6#include <qframe.h>
7#include <qpe/qlibrary.h> 7#include <qpe/qlibrary.h>
8#include <qpe/mediaplayerplugininterface.h> 8#include <qpe/mediaplayerplugininterface.h>
9 9
10#include "xinecontrol.h"
10 11
11class DocLnk; 12class DocLnk;
12 13
13 14
14class MediaPlayer : public QObject { 15class MediaPlayer : public QObject {
15 Q_OBJECT 16 Q_OBJECT
16public: 17public:
17 MediaPlayer( QObject *parent, const char *name ); 18 MediaPlayer( QObject *parent, const char *name );
18 ~MediaPlayer(); 19 ~MediaPlayer();
19 20
20private slots: 21private slots:
21 void setPlaying( bool ); 22 void setPlaying( bool );
@@ -27,17 +28,19 @@ private slots:
27 void startDecreasingVolume(); 28 void startDecreasingVolume();
28 void stopChangingVolume(); 29 void stopChangingVolume();
29 void cleanUp(); 30 void cleanUp();
30 31
31protected: 32protected:
32 void timerEvent( QTimerEvent *e ); 33 void timerEvent( QTimerEvent *e );
33 void keyReleaseEvent( QKeyEvent *e); 34 void keyReleaseEvent( QKeyEvent *e);
34 void doBlank(); 35 void doBlank();
35 void doUnblank(); 36 void doUnblank();
36private: 37private:
37 int volumeDirection; 38 int volumeDirection;
38 const DocLnk *currentFile; 39 const DocLnk *currentFile;
40 XineControl *xineControl;
41
39}; 42};
40 43
41 44
42#endif // MEDIA_PLAYER_H 45#endif // MEDIA_PLAYER_H
43 46
diff --git a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
index 2f24b00..3090b08 100644
--- a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
@@ -1,40 +1,38 @@
1
2
3
4#include <qpe/qpeapplication.h> 1#include <qpe/qpeapplication.h>
5#include <qpe/qlibrary.h> 2#include <qpe/qlibrary.h>
6#include <qpe/config.h> 3#include <qpe/config.h>
7#include <qvaluelist.h> 4#include <qvaluelist.h>
8#include <qobject.h> 5#include <qobject.h>
9#include <qdir.h> 6#include <qdir.h>
10#include <qpe/mediaplayerplugininterface.h>
11#include "mediaplayerstate.h" 7#include "mediaplayerstate.h"
12 8
13 9
14 10
15//#define MediaPlayerDebug(x) qDebug x 11//#define MediaPlayerDebug(x) qDebug x
16#define MediaPlayerDebug(x) 12#define MediaPlayerDebug(x)
17 13
18 14
19MediaPlayerState::MediaPlayerState( QObject *parent, const char *name ) 15MediaPlayerState::MediaPlayerState( QObject *parent, const char *name )
20 : QObject( parent, name ) { 16 : QObject( parent, name ) {
21 Config cfg( "OpiePlayer" ); 17 Config cfg( "OpiePlayer" );
22 readConfig( cfg ); 18 readConfig( cfg );
19
23} 20}
24 21
25 22
26MediaPlayerState::~MediaPlayerState() { 23MediaPlayerState::~MediaPlayerState() {
27 Config cfg( "OpiePlayer" ); 24 Config cfg( "OpiePlayer" );
28 writeConfig( cfg ); 25 writeConfig( cfg );
26
29} 27}
30 28
31 29
32void MediaPlayerState::readConfig( Config& cfg ) { 30void MediaPlayerState::readConfig( Config& cfg ) {
33 cfg.setGroup("Options"); 31 cfg.setGroup("Options");
34 isFullscreen = cfg.readBoolEntry( "FullScreen" ); 32 isFullscreen = cfg.readBoolEntry( "FullScreen" );
35 isScaled = cfg.readBoolEntry( "Scaling" ); 33 isScaled = cfg.readBoolEntry( "Scaling" );
36 isLooping = cfg.readBoolEntry( "Looping" ); 34 isLooping = cfg.readBoolEntry( "Looping" );
37 isShuffled = cfg.readBoolEntry( "Shuffle" ); 35 isShuffled = cfg.readBoolEntry( "Shuffle" );
38 usePlaylist = cfg.readBoolEntry( "UsePlayList" ); 36 usePlaylist = cfg.readBoolEntry( "UsePlayList" );
39 usePlaylist = TRUE; 37 usePlaylist = TRUE;
40 isPlaying = FALSE; 38 isPlaying = FALSE;
diff --git a/noncore/multimedia/opieplayer2/mediaplayerstate.h b/noncore/multimedia/opieplayer2/mediaplayerstate.h
index 7aa0ff2..dbbb0f2 100644
--- a/noncore/multimedia/opieplayer2/mediaplayerstate.h
+++ b/noncore/multimedia/opieplayer2/mediaplayerstate.h
@@ -32,25 +32,25 @@ public slots:
32 void setFullscreen( bool b ); 32 void setFullscreen( bool b );
33 void setScaled( bool b ); 33 void setScaled( bool b );
34 void setLooping( bool b ); 34 void setLooping( bool b );
35 void setShuffled( bool b ); 35 void setShuffled( bool b );
36 void setPlaylist( bool b ); 36 void setPlaylist( bool b );
37 void setPaused( bool b ); 37 void setPaused( bool b );
38 void setPlaying( bool b ); 38 void setPlaying( bool b );
39 void setPosition( long p ); 39 void setPosition( long p );
40 void updatePosition( long p ); 40 void updatePosition( long p );
41 void setLength( long l ); 41 void setLength( long l );
42 void setView( char v ); 42 void setView( char v );
43 43
44 void setPrev() ; 44 void setPrev();
45 void setNext(); 45 void setNext();
46 void setList(); 46 void setList();
47 void setVideo(); 47 void setVideo();
48 void setAudio(); 48 void setAudio();
49 49
50 void toggleFullscreen(); 50 void toggleFullscreen();
51 void toggleScaled(); 51 void toggleScaled();
52 void toggleLooping(); 52 void toggleLooping();
53 void toggleShuffled(); 53 void toggleShuffled();
54 void togglePlaylist(); 54 void togglePlaylist();
55 void togglePaused(); 55 void togglePaused();
56 void togglePlaying(); 56 void togglePlaying();
@@ -76,17 +76,19 @@ private:
76 bool isScaled; 76 bool isScaled;
77 bool isLooping; 77 bool isLooping;
78 bool isShuffled; 78 bool isShuffled;
79 bool usePlaylist; 79 bool usePlaylist;
80 bool isPaused; 80 bool isPaused;
81 bool isPlaying; 81 bool isPlaying;
82 long curPosition; 82 long curPosition;
83 long curLength; 83 long curLength;
84 char curView; 84 char curView;
85 85
86 void readConfig( Config& cfg ); 86 void readConfig( Config& cfg );
87 void writeConfig( Config& cfg ) const; 87 void writeConfig( Config& cfg ) const;
88
89
88}; 90};
89 91
90 92
91#endif // MEDIA_PLAYER_STATE_H 93#endif // MEDIA_PLAYER_STATE_H
92 94
diff --git a/noncore/multimedia/opieplayer2/opieplayer2.pro b/noncore/multimedia/opieplayer2/opieplayer2.pro
index 47683ac..a6c7c2b 100644
--- a/noncore/multimedia/opieplayer2/opieplayer2.pro
+++ b/noncore/multimedia/opieplayer2/opieplayer2.pro
@@ -1,17 +1,17 @@
1TEMPLATE = app 1TEMPLATE = app
2CONFIG = qt warn_on release 2CONFIG = qt warn_on release
3#release 3#release
4DESTDIR = $(OPIEDIR)/bin 4DESTDIR = $(OPIEDIR)/bin
5HEADERS = playlistselection.h mediaplayerstate.h \ 5HEADERS = playlistselection.h mediaplayerstate.h xinecontrol.h\
6 videowidget.h audiowidget.h playlistwidget.h mediaplayer.h inputDialog.h 6 videowidget.h audiowidget.h playlistwidget.h mediaplayer.h inputDialog.h
7SOURCES = main.cpp \ 7SOURCES = main.cpp \
8 playlistselection.cpp mediaplayerstate.cpp \ 8 playlistselection.cpp mediaplayerstate.cpp xinecontrol.cpp\
9 videowidget.cpp audiowidget.cpp playlistwidget.cpp mediaplayer.cpp inputDialog.cpp 9 videowidget.cpp audiowidget.cpp playlistwidget.cpp mediaplayer.cpp inputDialog.cpp
10TARGET = opieplayer 10TARGET = opieplayer
11INCLUDEPATH += $(OPIEDIR)/include 11INCLUDEPATH += $(OPIEDIR)/include /usr/include
12DEPENDPATH += $(OPIEDIR)/include 12DEPENDPATH += $(OPIEDIR)/include /usr/include
13LIBS += -lqpe -lpthread -lopie 13LIBS += -lqpe -lpthread -lopie -lxine -lxineutils
14 14
15INCLUDEPATH += $(OPIEDIR)/include 15INCLUDEPATH += $(OPIEDIR)/include
16DEPENDPATH += $(OPIEDIR)/include 16DEPENDPATH += $(OPIEDIR)/include
17 17
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.cpp b/noncore/multimedia/opieplayer2/xinecontrol.cpp
new file mode 100644
index 0000000..aaa1a24
--- a/dev/null
+++ b/noncore/multimedia/opieplayer2/xinecontrol.cpp
@@ -0,0 +1,51 @@
1
2#include "xinecontrol.h"
3#include "mediaplayerstate.h"
4
5extern MediaPlayerState *mediaPlayerState;
6
7XineControl::XineControl( QObject *parent, const char *name )
8 : QObject( parent, name ) {
9 libXine = new XINE::Lib();
10
11 connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( pause(bool) ) );
12 connect( this, SIGNAL( positionChanged( int position ) ), mediaPlayerState, SLOT( updatePosition( long p ) ) );
13
14}
15
16XineControl::~XineControl() {
17 delete libXine;
18}
19
20void XineControl::play( const QString& fileName ) {
21 libXine->play( fileName );
22 mediaPlayerState->setPlaying( true );
23 // hier dann schaun welcher view
24}
25
26void XineControl::stop() {
27 libXine->stop();
28 mediaPlayerState->setPlaying( false );
29}
30
31void XineControl::pause( bool ) {
32 libXine->pause();
33}
34
35int XineControl::currentTime() {
36 // todo: jede sekunde überprüfen
37 m_currentTime = libXine->currentTime();
38 return m_currentTime;
39}
40
41void XineControl::length() {
42 m_length = libXine->length();
43 mediaPlayerState->setLength( m_length );
44}
45
46int XineControl::position() {
47 m_position = (m_currentTime/m_length*100);
48 mediaPlayerState->setPosition( m_position );
49 return m_position;
50 emit positionChanged( m_position );
51}
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.h b/noncore/multimedia/opieplayer2/xinecontrol.h
new file mode 100644
index 0000000..cba83c0
--- a/dev/null
+++ b/noncore/multimedia/opieplayer2/xinecontrol.h
@@ -0,0 +1,38 @@
1
2#ifndef XINECONTROL_H
3#define XINECONTROL_H
4
5#include "lib.h"
6#include <qobject.h>
7
8class XineControl : public QObject {
9 Q_OBJECT
10public:
11 XineControl( QObject *parent, const char *name );
12 ~XineControl();
13
14private slots:
15 void play( const QString& fileName );
16 void stop();
17 void pause( bool );
18
19 int currentTime();
20
21 // get length of media file and set it
22 void length();
23
24 int position();
25
26private:
27 XINE::Lib *libXine;
28 int m_length;
29 int m_currentTime;
30 int m_position;
31
32signals:
33 void positionChanged( int position );
34
35};
36
37
38#endif