summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp31
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.h1
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp12
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.h15
4 files changed, 34 insertions, 25 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index 6a38adc..74ab2e3 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -32,9 +32,9 @@ extern MediaPlayerState *mediaPlayerState;
32 32
33#define FBIOBLANK 0x4611 33#define FBIOBLANK 0x4611
34 34
35MediaPlayer::MediaPlayer( QObject *parent, const char *name ) 35MediaPlayer::MediaPlayer( QObject *parent, const char *name )
36 : QObject( parent, name ), volumeDirection( 0 ), currentFile( NULL ) { 36 : QObject( parent, name ), volumeDirection( 0 ) {
37 37
38 fd=-1;fl=-1; 38 fd=-1;fl=-1;
39 playList->setCaption( tr( "OpiePlayer: Initializating" ) ); 39 playList->setCaption( tr( "OpiePlayer: Initializating" ) );
40 40
@@ -94,20 +94,9 @@ void MediaPlayer::setPlaying( bool play ) {
94 return; 94 return;
95 } 95 }
96 96
97 QString tickerText, time, fileName; 97 QString tickerText, time, fileName;
98 if( playList->currentTab() == PlayListWidget::CurrentPlayList ) { //check for filelist 98 if ( playList->currentTab() != PlayListWidget::CurrentPlayList ) {
99 const DocLnk *playListCurrent = playList->current();
100 if ( playListCurrent != NULL ) {
101 currentFile = playListCurrent;
102 }
103 xineControl->play( currentFile->file() );
104 fileName = currentFile->name();
105 long seconds = mediaPlayerState->length();//
106 time.sprintf("%li:%02i", seconds/60, (int)seconds%60 );
107 //qDebug(time);
108
109 } else {
110 //if playing in file list.. play in a different way 99 //if playing in file list.. play in a different way
111 // random and looping settings enabled causes problems here, 100 // random and looping settings enabled causes problems here,
112 // since there is no selected file in the playlist, but a selected file in the file list, 101 // since there is no selected file in the playlist, but a selected file in the file list,
113 // so we remember and shutoff 102 // so we remember and shutoff
@@ -116,21 +105,19 @@ void MediaPlayer::setPlaying( bool play ) {
116 mediaPlayerState->setLooping( false ); 105 mediaPlayerState->setLooping( false );
117 } 106 }
118 r = mediaPlayerState->isShuffled(); 107 r = mediaPlayerState->isShuffled();
119 mediaPlayerState->setShuffled( false ); 108 mediaPlayerState->setShuffled( false );
109 }
120 110
121 fileName = playList->currentFileListPathName(); 111 PlayListWidget::Entry playListEntry = playList->currentEntry();
122 xineControl->play( fileName ); 112 fileName = playListEntry.name;
123 long seconds = mediaPlayerState->length(); 113 xineControl->play( playListEntry.file );
124 time.sprintf("%li:%02i", seconds/60, (int)seconds%60 );
125 //qDebug(time);
126 if( fileName.left(4) != "http" ) {
127 fileName = QFileInfo( fileName ).baseName();
128 }
129 114
130 } 115 long seconds = mediaPlayerState->length();
116 time.sprintf("%li:%02i", seconds/60, (int)seconds%60 );
131 117
132 if( fileName.left(4) == "http" ) { 118 if( fileName.left(4) == "http" ) {
119 fileName = QFileInfo( fileName ).baseName();
133 if ( xineControl->getMetaInfo().isEmpty() ) { 120 if ( xineControl->getMetaInfo().isEmpty() ) {
134 tickerText = tr( " File: " ) + fileName; 121 tickerText = tr( " File: " ) + fileName;
135 } else { 122 } else {
136 tickerText = xineControl->getMetaInfo(); 123 tickerText = xineControl->getMetaInfo();
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.h b/noncore/multimedia/opieplayer2/mediaplayer.h
index 002311a..1e34c88 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.h
+++ b/noncore/multimedia/opieplayer2/mediaplayer.h
@@ -67,9 +67,8 @@ protected:
67private: 67private:
68 bool isBlanked, l, r; 68 bool isBlanked, l, r;
69 int fd, fl; 69 int fd, fl;
70 int volumeDirection; 70 int volumeDirection;
71 const DocLnk *currentFile;
72 XineControl *xineControl; 71 XineControl *xineControl;
73 VolumeControl *volControl; 72 VolumeControl *volControl;
74}; 73};
75 74
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index fd256b7..ce73252 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -423,9 +423,9 @@ void PlayListWidget::useSelectedDocument() {
423 d->setDocumentUsed = FALSE; 423 d->setDocumentUsed = FALSE;
424} 424}
425 425
426 426
427const DocLnk *PlayListWidget::current() { // this is fugly 427const DocLnk *PlayListWidget::current() const { // this is fugly
428 assert( currentTab() == CurrentPlayList ); 428 assert( currentTab() == CurrentPlayList );
429 429
430// qDebug("playlist"); 430// qDebug("playlist");
431 if ( mediaPlayerState->isUsingPlaylist() ) { 431 if ( mediaPlayerState->isUsingPlaylist() ) {
@@ -1140,7 +1140,17 @@ PlayListWidget::TabType PlayListWidget::currentTab() const
1140 1140
1141 return indexToTabType[ index ]; 1141 return indexToTabType[ index ];
1142} 1142}
1143 1143
1144PlayListWidget::Entry PlayListWidget::currentEntry() const
1145{
1146 if ( currentTab() == CurrentPlayList ) {
1147 const DocLnk *lnk = current();
1148 return Entry( lnk->name(), lnk->file() );
1149 }
1150
1151 return Entry( currentFileListPathName() );
1152}
1153
1144QString PlayListWidget::currentFileListPathName() const { 1154QString PlayListWidget::currentFileListPathName() const {
1145 return currentFileListView()->currentItem()->text( 3 ); 1155 return currentFileListView()->currentItem()->text( 3 );
1146} 1156}
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.h b/noncore/multimedia/opieplayer2/playlistwidget.h
index 2e2ff89..511a192 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.h
+++ b/noncore/multimedia/opieplayer2/playlistwidget.h
@@ -57,21 +57,34 @@ class PlayListWidget : public PlayListWidgetGui {
57public: 57public:
58 enum TabType { CurrentPlayList, AudioFiles, VideoFiles, PlayLists }; 58 enum TabType { CurrentPlayList, AudioFiles, VideoFiles, PlayLists };
59 enum { TabTypeCount = 4 }; 59 enum { TabTypeCount = 4 };
60 60
61 struct Entry
62 {
63 Entry( const QString &_name, const QString &_fileName )
64 : name( _name ), file( _fileName ) {}
65 Entry( const QString &_fileName )
66 : name( _fileName ), file( _fileName ) {}
67
68 QString name;
69 QString file;
70 };
71
61 PlayListWidget( QWidget* parent=0, const char* name=0, WFlags fl=0 ); 72 PlayListWidget( QWidget* parent=0, const char* name=0, WFlags fl=0 );
62 ~PlayListWidget(); 73 ~PlayListWidget();
63 DocLnkSet files; 74 DocLnkSet files;
64 DocLnkSet vFiles; 75 DocLnkSet vFiles;
65 bool fromSetDocument; 76 bool fromSetDocument;
66 bool insanityBool; 77 bool insanityBool;
67 QString setDocFileRef, currentPlayList; 78 QString setDocFileRef, currentPlayList;
68 // retrieve the current playlist entry (media file link) 79 // retrieve the current playlist entry (media file link)
69 const DocLnk *current(); 80 const DocLnk *current() const;
70 void useSelectedDocument(); 81 void useSelectedDocument();
71 int selected; 82 int selected;
72 TabType currentTab() const; 83 TabType currentTab() const;
73 84
85 Entry currentEntry() const;
86
74public slots: 87public slots:
75 bool first(); 88 bool first();
76 bool last(); 89 bool last();
77 bool next(); 90 bool next();