aboutsummaryrefslogtreecommitdiffstats
path: root/src/command (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-02-04SongSticker: add Database reference parameterMax Kellermann1-1/+1
2014-02-04db/DatabasePlaylist: pass Database reference aroundMax Kellermann2-2/+12
Reduce global variable usage, move to frontend code.
2014-02-03PlaylistFile: use class SongLoaderMax Kellermann1-7/+2
2014-02-03PlaylistFile: switch spl_append_uri() argumentsMax Kellermann1-1/+1
Playlist file name first, to be consistent with the other functions in this library.
2014-02-03SongLoader: new class that merges duplicate codeMax Kellermann2-56/+33
There was quite a lot of duplicate code for loading DetachedSong objects, with different semantics for "securely" loading local files.
2014-02-03FileCommands: use PathTraitsUTF8::IsAbsolute()Max Kellermann1-1/+1
2014-02-02ClientFile: move client_allow_file() into the Client classMax Kellermann3-7/+4
2014-01-30db: add compile-time option to disable databaseMax Kellermann7-4/+56
2014-01-30OtherCommands: merge duplicate code from handle_update(), handle_rescan()Max Kellermann1-31/+10
2014-01-30db/update: convert to OO APIMax Kellermann2-8/+23
Move global variables into the new classes. That may allow multiple update threads for multiple databases one day.
2014-01-29db/Directory: move isRootDirectory() to Uri.hxxMax Kellermann1-1/+1
Decouple command/OtherCommands.cxx from the "simple" database plugin.
2014-01-29sticker: don't use classes Directory and SongMax Kellermann1-11/+4
Don't depend on the "simple" database plugin. This fixes an assertion failure / crash and allows using stickers with other plugins.
2014-01-28OutputAll: convert to class, move instance to class PartitionMax Kellermann3-18/+14
Another big chunk of code for multi-player support.
2014-01-27Playlist{Info,Vector}: move to db/Max Kellermann2-2/+2
2014-01-26NeighborCommands: convert assertion to runtime checkMax Kellermann1-1/+5
2014-01-26neighbor: new subsystem to detect file servers on the local networkMax Kellermann3-0/+98
This commit adds the NeighborPlugin API which can be used to detect nearby file servers that can be used by input plugins. This list of servers is exported using the new "listneighbors" command. The idle even "neighbor" notifies interested clients when a new neighbor is found or an existing one is lost. There's a lot missing currently: protocol&user documentation, and a way to "mount" remote servers into the music database. Obviously, some code from the UPnP database plugin can be moved to a neighbor plugin.
2014-01-24Mixer*: move to mixer/Max Kellermann2-2/+2
2014-01-24Database*: move to db/Max Kellermann7-15/+15
2014-01-24Sticker*: move to sticker/Max Kellermann2-4/+4
2014-01-24Client*: move to client/Max Kellermann10-14/+14
2014-01-24Update*: move to update/Max Kellermann2-2/+2
2014-01-24decoder/*: move to decoder/plugins/Max Kellermann1-1/+1
2014-01-23output/*: move to output/plugins/Max Kellermann2-3/+3
2014-01-23playlist/*: move to playlist/plugins/Max Kellermann1-1/+2
2014-01-22LightDirectory: new struct replacing Directory in the DB APIMax Kellermann1-0/+1
2014-01-19LightSong: new class to be used by DatabasePlugin callbacksMax Kellermann1-5/+5
Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread.
2014-01-15DetachedSong: add method Update()Max Kellermann1-5/+4
Don't create an intermediate Song instance when all we want is a DetachedSong.
2014-01-13copyright year 2014Max Kellermann27-27/+27
2014-01-08SongUpdate: move code to handle_lsinfo()Max Kellermann1-5/+17
Don't create a temporary Song object in handle_lsinfo(). Instead, print all tags while parsing the remote file.
2014-01-08SongSticker: use Song referencesMax Kellermann1-5/+5
2013-12-29command: "lsinfo" and "readcomments" allowed for remote filesMax Kellermann2-0/+44
2013-12-29TagFile: pass reference instead of pointerMax Kellermann1-1/+1
2013-12-15system/SocketError, ...: use strerror() instead of g_strerror()Max Kellermann1-4/+3
Avoid GLib.
2013-12-02command: add commands "addtagid", "cleartagid"Max Kellermann3-0/+114
2013-11-28include cleanup using iwyuMax Kellermann6-16/+0
2013-11-06ClientRead: "close" flushes the output bufferMax Kellermann2-1/+7
Add a new CommandResult code called "FINISH" which, unlike "CLOSE", will attempt to flush the output buffer. This is a one-shot attempt; it will do one write, and not try again.
2013-10-30*: update copyright year to 2013Max Kellermann15-15/+15
2013-10-30PlayerCommands: show CrossFade/MixRamp only if enabledMax Kellermann1-4/+10
2013-10-29Revert "command: new commands "findin", "searchin" with base URI"Max Kellermann3-25/+4
This reverts commit a577944ab5a1f4d688e5901fa3efaf7cd1673588. Will be replaced by new options for the old commands "search" and "find".
2013-10-28*: use nullptr instead of NULLMax Kellermann2-3/+3
2013-10-26command: new commands "findin", "searchin" with base URIMax Kellermann3-4/+25
2013-10-26FileCommands: "readcomments" understands APE and ID3v2 tagsMax Kellermann1-0/+5
Implements Mantis ticket 3843.
2013-10-26FileCommands: fix wrong control character check in IsValidValue()Max Kellermann1-1/+1
Check was the wrong way around, and made all valid values invisible.
2013-10-26TagFile: use Path instead of const char *Max Kellermann1-1/+1
2013-10-25command: new command "readcomments" lists arbitrary file tagsMax Kellermann3-0/+154
2013-10-25OtherCommands: re-add the "volume" commandMax Kellermann3-0/+37
This command was removed by commit 206392ad (MPD 0.16), even though it was been proven useful for some very simple clients. On request, I add it to the protocol again.
2013-10-20Util/ASCII: add function StringEqualsCaseASCII()Max Kellermann1-3/+2
Replaces GLib's g_ascii_strcasecmp().
2013-10-20*Commands: move to src/command/Max Kellermann23-0/+3197