not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / plasma / dataengines / nowplaying / playerinterface / xmms_p.h
blob10a6e513d7b4923bb06343710ae115c4a8444833
1 /*
2 * Copyright 2008 Alex Merry <alex.merry@kdemail.net>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #ifndef XMMS_P_H
18 #define XMMS_P_H
20 #include "xmms.h"
21 #include "player.h"
23 class Xmms : public Player
25 public:
26 explicit Xmms(int session = 0, PlayerFactory* factory = 0);
27 ~Xmms();
29 bool isRunning();
30 State state();
31 QString artist();
32 QString album();
33 QString title();
34 int trackNumber();
35 QString comment();
36 QString genre();
37 int length();
38 int position();
39 float volume();
41 bool canPlay() { return state() != Playing; }
42 void play();
43 bool canPause() { return true; }
44 void pause();
45 bool canStop() { return state() != Stopped; }
46 void stop();
47 bool canGoPrevious() { return true; }
48 void previous();
49 bool canGoNext() { return true; }
50 void next();
52 bool canSetVolume() { return true; }
53 void setVolume(qreal volume);
55 bool canSeek() { return state() != Stopped; }
56 void seek(int time);
58 private:
59 int m_session;
62 #endif // XMMS_P_H