XMMS2
xmms_playlist.h
Go to the documentation of this file.
1/* XMMS2 - X Music Multiplexer System
2 * Copyright (C) 2003-2011 XMMS2 Team
3 *
4 * PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 */
16
17
18
19
20#ifndef __XMMS_PLAYLIST_H__
21#define __XMMS_PLAYLIST_H__
22
23#include <glib.h>
24
25
26/*
27 * Public definitions
28 */
29
30/*
31 * Private defintions
32 */
33
34#define XMMS_MAX_URI_LEN 1024
35#define XMMS_MEDIA_DATA_LEN 1024
36#define XMMS_MAX_INT_ATTRIBUTE_LEN 64
37#define XMMS_DEFAULT_PARTYSHUFFLE_UPCOMING 10
38
39
40struct xmms_playlist_St;
41typedef struct xmms_playlist_St xmms_playlist_t;
42
43#include "xmms/xmms_error.h"
44#include "xmms/xmms_medialib.h"
46
47/*
48 * Public functions
49 */
50
52
53gboolean xmms_playlist_advance (xmms_playlist_t *playlist);
55void xmms_playlist_add_entry_unlocked (xmms_playlist_t *playlist, const const gchar *plname, xmmsv_coll_t *plcoll, xmms_medialib_entry_t file, xmms_error_t *err);
56GList * xmms_playlist_list (xmms_playlist_t *playlist, const gchar *plname, xmms_error_t *err);
58
59void xmms_playlist_add_entry (xmms_playlist_t *playlist, const gchar *plname, xmms_medialib_entry_t file, xmms_error_t *err);
60void xmms_playlist_insert_entry (xmms_playlist_t *playlist, const gchar *plname, guint32 pos, xmms_medialib_entry_t file, xmms_error_t *err);
61
63
64
66void xmms_playlist_changed_msg_send (xmms_playlist_t *playlist, GTree *dict);
67
68#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))
69
70/*
71 * Entry modifications
72 */
73
74
75#endif
xmms_mediainfo_reader_t * xmms_playlist_mediainfo_reader_get(xmms_playlist_t *playlist)
returns pointer to mediainfo reader.
Definition playlist.c:1547
void xmms_playlist_insert_entry(xmms_playlist_t *playlist, const gchar *plname, guint32 pos, xmms_medialib_entry_t file, xmms_error_t *err)
Insert an entry at a given position in the playlist without validating it.
Definition playlist.c:886
xmms_playlist_t * xmms_playlist_init(void)
Initializes a new xmms_playlist_t.
Definition playlist.c:277
gboolean xmms_playlist_advance(xmms_playlist_t *playlist)
Go to next song in playlist according to current playlist mode.
Definition playlist.c:376
xmms_medialib_entry_t xmms_playlist_current_entry(xmms_playlist_t *playlist)
Retrieve the currently active xmms_medialib_entry_t.
Definition playlist.c:394
void xmms_playlist_add_entry(xmms_playlist_t *playlist, const gchar *plname, xmms_medialib_entry_t file, xmms_error_t *err)
Add an entry to the playlist without validating it.
Definition playlist.c:1062
gboolean xmms_playlist_remove_by_entry(xmms_playlist_t *playlist, xmms_medialib_entry_t entry)
Remove all additions of entry in the playlist.
Definition playlist.c:670
G_BEGIN_DECLS typedef gint32 xmms_medialib_entry_t
G_BEGIN_DECLS struct xmms_error_St xmms_error_t
struct xmms_mediainfo_reader_St xmms_mediainfo_reader_t
void xmms_playlist_changed_msg_send(xmms_playlist_t *playlist, GTree *dict)
Definition playlist.c:1686
void xmms_playlist_add_entry_unlocked(xmms_playlist_t *playlist, const const gchar *plname, xmmsv_coll_t *plcoll, xmms_medialib_entry_t file, xmms_error_t *err)
GList * xmms_playlist_list(xmms_playlist_t *playlist, const gchar *plname, xmms_error_t *err)
struct xmms_playlist_St xmms_playlist_t
GTree * xmms_playlist_changed_msg_new(xmms_playlist_t *playlist, xmms_playlist_changed_actions_t type, xmms_medialib_entry_t id, const gchar *plname)
Definition playlist.c:1645
xmms_playlist_changed_actions_t
struct xmmsv_coll_St xmmsv_coll_t
Definition xmmsv_coll.h:28