aboutsummaryrefslogtreecommitdiffstats
path: root/src/command (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-11-18QueueCommands: workaround for buggy clients that send "add /"Max Kellermann1-1/+10
2014-10-09StoragePlugin: pass EventLoop to constructorMax Kellermann1-2/+4
2014-10-01storage/Interface: include cleanupMax Kellermann1-0/+1
2014-09-18command/list: reset used size after the list has been processedAndrzej Rybczak1-0/+1
2014-08-29PlayerThread: use SongTime for elapsed_timeMax Kellermann1-2/+2
2014-08-29PlayerControl: use SignedSongTime for the song durationMax Kellermann1-1/+3
2014-08-28PlaylistEdit: pass std::chrono::duration to SetSongIdRange()Max Kellermann1-11/+11
2014-08-28Playlist: use std::chrono::duration for Seek*()Max Kellermann1-6/+8
2014-08-12AllCommands: close connection after syntax errorMax Kellermann1-1/+3
Stop HTTP clients from exploiting MPD via forged POST requests.
2014-07-29db/Interface: add virtual method Update()Max Kellermann1-0/+24
For database plugins that don't use the UpdateService.
2014-07-29OtherCommands: split handle_update()Max Kellermann1-16/+22
2014-07-12QueueCommands: new command "rangeid"Max Kellermann3-0/+58
Manipulates the playback range of a queued song.
2014-07-11PlaylistEdit: postpone UpdateQueuedSong() when adding multiple songsMax Kellermann3-0/+9
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 Kellermann25-206/+205
2014-06-11ClientList: use class boost::intrusive::listMax Kellermann1-4/+4
Eliminate extra allocations for the std::list node instances.
2014-05-10PlaylistCommands: remove redundant playlist_load_spl() callMax Kellermann1-17/+1
This case is handled already by playlist_open_in_playlist_dir() (via playlist_mapper_open()). And the call didn't work anyway.
2014-04-27db/Count: implement groupingMax Kellermann1-2/+16
2014-04-26DatabasePrint: move PrintSongCount() to Count.cxxMax Kellermann1-0/+1
2014-04-25DatabasePrint: refactor variable/function namesMax Kellermann1-2/+2
2014-04-25DatabaseCommands: disallow "grouping" by the selected tagMax Kellermann1-0/+7
Fixes assertion failure.
2014-04-24DatabasePrint: eliminate printAllIn(), printInfoForAllIn()Max Kellermann1-2/+4
2014-04-24DatabaseCommands: "list" allows groupingMax Kellermann1-1/+20
2014-04-24DatabaseCommands: simplify the handle_list() argument parserMax Kellermann1-9/+12
2014-04-24SongFilter: convert argv to ConstBufferMax Kellermann2-7/+20
2014-04-24DatabaseCommands: fix crash on "list base"Max Kellermann1-7/+2
The string "base" is understood by locate_parse_type(), but not by listAllUniqueTags(). The special tag type LOCATE_TAG_BASE_TYPE causes a crash in PrintUniqueTag().
2014-04-24DatabaseCommands: clarify compatibility commentMax Kellermann1-1/+1
2014-03-14command/{storage,file}: suppress bogus format warnings on WIN32Max Kellermann2-0/+22
2014-03-01command: add command "listfiles"Max Kellermann9-2/+237
Lists files and directories. Supports storage plugins.
2014-02-28{Other,Database}Commands: contract declaration and assignmentMax Kellermann2-12/+6
2014-02-27AllCommands: "findadd" requires the "add" permissionMax Kellermann1-1/+1
2014-02-27db/simple: mount pointsMax Kellermann2-0/+51
A SimpleDatabase instance can now "mount" other Database instances at certain locations. This is used to use a new SimpleDatabase instance for each storage mount (issued with the "mount" protocol command). Each such instance has its own database file, stored in the directory that is specified with the "cache_directory" option.
2014-02-27Playlist: use the Error library to return errorsMax Kellermann2-17/+17
2014-02-27Playlist*: move to queue/Max Kellermann3-3/+3
2014-02-19DatabasePlugin: split headerMax Kellermann1-1/+1
2014-02-19StickerCommands: include cleanupMax Kellermann1-1/+0
2014-02-12StorageCommands: add command "unmount"Max Kellermann3-0/+33
2014-02-12StorageCommands: emit IDLE_MOUNT on successful "mount"Max Kellermann1-0/+2
Add the new idle event to Idle.hxx/Idle.cxx.
2014-02-12StorageCommands: add command "listmounts"Max Kellermann3-0/+54
2014-02-09StorageCommands: expose the "mount" commandMax Kellermann3-0/+97
2014-02-09Idle: error out when unrecognized idle event was specifiedMax Kellermann1-8/+9
Implements the error checks missing in commit 0bad8406
2014-02-09OtherCommands: remove unnecessary nullptr checkMax Kellermann1-3/+0
2014-02-07OtherCommands: use Storage::MapUTF8() instead of Mapper.cxxMax Kellermann1-4/+6
2014-02-07FileCommands: support remove database filesMax Kellermann1-6/+13
2014-02-07FileCommands: use Storage::MapFS() instead of map_uri_fs()Max Kellermann1-5/+11
2014-02-07FileCommands: move code to read_file_comments()Max Kellermann1-15/+22
2014-02-07Mapper: move map_song_detach() to db/DatabaseSong.cxxMax Kellermann2-2/+4
Use Storage::MapUTF8() internally, don't use global variables.
2014-02-04{Message,Neighbor}Commands: use Client::partition instead of Main.hxxMax Kellermann4-13/+17
2014-02-04Instance: add Database attributeMax Kellermann3-4/+6
Move from db/DatabaseGlue.cxx, eliminating global variable.
2014-02-04db/Simple: remove unused function db_get_directory()Max Kellermann1-1/+0