aboutsummaryrefslogtreecommitdiffstats
path: root/src/PlaylistState.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-12-08TextFile: move to fs subsystemDenis Krjuchkov1-1/+1
2013-11-28Util/StringUtil: add StringStartsWith()Max Kellermann1-14/+13
Replaces GLib's g_str_has_prefix().
2013-10-30PlaylistState: ignore "mixrampdelay:nan"Max Kellermann1-1/+7
mixramp_delay==nan() causes severe problems with cross-fading.
2013-10-28player_control: rename to PlayerControlMax Kellermann1-3/+3
2013-10-19*: use references instead of pointersMax Kellermann1-51/+51
2013-10-17fs/Path: move MPD_PATH_MAX to Limits.hxxMax Kellermann1-0/+1
2013-10-17Thread/Thread: replacement library for GThreadMax Kellermann1-0/+2
2013-10-02Log: new logging library APIMax Kellermann1-3/+6
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-10-02Playlist*: use nullptr instead of NULLMax Kellermann1-3/+3
2013-09-27PlayerControl: use strictly typed enumsMax Kellermann1-11/+13
2013-09-05conf.h: remove obsolete headerMax Kellermann1-1/+2
Use only ConfigData.hxx in plugin sources to reduce header dependencies.
2013-01-30ConfigFile: add enum ConfigOptionMax Kellermann1-1/+1
Look up top-level config options by enum (= integer), not by name string.
2013-01-20PlayerControl: move functions into the classMax Kellermann1-18/+11
2013-01-07Playlist: convert functions to methodsMax Kellermann1-21/+11
2013-01-07decoder_api.h, ...: add "extern C"Max Kellermann1-3/+0
2013-01-06queue: convert all functions to methodsMax Kellermann1-9/+6
2013-01-04player_control.h: convert header to C++Max Kellermann1-1/+1
2013-01-04playlist: convert to C++Max Kellermann1-2/+2
2013-01-03TextFile: convert to a classMax Kellermann1-7/+7
2013-01-03text_file: convert to C++Max Kellermann1-1/+1
2013-01-02db_save, state_file: convert to C++Max Kellermann1-3/+5
2011-02-23playlist_state: add option "restore_paused"Max Kellermann1-0/+8
When set, MPD will not auto-start playback on startup; it will be in "paused" state.
2011-02-23playlist_state: declare local variable as enumMax Kellermann1-1/+1
2011-01-29copyright year 2011Max Kellermann1-1/+1
2011-01-10player_control: removed the global variable "pc"Max Kellermann1-21/+27
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.
2010-09-23playlist_state: Fix the "state" line in the outputThomas Jansen1-1/+1
An '\n' was erroneously inserted in the line containing the state, e.g. "state: \nplay" instead of "state: play". Fix for bug #2992.
2010-07-25queue_save: save tags and range of non-database songsMax Kellermann1-1/+1
Use the functions song_save() and song_load() to use the same format as in the database file for those songs which need the tags.
2010-07-25queue_save: queue_load_song() returns voidMax Kellermann1-3/+1
The only caller doesn't use its return value, and the value isn't useful anyway.
2010-07-25state_file: use the text_file libraryMax Kellermann1-32/+31
Don't use a large stack buffer.
2010-07-25playlist_state: simplify printf() callsMax Kellermann1-22/+18
Let the C compiler concatenate string constants.
2010-03-21Add support for MixRamp tagsTim Phipps1-0/+10
Adds mixrampdb and mixrampdelay commands. Reads MIXRAP_START and MIXRAMP_END tags from FLAC files and overlaps instead of crossfading.
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-23output_plugin: added methods enable() and disable()Max Kellermann1-0/+6
With these methods, an output plugin can allocate some global resources only if it is actually enabled. The method enable() is called after daemonization, which allows for more sophisticated resource allocation during that method.
2009-10-08player_control: no CamelCaseMax Kellermann1-8/+4
2009-10-08player_control: bundle "get" functions in pc_get_status()Max Kellermann1-4/+14
The new player_status struct replaces a bunch of playerGetX() functions. When we add proper locking to the player_control struct, we will only need to lock once for the "status" command.
2009-10-08state_file: save only if something has changedMax Kellermann1-0/+18
If nothing has changed since the last save, don't save the state file. Saving will spin up the hard drive, which is undesirable on hosts where MPD is idling in background.
2009-07-28playlist: CamelCaseIsBadCourtney Cavin1-9/+9
Renamed all playlist functions to non-CamelCase.
2009-07-15state_file: don't rewind the stream while reading the state fileMax Kellermann1-14/+15
Parse the state file line by line, let each subsystem probe a line. Only the playlist_state code gets the FILE pointer to read the following lines.
2009-06-29playlist_state: don't save "current" song when none is setMax Kellermann1-2/+4
This patch fixes an assertion failure: Assertion `order < queue->length' failed. This happens when the state file is saved, when there is no "current" song: current==-1, and queue_order_to_position(-1) is called.
2009-06-26playlist_state: save state when stoppedChristopher Zimmerman1-5/+9
At the moment mpd doesn't store or restore the current track to/from its state file when the daemon is stopped/started while in 'stopped' state. I believe the preferred behaviour would be to store and restore the current track even when the daemon is in stopped state when shutting down. I made a small patch to adapt this behaviour. If you believe this is not the preferred behaviour, maybe this should be realized as a configuration option. I'm not sure how to do this, but made a small comment, where one would have to put the option.
2009-03-30implemented the 'consume' modeRomain Bignon1-0/+10
Consume mode removes each song played
2009-03-27renamed smartstop to single and changed behaviorRomain Bignon1-7/+7
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-2/+11
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-26playlist_state: fix playback restore in random modeMax Kellermann1-2/+0
The functions playPlaylist() and seekSongInPlaylist() expect a song position, not a song order number. Don't convert the "current" variable with queue_position_to_order().
2009-03-25playlist_state: start playing after restore is completeMax Kellermann1-18/+17
Don't start playback as soon as the "current" song is being loaded from the state file. That is unclean, and leads to an obscure bug: in repeat mode, when the song is started (which is yet the last song in the list), the playlist code marked the very first song in the playlist as "next" song, because the end of the playlist was wrapped. It's easier to set up the playback after all songs have been loaded, and after the random/repeat mode has been set.
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-04playlist: increase playlist version after loading stateMax Kellermann1-0/+2
After the state file has been loaded, the playlist version is still "1", and "plchanges 1" returns the whole playlist. Fix this by increasing the playlist version after the state file has been loaded.
2009-02-04playlist: renamed global "playlist" variable to "g_playlist"Max Kellermann1-5/+6
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.