00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __XMMS_PLAYLIST_H__
00021 #define __XMMS_PLAYLIST_H__
00022
00023 #include <glib.h>
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #define XMMS_MAX_URI_LEN 1024
00035 #define XMMS_MEDIA_DATA_LEN 1024
00036 #define XMMS_MAX_INT_ATTRIBUTE_LEN 64
00037 #define XMMS_DEFAULT_PARTYSHUFFLE_UPCOMING 10
00038
00039
00040 struct xmms_playlist_St;
00041 typedef struct xmms_playlist_St xmms_playlist_t;
00042
00043 #include "xmms/xmms_error.h"
00044 #include "xmms/xmms_medialib.h"
00045 #include "xmmspriv/xmms_mediainfo.h"
00046
00047
00048
00049
00050
00051 xmms_playlist_t * xmms_playlist_init (void);
00052
00053 gboolean xmms_playlist_add_id (xmms_playlist_t *playlist, gchar *plname, xmms_medialib_entry_t file, xmms_error_t *error);
00054 gboolean xmms_playlist_advance (xmms_playlist_t *playlist);
00055 xmms_medialib_entry_t xmms_playlist_current_entry (xmms_playlist_t *playlist);
00056 gboolean xmms_playlist_add_url (xmms_playlist_t *playlist, gchar *plname, gchar *nurl, xmms_error_t *err);
00057 gboolean xmms_playlist_add_idlist (xmms_playlist_t *playlist, gchar *plname, xmmsc_coll_t *coll, xmms_error_t *err);
00058 gboolean xmms_playlist_add_collection (xmms_playlist_t *playlist, gchar *plname, xmmsc_coll_t *coll, GList *order, xmms_error_t *err);
00059 void xmms_playlist_add_entry_unlocked (xmms_playlist_t *playlist, const gchar *plname, xmmsc_coll_t *plcoll, xmms_medialib_entry_t file, xmms_error_t *err);
00060 GList * xmms_playlist_list (xmms_playlist_t *playlist, gchar *plname, xmms_error_t *err);
00061 GTree * xmms_playlist_current_pos (xmms_playlist_t *playlist, gchar *plname, xmms_error_t *err);
00062 const gchar * xmms_playlist_current_active (xmms_playlist_t *playlist, xmms_error_t *err);
00063 guint xmms_playlist_set_current_position (xmms_playlist_t *playlist, guint32 pos, xmms_error_t *error);
00064 gboolean xmms_playlist_remove_by_entry (xmms_playlist_t *playlist, xmms_medialib_entry_t entry);
00065
00066 void xmms_playlist_add_entry (xmms_playlist_t *playlist, gchar *plname, xmms_medialib_entry_t file, xmms_error_t *err);
00067
00068 xmms_mediainfo_reader_t *xmms_playlist_mediainfo_reader_get (xmms_playlist_t *playlist);
00069
00070
00071 GTree *xmms_playlist_changed_msg_new (xmms_playlist_t *playlist, xmms_playlist_changed_actions_t type, guint32 id, const gchar *plname);
00072 void xmms_playlist_changed_msg_send (xmms_playlist_t *playlist, GTree *dict);
00073
00074 #define XMMS_PLAYLIST_COLLECTION_CHANGED_MSG(playlist, name) xmms_playlist_changed_msg_send (playlist, xmms_playlist_changed_msg_new (playlist, XMMS_PLAYLIST_CHANGED_UPDATE, 0, name))
00075
00076
00077
00078
00079
00080
00081 #endif