aboutsummaryrefslogtreecommitdiffstats
path: root/src/playlist_save.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-10-05playlist_save: use temp2 instead of tempMax Kellermann1-1/+2
Fixes minor Windows compatibility problem.
2012-06-12Work around incorrect g_file_test() behavior on Win32Denis Krjuchkov1-0/+1
g_file_test is redefined to be g_file_test_utf8 and thus can't handle non-ASCII characters. This fix adds simple wrapper (taken from glib) that fixes encoding and calls g_file_test_utf8. All required inclusions of glib_compat.h are added as well.
2012-02-09playlist_save: add start/end_index parametersMax Kellermann1-2/+7
2011-09-11stored_playlist: return GError, code is playlist_resultMax Kellermann1-5/+5
Improve error reporting and handling. command.c gets the new function print_error(), which sends a GError to the client.
2011-09-11playlist: move enum playlist_result to playlist_error.hMax Kellermann1-0/+2
Reduce header dependencies.
2011-01-29copyright year 2011Max Kellermann1-1/+1
2011-01-10player_control: removed the global variable "pc"Max Kellermann1-3/+4
Allocate a player_control object where needed, and pass it around. Each "client" object is associated with a "player_control" instance. This prepares multi-player support.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-08mapper: apply filesystem_charset to playlistsMax Kellermann1-1/+4
This fixes an inconsistency in the stored playlist subsystem: when obtaining the list of playlists (listplaylist, listplaylistinfo), the file names in the playlist directory are converted to UTF-8 (according to filesystem_charset), but when saving or loading playlists, the filesystem_charset setting was ignored.
2009-11-12include config.h in all sourcesMax Kellermann1-0/+1
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
2009-10-20mapper, update, ...: use g_build_filename(), G_DIR_SEPARATOR, ...Max Kellermann1-1/+1
Try to be as portable as possible, use GLib path name functions and macros.
2009-07-14playlist: no CamelCaseMax Kellermann1-2/+2
2009-03-13all: Update copyright header.Avuton Olrich1-6/+7
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
2009-02-25ls: moved generic URI utilities to uri.cMax Kellermann1-1/+1
"ls" is a bad name for a library which parses URIs. We'll move the rest of the "ls" library later.
2009-02-04playlist_save: added spl_save_playlist()Max Kellermann1-0/+6
spl_save_playlist() is a wrapper for spl_save_queue().
2009-02-04playlist: renamed global "playlist" variable to "g_playlist"Max Kellermann1-3/+3
Export the "g_playlist" variable, and pass it to all playlist functions. This way, we can split playlist.c easier into separate parts. The code which initializes the singleton variable is moved to playlist_global.c.
2009-01-25playlist: moved is_valid_playlist_name() to stored_playlist.cMax Kellermann1-1/+1
2009-01-25playlist: moved savePlaylist() and loadPlaylsit() to playlist_save.cMax Kellermann1-0/+65
2009-01-25stored_playlist: moved configuration variables from playlist.cMax Kellermann1-1/+1
Don't declare and export variables specific to stored playlists in playlist.c/playlist.h.
2009-01-08path: allocate buffer in fs_charset conversion functionsMax Kellermann1-6/+5
Don't use fixed static buffers. GLib allocates a new string for us anyway, let's just return this one instead of copying it.
2009-01-04song: allocate the result of song_get_url()Max Kellermann1-5/+7
2009-01-04playlist: use uri_has_scheme() instead of isRemoteUrl()Max Kellermann1-1/+1
For internal checks (i.e. not in command.c), we need to check whether an URI is in the databse, in the local file system or a remote URI with a scheme.
2009-01-02mapper: allocate the result of map_directory_child_fs(), map_song_fs()Max Kellermann1-2/+4
Don't use fixed stack buffers.
2009-01-02mapper: allocate the result of map_uri_fs(), map_directory_fs()Max Kellermann1-4/+8
Don't use fixed stack buffers.
2008-12-24playlist: fix stored playlist modifications with absolute pathsMax Kellermann1-1/+1
When save_absolute_paths_in_playlists was enabled in mpd.conf, MPD broke all playlists when manipulated using the "playlistdelete" command. The reason was that map_directory_child_fs() was used, which doesn't accept slashes in the file name. Use the new map_uri_fs() function instead.
2008-12-16ls: removed isValidRemoteUtf8Url()Max Kellermann1-1/+1
The function didn't do anything useful, it was just several lines obfuscating that it was only forwarding isRemoteUrl()'s return value.
2008-10-31update: check return valuesMax Kellermann1-1/+2
Nearly all mapper functions can fail and will then return NULL. Add checks to all callers.
2008-10-23stored_playlist: don't map files outside the databaseMax Kellermann1-2/+3
Don't attempt to map paths which are already absolute with map_song_fs(): check with song_in_database() instead of song_is_file().
2008-10-14playlist: don't use uninitialized local variable (typo)Max Kellermann1-1/+1
Instead of the uninitialized local variable "s", I should have used "uri".
2008-10-14mapper: new song-to-filesystem mapper libraryMax Kellermann1-8/+14
The mapper library maps directory and song objects to file system paths. With this central library, the code mixture in path.c should be cleaned up, and we will be able to add neat features like aliasing.
2008-10-14playlist: moved code to playlist_save.cMax Kellermann1-35/+26
playlist_print_song() and playlist_print_uri() handle charset conversion and (optional) music directory prefixing.
2008-10-09database: renamed get_get_song() to db_get_song()Max Kellermann1-1/+1
Search'n'replace typo..
2008-10-08database: renamed functions, "db_" prefix and no CamelCaseMax Kellermann1-12/+18
Yet another CamelCase removal patch.
2008-10-08database: removed printDirectoryInfo()Max Kellermann1-3/+0
The same can be achieved with directory_print(db_get_directory()).
2008-10-08directory: moved code to database.cMax Kellermann1-17/+27
Taming the directory.c monster, part II: move the database management stuff to database. directory.c should only contain code which works on directory objects.
2008-10-08directory: converted typedef Directory to struct directoryMax Kellermann1-2/+2
The struct can be forward-declared by other headers, which relaxes the header dependencies.
2008-10-08update: merged exploreDirectory() into updateDirectory()Max Kellermann1-1/+1
exploreDirectory() duplicates some code in updateDirectory(). Merge both functions, and use directory_is_empty() to determine whether update or explore mode should be used.
2008-10-08directory: moved code to update.cMax Kellermann1-10/+20
The source directory.c mixes several libraries: directory object management, database management and database update, resulting in a 1000+ line monster. Move the whole database update code to update.c.
2008-09-07audio_format: converted typedef AudioFormat to struct audio_formatMax Kellermann1-3/+4
Get rid of CamelCase, and don't use a typedef, so we can forward-declare it, and unclutter the include dependencies.
2008-08-26moved code to crossfade.cMax Kellermann1-9/+10
decode.c should be a lot smaller; start by moving all code which handles cross-fading to crossfade.c. Also includes camelCase conversion.
2008-08-26clean up CPP includesMax Kellermann1-2/+0
Include only headers which are really required. This speeds up compilation and helps detect cross-layer accesses.
2008-06-02remove audioDeviceStates from playerData and getPlayerDataEric Wong1-8/+0
git-svn-id: https://svn.musicpd.org/mpd/trunk@7372 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-13Make the OutputBuffer API more consistentEric Wong1-1/+1
We had functions names varied between outputBufferFoo, fooOutputBuffer, and output_buffer_foo That was too confusing for my little brain to handle. And the global variable was somehow named 'cb' instead of the more obvious 'ob'... git-svn-id: https://svn.musicpd.org/mpd/trunk@7355 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-13Stop passing our single OutputBuffer object everywhereEric Wong1-1/+1
All of our main singleton data structures are implicitly shared, so there's no reason to keep passing them around and around in the stack and making our internal API harder to deal with. git-svn-id: https://svn.musicpd.org/mpd/trunk@7354 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-13Stop passing our single DecoderControl object everywhereEric Wong1-1/+1
This at least makes the argument list to a lot of our plugin functions shorter and removes a good amount of line nois^W^Wcode, hopefully making things easier to read and follow. git-svn-id: https://svn.musicpd.org/mpd/trunk@7353 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-13Get rid of PlayerControl inside the PlayerData structEric Wong1-1/+1
It actually increases our image size a small bit and may even hurt performance a very small bit, but makes the code less verbose and easier to manage. I don't see a reason for mpd to ever support playing multiple files at the same time (users can run multiple instances of mpd if they really want to play Zaireeka, but that's such an edge case it's not worth ever supporting in our code). git-svn-id: https://svn.musicpd.org/mpd/trunk@7352 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-12clean up CPP includesMax Kellermann1-2/+0
Try to only include headers which are really needed. We should particularly check all "headers including other headers". The long-term goal is to have a manageable, small API for plugins (decoders, output) without so many mpd internals cluttering the namespace. git-svn-id: https://svn.musicpd.org/mpd/trunk@7319 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-12remove buffered_chunks, use cb->sizeMax Kellermann1-1/+0
Second patch to make OutputBuffer self-contained: since OutputBuffer now knows its own size, we do not need the global variable "buffered_chunks" anymore. git-svn-id: https://svn.musicpd.org/mpd/trunk@7311 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-12moved CHUNK_SIZE to outputBuffer.hMax Kellermann1-3/+0
The chunk size should be in outputBuffer.h since the output buffer code is its primary user. git-svn-id: https://svn.musicpd.org/mpd/trunk@7268 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-12unsigned integers in playerData.[ch]Max Kellermann1-2/+2
The number of buffered chunks can obviously not become negative. The "buffered_before_play<0" therefore cannot be useful, so let's remove it, too. git-svn-id: https://svn.musicpd.org/mpd/trunk@7232 09075e82-0dd4-0310-85a5-a0d7c8717e4f