diff options
author | waker <wakeroid@gmail.com> | 2010-12-03 20:48:21 +0100 |
---|---|---|
committer | waker <wakeroid@gmail.com> | 2010-12-03 20:48:21 +0100 |
commit | 6a70746e903ce9d50df8a5ddabf97a2950d4788e (patch) | |
tree | b47971743dc1869942bd22e671d04bf00b1175e0 /deadbeef.h | |
parent | 90ffb43a8ef06c4a6c52bae195b5c8e34078a6b7 (diff) |
added new playlist plugin API
added new M3U plugin (also supports loading PLS playlists)
Diffstat (limited to 'deadbeef.h')
-rw-r--r-- | deadbeef.h | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -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 |