aboutsummaryrefslogtreecommitdiffstats
path: root/src/command/QueueCommands.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-11-13command/queue: use StringIsEqual() instead of memcmp()Max Kellermann1-1/+2
memcmp() can overflow the buffer.
2015-10-27command/queue: add range parameter to plchanges and plchangesposidMax Kellermann1-2/+12
2015-10-22LocateUri: new library to classify URIs in a standard wayMax Kellermann1-29/+53
2015-08-13command: pass Response object to command callbacksMax Kellermann1-58/+23
2015-08-12client/Response: new Client wrapper class for writing responsesMax Kellermann1-51/+81
2015-08-11command/Request: add parser methodsMax Kellermann1-26/+20
Wrapper for protocol/ArgParser.cxx.
2015-08-11protocol/ArgParser: add overload with max_value parameterMax Kellermann1-14/+2
2015-08-11protocol/ArgParser: overload as ParseCommandArg(), pass referencesMax Kellermann1-25/+16
2015-08-11command/Request: new struct wrapping ConstBuffer<const char *>Max Kellermann1-21/+22
2015-08-11protocol/ArgParser: add struct RangeArgMax Kellermann1-19/+22
2015-08-11command/{Queue,Other}: eliminate local "bool" variableMax Kellermann1-3/+1
2015-02-09command/{Queue,File}Commands: drop "file:///" prefix for absolute pathsMax Kellermann1-12/+3
Requiring this prefix makes the client's intention very clear, but it was too hard to understand why this prefix was needed. Initially, my intention was to differentiate from broken clients which prefix relate URIs with a slash; once MPD allowed that. In the past few years however, MPD has disallowed that, and there was no significant breakage (except for the "add /" special case which some clients apparently still do). So I figure it's about time to define that an URI that begins with a slash points to an arbitrary file on the file system.
2015-01-01Copyright year 2015Max Kellermann1-1/+1
2014-12-08command: use ConstBuffer<const char *> for argument listMax Kellermann1-59/+55
2014-11-18QueueCommands: workaround for buggy clients that send "add /"Max Kellermann1-1/+10
2014-08-28PlaylistEdit: pass std::chrono::duration to SetSongIdRange()Max Kellermann1-11/+11
2014-07-12QueueCommands: new command "rangeid"Max Kellermann1-0/+54
Manipulates the playback range of a queued song.
2014-07-11PlaylistEdit: postpone UpdateQueuedSong() when adding multiple songsMax Kellermann1-0/+3
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-07-11QueueCommands: make "result" more localMax Kellermann1-3/+2
2014-06-16command: make argc unsignedMax Kellermann1-22/+22
2014-04-24SongFilter: convert argv to ConstBufferMax Kellermann1-1/+4
2014-02-27Playlist: use the Error library to return errorsMax Kellermann1-9/+11
2014-02-27Playlist*: move to queue/Max Kellermann1-1/+1
2014-02-03SongLoader: new class that merges duplicate codeMax Kellermann1-55/+30
There was quite a lot of duplicate code for loading DetachedSong objects, with different semantics for "securely" loading local files.
2014-02-02ClientFile: move client_allow_file() into the Client classMax Kellermann1-3/+2
2014-01-30db: add compile-time option to disable databaseMax Kellermann1-0/+5
2014-01-24Database*: move to db/Max Kellermann1-2/+2
2014-01-24Client*: move to client/Max Kellermann1-2/+2
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-10-20*Commands: move to src/command/Max Kellermann1-0/+0
2013-10-20command: convert command_return to to a strictly-typed enumMax Kellermann1-60/+60
2013-10-20PlaylistError: convert playlist_result to a strictly-typed enumMax Kellermann1-16/+16
2013-10-19ClientInternal: move class Client to Client.hxxMax Kellermann1-1/+1
Publish the Client API, preparing to move more code into the Client class.
2013-10-19*: use references instead of pointersMax Kellermann1-45/+45
2013-10-17fs/Path: rename to AllocatedPathMax Kellermann1-3/+3
The new class Path only holds a string pointer without being responsible for allocation/deallocation. The FileSystem.hxx library accepts Path arguments instead of AllocatedPath, to avoid forcing callers to allocate another string object.
2013-10-17*: use std::numeric_limitsMax Kellermann1-3/+4
2013-10-17Thread/Thread: replacement library for GThreadMax Kellermann1-0/+2
2013-10-14Mapper, ...: use memcmp() instead of strncmp() where appropriateMax Kellermann1-2/+2
Micro-optimization.
2013-09-04util/Error: new error passing libraryMax Kellermann1-6/+7
Replaces GLib's GError.
2013-08-04*: use gcc.h macros instead of GLibMax Kellermann1-14/+14
2013-05-06ClientFile: use Path and file system API, update usages accordinglyDenis Krjuchkov1-6/+21
This commit also fixes incorrect passing of UTF-8 strings to client_allow_file
2013-04-08uri: convert to C++Max Kellermann1-4/+1
2013-01-07Playlist: convert functions to methodsMax Kellermann1-50/+24
2013-01-07DatabaseQueue: pass DatabaseSelection to Add...()Max Kellermann1-2/+3
2013-01-07Client: add Partition reference attributeMax Kellermann1-2/+2
playlist and player_control are deprecated.
2013-01-06queue: convert all functions to methodsMax Kellermann1-1/+1
2013-01-04DatabaseQueue: pass playlist objectMax Kellermann1-1/+2
Don't use the global variable "g_playlist".
2013-01-04Client: add "playlist" attributeMax Kellermann1-24/+30
Reduce access to the global variable "g_playlist".
2013-01-04playlist: convert to C++Max Kellermann1-1/+1
2013-01-03Client: rename the struct client to class ClientMax Kellermann1-20/+20