Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge branch 'v0.18.x' | Max Kellermann | 2014-07-11 | 3 | -0/+9 |
|\ | |||||
| * | PlaylistEdit: postpone UpdateQueuedSong() when adding multiple songs | Max Kellermann | 2014-07-11 | 3 | -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. | ||||
| * | QueueCommands: make "result" more local | Max Kellermann | 2014-07-11 | 1 | -3/+2 |
| | | |||||
* | | command: make argc unsigned | Max Kellermann | 2014-06-16 | 25 | -206/+205 |
| | | |||||
* | | ClientList: use class boost::intrusive::list | Max Kellermann | 2014-06-11 | 1 | -4/+4 |
| | | | | | | | | Eliminate extra allocations for the std::list node instances. | ||||
* | | PlaylistCommands: remove redundant playlist_load_spl() call | Max Kellermann | 2014-05-10 | 1 | -17/+1 |
| | | | | | | | | | | This case is handled already by playlist_open_in_playlist_dir() (via playlist_mapper_open()). And the call didn't work anyway. | ||||
* | | db/Count: implement grouping | Max Kellermann | 2014-04-27 | 1 | -2/+16 |
| | | |||||
* | | DatabasePrint: move PrintSongCount() to Count.cxx | Max Kellermann | 2014-04-26 | 1 | -0/+1 |
| | | |||||
* | | DatabasePrint: refactor variable/function names | Max Kellermann | 2014-04-25 | 1 | -2/+2 |
| | | |||||
* | | DatabaseCommands: disallow "grouping" by the selected tag | Max Kellermann | 2014-04-25 | 1 | -0/+7 |
| | | | | | | | | Fixes assertion failure. | ||||
* | | DatabasePrint: eliminate printAllIn(), printInfoForAllIn() | Max Kellermann | 2014-04-24 | 1 | -2/+4 |
| | | |||||
* | | DatabaseCommands: "list" allows grouping | Max Kellermann | 2014-04-24 | 1 | -1/+20 |
| | | |||||
* | | DatabaseCommands: simplify the handle_list() argument parser | Max Kellermann | 2014-04-24 | 1 | -9/+12 |
| | | |||||
* | | SongFilter: convert argv to ConstBuffer | Max Kellermann | 2014-04-24 | 2 | -7/+20 |
| | | |||||
* | | DatabaseCommands: fix crash on "list base" | Max Kellermann | 2014-04-24 | 1 | -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(). | ||||
* | | DatabaseCommands: clarify compatibility comment | Max Kellermann | 2014-04-24 | 1 | -1/+1 |
| | | |||||
* | | command/{storage,file}: suppress bogus format warnings on WIN32 | Max Kellermann | 2014-03-14 | 2 | -0/+22 |
| | | |||||
* | | Merge tag 'release-0.18.9' | Max Kellermann | 2014-03-02 | 1 | -1/+1 |
|\| | |||||
| * | AllCommands: "findadd" requires the "add" permission | Max Kellermann | 2014-02-27 | 1 | -1/+1 |
| | | |||||
* | | command: add command "listfiles" | Max Kellermann | 2014-03-01 | 9 | -2/+237 |
| | | | | | | | | Lists files and directories. Supports storage plugins. | ||||
* | | {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. |