Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | {Message,Neighbor}Commands: use Client::partition instead of Main.hxx | Max Kellermann | 2014-02-04 | 4 | -13/+17 | |
| | | ||||||
* | | Instance: add Database attribute | Max Kellermann | 2014-02-04 | 3 | -4/+6 | |
| | | | | | | | | Move from db/DatabaseGlue.cxx, eliminating global variable. | |||||
* | | db/Simple: remove unused function db_get_directory() | Max Kellermann | 2014-02-04 | 1 | -1/+0 | |
| | | ||||||
* | | SongSticker: add Database reference parameter | Max Kellermann | 2014-02-04 | 1 | -1/+1 | |
| | | ||||||
* | | db/DatabasePlaylist: pass Database reference around | Max Kellermann | 2014-02-04 | 2 | -2/+12 | |
| | | | | | | | | Reduce global variable usage, move to frontend code. | |||||
* | | PlaylistFile: use class SongLoader | Max Kellermann | 2014-02-03 | 1 | -7/+2 | |
| | | ||||||
* | | PlaylistFile: switch spl_append_uri() arguments | Max Kellermann | 2014-02-03 | 1 | -1/+1 | |
| | | | | | | | | | | Playlist file name first, to be consistent with the other functions in this library. | |||||
* | | SongLoader: new class that merges duplicate code | Max Kellermann | 2014-02-03 | 2 | -56/+33 | |
| | | | | | | | | | | There was quite a lot of duplicate code for loading DetachedSong objects, with different semantics for "securely" loading local files. | |||||
* | | FileCommands: use PathTraitsUTF8::IsAbsolute() | Max Kellermann | 2014-02-03 | 1 | -1/+1 | |
| | | ||||||
* | | ClientFile: move client_allow_file() into the Client class | Max Kellermann | 2014-02-02 | 3 | -7/+4 | |
| | | ||||||
* | | db: add compile-time option to disable database | Max Kellermann | 2014-01-30 | 7 | -4/+56 | |
| | | ||||||
* | | OtherCommands: merge duplicate code from handle_update(), handle_rescan() | Max Kellermann | 2014-01-30 | 1 | -31/+10 | |
| | | ||||||
* | | db/update: convert to OO API | Max Kellermann | 2014-01-30 | 2 | -8/+23 | |
| | | | | | | | | | | Move global variables into the new classes. That may allow multiple update threads for multiple databases one day. | |||||
* | | db/Directory: move isRootDirectory() to Uri.hxx | Max Kellermann | 2014-01-29 | 1 | -1/+1 | |
| | | | | | | | | Decouple command/OtherCommands.cxx from the "simple" database plugin. | |||||
* | | sticker: don't use classes Directory and Song | Max Kellermann | 2014-01-29 | 1 | -11/+4 | |
| | | | | | | | | | | Don't depend on the "simple" database plugin. This fixes an assertion failure / crash and allows using stickers with other plugins. | |||||
* | | OutputAll: convert to class, move instance to class Partition | Max Kellermann | 2014-01-28 | 3 | -18/+14 | |
| | | | | | | | | Another big chunk of code for multi-player support. | |||||
* | | Playlist{Info,Vector}: move to db/ | Max Kellermann | 2014-01-27 | 2 | -2/+2 | |
| | | ||||||
* | | NeighborCommands: convert assertion to runtime check | Max Kellermann | 2014-01-26 | 1 | -1/+5 | |
| | | ||||||
* | | neighbor: new subsystem to detect file servers on the local network | Max Kellermann | 2014-01-26 | 3 | -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. | |||||
* | | Mixer*: move to mixer/ | Max Kellermann | 2014-01-24 | 2 | -2/+2 | |
| | | ||||||
* | | Database*: move to db/ | Max Kellermann | 2014-01-24 | 7 | -15/+15 | |
| | | ||||||
* | | Sticker*: move to sticker/ | Max Kellermann | 2014-01-24 | 2 | -4/+4 | |
| | | ||||||
* | | Client*: move to client/ | Max Kellermann | 2014-01-24 | 10 | -14/+14 | |
| | | ||||||
* | | Update*: move to update/ | Max Kellermann | 2014-01-24 | 2 | -2/+2 | |
| | | ||||||
* | | decoder/*: move to decoder/plugins/ | Max Kellermann | 2014-01-24 | 1 | -1/+1 | |
| | | ||||||
* | | output/*: move to output/plugins/ | Max Kellermann | 2014-01-23 | 2 | -3/+3 | |
| | | ||||||
* | | playlist/*: move to playlist/plugins/ | Max Kellermann | 2014-01-23 | 1 | -1/+2 | |
| | | ||||||
* | | LightDirectory: new struct replacing Directory in the DB API | Max Kellermann | 2014-01-22 | 1 | -0/+1 | |
| | | ||||||
* | | LightSong: new class to be used by DatabasePlugin callbacks | Max Kellermann | 2014-01-19 | 1 | -5/+5 | |
| | | | | | | | | | | Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread. | |||||
* | | DetachedSong: add method Update() | Max Kellermann | 2014-01-15 | 1 | -5/+4 | |
| | | | | | | | | | | Don't create an intermediate Song instance when all we want is a DetachedSong. | |||||
* | | copyright year 2014 | Max Kellermann | 2014-01-13 | 27 | -27/+27 | |
| | | ||||||
* | | SongUpdate: move code to handle_lsinfo() | Max Kellermann | 2014-01-08 | 1 | -5/+17 | |
| | | | | | | | | | | Don't create a temporary Song object in handle_lsinfo(). Instead, print all tags while parsing the remote file. | |||||
* | | SongSticker: use Song references | Max Kellermann | 2014-01-08 | 1 | -5/+5 | |
| | | ||||||
* | | command: "lsinfo" and "readcomments" allowed for remote files | Max Kellermann | 2013-12-29 | 2 | -0/+44 | |
| | | ||||||
* | | TagFile: pass reference instead of pointer | Max Kellermann | 2013-12-29 | 1 | -1/+1 | |
| | | ||||||
* | | system/SocketError, ...: use strerror() instead of g_strerror() | Max Kellermann | 2013-12-15 | 1 | -4/+3 | |
| | | | | | | | | Avoid GLib. | |||||
* | | command: add commands "addtagid", "cleartagid" | Max Kellermann | 2013-12-02 | 3 | -0/+114 | |
| | | ||||||
* | | include cleanup using iwyu | Max Kellermann | 2013-11-28 | 6 | -16/+0 | |
|/ | ||||||
* | ClientRead: "close" flushes the output buffer | Max Kellermann | 2013-11-06 | 2 | -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. | |||||
* | *: update copyright year to 2013 | Max Kellermann | 2013-10-30 | 15 | -15/+15 | |
| | ||||||
* | PlayerCommands: show CrossFade/MixRamp only if enabled | Max Kellermann | 2013-10-30 | 1 | -4/+10 | |
| | ||||||
* | Revert "command: new commands "findin", "searchin" with base URI" | Max Kellermann | 2013-10-29 | 3 | -25/+4 | |
| | | | | | | | This reverts commit a577944ab5a1f4d688e5901fa3efaf7cd1673588. Will be replaced by new options for the old commands "search" and "find". | |||||
* | *: use nullptr instead of NULL | Max Kellermann | 2013-10-28 | 2 | -3/+3 | |
| | ||||||
* | command: new commands "findin", "searchin" with base URI | Max Kellermann | 2013-10-26 | 3 | -4/+25 | |
| | ||||||
* | FileCommands: "readcomments" understands APE and ID3v2 tags | Max Kellermann | 2013-10-26 | 1 | -0/+5 | |
| | | | | Implements Mantis ticket 3843. | |||||
* | FileCommands: fix wrong control character check in IsValidValue() | Max Kellermann | 2013-10-26 | 1 | -1/+1 | |
| | | | | Check was the wrong way around, and made all valid values invisible. | |||||
* | TagFile: use Path instead of const char * | Max Kellermann | 2013-10-26 | 1 | -1/+1 | |
| | ||||||
* | command: new command "readcomments" lists arbitrary file tags | Max Kellermann | 2013-10-25 | 3 | -0/+154 | |
| | ||||||
* | OtherCommands: re-add the "volume" command | Max Kellermann | 2013-10-25 | 3 | -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. | |||||
* | Util/ASCII: add function StringEqualsCaseASCII() | Max Kellermann | 2013-10-20 | 1 | -3/+2 | |
| | | | | Replaces GLib's g_ascii_strcasecmp(). |