aboutsummaryrefslogtreecommitdiffstats
path: root/src/PlaylistEdit.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-10-22Playlist*, Queue: use GetDatabase() overload without ErrorMax Kellermann1-1/+1
Don't use IgnoreError() when there's an overload that does not try to give us one.
2013-10-22PlaylistEdit: compare Song URIs in DeleteSong()Max Kellermann1-2/+1
Fixes purging deleted songs from the queue after update. Fixes regression from commit e96779d.
2013-10-20PlaylistError: convert playlist_result to a strictly-typed enumMax Kellermann1-38/+38
2013-10-19*: use references instead of pointersMax Kellermann1-1/+1
2013-10-18PlaylistEdit, QueueSave: free the Song object after Append()Max Kellermann1-1/+5
Fix for a major memory leak.
2013-10-02Log: new logging library APIMax Kellermann1-1/+3
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-10-02Playlist*: use nullptr instead of NULLMax Kellermann1-2/+2
2013-09-27PlayerControl: use strictly typed enumsMax Kellermann1-1/+1
2013-09-04util/Error: new error passing libraryMax Kellermann1-2/+3
Replaces GLib's GError.
2013-07-28song: convert header to C++Max Kellermann1-18/+14
2013-04-08uri: convert to C++Max Kellermann1-1/+1
2013-01-20PlayerControl: move functions into the classMax Kellermann1-2/+2
2013-01-18Playlist, Song: clarify parameter encodingMax Kellermann1-2/+2
2013-01-09idle: convert to C++Max Kellermann1-1/+1
2013-01-07Playlist: convert functions to methodsMax Kellermann1-186/+140
2013-01-06queue: convert all functions to methodsMax Kellermann1-55/+47
2013-01-04player_control.h: convert header to C++Max Kellermann1-1/+1
2013-01-04playlist: convert to C++Max Kellermann1-1/+2
2013-01-03database.h: eliminate db_*_song()Max Kellermann1-23/+18
Use the C++ API.
2013-01-03playlist_edit: convert to C++Max Kellermann1-1/+3
2012-08-21queue_save: save song prioritiesMax Kellermann1-1/+1
2012-08-16DatabasePlugin: add method ReturnSong()Max Kellermann1-1/+6
Allow the plugin to allocate the GetSong() return value.
2012-08-08player_control: add GError attributeMax Kellermann1-13/+0
Rewrite of the pc_get_error_message() function, now using a GError object instead of the complicated "errored_song" attribute.
2012-03-06playlist_edit: move UID check to client_allow_file()Max Kellermann1-23/+2
2011-12-21Playlist: fix bug in moving after current songMaarten Sebregts1-1/+1
Moving songs using either 'move' or 'moveid' to position -1 (after the current song) would fail for a song which is just before the current song. This patch corrects the check to see if the current song is in the range to be moved. Since the range is from `start` up to `end` (exclusive) the check was incorrect, but is now fixed.
2011-07-19queue: implement song "priorities"Max Kellermann1-0/+55
Sorts remaining songs by priority. This can be used for the much-demanded "queue feature".
2011-01-29copyright year 2011Max Kellermann1-1/+1
2011-01-10player_control: removed the global variable "pc"Max Kellermann1-39/+48
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-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-08player_control: no CamelCaseMax Kellermann1-2/+2
2009-09-30command: range support for "delete"Max Kellermann1-0/+26
2009-09-30playlist_edit: moved code to playlist_delete_internal()Max Kellermann1-10/+19
2009-07-28playlist: CamelCaseIsBadCourtney Cavin1-3/+3
Renamed all playlist functions to non-CamelCase.
2009-07-14playlist: no CamelCaseMax Kellermann1-51/+54
2009-03-26queue/playlist/command: move rangeJeffrey Middleton1-13/+18
The move command now accepts a range for the first argument, in the same form as other range commands, e.g. move 15:17 3. The first song in the range is placed at the destination position. Note that as with other range commands, the range is inclusive on the left only; this example would move only songs 15 and 16, not 17. [mk: fixed signed/unsigned warnings; use G_MAXUINT instead of UINT_MAX]
2009-03-13all: Update copyright header.Avuton Olrich1-3/+4
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-13playlist_edit: improved range checks in shufflePlaylist()Romain Bignon1-1/+6
2009-02-13added the shufflerange commandRomain Bignon1-23/+21
This command shuffles a range of songs.
2009-02-10playlist: fix assertion when last/current song is deletedMax Kellermann1-1/+4
When MPD is stopped, but the last song is still the "current song", and you delete it, playlist->current is not updated, and becomes an invalid value. Fix this by catching "!playlist->playing && playlist->current == (int)songOrder".
2009-02-04playlist: moved code to playlist_edit.cMax Kellermann1-337/+10
Moved functions for playlist editing (append, delete, shuffle, move) to playlist_edit.c.
2009-02-04playlist: moved code to playlist_control.cMax Kellermann1-241/+4
Moved handlers for control commands (play, stop, next, prev) to playlist_control.c.
2009-02-04playlist: call syncPlaylistWithQueue() only in the event handlerMax Kellermann1-4/+0
Don't call syncPlaylistWithQueue() in nextSongInPlaylist() and previousSongInPlaylist(). This is a relic from the time when there was no event, and was a workaround to the timing problem.
2009-02-04playlist: renamed global "playlist" variable to "g_playlist"Max Kellermann1-306/+310
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-02-04playlist: moved code to playlist_state.cMax Kellermann1-134/+3
Moved everything related to saving or loading the playlist from/to the state file to playlist_state.c.
2009-02-04playlist: simplified playlist.queued updatesMax Kellermann1-117/+111
Before every operation which modifies the playlist, remember a pointer to the song struct. After the modification, determine the "next song" again, and if it differs, dequeue and queue the new song. This removes a lot of complexity from the playlist update code, and makes it more robust.
2009-01-30playlist: clear playlist.playing when deleting current songMax Kellermann1-0/+1
This fixes an assertion failure: when the last song in the playlist was playing, and you deleted it, MPD aborted.
2009-01-25playlist: moved is_valid_playlist_name() to stored_playlist.cMax Kellermann1-16/+0
2009-01-25playlist: moved savePlaylist() and loadPlaylsit() to playlist_save.cMax Kellermann1-61/+0