aboutsummaryrefslogtreecommitdiffstats
path: root/src/Playlist.hxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-07-11PlaylistEdit: postpone UpdateQueuedSong() when adding multiple songsMax Kellermann1-1/+18
Implement a "bulk" edit mode that postpones both UpdateQueuedSong() and OnModified(). This way, the playlist version gets incremented only once. More importantly: when adding multiple songs to a queue that consists of only one song, the first song that got added will always be played next. By postponing this choice, all newly added songs get a chance to become the next song. Fixes the second (and last) part of Mantis ticket 0004005.
2014-01-20Queue: rename struct queue to QueueMax Kellermann1-1/+1
Works around a build failure on Solaris because annoyingly, Solaris reserves the name "queue". This rename was pending anyway.
2013-10-28player_control: rename to PlayerControlMax Kellermann1-32/+32
2013-10-22Playlist: refresh new tags after database updateMax Kellermann1-1/+4
Fixes regression from commit e96779d.
2013-10-22Playlist: copy stream tags from the PlayerThreadMax Kellermann1-1/+6
Finally restores an important feature that has been broken for several months when the PlayerThread started working with Song copies instead of pointers to the Queue's Song instances (commit e96779d).
2013-10-20PlaylistError: convert playlist_result to a strictly-typed enumMax Kellermann1-38/+38
2013-08-10playlist_error: convert to C++Max Kellermann1-1/+1
2013-07-30include cleanupMax Kellermann1-2/+0
2013-07-28song: convert header to C++Max Kellermann1-5/+6
2013-01-18Playlist, Song: clarify parameter encodingMax Kellermann1-1/+1
2013-01-15Playlist: initialise attribute "playing"Max Kellermann1-1/+1
2013-01-09Playlist.hxx: move prototype to PlaylistGlobal.hxxMax Kellermann1-3/+0
2013-01-09Playlist: move playlist_increment_version_all() into the classMax Kellermann1-3/+2
2013-01-07Playlist: convert functions to methodsMax Kellermann1-129/+138
2013-01-06Queue: add constructor and destructorMax Kellermann1-3/+1
2013-01-06Playlist: add constructor and destructorMax Kellermann1-6/+9
2013-01-05Partition: new class, container for Playlist and PlayerControlMax Kellermann1-7/+1
This is the beginning of multi-player support. There will be support for multiple Partition objects in one MPD process.
2013-01-04Playlist: pass max_length to playlist_init()Max Kellermann1-2/+2
Move the configuration lookup to Main.cxx.
2013-01-04playlist: convert to C++Max Kellermann1-4/+4
2012-03-06playlist_edit: move UID check to client_allow_file()Max Kellermann1-5/+4
2011-12-24command: new command "seekcur"Max Kellermann1-0/+12
For simpler seeking within current song.
2011-09-11playlist: move enum playlist_result to playlist_error.hMax Kellermann1-14/+1
Reduce header dependencies.
2011-09-11playlist: move PLAYLIST_COMMENT to stored_playlist.cMax Kellermann1-2/+0
Only used there.
2011-07-19queue: implement song "priorities"Max Kellermann1-0/+9
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-26/+43
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-10-08playlist_control: "previous" really plays the previous songMax Kellermann1-7/+0
No more CD player emulation. The current behaviour of "previous" is difficult for a client to predict, because it does not definitely know the current position within the song. If a client wants to restart the current song, it can always send "playid".
2009-09-30command: range support for "delete"Max Kellermann1-0/+9
2009-07-28playlist: CamelCaseIsBadCourtney Cavin1-25/+36
Renamed all playlist functions to non-CamelCase.
2009-07-14playlist: no CamelCaseMax Kellermann1-13/+17
2009-07-14playlist: removed {save,read}PlaylistState()Max Kellermann1-5/+0
Those were only wrappers for playlist_state_{save,restore}(). Since sf_callbacks has been removed, we can call the latter functions directly.
2009-04-25playlist_control: use GTimer in previousSongInPlaylist()Max Kellermann1-0/+7
To determine whether to rewind the current song or to go to the previous song, use a GTimer instead of manually diffing time(NULL).
2009-03-30implemented the 'consume' modeRomain Bignon1-0/+5
Consume mode removes each song played
2009-03-27renamed smartstop to single and changed behaviorRomain Bignon1-2/+2
When single mode is enabled, after current song it stops playback, or it replay same song if repeat mode is activated.
2009-03-27implements the smartstop featureRomain Bignon1-0/+5
The smartstop feature is a way to tell mpd to stop playing after current song. This patche provides: - 'state' command returns 'smartstop' state (1 or 0) - 'smartstop' can activate or not the smartstop state - when song is terminated, mpd stops playing and smartstop is set to 0
2009-03-26queue/playlist/command: move rangeJeffrey Middleton1-1/+1
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-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-13added the shufflerange commandRomain Bignon1-1/+1
This command shuffles a range of songs.
2009-02-09playlist: provide information about "next song"Vladimir S Eremin1-0/+2
In random mode, this patch allows clients to see the "next song" in the queue.
2009-02-04playlist: pass const playlist pointersMax Kellermann1-9/+6
Pass constant playlist objects to functions which do not modify it.
2009-02-04playlist: renamed global "playlist" variable to "g_playlist"Max Kellermann1-32/+66
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 savePlaylist() and loadPlaylsit() to playlist_save.cMax Kellermann1-2/+0
2009-01-25stored_playlist: moved configuration variables from playlist.cMax Kellermann1-4/+0
Don't declare and export variables specific to stored playlists in playlist.c/playlist.h.
2009-01-24playlist: removed locate functions to queue_print.cMax Kellermann1-11/+0
Now playlist.c does not contain any protocol specific code anymore.
2009-01-24locate: renamed LocateTagItem to "struct locate_item"Max Kellermann1-3/+3
No CamelCase and no typedefs.
2009-01-24command: use queue_print_*()Max Kellermann1-19/+0
Replaced several wrapper functions from playlist.c, and make command.c use the queue print functions directly.
2009-01-24playlist: added playlist_get_queue()Max Kellermann1-0/+6
To allow code outside playlist.c to access the "queue" object, provide a function which returns a const pointer.
2009-01-24playlist: renamed the Playlist typedef to "struct playlist"Max Kellermann1-2/+2
No typedefs.
2009-01-24playlist: moved stopOnError and errorCount into struct playlistMax Kellermann1-0/+14
Moved the 2 remaining global variables into the playlist struct.