summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2003-05-04 21:34:02 (UTC)
committer llornkcor <llornkcor>2003-05-04 21:34:02 (UTC)
commit2894d0b14c0b3efa3ce259214b5aa597a6abfed1 (patch) (unidiff)
tree8dec50e12adb1b66eaf20e1caa4f384a43033073
parent7372d0271b19bc6ead8e796a949746ae45fe13fa (diff)
downloadopie-2894d0b14c0b3efa3ce259214b5aa597a6abfed1.zip
opie-2894d0b14c0b3efa3ce259214b5aa597a6abfed1.tar.gz
opie-2894d0b14c0b3efa3ce259214b5aa597a6abfed1.tar.bz2
added a few convience qcop messages. see readme for more info. not totally finished yet
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/README22
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp49
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.h3
3 files changed, 74 insertions, 0 deletions
diff --git a/noncore/multimedia/opieplayer2/README b/noncore/multimedia/opieplayer2/README
new file mode 100644
index 0000000..8db1376
--- a/dev/null
+++ b/noncore/multimedia/opieplayer2/README
@@ -0,0 +1,22 @@
1qcop channel is:
2QPE/Application/opieplayer2
3
4qcop calls enabled:
5"play()" //plays current selection
6"stop()" //stops playing
7"togglePause()"//pauses
8"next()" //select next in list
9"prev()" //select previous in list
10"toggleLooping()" //loop or not loop
11"toggleShuffled()" //shuffled or not shuffled
12"play(QString)" //play this now, needs full file path
13"add(QString)" //add to playlist, needs full file path
14
15
16qcop calls to be enabled:
17"volUp()" //volume more
18"volDown()" //volume less
19"rem(QString)" //remove from playlist
20"getPlaylist()" // gets list of songs in current playlist
21
22
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index 580460e..c91a565 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -127,48 +127,53 @@ PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* par
127 this,SLOT( viewPressed( int, QListViewItem *, const QPoint&, int) ) ); 127 this,SLOT( viewPressed( int, QListViewItem *, const QPoint&, int) ) );
128 connect( videoView, SIGNAL( returnPressed( QListViewItem *) ), 128 connect( videoView, SIGNAL( returnPressed( QListViewItem *) ),
129 this,SLOT( playIt( QListViewItem *) ) ); 129 this,SLOT( playIt( QListViewItem *) ) );
130 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), 130 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ),
131 this, SLOT( addToSelection( QListViewItem *) ) ); 131 this, SLOT( addToSelection( QListViewItem *) ) );
132 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), 132 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ),
133 this, SLOT( loadList( const DocLnk & ) ) ); 133 this, SLOT( loadList( const DocLnk & ) ) );
134 connect( tabWidget, SIGNAL ( currentChanged(QWidget*) ), 134 connect( tabWidget, SIGNAL ( currentChanged(QWidget*) ),
135 this, SLOT( tabChanged( QWidget* ) ) ); 135 this, SLOT( tabChanged( QWidget* ) ) );
136 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), 136 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ),
137 d->tbPlay, SLOT( setOn( bool ) ) ); 137 d->tbPlay, SLOT( setOn( bool ) ) );
138 connect( &mediaPlayerState, SIGNAL( loopingToggled( bool ) ), 138 connect( &mediaPlayerState, SIGNAL( loopingToggled( bool ) ),
139 d->tbLoop, SLOT( setOn( bool ) ) ); 139 d->tbLoop, SLOT( setOn( bool ) ) );
140 connect( &mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), 140 connect( &mediaPlayerState, SIGNAL( shuffledToggled( bool ) ),
141 d->tbShuffle, SLOT( setOn( bool ) ) ); 141 d->tbShuffle, SLOT( setOn( bool ) ) );
142 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), 142 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ),
143 this, SLOT( playIt( QListViewItem *) ) ); 143 this, SLOT( playIt( QListViewItem *) ) );
144 connect ( gammaSlider, SIGNAL( valueChanged( int ) ), 144 connect ( gammaSlider, SIGNAL( valueChanged( int ) ),
145 &mediaPlayerState, SLOT( setVideoGamma( int ) ) ); 145 &mediaPlayerState, SLOT( setVideoGamma( int ) ) );
146 146
147 // see which skins are installed 147 // see which skins are installed
148 populateSkinsMenu(); 148 populateSkinsMenu();
149 initializeStates(); 149 initializeStates();
150 150
151 channel = new QCopChannel( "QPE/Application/opieplayer2", this );
152 connect( channel, SIGNAL(received(const QCString&, const QByteArray&)),
153 this, SLOT( qcopReceive(const QCString&, const QByteArray&)) );
154
155
151 cfg.setGroup("PlayList"); 156 cfg.setGroup("PlayList");
152 QString currentPlaylist = cfg.readEntry( "CurrentPlaylist", "default"); 157 QString currentPlaylist = cfg.readEntry( "CurrentPlaylist", "default");
153 loadList(DocLnk( currentPlaylist ) ); 158 loadList(DocLnk( currentPlaylist ) );
154 159
155 tabWidget->showPage( playListTab ); 160 tabWidget->showPage( playListTab );
156} 161}
157 162
158 163
159PlayListWidget::~PlayListWidget() { 164PlayListWidget::~PlayListWidget() {
160 delete d; 165 delete d;
161} 166}
162 167
163 168
164void PlayListWidget::initializeStates() { 169void PlayListWidget::initializeStates() {
165 d->tbPlay->setOn( mediaPlayerState.isPlaying() ); 170 d->tbPlay->setOn( mediaPlayerState.isPlaying() );
166 d->tbLoop->setOn( mediaPlayerState.isLooping() ); 171 d->tbLoop->setOn( mediaPlayerState.isLooping() );
167 d->tbShuffle->setOn( mediaPlayerState.isShuffled() ); 172 d->tbShuffle->setOn( mediaPlayerState.isShuffled() );
168 d->playListFrame->show(); 173 d->playListFrame->show();
169} 174}
170 175
171void PlayListWidget::writeDefaultPlaylist() { 176void PlayListWidget::writeDefaultPlaylist() {
172 177
173 Config config( "OpiePlayer" ); 178 Config config( "OpiePlayer" );
174 config.setGroup( "PlayList" ); 179 config.setGroup( "PlayList" );
@@ -893,24 +898,68 @@ void PlayListWidget::skinsMenuActivated( int item ) {
893PlayListWidget::TabType PlayListWidget::currentTab() const 898PlayListWidget::TabType PlayListWidget::currentTab() const
894{ 899{
895 static const TabType indexToTabType[ TabTypeCount ] = 900 static const TabType indexToTabType[ TabTypeCount ] =
896 { CurrentPlayList, AudioFiles, VideoFiles, PlayLists }; 901 { CurrentPlayList, AudioFiles, VideoFiles, PlayLists };
897 902
898 int index = tabWidget->currentPageIndex(); 903 int index = tabWidget->currentPageIndex();
899 assert( index < TabTypeCount && index >= 0 ); 904 assert( index < TabTypeCount && index >= 0 );
900 905
901 return indexToTabType[ index ]; 906 return indexToTabType[ index ];
902} 907}
903 908
904PlayListWidget::Entry PlayListWidget::currentEntry() const 909PlayListWidget::Entry PlayListWidget::currentEntry() const
905{ 910{
906 if ( currentTab() == CurrentPlayList ) { 911 if ( currentTab() == CurrentPlayList ) {
907 const DocLnk *lnk = current(); 912 const DocLnk *lnk = current();
908 return Entry( lnk->name(), lnk->file() ); 913 return Entry( lnk->name(), lnk->file() );
909 } 914 }
910 915
911 return Entry( currentFileListPathName() ); 916 return Entry( currentFileListPathName() );
912} 917}
913 918
914QString PlayListWidget::currentFileListPathName() const { 919QString PlayListWidget::currentFileListPathName() const {
915 return currentFileListView->currentItem()->text( 3 ); 920 return currentFileListView->currentItem()->text( 3 );
916} 921}
922
923
924void PlayListWidget::qcopReceive(const QCString &msg, const QByteArray &data) {
925 qDebug("qcop message "+msg );
926 QDataStream stream ( data, IO_ReadOnly );
927 if ( msg == "play()" ) { //plays current selection
928 btnPlay( true);
929 } else if ( msg == "stop()" ) {
930 mediaPlayerState.setPlaying( false);
931 } else if ( msg == "togglePause()" ) {
932 mediaPlayerState.togglePaused();
933 } else if ( msg == "next()" ) { //select next in list
934 mediaPlayerState.setNext();
935 } else if ( msg == "prev()" ) { //select previous in list
936 mediaPlayerState.setPrev();
937 } else if ( msg == "toggleLooping()" ) { //loop or not loop
938 mediaPlayerState.toggleLooping();
939 } else if ( msg == "toggleShuffled()" ) { //shuffled or not shuffled
940 mediaPlayerState.toggleShuffled();
941 } else if ( msg == "volUp()" ) { //volume more
942// emit moreClicked();
943// emit moreReleased();
944 } else if ( msg == "volDown()" ) { //volume less
945// emit lessClicked();
946// emit lessReleased();
947 } else if ( msg == "play(QString)" ) { //play this now
948 QString file;
949 stream >> file;
950 setDocument( (const QString &) file);
951 } else if ( msg == "add(QString)" ) { //add to playlist
952 QString file;
953 stream >> file;
954 QFileInfo fileInfo(file);
955 DocLnk lnk;
956 lnk.setName( fileInfo.baseName() ); //sets name
957 lnk.setFile( file ); //sets file name
958 addToSelection( lnk );
959 } else if ( msg == "rem(QString)" ) { //remove from playlist
960 QString file;
961 stream >> file;
962
963 }
964
965}
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.h b/noncore/multimedia/opieplayer2/playlistwidget.h
index cb65d5c..54e9d16 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.h
+++ b/noncore/multimedia/opieplayer2/playlistwidget.h
@@ -19,110 +19,113 @@
19    : ..    .:,     . . . without even the implied warranty of 19    : ..    .:,     . . . without even the implied warranty of
20    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 20    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
21  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 21  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
22..}^=.=       =       ; General Public License for more 22..}^=.=       =       ; General Public License for more
23++=   -.     .`     .: details. 23++=   -.     .`     .: details.
24 :     =  ...= . :.=- 24 :     =  ...= . :.=-
25 -.   .:....=;==+<; You should have received a copy of the GNU 25 -.   .:....=;==+<; You should have received a copy of the GNU
26  -_. . .   )=.  = General Public License along with 26  -_. . .   )=.  = General Public License along with
27    --        :-=` this library; see the file COPYING.LIB. 27    --        :-=` this library; see the file COPYING.LIB.
28 If not, write to the Free Software Foundation, 28 If not, write to the Free Software Foundation,
29 Inc., 59 Temple Place - Suite 330, 29 Inc., 59 Temple Place - Suite 330,
30 Boston, MA 02111-1307, USA. 30 Boston, MA 02111-1307, USA.
31 31
32*/ 32*/
33 33
34#ifndef PLAY_LIST_WIDGET_H 34#ifndef PLAY_LIST_WIDGET_H
35#define PLAY_LIST_WIDGET_H 35#define PLAY_LIST_WIDGET_H
36 36
37#include <qmainwindow.h> 37#include <qmainwindow.h>
38#include <qpe/applnk.h> 38#include <qpe/applnk.h>
39#include <qtabwidget.h> 39#include <qtabwidget.h>
40#include <qpe/fileselector.h> 40#include <qpe/fileselector.h>
41#include <qpushbutton.h> 41#include <qpushbutton.h>
42#include <qpopupmenu.h> 42#include <qpopupmenu.h>
43#include <qpe/qcopenvelope_qws.h>
43 44
44#include "playlistwidgetgui.h" 45#include "playlistwidgetgui.h"
45 46
46 47
47//class PlayListWidgetPrivate; 48//class PlayListWidgetPrivate;
48class Config; 49class Config;
49class QListViewItem; 50class QListViewItem;
50class QListView; 51class QListView;
51class QPoint; 52class QPoint;
52class QAction; 53class QAction;
53class QLabel; 54class QLabel;
54 55
55class PlayListWidget : public PlayListWidgetGui { 56class PlayListWidget : public PlayListWidgetGui {
56 Q_OBJECT 57 Q_OBJECT
57public: 58public:
58 enum TabType { CurrentPlayList, AudioFiles, VideoFiles, PlayLists }; 59 enum TabType { CurrentPlayList, AudioFiles, VideoFiles, PlayLists };
59 enum { TabTypeCount = 4 }; 60 enum { TabTypeCount = 4 };
60 61
61 struct Entry 62 struct Entry
62 { 63 {
63 Entry( const QString &_name, const QString &_fileName ) 64 Entry( const QString &_name, const QString &_fileName )
64 : name( _name ), file( _fileName ) {} 65 : name( _name ), file( _fileName ) {}
65 Entry( const QString &_fileName ) 66 Entry( const QString &_fileName )
66 : name( _fileName ), file( _fileName ) {} 67 : name( _fileName ), file( _fileName ) {}
67 68
68 QString name; 69 QString name;
69 QString file; 70 QString file;
70 }; 71 };
71 72
72 PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 ); 73 PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 );
73 ~PlayListWidget(); 74 ~PlayListWidget();
74 75
75 // retrieve the current playlist entry (media file link) 76 // retrieve the current playlist entry (media file link)
76 const DocLnk *current() const; 77 const DocLnk *current() const;
77 void useSelectedDocument(); 78 void useSelectedDocument();
78 TabType currentTab() const; 79 TabType currentTab() const;
79 80
80 Entry currentEntry() const; 81 Entry currentEntry() const;
81 82
82public slots: 83public slots:
83 bool first(); 84 bool first();
84 bool last(); 85 bool last();
85 bool next(); 86 bool next();
86 bool prev(); 87 bool prev();
87 void writeDefaultPlaylist( ); 88 void writeDefaultPlaylist( );
88 QString currentFileListPathName() const; 89 QString currentFileListPathName() const;
89protected: 90protected:
91 QCopChannel * channel;
90 void keyReleaseEvent( QKeyEvent *e); 92 void keyReleaseEvent( QKeyEvent *e);
91 93
92signals: 94signals:
93 void skinSelected(); 95 void skinSelected();
94 96
95private: 97private:
96 int defaultSkinIndex; 98 int defaultSkinIndex;
97/* void readm3u(const QString &); */ 99/* void readm3u(const QString &); */
98/* void readPls(const QString &); */ 100/* void readPls(const QString &); */
99 void readListFromFile(const QString &); 101 void readListFromFile(const QString &);
100 void initializeStates(); 102 void initializeStates();
101 103
102 bool inFileListMode() const; 104 bool inFileListMode() const;
103 105
104private slots: 106private slots:
107 void qcopReceive(const QCString&, const QByteArray&);
105 void populateSkinsMenu(); 108 void populateSkinsMenu();
106 void skinsMenuActivated(int); 109 void skinsMenuActivated(int);
107 void pmViewActivated(int); 110 void pmViewActivated(int);
108 void writem3u(); 111 void writem3u();
109 void writeCurrentM3u(); 112 void writeCurrentM3u();
110 void openFile(); 113 void openFile();
111 void setDocument( const QString& fileref ); 114 void setDocument( const QString& fileref );
112 void addToSelection( const DocLnk& ); // Add a media file to the playlist 115 void addToSelection( const DocLnk& ); // Add a media file to the playlist
113 void addToSelection( QListViewItem* ); // Add a media file to the playlist 116 void addToSelection( QListViewItem* ); // Add a media file to the playlist
114 void clearList(); 117 void clearList();
115 void addAllToList(); 118 void addAllToList();
116 void addAllMusicToList(); 119 void addAllMusicToList();
117 void addAllVideoToList(); 120 void addAllVideoToList();
118 void saveList(); // Save the playlist 121 void saveList(); // Save the playlist
119 void loadList( const DocLnk &); // Load a playlist 122 void loadList( const DocLnk &); // Load a playlist
120 void playIt( QListViewItem *); 123 void playIt( QListViewItem *);
121 void btnPlay(bool); 124 void btnPlay(bool);
122 void deletePlaylist(); 125 void deletePlaylist();
123 void addSelected(); 126 void addSelected();
124 void removeSelected(); 127 void removeSelected();
125 void tabChanged(QWidget*); 128 void tabChanged(QWidget*);
126 void viewPressed( int, QListViewItem *, const QPoint&, int); 129 void viewPressed( int, QListViewItem *, const QPoint&, int);
127 void playlistViewPressed( int, QListViewItem *, const QPoint&, int); 130 void playlistViewPressed( int, QListViewItem *, const QPoint&, int);
128 void playSelected(); 131 void playSelected();