summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-08-18 23:15:50 (UTC)
committer harlekin <harlekin>2002-08-18 23:15:50 (UTC)
commitd92fbca743e676182a8f33ae4c28044031143fb0 (patch) (unidiff)
tree557b19a000a897e46ed1a8e18a4fdd41aa199e0d
parentbec883a38720a1e1a975e5474a3085d149cf935c (diff)
downloadopie-d92fbca743e676182a8f33ae4c28044031143fb0.zip
opie-d92fbca743e676182a8f33ae4c28044031143fb0.tar.gz
opie-d92fbca743e676182a8f33ae4c28044031143fb0.tar.bz2
small fixes regarding shoutcast, but for now user need to have http:// anything / as shoutcast url
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp67
-rw-r--r--noncore/multimedia/opieplayer2/lib.cpp4
-rw-r--r--noncore/multimedia/opieplayer2/mediadetect.cpp5
-rw-r--r--noncore/multimedia/opieplayer2/opieplayer2.pro1
4 files changed, 39 insertions, 38 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index 6d867e5..bf3590b 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -78,25 +78,26 @@ void Ticker::timerEvent( QTimerEvent * ) {
78 pos = ( pos + 1 > pixelLen ) ? 0 : pos + 1; 78 pos = ( pos + 1 > pixelLen ) ? 0 : pos + 1;
79 scroll( -1, 0, contentsRect() ); 79 scroll( -1, 0, contentsRect() );
80 repaint( FALSE ); 80 repaint( FALSE );
81} 81}
82 82
83void Ticker::drawContents( QPainter *p ) { 83void Ticker::drawContents( QPainter *p ) {
84 for ( int i = 0; i - pos < width() && (i < 1 || pixelLen > width()); i += pixelLen ) 84 for ( int i = 0; i - pos < width() && (i < 1 || pixelLen > width()); i += pixelLen ) {
85 p->drawText( i - pos, 0, INT_MAX, height(), AlignVCenter, scrollText ); 85 p->drawText( i - pos, 0, INT_MAX, height(), AlignVCenter, scrollText );
86 }
86 QPixmap pm( width(), height() ); 87 QPixmap pm( width(), height() );
87 pm.fill( colorGroup().base() ); 88 pm.fill( colorGroup().base() );
88 QPainter pmp( &pm ); 89 QPainter pmp( &pm );
89 for ( int i = 0; i - pos < width() && (i < 1 || pixelLen > width()); i += pixelLen ) { 90 for ( int i = 0; i - pos < width() && (i < 1 || pixelLen > width()); i += pixelLen ) {
90 pmp.drawText( i - pos, 0, INT_MAX, height(), AlignVCenter, scrollText ); 91 pmp.drawText( i - pos, 0, INT_MAX, height(), AlignVCenter, scrollText );
91 } 92 }
92 p->drawPixmap( 0, 0, pm ); 93 p->drawPixmap( 0, 0, pm );
93} 94}
94 95
95struct MediaButton { 96struct MediaButton {
96 bool isToggle, isHeld, isDown; 97 bool isToggle, isHeld, isDown;
97}; 98};
98 99
99//Layout information for the audioButtons (and if it is a toggle button or not) 100//Layout information for the audioButtons (and if it is a toggle button or not)
100MediaButton audioButtons[] = { 101MediaButton audioButtons[] = {
101 { TRUE, FALSE, FALSE }, // play 102 { TRUE, FALSE, FALSE }, // play
102 { FALSE, FALSE, FALSE }, // stop 103 { FALSE, FALSE, FALSE }, // stop
@@ -124,23 +125,22 @@ static void changeTextColor( QWidget *w ) {
124} 125}
125 126
126static const int numButtons = (sizeof(audioButtons)/sizeof(MediaButton)); 127static const int numButtons = (sizeof(audioButtons)/sizeof(MediaButton));
127 128
128 129
129AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) : 130AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) :
130 QWidget( parent, name, f ), songInfo( this ), slider( Qt::Horizontal, this ), time( this ) {
131
132 131
132 QWidget( parent, name, f ), songInfo( this ), slider( Qt::Horizontal, this ), time( this ) {
133 133
134 setCaption( tr("OpiePlayer") ); 134 setCaption( tr("OpiePlayer") );
135 135
136 Config cfg("OpiePlayer"); 136 Config cfg("OpiePlayer");
137 cfg.setGroup("Options"); 137 cfg.setGroup("Options");
138 skin = cfg.readEntry("Skin","default"); 138 skin = cfg.readEntry("Skin","default");
139 //skin = "scaleTest"; 139 //skin = "scaleTest";
140// color of background, frame, degree of transparency 140 // color of background, frame, degree of transparency
141 141
142 QString skinPath = "opieplayer2/skins/" + skin; 142 QString skinPath = "opieplayer2/skins/" + skin;
143 pixBg = new QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) ); 143 pixBg = new QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) );
144 imgUp = new QImage( Resource::loadImage( QString("%1/skin_up").arg(skinPath) ) ); 144 imgUp = new QImage( Resource::loadImage( QString("%1/skin_up").arg(skinPath) ) );
145 imgDn = new QImage( Resource::loadImage( QString("%1/skin_down").arg(skinPath) ) ); 145 imgDn = new QImage( Resource::loadImage( QString("%1/skin_down").arg(skinPath) ) );
146 146
@@ -190,13 +190,13 @@ AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) :
190 connect( &slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) ); 190 connect( &slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
191 connect( &slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) ); 191 connect( &slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
192 192
193 connect( mediaPlayerState, SIGNAL( lengthChanged(long) ), this, SLOT( setLength(long) ) ); 193 connect( mediaPlayerState, SIGNAL( lengthChanged(long) ), this, SLOT( setLength(long) ) );
194 connect( mediaPlayerState, SIGNAL( viewChanged(char) ), this, SLOT( setView(char) ) ); 194 connect( mediaPlayerState, SIGNAL( viewChanged(char) ), this, SLOT( setView(char) ) );
195 connect( mediaPlayerState, SIGNAL( loopingToggled(bool) ), this, SLOT( setLooping(bool) ) ); 195 connect( mediaPlayerState, SIGNAL( loopingToggled(bool) ), this, SLOT( setLooping(bool) ) );
196// connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( setPaused(bool) ) ); 196 // connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( setPaused(bool) ) );
197 connect( mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) ); 197 connect( mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) );
198 198
199 connect( this, SIGNAL( forwardClicked() ), this, SLOT( skipFor() ) ); 199 connect( this, SIGNAL( forwardClicked() ), this, SLOT( skipFor() ) );
200 connect( this, SIGNAL( backClicked() ), this, SLOT( skipBack() ) ); 200 connect( this, SIGNAL( backClicked() ), this, SLOT( skipBack() ) );
201 connect( this, SIGNAL( forwardReleased() ), this, SLOT( stopSkip() ) ); 201 connect( this, SIGNAL( forwardReleased() ), this, SLOT( stopSkip() ) );
202 connect( this, SIGNAL( backReleased() ), this, SLOT( stopSkip() ) ); 202 connect( this, SIGNAL( backReleased() ), this, SLOT( stopSkip() ) );
@@ -204,13 +204,13 @@ AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) :
204 204
205 205
206 // Intialise state 206 // Intialise state
207 setLength( mediaPlayerState->length() ); 207 setLength( mediaPlayerState->length() );
208 setPosition( mediaPlayerState->position() ); 208 setPosition( mediaPlayerState->position() );
209 setLooping( mediaPlayerState->fullscreen() ); 209 setLooping( mediaPlayerState->fullscreen() );
210// setPaused( mediaPlayerState->paused() ); 210 // setPaused( mediaPlayerState->paused() );
211 setPlaying( mediaPlayerState->playing() ); 211 setPlaying( mediaPlayerState->playing() );
212 212
213} 213}
214 214
215AudioWidget::~AudioWidget() { 215AudioWidget::~AudioWidget() {
216 216
@@ -233,14 +233,13 @@ QPixmap *combineImageWithBackground( QImage img, QPixmap bg, QPoint offset ) {
233 p.drawTiledPixmap( pix.rect(), bg, offset ); 233 p.drawTiledPixmap( pix.rect(), bg, offset );
234 p.drawImage( 0, 0, img ); 234 p.drawImage( 0, 0, img );
235 return new QPixmap( pix ); 235 return new QPixmap( pix );
236} 236}
237 237
238 238
239QPixmap *maskPixToMask( QPixmap pix, QBitmap mask ) 239QPixmap *maskPixToMask( QPixmap pix, QBitmap mask ) {
240{
241 QPixmap *pixmap = new QPixmap( pix ); 240 QPixmap *pixmap = new QPixmap( pix );
242 pixmap->setMask( mask ); 241 pixmap->setMask( mask );
243 return pixmap; 242 return pixmap;
244} 243}
245 244
246 245
@@ -289,25 +288,25 @@ void AudioWidget::sliderReleased() {
289 return; 288 return;
290 long val = long((double)slider.value() * mediaPlayerState->length() / slider.width()); 289 long val = long((double)slider.value() * mediaPlayerState->length() / slider.width());
291 mediaPlayerState->setPosition( val ); 290 mediaPlayerState->setPosition( val );
292} 291}
293 292
294void AudioWidget::setPosition( long i ) { 293void AudioWidget::setPosition( long i ) {
295// qDebug("<<<<<<<<<<<<<<<<<<<<<<<<set position %d",i); 294 // qDebug("<<<<<<<<<<<<<<<<<<<<<<<<set position %d",i);
296 updateSlider( i, mediaPlayerState->length() ); 295 updateSlider( i, mediaPlayerState->length() );
297} 296}
298 297
299 298
300void AudioWidget::setLength( long max ) { 299void AudioWidget::setLength( long max ) {
301 updateSlider( mediaPlayerState->position(), max ); 300 updateSlider( mediaPlayerState->position(), max );
302} 301}
303 302
304 303
305void AudioWidget::setView( char view ) { 304void AudioWidget::setView( char view ) {
306 305
307// this isnt working for some reason 306 // this isnt working for some reason
308 307
309 if ( mediaPlayerState->streaming() ) { 308 if ( mediaPlayerState->streaming() ) {
310 qDebug("<<<<<<<<<<<<<<file is STREAMING>>>>>>>>>>>>>>>>>>>"); 309 qDebug("<<<<<<<<<<<<<<file is STREAMING>>>>>>>>>>>>>>>>>>>");
311 if( !slider.isHidden()) { 310 if( !slider.isHidden()) {
312 slider.hide(); 311 slider.hide();
313 } 312 }
@@ -403,14 +402,14 @@ void AudioWidget::skipBack() {
403void AudioWidget::stopSkip() { 402void AudioWidget::stopSkip() {
404 killTimers(); 403 killTimers();
405} 404}
406 405
407 406
408void AudioWidget::timerEvent( QTimerEvent * ) { 407void AudioWidget::timerEvent( QTimerEvent * ) {
409 if ( skipDirection == +1 ) { 408 if ( skipDirection == +1 ) {
410 mediaPlayerState->setPosition( mediaPlayerState->position() + 2 ); 409 mediaPlayerState->setPosition( mediaPlayerState->position() + 2 );
411 } else if ( skipDirection == -1 ) { 410 } else if ( skipDirection == -1 ) {
412 mediaPlayerState->setPosition( mediaPlayerState->position() - 2 ); 411 mediaPlayerState->setPosition( mediaPlayerState->position() - 2 );
413 } 412 }
414} 413}
415 414
416 415
@@ -439,17 +438,16 @@ void AudioWidget::mouseMoveEvent( QMouseEvent *event ) {
439 emit forwardClicked(); 438 emit forwardClicked();
440 return; 439 return;
441 case AudioBack: 440 case AudioBack:
442 emit backClicked(); 441 emit backClicked();
443 return; 442 return;
444 } 443 }
444 } else if ( !isOnButton && audioButtons[i].isHeld ) {
445 audioButtons[i].isHeld = FALSE;
446 toggleButton(i);
445 } 447 }
446 else if ( !isOnButton && audioButtons[i].isHeld ) {
447 audioButtons[i].isHeld = FALSE;
448 toggleButton(i);
449 }
450 } else { 448 } else {
451 if ( audioButtons[i].isHeld ) { 449 if ( audioButtons[i].isHeld ) {
452 audioButtons[i].isHeld = FALSE; 450 audioButtons[i].isHeld = FALSE;
453 if ( !audioButtons[i].isToggle ) { 451 if ( !audioButtons[i].isToggle ) {
454 setToggleButton( i, FALSE ); 452 setToggleButton( i, FALSE );
455 } 453 }
@@ -519,21 +517,20 @@ void AudioWidget::paintEvent( QPaintEvent * pe) {
519 QPainter p( this ); 517 QPainter p( this );
520 for ( int i = 0; i < numButtons; i++ ) 518 for ( int i = 0; i < numButtons; i++ )
521 paintButton( &p, i ); 519 paintButton( &p, i );
522 } 520 }
523} 521}
524 522
525void AudioWidget::keyReleaseEvent( QKeyEvent *e) 523void AudioWidget::keyReleaseEvent( QKeyEvent *e) {
526{
527 switch ( e->key() ) { 524 switch ( e->key() ) {
528////////////////////////////// Zaurus keys 525 ////////////////////////////// Zaurus keys
529 case Key_Home: 526 case Key_Home:
530 break; 527 break;
531 case Key_F9: //activity 528 case Key_F9: //activity
532 hide(); 529 hide();
533// qDebug("Audio F9"); 530 // qDebug("Audio F9");
534 break; 531 break;
535 case Key_F10: //contacts 532 case Key_F10: //contacts
536 break; 533 break;
537 case Key_F11: //menu 534 case Key_F11: //menu
538 mediaPlayerState->toggleBlank(); 535 mediaPlayerState->toggleBlank();
539 break; 536 break;
@@ -541,43 +538,43 @@ void AudioWidget::keyReleaseEvent( QKeyEvent *e)
541 break; 538 break;
542 case Key_F13: //mail 539 case Key_F13: //mail
543 mediaPlayerState->toggleBlank(); 540 mediaPlayerState->toggleBlank();
544 break; 541 break;
545 case Key_Space: { 542 case Key_Space: {
546 if(mediaPlayerState->playing()) { 543 if(mediaPlayerState->playing()) {
547// toggleButton(1); 544 // toggleButton(1);
548 mediaPlayerState->setPlaying(FALSE); 545 mediaPlayerState->setPlaying(FALSE);
549// toggleButton(1); 546 // toggleButton(1);
550 } else { 547 } else {
551// toggleButton(0); 548 // toggleButton(0);
552 mediaPlayerState->setPlaying(TRUE); 549 mediaPlayerState->setPlaying(TRUE);
553// toggleButton(0); 550 // toggleButton(0);
554 } 551 }
555 } 552 }
556 break; 553 break;
557 case Key_Down: 554 case Key_Down:
558// toggleButton(6); 555 // toggleButton(6);
559 emit lessClicked(); 556 emit lessClicked();
560 emit lessReleased(); 557 emit lessReleased();
561// toggleButton(6); 558 // toggleButton(6);
562 break; 559 break;
563 case Key_Up: 560 case Key_Up:
564// toggleButton(5); 561 // toggleButton(5);
565 emit moreClicked(); 562 emit moreClicked();
566 emit moreReleased(); 563 emit moreReleased();
567// toggleButton(5); 564 // toggleButton(5);
568 break; 565 break;
569 case Key_Right: 566 case Key_Right:
570// toggleButton(3); 567 // toggleButton(3);
571 mediaPlayerState->setNext(); 568 mediaPlayerState->setNext();
572// toggleButton(3); 569 // toggleButton(3);
573 break; 570 break;
574 case Key_Left: 571 case Key_Left:
575// toggleButton(4); 572 // toggleButton(4);
576 mediaPlayerState->setPrev(); 573 mediaPlayerState->setPrev();
577// toggleButton(4); 574 // toggleButton(4);
578 break; 575 break;
579 case Key_Escape: { 576 case Key_Escape: {
580#if defined(QT_QWS_IPAQ) 577#if defined(QT_QWS_IPAQ)
581 if( mediaPlayerState->isPaused ) { 578 if( mediaPlayerState->isPaused ) {
582 setToggleButton( i, FALSE ); 579 setToggleButton( i, FALSE );
583 mediaPlayerState->setPaused( FALSE ); 580 mediaPlayerState->setPaused( FALSE );
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp
index 39364ab..3a82a50 100644
--- a/noncore/multimedia/opieplayer2/lib.cpp
+++ b/noncore/multimedia/opieplayer2/lib.cpp
@@ -162,14 +162,14 @@ int Lib::subVersion() {
162} 162}
163int Lib::play( const QString& fileName, 163int Lib::play( const QString& fileName,
164 int startPos, 164 int startPos,
165 int start_time ) { 165 int start_time ) {
166 QString str = fileName.stripWhiteSpace(); 166 QString str = fileName.stripWhiteSpace();
167 //workaround OpiePlayer bug 167 //workaround OpiePlayer bug
168 if (str.right(1) == QString::fromLatin1("/") ) 168 //f (str.right(1) == QString::fromLatin1("/") )
169 str = str.mid( str.length() -1 ); 169 // str = str.mid( str.length() -1 );
170 return xine_play( m_xine, QFile::encodeName(str.utf8() ).data(), 170 return xine_play( m_xine, QFile::encodeName(str.utf8() ).data(),
171 startPos, start_time); 171 startPos, start_time);
172} 172}
173void Lib::stop() { 173void Lib::stop() {
174 qDebug("<<<<<<<< STOP IN LIB TRIGGERED >>>>>>>"); 174 qDebug("<<<<<<<< STOP IN LIB TRIGGERED >>>>>>>");
175 xine_stop(m_xine ); 175 xine_stop(m_xine );
diff --git a/noncore/multimedia/opieplayer2/mediadetect.cpp b/noncore/multimedia/opieplayer2/mediadetect.cpp
index 5e0da88..91137db 100644
--- a/noncore/multimedia/opieplayer2/mediadetect.cpp
+++ b/noncore/multimedia/opieplayer2/mediadetect.cpp
@@ -19,14 +19,17 @@ char MediaDetect::videoOrAudio( const QString& fileName ) {
19 } else if ( (fileName.lower()).right(4) == "·mp1" || 19 } else if ( (fileName.lower()).right(4) == "·mp1" ||
20 (fileName.lower()).right(4) == ".mp3" || 20 (fileName.lower()).right(4) == ".mp3" ||
21 (fileName.lower()).right(4) == ".ogg" || 21 (fileName.lower()).right(4) == ".ogg" ||
22 (fileName.lower()).right(4) == ".wav" ) { 22 (fileName.lower()).right(4) == ".wav" ) {
23 qDebug("AUDIO out taken"); 23 qDebug("AUDIO out taken");
24 return 'a'; 24 return 'a';
25 } else if ( (fileName.lower()).left(7) == "http://" &&
26 (fileName.lower()).right(1) == "/" ) {
27 return 'a';
25 } else { 28 } else {
26 return 'f'; 29 return 'f';
27 } 30 }
28} 31}
29 32
30bool MediaDetect::isStreaming( const QString& fileName ) { 33bool MediaDetect::isStreaming( const QString& fileName ) {
31 // ugly 34 // ugly
32 if( (fileName.lower()).left(4) == "http" ) { 35 if( (fileName.lower()).left(4) == "http" ) {
diff --git a/noncore/multimedia/opieplayer2/opieplayer2.pro b/noncore/multimedia/opieplayer2/opieplayer2.pro
index edc4624..03540a1 100644
--- a/noncore/multimedia/opieplayer2/opieplayer2.pro
+++ b/noncore/multimedia/opieplayer2/opieplayer2.pro
@@ -1,8 +1,9 @@
1TEMPLATE = app 1TEMPLATE = app
2CONFIG = qt warn_on release 2CONFIG = qt warn_on release
3#CONFIG = qt warn_on debug
3#release 4#release
4DESTDIR = $(OPIEDIR)/bin 5DESTDIR = $(OPIEDIR)/bin
5HEADERS = playlistselection.h mediaplayerstate.h xinecontrol.h mediadetect.h\ 6HEADERS = playlistselection.h mediaplayerstate.h xinecontrol.h mediadetect.h\
6 videowidget.h audiowidget.h playlistwidget.h mediaplayer.h inputDialog.h \ 7 videowidget.h audiowidget.h playlistwidget.h mediaplayer.h inputDialog.h \
7 frame.h lib.h xinevideowidget.h volumecontrol.h\ 8 frame.h lib.h xinevideowidget.h volumecontrol.h\
8 alphablend.h yuv2rgb.h 9 alphablend.h yuv2rgb.h