summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-07-06 23:21:45 (UTC)
committer harlekin <harlekin>2002-07-06 23:21:45 (UTC)
commitf975653aeec521ec473ed27eba1fc4d7648c0dd3 (patch) (side-by-side diff)
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
@@ -15,6 +15,7 @@
#include "mediaplayerstate.h"
+
extern AudioWidget *audioUI;
extern PlayListWidget *playList;
extern MediaPlayerState *mediaPlayerState;
@@ -24,18 +25,20 @@ MediaPlayer::MediaPlayer( QObject *parent, const char *name )
: QObject( parent, name ), volumeDirection( 0 ), currentFile( NULL ) {
+ xineControl = new XineControl();
// QPEApplication::grabKeyboard(); // EVIL
connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) );
connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) );
- connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) );
- connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) );
+ connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) );
+ connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) );
+
+ connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
+ connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
+ connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
+ connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
- connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
- connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
- connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
- connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
}
MediaPlayer::~MediaPlayer() {
@@ -43,8 +46,9 @@ MediaPlayer::~MediaPlayer() {
void MediaPlayer::pauseCheck( bool b ) {
// Only pause if playing
- if ( b && !mediaPlayerState->playing() )
- mediaPlayerState->setPaused( FALSE );
+ if ( b && !mediaPlayerState->playing() ) {
+ mediaPlayerState->setPaused( FALSE );
+ }
}
void MediaPlayer::play() {
@@ -68,8 +72,9 @@ void MediaPlayer::setPlaying( bool play ) {
currentFile = playListCurrent;
}
- audioUI->setTickerText( currentFile->file() );
+ audioUI->setTickerText( currentFile->file( ) );
+ xineControl->play( currentFile->file() );
// alles nicht nötig, xine kümmert sich drum, man muss nur den return andio oder video gui geben
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
@@ -7,6 +7,7 @@
#include <qpe/qlibrary.h>
#include <qpe/mediaplayerplugininterface.h>
+#include "xinecontrol.h"
class DocLnk;
@@ -36,6 +37,8 @@ protected:
private:
int volumeDirection;
const DocLnk *currentFile;
+ XineControl *xineControl;
+
};
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,13 +1,9 @@
-
-
-
#include <qpe/qpeapplication.h>
#include <qpe/qlibrary.h>
#include <qpe/config.h>
#include <qvaluelist.h>
#include <qobject.h>
#include <qdir.h>
-#include <qpe/mediaplayerplugininterface.h>
#include "mediaplayerstate.h"
@@ -20,12 +16,14 @@ MediaPlayerState::MediaPlayerState( QObject *parent, const char *name )
: QObject( parent, name ) {
Config cfg( "OpiePlayer" );
readConfig( cfg );
+
}
MediaPlayerState::~MediaPlayerState() {
Config cfg( "OpiePlayer" );
writeConfig( cfg );
+
}
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
@@ -41,7 +41,7 @@ public slots:
void setLength( long l );
void setView( char v );
- void setPrev() ;
+ void setPrev();
void setNext();
void setList();
void setVideo();
@@ -85,6 +85,8 @@ private:
void readConfig( Config& cfg );
void writeConfig( Config& cfg ) const;
+
+
};
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
@@ -2,15 +2,15 @@ TEMPLATE = app
CONFIG = qt warn_on release
#release
DESTDIR = $(OPIEDIR)/bin
-HEADERS = playlistselection.h mediaplayerstate.h \
+HEADERS = playlistselection.h mediaplayerstate.h xinecontrol.h\
videowidget.h audiowidget.h playlistwidget.h mediaplayer.h inputDialog.h
SOURCES = main.cpp \
- playlistselection.cpp mediaplayerstate.cpp \
+ playlistselection.cpp mediaplayerstate.cpp xinecontrol.cpp\
videowidget.cpp audiowidget.cpp playlistwidget.cpp mediaplayer.cpp inputDialog.cpp
TARGET = opieplayer
-INCLUDEPATH += $(OPIEDIR)/include
-DEPENDPATH += $(OPIEDIR)/include
-LIBS += -lqpe -lpthread -lopie
+INCLUDEPATH += $(OPIEDIR)/include /usr/include
+DEPENDPATH += $(OPIEDIR)/include /usr/include
+LIBS += -lqpe -lpthread -lopie -lxine -lxineutils
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
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 @@
+
+#include "xinecontrol.h"
+#include "mediaplayerstate.h"
+
+extern MediaPlayerState *mediaPlayerState;
+
+XineControl::XineControl( QObject *parent, const char *name )
+ : QObject( parent, name ) {
+ libXine = new XINE::Lib();
+
+ connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( pause(bool) ) );
+ connect( this, SIGNAL( positionChanged( int position ) ), mediaPlayerState, SLOT( updatePosition( long p ) ) );
+
+}
+
+XineControl::~XineControl() {
+ delete libXine;
+}
+
+void XineControl::play( const QString& fileName ) {
+ libXine->play( fileName );
+ mediaPlayerState->setPlaying( true );
+ // hier dann schaun welcher view
+}
+
+void XineControl::stop() {
+ libXine->stop();
+ mediaPlayerState->setPlaying( false );
+}
+
+void XineControl::pause( bool ) {
+ libXine->pause();
+}
+
+int XineControl::currentTime() {
+ // todo: jede sekunde überprüfen
+ m_currentTime = libXine->currentTime();
+ return m_currentTime;
+}
+
+void XineControl::length() {
+ m_length = libXine->length();
+ mediaPlayerState->setLength( m_length );
+}
+
+int XineControl::position() {
+ m_position = (m_currentTime/m_length*100);
+ mediaPlayerState->setPosition( m_position );
+ return m_position;
+ emit positionChanged( m_position );
+}
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 @@
+
+#ifndef XINECONTROL_H
+#define XINECONTROL_H
+
+#include "lib.h"
+#include <qobject.h>
+
+class XineControl : public QObject {
+ Q_OBJECT
+public:
+ XineControl( QObject *parent, const char *name );
+ ~XineControl();
+
+private slots:
+ void play( const QString& fileName );
+ void stop();
+ void pause( bool );
+
+ int currentTime();
+
+ // get length of media file and set it
+ void length();
+
+ int position();
+
+private:
+ XINE::Lib *libXine;
+ int m_length;
+ int m_currentTime;
+ int m_position;
+
+signals:
+ void positionChanged( int position );
+
+};
+
+
+#endif