#ifndef __XMMS_HANDLER_H__ #define __XMMS_HANDLER_H__ #include #include "XmmsQT4.h" #include #include class XMMSHandler : public QObject, public sigc::trackable { Q_OBJECT public: static XMMSHandler *getInstance (void); XMMSHandler (void); ~XMMSHandler (); void playback_playtime (XMMSResultValue *res); void playback_current_id (XMMSResultValue *res); void medialib_info (XMMSResultDict *res); void playlist_changed (XMMSResultDict *res); void playback_status (XMMSResultValue *res); void playlist_list (XMMSResultValueList *res); void medialib_entry_changed (XMMSResultValue *res); void medialib_select (XMMSResultDictList *res); void requestMediainfo (uint id); void requestPlaylistList (void); void requestTrackChange (int pos); void playlistAddURL (QString); void playlistClear (void); void playlistRemove (uint pos) { delete m_xmmsc->playlist_remove (pos); } void playlistMove (uint pos, uint newpos) { delete m_xmmsc->playlist_move (pos, newpos); } uint medialibQuery (QString); void medialibQueryAdd (QString q) { delete m_xmmsc->medialib_add_to_playlist (q.toUtf8 ()); } const XMMSClient *getXMMS () { return m_xmmsc; } void updateSettings (void) { emit settingsSaved (); } public slots: void setPlaytime (); void fileOpen (void); void play () { delete m_xmmsc->playback_start (); } void stop () { delete m_xmmsc->playback_stop (); } void pause () { delete m_xmmsc->playback_pause (); } void next () { delete m_xmmsc->playlist_set_next_rel (1); delete m_xmmsc->playback_tickle (); } void prev () { delete m_xmmsc->playlist_set_next_rel (-1); delete m_xmmsc->playback_tickle (); } signals: void settingsSaved (void); void playbackStatusChanged (uint status); void playtimeChanged (uint time); void mediainfoChanged (uint, QHash); void currentSong (QHash); void playlistList (QList); void currentID (uint); void playlistChanged (QHash); void medialibResponse (uint, QList >); private: XmmsQT4 *m_qt4; XMMSClient *m_xmmsc; static XMMSHandler *singleton; uint m_currentid; QHash PropDictToQHash (XMMSResultDict *res); QHash DictToQHash (XMMSResultDict *res); }; #endif