summaryrefslogtreecommitdiff
path: root/deadbeef.h
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2010-12-03 20:48:21 +0100
committerGravatar waker <wakeroid@gmail.com>2010-12-03 20:48:21 +0100
commit6a70746e903ce9d50df8a5ddabf97a2950d4788e (patch)
treeb47971743dc1869942bd22e671d04bf00b1175e0 /deadbeef.h
parent90ffb43a8ef06c4a6c52bae195b5c8e34078a6b7 (diff)
added new playlist plugin API
added new M3U plugin (also supports loading PLS playlists)
Diffstat (limited to 'deadbeef.h')
-rw-r--r--deadbeef.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/deadbeef.h b/deadbeef.h
index d65a0dd9..7108fbcb 100644
--- a/deadbeef.h
+++ b/deadbeef.h
@@ -168,6 +168,7 @@ enum {
DB_PLUGIN_DSP = 3,
DB_PLUGIN_MISC = 4,
DB_PLUGIN_VFS = 5,
+ DB_PLUGIN_PLAYLIST = 6,
};
// output plugin states
@@ -520,6 +521,7 @@ typedef struct {
struct DB_decoder_s **(*plug_get_decoder_list) (void);
struct DB_output_s **(*plug_get_output_list) (void);
struct DB_dsp_s **(*plug_get_dsp_list) (void);
+ struct DB_playlist_s **(*plug_get_playlist_list) (void);
struct DB_plugin_s **(*plug_get_list) (void);
int (*plug_activate) (struct DB_plugin_s *p, int activate);
const char * (*plug_get_decoder_id) (const char *id);
@@ -815,6 +817,17 @@ typedef struct DB_gui_s {
DB_plugin_t plugin;
} DB_gui_t;
+// playlist plugin
+typedef struct DB_playlist_s {
+ DB_plugin_t plugin;
+
+ DB_playItem_t * (*load) (DB_playItem_t *after, const char *fname, int *pabort, int (*cb)(DB_playItem_t *it, void *data), void *user_data);
+
+ DB_playItem_t * (*save) (DB_playItem_t *first, DB_playItem_t *last, const char *fname, int *pabort, int (*cb)(DB_playItem_t *it, void *data), void *user_data);
+
+ const char **extensions; // NULL-terminated list of supported file extensions, e.g. {"m3u", "pls", NULL}
+} DB_playlist_t;
+
#ifdef __cplusplus
}
#endif