Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | {Other,Database}Commands: contract declaration and assignment | Max Kellermann | 2014-02-28 | 2 | -12/+6 | |
| | | ||||||
* | | db/simple: mount points | Max Kellermann | 2014-02-27 | 2 | -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. | |||||
* | | Playlist: use the Error library to return errors | Max Kellermann | 2014-02-27 | 2 | -17/+17 | |
| | | ||||||
* | | Playlist*: move to queue/ | Max Kellermann | 2014-02-27 | 3 | -3/+3 | |
| | | ||||||
* | | DatabasePlugin: split header | Max Kellermann | 2014-02-19 | 1 | -1/+1 | |
| | | ||||||
* | | StickerCommands: include cleanup | Max Kellermann | 2014-02-19 | 1 | -1/+0 | |
| | | ||||||
* | | StorageCommands: add command "unmount" | Max Kellermann | 2014-02-12 | 3 | -0/+33 | |
| | | ||||||
* | | StorageCommands: emit IDLE_MOUNT on successful "mount" | Max Kellermann | 2014-02-12 | 1 | -0/+2 | |
| | | | | | | | | Add the new idle event to Idle.hxx/Idle.cxx. | |||||
* | | StorageCommands: add command "listmounts" | Max Kellermann | 2014-02-12 | 3 | -0/+54 | |
| | | ||||||
* | | StorageCommands: expose the "mount" command | Max Kellermann | 2014-02-09 | 3 | -0/+97 | |
| | | ||||||
* | | Idle: error out when unrecognized idle event was specified | Max Kellermann | 2014-02-09 | 1 | -8/+9 | |
| | | | | | | | | Implements the error checks missing in commit 0bad8406 | |||||
* | | OtherCommands: remove unnecessary nullptr check | Max Kellermann | 2014-02-09 | 1 | -3/+0 | |
| | | ||||||
* | | OtherCommands: use Storage::MapUTF8() instead of Mapper.cxx | Max Kellermann | 2014-02-07 | 1 | -4/+6 | |
| | | ||||||
* | | FileCommands: support remove database files | Max Kellermann | 2014-02-07 | 1 | -6/+13 | |
| | | ||||||
* | | FileCommands: use Storage::MapFS() instead of map_uri_fs() | Max Kellermann | 2014-02-07 | 1 | -5/+11 | |
| | | ||||||
* | | FileCommands: move code to read_file_comments() | Max Kellermann | 2014-02-07 | 1 | -15/+22 | |
| | | ||||||
* | | Mapper: move map_song_detach() to db/DatabaseSong.cxx | Max Kellermann | 2014-02-07 | 2 | -2/+4 | |
| | | | | | | | | Use Storage::MapUTF8() internally, don't use global variables. | |||||
* | | {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 | |
| | |