51 "extension."), saving ?
_(
"save") :
_(
"load"), filename);
61 Index * * filenames_p, Index * * tuples_p)
63 AUDDBG (
"Loading playlist %s.\n", filename);
78 bool_t success = pp->load (filename, file, title, filenames, tuples);
109 if (!
playlist_load (filename, & title, & filenames, & tuples))
123 AUDDBG (
"Saving playlist %s.\n", filename);
146 for (
int i = 0; i < entries; i ++)
152 bool_t success = pp->save (filename, file, title, filenames, tuples);
157 for (
int i = 0; i < entries; i ++)
static PluginHandle * get_plugin(const char *filename, bool_t saving)
EXPORT Index * index_new(void)
void playlist_entry_insert_batch_raw(int playlist_num, int at, Index *filenames, Index *tuples, Index *decoders)
EXPORT int vfs_fclose(VFSFile *file)
Closes a VFS stream and destroys a VFSFile object.
static PluginHandle * get_plugin_silent(const char *filename)
#define PLUGIN_HAS_FUNC(p, func)
int playlist_entry_count(int playlist_num)
EXPORT int index_count(Index *index)
char * str_printf(const char *format,...)
PluginHandle * playlist_plugin_for_extension(const char *extension)
EXPORT void index_allocate(Index *index, int size)
const void * plugin_get_header(PluginHandle *plugin)
bool_t filename_is_playlist(const char *filename)
bool_t playlist_insert_playlist_raw(int list, int at, const char *filename)
Tuple * playlist_entry_get_tuple(int playlist_num, int entry_num, bool_t fast)
char * playlist_get_title(int playlist_num)
EXPORT void * index_get(Index *index, int at)
EXPORT void index_append(Index *index, void *value)
EXPORT void tuple_unref(Tuple *tuple)
bool_t get_bool(const char *section, const char *name)
char * playlist_entry_get_filename(int playlist_num, int entry_num)
void str_unref(char *str)
EXPORT void index_free(Index *index)
EXPORT VFSFile * vfs_fopen(const char *path, const char *mode)
Opens a stream from a VFS transport using one of the registered VFSConstructor handlers.
EXPORT bool_t uri_get_extension(const char *uri, char *buf, int buflen)
bool_t playlist_load(const char *filename, char **title, Index **filenames_p, Index **tuples_p)
void playlist_set_title(int playlist_num, const char *title)
void data PluginHandle plugin
void interface_show_error(const char *message)
bool_t playlist_save(int list, const char *filename)