2 // C++ Interface: playlist
4 // Author: Oliver Groß <z.o.gross@gmx.de>, (C) 2008
6 // Copyright: See COPYING file that comes with this distribution
8 #ifndef XMMSQT_PLAYLIST_H
9 #define XMMSQT_PLAYLIST_H
12 #include <QStringList>
13 #include <xmmsclient/xmmsclient.h>
18 class QPlaylist
: public QObject
{
21 xmmsc_connection_t
* m_Connection
;
22 QList
<quint32
> m_IDList
;
25 static void loadedCallback(xmmsc_result_t
* result
, void * instance
);
26 static void changedCallback(xmmsc_result_t
* result
, void * instance
);
27 static void fillIDListCallback(xmmsc_result_t
* result
, void * instance
);
28 static void currentPosCallback(xmmsc_result_t
* result
, void * instance
);
30 void setConnection(xmmsc_connection_t
* connection
);
32 QPlaylist(QClient
* parent
= 0);
35 xmmsc_connection_t
* connection() const { return m_Connection
; }
36 QList
<quint32
> & idList() { return m_IDList
; }
37 quint32
position() const { return m_Position
; };
41 void append(quint32 id
);
42 void append(QString url
);
43 void append(QList
<quint32
> ids
);
44 void append(QStringList urls
);
45 void appendRecursive(QString directory
);
46 void insert(quint32 id
, quint32 position
);
47 void insert(QString url
, quint32 position
);
48 void insert(QList
<quint32
> ids
, quint32 position
);
49 void insert(QStringList urls
, quint32 position
);
50 void remove(quint32 position
);
51 void move(quint32 from
, quint32 to
);
53 /* void sort(QStringList properties);*/
55 void setNext(quint32 position
);
57 // void entryAppended(quint32 id);
58 void entryAboutToBeInserted(quint32 position
, quint32 id
);
59 void entryAboutToBeRemoved(quint32 position
, quint32 id
);
60 void entryInserted(quint32 position
, quint32 id
);
61 void entryRemoved(quint32 position
, quint32 id
);
62 void entryMoved(quint32 from
, quint32 to
);
63 void entryUpdated(quint32 position
, quint32 oldid
);
65 //void sortingChanged();
67 void currentChanged(quint32 position
);