aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Main: check if database exists before attempting to close itMax Kellermann2014-02-171-2/+5
| | | | Fixes nullptr dereference.
* db/DatabaseSimple: remove obsolete headerMax Kellermann2014-02-172-48/+0
|
* StorageCommands: add command "unmount"Max Kellermann2014-02-123-0/+33
|
* CompositeStorage: fix tree walk in Directory::Unmount()Max Kellermann2014-02-121-1/+4
|
* StorageCommands: emit IDLE_MOUNT on successful "mount"Max Kellermann2014-02-123-0/+6
| | | | Add the new idle event to Idle.hxx/Idle.cxx.
* StorageCommands: add command "listmounts"Max Kellermann2014-02-124-0/+86
|
* systemd: add socket activation filesMax Kellermann2014-02-124-17/+17
|
* systemd: assign real-time budgetMax Kellermann2014-02-121-0/+13
|
* util/HugeAllocator: relicense to BSD-2Max Kellermann2014-02-102-28/+48
|
* PlaylistSong: copy the "real" URIMax Kellermann2014-02-101-0/+3
| | | | | Playback with some decoder plugins was broken because the Queue's DetachedSong instances did not have the "real" URI (the mapped path).
* StorageCommands: expose the "mount" commandMax Kellermann2014-02-094-0/+98
|
* Main: wrap the Storage instance in CompositeStorageMax Kellermann2014-02-092-2/+15
|
* CompositeStorage: new Storage implementationMax Kellermann2014-02-093-0/+468
| | | | This is the backend for the upcoming "mount" command.
* db/update/Walk: disable FindAncestorLoop() if device/inode==0Max Kellermann2014-02-091-0/+5
|
* db/update/Walk: document FindAncestorLoop()Max Kellermann2014-02-091-0/+6
|
* db/update/Walk: rename find_inode_ancestor() to FindAncestorLoop()Max Kellermann2014-02-091-4/+4
|
* Main: move code to storage/Configured.cxxMax Kellermann2014-02-094-29/+118
|
* Idle: error out when unrecognized idle event was specifiedMax Kellermann2014-02-094-8/+33
| | | | Implements the error checks missing in commit 0bad8406
* OtherCommands: remove unnecessary nullptr checkMax Kellermann2014-02-091-3/+0
|
* storage/nfs: new storage pluginMax Kellermann2014-02-086-0/+291
|
* input/nfs: move nfs_domain to lib/nfs/Domain.cxxMax Kellermann2014-02-084-3/+53
|
* ArchivePlugin: pass Path to open()Max Kellermann2014-02-088-17/+25
|
* ArchivePlugin: rename struct archive_plugin to ArchivePluginMax Kellermann2014-02-0815-27/+33
|
* doc/user: document storage pluginsMax Kellermann2014-02-081-0/+33
|
* Main: support arbitrary storage pluginsMax Kellermann2014-02-082-0/+15
|
* storage: add struct StoragePlugin and a plugin registryMax Kellermann2014-02-079-6/+177
|
* storage/local: remove utf8 path from constructorMax Kellermann2014-02-074-13/+14
| | | | Build the UTF-8 version of the path automatically in the constructor.
* Main: move storage initialization to InitStorage()Max Kellermann2014-02-071-20/+27
|
* Mapper: obtain music directory from StorageMax Kellermann2014-02-073-31/+19
| | | | Eliminate duplicate variable.
* Main: check the music directoryMax Kellermann2014-02-072-3/+4
| | | | Move call from Mapper.cxx.
* Mapper: move check_directory() to the filesystem libraryMax Kellermann2014-02-074-44/+100
|
* Main: chop separators from music directoryMax Kellermann2014-02-072-1/+3
| | | | Move call from Mapper.cxx.
* Mapper: remove unused functionsMax Kellermann2014-02-072-65/+1
|
* OtherCommands: use Storage::MapUTF8() instead of Mapper.cxxMax Kellermann2014-02-071-4/+6
|
* Main: create Storage instance in glue_mapper_init()Max Kellermann2014-02-071-5/+12
| | | | Don't use the obsolete Mapper library to create it.
* Main: allow playlist directory without music directoryMax Kellermann2014-02-072-4/+2
|
* NEWS: mention default soundcloud API keyMax Kellermann2014-02-071-0/+1
| | | | Missing from commit 48c96bba
* InotifyUpdate: use class Storage instead of Mapper.cxxMax Kellermann2014-02-073-5/+11
|
* InotifyUpdate: use the root name instead of mapper_get_music_directory_fs()Max Kellermann2014-02-071-1/+1
| | | | | The root WatchDirectory instance already contains the music directory, and we don't need to fetch it again.
* InotifyUpdate: move functions into the WatchDirectory classMax Kellermann2014-02-071-13/+18
|
* InotifyUpdate: remove unnecessary #ifdefsMax Kellermann2014-02-071-18/+0
|
* PlaylistMapper: use class Storage instead of Mapper.cxxMax Kellermann2014-02-077-12/+64
|
* Playlist{Any,Registry,Mapper}: move functions to PlaylistStream.cxxMax Kellermann2014-02-077-86/+145
|
* PlaylistSong: include cleanupMax Kellermann2014-02-071-2/+0
|
* playlist/CloseSongEnumerator: new wrapper classMax Kellermann2014-02-0711-62/+111
| | | | | Simplifies a lot of code, because we don't need to return both the SongEnumerator and the InputStream.
* StoragePlugin: add method MapToRelativeUTF8()Max Kellermann2014-02-0710-55/+60
| | | | Replaces map_to_relative_path() from Mapper.cxx.
* fs/Traits: add function Relative()Max Kellermann2014-02-074-23/+61
| | | | Move code from Path::RelativeFS() and make it generic.
* DecoderPlugin: pass Path instance to file_decode() and scan_file()Max Kellermann2014-02-0717-82/+103
|
* Mapper: remove unused function map_song_fs()Max Kellermann2014-02-072-86/+0
|
* DecoderThread: use only DetachedSong::GetRealURI()Max Kellermann2014-02-071-4/+2
| | | | | Don't use the mapper - all DetachedSong instances we get have already been mapped.