diff options
author | J. Alexander Treuman <jat@spatialrift.net> | 2007-05-16 12:02:10 +0000 |
---|---|---|
committer | J. Alexander Treuman <jat@spatialrift.net> | 2007-05-16 12:02:10 +0000 |
commit | 6cfe421cd64278f85310a258ab42c372c8a847b3 (patch) | |
tree | c1e8be35035dea1001ad8ad67c62ea13353aa09c /src/storedPlaylist.h | |
parent | 6f68587ad59a2e5f606a332b96e55f57a0f9a5fc (diff) | |
download | mpd-6cfe421cd64278f85310a258ab42c372c8a847b3.tar.gz mpd-6cfe421cd64278f85310a258ab42c372c8a847b3.tar.xz mpd-6cfe421cd64278f85310a258ab42c372c8a847b3.zip |
Committing pat's rewrite of the stored playlist code. This also adds two
new commands: playlistmove and playlistdelete.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6116 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src/storedPlaylist.h')
-rw-r--r-- | src/storedPlaylist.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/storedPlaylist.h b/src/storedPlaylist.h new file mode 100644 index 000000000..044d44ea3 --- /dev/null +++ b/src/storedPlaylist.h @@ -0,0 +1,46 @@ +/* the Music Player Daemon (MPD) + * Copyright (C) 2007 by Warren Dukes (warren.dukes@gmail.com) + * This project's homepage is: http://www.musicpd.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef STORED_PLAYLIST_H +#define STORED_PLAYLIST_H + +#include "song.h" +#include "list.h" +#include "playlist.h" + +typedef struct _storedPlaylist { + List *list; + unsigned int length; + char *fspath; + int fd; +} StoredPlaylist; + +StoredPlaylist *newStoredPlaylist(const char *filename, int fd, int ignoreExisting); +StoredPlaylist *loadStoredPlaylist(const char *utf8path, int fd); +void freeStoredPlaylist(StoredPlaylist *sp); + +int moveSongInStoredPlaylistByPath(int fd, const char *utf8path, int src, int dest); +int removeAllFromStoredPlaylistByPath(int fd, const char *utf8path); +int removeOneSongFromStoredPlaylistByPath(int fd, const char *utf8path, int pos); + +int writeStoredPlaylist(StoredPlaylist *sp); + +int appendSongToStoredPlaylistByPath(int fd, const char *utf8path, Song *song); +void appendPlaylistToStoredPlaylist(StoredPlaylist *sp, Playlist *playlist); + +#endif |