summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2
Unidiff
Diffstat (limited to 'noncore/multimedia/opieplayer2') (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
@@ -1,96 +1,101 @@
1#include <qpe/qpeapplication.h> 1#include <qpe/qpeapplication.h>
2#include <qpe/qlibrary.h> 2#include <qpe/qlibrary.h>
3#include <qpe/resource.h> 3#include <qpe/resource.h>
4#include <qpe/config.h> 4#include <qpe/config.h>
5 5
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() )
85 play(); 90 play();
86 else if ( mediaPlayerState->looping() ) { 91 else if ( mediaPlayerState->looping() ) {
87 if ( playList->last() ) 92 if ( playList->last() )
88 play(); 93 play();
89 } else 94 } else
90 mediaPlayerState->setList(); 95 mediaPlayerState->setList();
91} 96}
92 97
93 98
94void MediaPlayer::next() { 99void MediaPlayer::next() {
95 if ( playList->next() ) 100 if ( playList->next() )
96 play(); 101 play();
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,43 +1,46 @@
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 );
22 void pauseCheck( bool ); 23 void pauseCheck( bool );
23 void play(); 24 void play();
24 void next(); 25 void next();
25 void prev(); 26 void prev();
26 void startIncreasingVolume(); 27 void startIncreasingVolume();
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,52 +1,50 @@
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;
41 isPaused = FALSE; 39 isPaused = FALSE;
42 curPosition = 0; 40 curPosition = 0;
43 curLength = 0; 41 curLength = 0;
44 curView = 'l'; 42 curView = 'l';
45} 43}
46 44
47 45
48void MediaPlayerState::writeConfig( Config& cfg ) const { 46void MediaPlayerState::writeConfig( Config& cfg ) const {
49 cfg.setGroup("Options"); 47 cfg.setGroup("Options");
50 cfg.writeEntry("FullScreen", isFullscreen ); 48 cfg.writeEntry("FullScreen", isFullscreen );
51 cfg.writeEntry("Scaling", isScaled ); 49 cfg.writeEntry("Scaling", isScaled );
52 cfg.writeEntry("Looping", isLooping ); 50 cfg.writeEntry("Looping", isLooping );
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
@@ -20,73 +20,75 @@ public:
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 long position(); 27 long position();
28 long length(); 28 long length();
29 char view(); 29 char view();
30 30
31public slots: 31public 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();
57 57
58signals: 58signals:
59 void fullscreenToggled( bool ); 59 void fullscreenToggled( bool );
60 void scaledToggled( bool ); 60 void scaledToggled( bool );
61 void loopingToggled( bool ); 61 void loopingToggled( bool );
62 void shuffledToggled( bool ); 62 void shuffledToggled( bool );
63 void playlistToggled( bool ); 63 void playlistToggled( bool );
64 void pausedToggled( bool ); 64 void pausedToggled( bool );
65 void playingToggled( bool ); 65 void playingToggled( bool );
66 void positionChanged( long ); // When the slider is moved 66 void positionChanged( long ); // When the slider is moved
67 void positionUpdated( long ); // When the media file progresses 67 void positionUpdated( long ); // When the media file progresses
68 void lengthChanged( long ); 68 void lengthChanged( long );
69 void viewChanged( char ); 69 void viewChanged( char );
70 70
71 void prev(); 71 void prev();
72 void next(); 72 void next();
73 73
74private: 74private:
75 bool isFullscreen; 75 bool isFullscreen;
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