The Winamp Remote Control suite
a remote control client and plugin for Winamp 2.x, 5.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
IWinamp.h
Go to the documentation of this file.
1 #ifndef IWINAMP_H
2 #define IWINAMP_H
3 
4 #include <vector>
5 #include <string>
6 
7 #include "waint.h" // for WAPlaybackStatus, etc.
8 #include "winampinterface.h" // for byte
9 
10 using namespace std;
11 
15 namespace WinampRemote
16 {
17 
21 namespace Client
22 {
23 
24 class IWinamp
25 {
26 
27 public:
28 
29  // virtual destructor
30  virtual ~IWinamp()
31  {
32  }
33 
38  virtual int winampVersion(void) const = 0;
39 
43  virtual void sendString() = 0;
44 
48  virtual void nextSong(void) = 0;
49 
53  virtual void previousSong(void) = 0;
54 
58  virtual void playSong(void) = 0;
59 
63  virtual void stopSong(void) = 0;
64 
68  virtual void pause(void) = 0;
69 
74  virtual WAPlaybackStatus getPlaybackStatus(void) const = 0;
75 
76 
81  virtual string getPlayListItem(int index, bool title = true) const = 0;
82 
83 
88  virtual int getCurrentPlayPosition(void) const = 0;
89 
94  virtual int getPlaylistLength(void) const = 0;
95 
102  virtual string getCurrentPlayListItem(int& index, bool title = true) const = 0;
103 
108  virtual vector<string> getPlayList(bool title = true) const = 0;
109 
114  virtual void setPlayList(const vector<string>& playlist) = 0;
115 
116 
123  virtual void insertPlayList(const vector<string>& playlist, int position) = 0;
124 
128  virtual void playlistStart() = 0;
129 
133  virtual void playlistEnd() = 0;
134 
139  virtual void setPlaylistIndex(int index) = 0;
140 
144  virtual void startPlaylist(void) = 0;
145 
149  virtual void deletePlaylist(void) = 0;
150 
154  virtual void stopWithFade(void) = 0;
155 
159  virtual void stopAfterCurrent(void) = 0;
160 
161 
166  virtual void setTime(int time) = 0;
167 
168 
172  virtual int getTime() const = 0;
173 
174 
178  virtual void forward5(void) = 0;
179 
183  virtual void back5(void) = 0;
184 
188  virtual void volumeUp(void) = 0;
189 
193  virtual void volumeDown(void) = 0;
194 
199  virtual void setVolume(int volume) = 0;
200 
204  virtual int getVolume() const = 0;
205 
210  virtual void setPanning(int panning) = 0;
211 
215  virtual int getPanning() const = 0;
216 
220  virtual void toggleShuffle(void) = 0;
221 
225  virtual int getShuffle(void) const = 0;
226 
231  virtual void setShuffle(bool shuffle) = 0;
232 
236  virtual void toggleRepeat(void) = 0;
237 
241  virtual int getRepeat(void) const = 0;
242 
246  virtual void setRepeat(bool repeat) = 0;
247 
251  virtual void toggleEQOn(void) = 0;
252 
256  virtual int getEQOn(void) const = 0;
257 
262  virtual void setEQOn(bool value) = 0;
263 
267  virtual void toggleAutoload(void) = 0;
268 
272  virtual int getAutoload(void) const = 0;
273 
278  virtual void setAutoload(bool value) = 0;
279 
283  virtual int getEQData(int eqindex) const = 0;
284 
288  virtual void setEQData(int eqindex, byte eqvalue) = 0;
289 
296  virtual void getTimes(int& songLength, int& songPos) const = 0;
297 
298 
304  virtual std::string getStringList(WinampCommand Command) const = 0;
305 
306 
312  virtual void setStringList(const std::string& list, WinampCommand Command) = 0;
313 
314 
315 
316 
317 };
318 
319 } // end of namespace Client
320 
324 namespace Server
325 {
326 
327 using namespace std;
328 
333 {
334 
335 public:
336 
337  // virtual destructor
338  virtual ~IWinampServer()
339  {
340  }
341 
346  virtual string WinampVersion() = 0;
347 
352  virtual void ExecuteCommand(WinampCommand MessageToExecute) = 0;
353 
359  virtual void ExecuteStringCommand(const char * CommandString, WinampCommand Command) = 0;
360 
367  virtual int QueryInt(WinampCommand Command, int Data) = 0;
368 
375  virtual string QueryString(WinampCommand Command, int Data) = 0;
376 
377 };
378 
379 } // end of namespace Server
380 } // end of namespace WinampRemote
381 
382 #endif // end of IWINAMP_