summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp43
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.h44
-rw-r--r--noncore/multimedia/opieplayer2/inputDialog.cpp8
-rw-r--r--noncore/multimedia/opieplayer2/inputDialog.h12
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp68
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayerstate.cpp10
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayerstate.h5
7 files changed, 65 insertions, 125 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index 8d3963a..1b0de5d 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -14,20 +14,59 @@
14#include "mediaplayerstate.h" 14#include "mediaplayerstate.h"
15 15
16extern MediaPlayerState *mediaPlayerState; 16extern MediaPlayerState *mediaPlayerState;
17 17
18
19static const int xo = -2; // movable x offset 18static const int xo = -2; // movable x offset
20static const int yo = 22; // movable y offset 19static const int yo = 22; // movable y offset
21 20
22 21
22Ticker::Ticker( QWidget* parent=0 ) : QFrame( parent ) {
23 setFrameStyle( WinPanel | Sunken );
24 setText( "No Song" );
25}
26
27Ticker::~Ticker() {
28}
29
30void Ticker::setText( const QString& text ) {
31 pos = 0; // reset it everytime the text is changed
32 scrollText = text;
33 pixelLen = fontMetrics().width( scrollText );
34 killTimers();
35 if ( pixelLen > width() ) {
36 startTimer( 50 );
37 }
38 update();
39}
40
41
42void Ticker::timerEvent( QTimerEvent * ) {
43 pos = ( pos + 1 > pixelLen ) ? 0 : pos + 1;
44 repaint( FALSE );
45}
46
47void Ticker::drawContents( QPainter *p ) {
48 QPixmap pm( width(), height() );
49 pm.fill( colorGroup().base() );
50 QPainter pmp( &pm );
51 for ( int i = 0; i - pos < width() && (i < 1 || pixelLen > width()); i += pixelLen ) {
52 pmp.drawText( i - pos, 0, INT_MAX, height(), AlignVCenter, scrollText );
53 }
54 p->drawPixmap( 0, 0, pm );
55}
56
57
58
59
23struct MediaButton { 60struct MediaButton {
24 int xPos, yPos; 61 int xPos, yPos;
25 int color; 62 int color;
26 bool isToggle, isBig, isHeld, isDown; 63 bool isToggle, isBig, isHeld, isDown;
27}; 64};
28 65
29 66
67
68
30// Layout information for the audioButtons (and if it is a toggle button or not) 69// Layout information for the audioButtons (and if it is a toggle button or not)
31MediaButton audioButtons[] = { 70MediaButton audioButtons[] = {
32 { 3*30-15+xo, 3*30-13+yo, 0, TRUE, TRUE, FALSE, FALSE }, // play 71 { 3*30-15+xo, 3*30-13+yo, 0, TRUE, TRUE, FALSE, FALSE }, // play
33 { 1*30+xo, 5*30+yo, 2, FALSE, FALSE, FALSE, FALSE }, // stop 72 { 1*30+xo, 5*30+yo, 2, FALSE, FALSE, FALSE, FALSE }, // stop
@@ -39,9 +78,8 @@ MediaButton audioButtons[] = {
39 { 5*30+xo, 1*30+yo, 0, TRUE, FALSE, FALSE, FALSE }, // repeat/loop 78 { 5*30+xo, 1*30+yo, 0, TRUE, FALSE, FALSE, FALSE }, // repeat/loop
40 { 1*30+xo, 1*30+yo, 0, FALSE, FALSE, FALSE, FALSE } // playlist 79 { 1*30+xo, 1*30+yo, 0, FALSE, FALSE, FALSE, FALSE } // playlist
41}; 80};
42 81
43
44static const int numButtons = (sizeof(audioButtons)/sizeof(MediaButton)); 82static const int numButtons = (sizeof(audioButtons)/sizeof(MediaButton));
45 83
46 84
47AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) : 85AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) :
@@ -144,9 +182,8 @@ void AudioWidget::setView( char view ) {
144 } 182 }
145 183
146 if ( view == 'a' ) { 184 if ( view == 'a' ) {
147 startTimer( 150 ); 185 startTimer( 150 );
148 // show();
149 showMaximized(); 186 showMaximized();
150 } else { 187 } else {
151 killTimers(); 188 killTimers();
152 hide(); 189 hide();
diff --git a/noncore/multimedia/opieplayer2/audiowidget.h b/noncore/multimedia/opieplayer2/audiowidget.h
index eab5df4..441eb6e 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.h
+++ b/noncore/multimedia/opieplayer2/audiowidget.h
@@ -29,47 +29,17 @@ enum AudioButtons {
29 29
30 30
31class Ticker : public QFrame { 31class Ticker : public QFrame {
32 Q_OBJECT 32 Q_OBJECT
33
33public: 34public:
34 Ticker( QWidget* parent=0 ) : QFrame( parent ) { 35 Ticker( QWidget* parent=0 );
35 setFrameStyle( WinPanel | Sunken ); 36 ~Ticker();
36 setText( "No Song" ); 37 void setText( const QString& text ) ;
37 } 38
38 ~Ticker() { }
39 void setText( const QString& text ) {
40 pos = 0; // reset it everytime the text is changed
41 scrollText = text;
42 pixelLen = fontMetrics().width( scrollText );
43 killTimers();
44 if ( pixelLen > width() )
45 startTimer( 50 );
46 update();
47 }
48protected: 39protected:
49 void timerEvent( QTimerEvent * ) { 40 void timerEvent( QTimerEvent * );
50 pos = ( pos + 1 > pixelLen ) ? 0 : pos + 1; 41 void drawContents( QPainter *p );
51#ifndef USE_DBLBUF
52 scroll( -1, 0, contentsRect() );
53#else
54 repaint( FALSE );
55#endif
56 }
57 void drawContents( QPainter *p ) {
58#ifndef USE_DBLBUF
59 for ( int i = 0; i - pos < width() && (i < 1 || pixelLen > width()); i += pixelLen )
60 p->drawText( i - pos, 0, INT_MAX, height(), AlignVCenter, scrollText );
61#else
62 // Double buffering code.
63 // Looks like qvfb makes it look like it flickers but I don't think it really is
64 QPixmap pm( width(), height() );
65 pm.fill( colorGroup().base() );
66 QPainter pmp( &pm );
67 for ( int i = 0; i - pos < width() && (i < 1 || pixelLen > width()); i += pixelLen )
68 pmp.drawText( i - pos, 0, INT_MAX, height(), AlignVCenter, scrollText );
69 p->drawPixmap( 0, 0, pm );
70#endif
71 }
72private: 42private:
73 QString scrollText; 43 QString scrollText;
74 int pos, pixelLen; 44 int pos, pixelLen;
75}; 45};
diff --git a/noncore/multimedia/opieplayer2/inputDialog.cpp b/noncore/multimedia/opieplayer2/inputDialog.cpp
index da8e276..687aff6 100644
--- a/noncore/multimedia/opieplayer2/inputDialog.cpp
+++ b/noncore/multimedia/opieplayer2/inputDialog.cpp
@@ -1,12 +1,4 @@
1/****************************************************************************
2** Form implementation generated from reading ui file 'inputDialog.ui'
3**
4** Created: Sat Mar 2 07:55:03 2002
5** by: The User Interface Compiler (uic)
6**
7** WARNING! All changes made in this file will be lost!
8****************************************************************************/
9#include "inputDialog.h" 1#include "inputDialog.h"
10 2
11#include <qpe/resource.h> 3#include <qpe/resource.h>
12 4
diff --git a/noncore/multimedia/opieplayer2/inputDialog.h b/noncore/multimedia/opieplayer2/inputDialog.h
index 3e3e36f..d4f5e12 100644
--- a/noncore/multimedia/opieplayer2/inputDialog.h
+++ b/noncore/multimedia/opieplayer2/inputDialog.h
@@ -1,22 +1,14 @@
1/**************************************************************************** 1
2** Form interface generated from reading ui file 'inputDialog.ui'
3**
4** Created: Sat Mar 2 07:54:46 2002
5** by: The User Interface Compiler (uic)
6**
7** WARNING! All changes made in this file will be lost!
8****************************************************************************/
9#ifndef INPUTDIALOG_H 2#ifndef INPUTDIALOG_H
10#define INPUTDIALOG_H 3#define INPUTDIALOG_H
11 4
12#include <qvariant.h> 5#include <qvariant.h>
13#include <qdialog.h> 6#include <qdialog.h>
14 7
15class QLineEdit; 8class QLineEdit;
16 9
17class InputDialog : public QDialog 10class InputDialog : public QDialog {
18{
19 Q_OBJECT 11 Q_OBJECT
20 12
21public: 13public:
22 InputDialog( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); 14 InputDialog( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index e6d0525..87184ba 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -53,71 +53,31 @@ void MediaPlayer::play() {
53} 53}
54 54
55void MediaPlayer::setPlaying( bool play ) { 55void MediaPlayer::setPlaying( bool play ) {
56 if ( !play ) { 56 if ( !play ) {
57 mediaPlayerState->setPaused( FALSE ); 57 mediaPlayerState->setPaused( FALSE );
58// loopControl->stop( FALSE ); 58 return;
59 return;
60 } 59 }
61 60
62 if ( mediaPlayerState->paused() ) { 61 if ( mediaPlayerState->paused() ) {
63 mediaPlayerState->setPaused( FALSE ); 62 mediaPlayerState->setPaused( FALSE );
64 return; 63 return;
65 } 64 }
66 65
67 const DocLnk *playListCurrent = playList->current(); 66 const DocLnk *playListCurrent = playList->current();
68 if ( playListCurrent != NULL ) { 67 if ( playListCurrent != NULL ) {
69// loopControl->stop( TRUE ); 68 currentFile = playListCurrent;
70 currentFile = playListCurrent;
71 }
72
73 /*
74
75 if ( currentFile == NULL ) {
76 QMessageBox::critical( 0, tr( "No file"), tr( "Error: There is no file selected" ) );
77 mediaPlayerState->setPlaying( FALSE );
78 return;
79 }
80
81 if ( ((currentFile->file()).left(4) != "http") && !QFile::exists( currentFile->file() ) ) {
82 QMessageBox::critical( 0, tr( "File not found"), tr( "The following file was not found: <i>" ) + currentFile->file() + "</i>" );
83 mediaPlayerState->setPlaying( FALSE );
84 return;
85 }
86
87 if ( !mediaPlayerState->newDecoder( currentFile->file() ) ) {
88 QMessageBox::critical( 0, tr( "No decoder found"), tr( "Sorry, no appropriate decoders found for this file: <i>" ) + currentFile->file() + "</i>" );
89 mediaPlayerState->setPlaying( FALSE );
90 return;
91 } 69 }
92 70
93// if ( !loopControl->init( currentFile->file() ) ) { 71 audioUI->setTickerText( currentFile->file() );
94// QMessageBox::critical( 0, tr( "Error opening file"), tr( "Sorry, an error occured trying to play the file: <i>" ) + currentFile->file() + "</i>" );
95// mediaPlayerState->setPlaying( FALSE );
96// return;
97// }
98// long seconds = loopControl->totalPlaytime();
99 long seconds = 120;
100 QString time;
101 time.sprintf("%li:%02i", seconds/60, (int)seconds%60 );
102 QString tickerText;
103 if( currentFile->file().left(4) == "http" )
104 tickerText= tr( " File: " ) + currentFile->name();
105 else
106 tickerText = tr( " File: " ) + currentFile->name() + tr(", Length: ") + time;
107 72
108 QString fileInfo = mediaPlayerState->curDecoder()->fileInfo();
109 if ( !fileInfo.isEmpty() )
110 tickerText += ", " + fileInfo;
111 audioUI->setTickerText( tickerText + "." );
112 73
74 // alles nicht nötig, xine kümmert sich drum, man muss nur den return andio oder video gui geben
113 75
114 */ // alles nicht nötig, xine kümmert sich drum, man muss nur den return andio oder video gui geben 76 // Ob auch video 'v' : 'a'
77 // mediaPlayerState->setView( 'v' );
115 78
116 79 // abspielen starten.
117 // loopControl->play();
118
119 // mediaPlayerState->setView( loopControl->hasVideo() ? 'v' : 'a' );
120} 80}
121 81
122 82
123void MediaPlayer::prev() { 83void MediaPlayer::prev() {
@@ -144,9 +104,9 @@ void MediaPlayer::next() {
144 104
145void MediaPlayer::startDecreasingVolume() { 105void MediaPlayer::startDecreasingVolume() {
146 volumeDirection = -1; 106 volumeDirection = -1;
147 startTimer( 100 ); 107 startTimer( 100 );
148 // sollte volumeapplet machen 108 // da kommt demchst osound denk ich mal
149 // AudioDevice::decreaseVolume(); 109 // AudioDevice::decreaseVolume();
150} 110}
151 111
152 112
@@ -162,11 +122,11 @@ void MediaPlayer::stopChangingVolume() {
162} 122}
163 123
164 124
165void MediaPlayer::timerEvent( QTimerEvent * ) { 125void MediaPlayer::timerEvent( QTimerEvent * ) {
166// if ( volumeDirection == +1 ) 126 // if ( volumeDirection == +1 )
167// AudioDevice::increaseVolume(); 127 // AudioDevice::increaseVolume();
168// else if ( volumeDirection == -1 ) 128 // else if ( volumeDirection == -1 )
169 // AudioDevice::decreaseVolume(); 129 // AudioDevice::decreaseVolume();
170} 130}
171 131
172void MediaPlayer::keyReleaseEvent( QKeyEvent *e) { 132void MediaPlayer::keyReleaseEvent( QKeyEvent *e) {
diff --git a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
index 9b5f70e..d1d30e4 100644
--- a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
@@ -11,22 +11,14 @@
11#include "mediaplayerstate.h" 11#include "mediaplayerstate.h"
12 12
13 13
14 14
15#ifdef QT_NO_COMPONENT
16// Plugins which are compiled in when no plugin architecture available
17#include "libmad/libmadpluginimpl.h"
18#include "libmpeg3/libmpeg3pluginimpl.h"
19#include "wavplugin/wavpluginimpl.h"
20#endif
21
22
23//#define MediaPlayerDebug(x) qDebug x 15//#define MediaPlayerDebug(x) qDebug x
24#define MediaPlayerDebug(x) 16#define MediaPlayerDebug(x)
25 17
26 18
27MediaPlayerState::MediaPlayerState( QObject *parent, const char *name ) 19MediaPlayerState::MediaPlayerState( QObject *parent, const char *name )
28 : QObject( parent, name ), decoder( NULL ), libmpeg3decoder( NULL ) { 20 : QObject( parent, name ), decoder( NULL ) {
29 Config cfg( "OpiePlayer" ); 21 Config cfg( "OpiePlayer" );
30 readConfig( cfg ); 22 readConfig( cfg );
31} 23}
32 24
diff --git a/noncore/multimedia/opieplayer2/mediaplayerstate.h b/noncore/multimedia/opieplayer2/mediaplayerstate.h
index 374e780..8a64939 100644
--- a/noncore/multimedia/opieplayer2/mediaplayerstate.h
+++ b/noncore/multimedia/opieplayer2/mediaplayerstate.h
@@ -29,10 +29,9 @@ public:
29 char view() { return curView; } 29 char view() { return curView; }
30 30
31 MediaPlayerDecoder *newDecoder( const QString& file ); 31 MediaPlayerDecoder *newDecoder( const QString& file );
32 MediaPlayerDecoder *curDecoder(); 32 MediaPlayerDecoder *curDecoder();
33 MediaPlayerDecoder *libMpeg3Decoder(); // ### Yucky hack needed to use libmpeg3plugin to get the 33
34 // number of audio samples if we are using the libmad plugin
35public slots: 34public slots:
36 void setFullscreen( bool b ) { if ( isFullscreen == b ) return; isFullscreen = b; emit fullscreenToggled(b); } 35 void setFullscreen( bool b ) { if ( isFullscreen == b ) return; isFullscreen = b; emit fullscreenToggled(b); }
37 void setScaled( bool b ) { if ( isScaled == b ) return; isScaled = b; emit scaledToggled(b); } 36 void setScaled( bool b ) { if ( isScaled == b ) return; isScaled = b; emit scaledToggled(b); }
38 void setLooping( bool b ) { if ( isLooping == b ) return; isLooping = b; emit loopingToggled(b); } 37 void setLooping( bool b ) { if ( isLooping == b ) return; isLooping = b; emit loopingToggled(b); }
@@ -87,10 +86,8 @@ private:
87 long curLength; 86 long curLength;
88 char curView; 87 char curView;
89 88
90 MediaPlayerDecoder *decoder; 89 MediaPlayerDecoder *decoder;
91 MediaPlayerDecoder *libmpeg3decoder;
92// MediaPlayerDecoder *libwavdecoder;
93 90
94 void readConfig( Config& cfg ); 91 void readConfig( Config& cfg );
95 void writeConfig( Config& cfg ) const; 92 void writeConfig( Config& cfg ) const;
96}; 93};