configure.ac: Move OggVorbis Encoder to Encoder Plugins.
[mpd-mk.git] / src / stored_playlist.h
blob3afdbb0f0ad5643c0206c25bd8511b9689deb4a7
1 /*
2 * Copyright (C) 2003-2010 The Music Player Daemon Project
3 * http://www.musicpd.org
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #ifndef MPD_STORED_PLAYLIST_H
21 #define MPD_STORED_PLAYLIST_H
23 #include "playlist.h"
25 #include <glib.h>
26 #include <stdbool.h>
27 #include <time.h>
29 struct song;
31 struct stored_playlist_info {
32 char *name;
34 time_t mtime;
37 extern bool playlist_saveAbsolutePaths;
39 /**
40 * Perform some global initialization, e.g. load configuration values.
42 void
43 spl_global_init(void);
45 /**
46 * Determines whether the specified string is a valid name for a
47 * stored playlist.
49 bool
50 spl_valid_name(const char *name_utf8);
52 /**
53 * Returns a list of stored_playlist_info struct pointers. Returns
54 * NULL if an error occured.
56 GPtrArray *
57 spl_list(void);
59 void
60 spl_list_free(GPtrArray *list);
62 GPtrArray *
63 spl_load(const char *utf8path);
65 void
66 spl_free(GPtrArray *list);
68 enum playlist_result
69 spl_move_index(const char *utf8path, unsigned src, unsigned dest);
71 enum playlist_result
72 spl_clear(const char *utf8path);
74 enum playlist_result
75 spl_delete(const char *name_utf8);
77 enum playlist_result
78 spl_remove_index(const char *utf8path, unsigned pos);
80 enum playlist_result
81 spl_append_song(const char *utf8path, struct song *song);
83 enum playlist_result
84 spl_append_uri(const char *file, const char *utf8file);
86 enum playlist_result
87 spl_rename(const char *utf8from, const char *utf8to);
89 #endif