summaryrefslogtreecommitdiff
path: root/noncore
authorllornkcor <llornkcor>2002-08-15 16:32:17 (UTC)
committer llornkcor <llornkcor>2002-08-15 16:32:17 (UTC)
commit07ea5f165a2f17f818147b2e8afb02af2c269b55 (patch) (side-by-side diff)
tree94059e0b4910f5a681be601f554c5c3a6c26de4b /noncore
parent747a98bb3b2a92b6f3577fa383fc44a8644a7ce2 (diff)
downloadopie-07ea5f165a2f17f818147b2e8afb02af2c269b55.zip
opie-07ea5f165a2f17f818147b2e8afb02af2c269b55.tar.gz
opie-07ea5f165a2f17f818147b2e8afb02af2c269b55.tar.bz2
added useAudio() and useVideo()
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp106
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.cpp6
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.h5
3 files changed, 85 insertions, 32 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index a3238f0..51fbb8b 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -8,19 +8,21 @@
#include <qwidgetstack.h>
#include <qfile.h>
#include "mediaplayer.h"
#include "playlistwidget.h"
#include "audiowidget.h"
+#include "videowidget.h"
#include "volumecontrol.h"
#include "mediaplayerstate.h"
extern AudioWidget *audioUI;
+extern VideoWidget *videoUI;
extern PlayListWidget *playList;
extern MediaPlayerState *mediaPlayerState;
MediaPlayer::MediaPlayer( QObject *parent, const char *name )
: QObject( parent, name ), volumeDirection( 0 ), currentFile( NULL ) {
@@ -39,12 +41,17 @@ MediaPlayer::MediaPlayer( QObject *parent, const char *name )
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( videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
+ connect( videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
+ connect( videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
+ connect( videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
+
volControl = new VolumeControl;
}
MediaPlayer::~MediaPlayer() {
delete xineControl;
@@ -148,62 +155,99 @@ const int yoff = 110;
void MediaPlayer::stopChangingVolume() {
killTimers();
// Get rid of the on-screen display stuff
drawnOnScreenDisplay = FALSE;
onScreenDisplayVolume = 0;
- int w = audioUI->width();
- int h = audioUI->height();
- audioUI->repaint( (w - 200) / 2, h - yoff, 200 + 9, 70, FALSE );
+ int w=0;
+ int h=0;
+ if( !xineControl->hasVideo()) {
+ w = audioUI->width();
+ h = audioUI->height();
+ audioUI->repaint( (w - 200) / 2, h - yoff, 200 + 9, 70, FALSE );
+ } else {
+ w = videoUI->width();
+ h = videoUI->height();
+ videoUI->repaint( (w - 200) / 2, h - yoff, 200 + 9, 70, FALSE );
+ }
}
void MediaPlayer::timerEvent( QTimerEvent * ) {
if ( volumeDirection == +1 ) {
volControl->incVol(2);
} else if ( volumeDirection == -1 ) {
volControl->decVol(2);
}
- // TODO FIXME
+ // TODO FIXME
int v;
v = volControl->getVolume();
v = v / 10;
- if ( drawnOnScreenDisplay && onScreenDisplayVolume == v ) {
- return;
- }
-
- int w = audioUI->width();
- int h = audioUI->height();
-
- if ( drawnOnScreenDisplay ) {
- if ( onScreenDisplayVolume > v ) {
- audioUI->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, (onScreenDisplayVolume - v) * 20 + 9, 30, FALSE );
- }
+ if ( drawnOnScreenDisplay && onScreenDisplayVolume == v ) {
+ return;
}
- drawnOnScreenDisplay = TRUE;
- onScreenDisplayVolume = v;
+ int w=0; int h=0;
+ if( !xineControl->hasVideo()) {
+ w = audioUI->width();
+ h = audioUI->height();
- QPainter p( audioUI );
- p.setPen( QColor( 0x10, 0xD0, 0x10 ) );
- p.setBrush( QColor( 0x10, 0xD0, 0x10 ) );
-
- QFont f;
- f.setPixelSize( 20 );
- f.setBold( TRUE );
- p.setFont( f );
- p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") );
+ if ( drawnOnScreenDisplay ) {
+ if ( onScreenDisplayVolume > v ) {
+ audioUI->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, (onScreenDisplayVolume - v) * 20 + 9, 30, FALSE );
+ }
+ }
+ drawnOnScreenDisplay = TRUE;
+ onScreenDisplayVolume = v;
+ QPainter p( audioUI );
+ p.setPen( QColor( 0x10, 0xD0, 0x10 ) );
+ p.setBrush( QColor( 0x10, 0xD0, 0x10 ) );
+
+ QFont f;
+ f.setPixelSize( 20 );
+ f.setBold( TRUE );
+ p.setFont( f );
+ p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") );
+
+ for ( unsigned int i = 0; i < 10; i++ ) {
+ if ( v > i ) {
+ p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 );
+ } else {
+ p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 );
+ }
+ }
+ } else {
+ w = videoUI->width();
+ h = videoUI->height();
- for ( unsigned int i = 0; i < 10; i++ ) {
- if ( v > i ) {
- p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 );
- } else {
- p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 );
+ if ( drawnOnScreenDisplay ) {
+ if ( onScreenDisplayVolume > v ) {
+ videoUI->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, (onScreenDisplayVolume - v) * 20 + 9, 30, FALSE );
+ }
+ }
+ drawnOnScreenDisplay = TRUE;
+ onScreenDisplayVolume = v;
+ QPainter p( videoUI );
+ p.setPen( QColor( 0x10, 0xD0, 0x10 ) );
+ p.setBrush( QColor( 0x10, 0xD0, 0x10 ) );
+
+ QFont f;
+ f.setPixelSize( 20 );
+ f.setBold( TRUE );
+ p.setFont( f );
+ p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") );
+
+ for ( unsigned int i = 0; i < 10; i++ ) {
+ if ( v > i ) {
+ p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 );
+ } else {
+ p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 );
+ }
}
}
}
void MediaPlayer::keyReleaseEvent( QKeyEvent *e) {
switch ( e->key() ) {
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.cpp b/noncore/multimedia/opieplayer2/xinecontrol.cpp
index 84ef3f3..17112a2 100644
--- a/noncore/multimedia/opieplayer2/xinecontrol.cpp
+++ b/noncore/multimedia/opieplayer2/xinecontrol.cpp
@@ -65,12 +65,14 @@ XineControl::~XineControl() {
}
#endif
delete libXine;
}
void XineControl::play( const QString& fileName ) {
+ hasVideoChannel=FALSE;
+ hasAudioChannel=FALSE;
m_fileName = fileName;
libXine->play( fileName );
mediaPlayerState->setPlaying( true );
// default to audio view until we know how to handle video
// MediaDetect mdetect;
char whichGui = mdetect.videoOrAudio( fileName );
@@ -78,14 +80,16 @@ void XineControl::play( const QString& fileName ) {
qDebug("Nicht erkannter Dateityp");
return;
}
if (whichGui == 'a') {
libXine->setShowVideo( false );
+ hasAudioChannel=TRUE;
} else {
libXine->setShowVideo( true );
+ hasVideoChannel=TRUE;
}
// determine if slider is shown
// mediaPlayerState->setIsStreaming( mdetect.isStreaming( fileName ) );
mediaPlayerState->setIsStreaming( !libXine->isSeekable() );
// which gui (video / audio)
@@ -189,8 +193,8 @@ void XineControl::setFullscreen( bool isSet ) {
*/
void XineControl::seekTo( long second ) {
libXine->play( m_fileName , 0, (int)second );
}
void XineControl::videoResized ( const QSize &s ) {
- libXine-> resize ( s );
+ libXine-> resize ( s );
}
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.h b/noncore/multimedia/opieplayer2/xinecontrol.h
index 9ad221e..88458be 100644
--- a/noncore/multimedia/opieplayer2/xinecontrol.h
+++ b/noncore/multimedia/opieplayer2/xinecontrol.h
@@ -42,12 +42,15 @@ class XineControl : public QObject {
Q_OBJECT
public:
XineControl( QObject *parent = 0, const char *name =0 );
~XineControl();
int m_length;
+ bool hasVideo() const { return hasVideoChannel; }
+ bool hasAudio() const { return hasAudioChannel; }
+
public slots:
void play( const QString& fileName );
void stop( bool );
void pause( bool );
void setFullscreen( bool );
long currentTime();
@@ -62,12 +65,14 @@ private:
XINE::Lib *libXine;
MediaDetect mdetect;
long m_currentTime;
long m_position;
QString m_fileName;
bool disabledSuspendScreenSaver;
+ bool hasVideoChannel;
+ bool hasAudioChannel;
signals:
void positionChanged( long );
};