aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Main: support arbitrary storage pluginsMax Kellermann2014-02-081-0/+12
|
* storage: add struct StoragePlugin and a plugin registryMax Kellermann2014-02-078-6/+175
|
* storage/local: remove utf8 path from constructorMax Kellermann2014-02-073-10/+10
| | | | 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-073-44/+99
|
* 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-071-4/+1
|
* 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-076-86/+144
|
* PlaylistSong: include cleanupMax Kellermann2014-02-071-2/+0
|
* playlist/CloseSongEnumerator: new wrapper classMax Kellermann2014-02-0710-62/+109
| | | | | 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-078-39/+51
| | | | 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-0715-75/+94
|
* 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.
* DecoderThread: pass Path object around for local song filesMax Kellermann2014-02-071-21/+27
|
* SongUpdate: pass Storage to UpdateFileInArchive()Max Kellermann2014-02-072-5/+6
|
* PlaylistSave: use DetachedSong::GetRealURI() in playlist_print_song()Max Kellermann2014-02-071-12/+7
| | | | | The DetachedSong instance already knows its own absolute path, and there is no need to ask the mapper again.
* FileCommands: support remove database filesMax Kellermann2014-02-071-6/+13
|
* FileCommands: use Storage::MapFS() instead of map_uri_fs()Max Kellermann2014-02-071-5/+11
|
* FileCommands: move code to read_file_comments()Max Kellermann2014-02-071-15/+22
|
* fixed possible format_context not closed in ffmpeg_decodegeneticdrift2014-02-071-1/+4
|
* storage/local: hide the class declarationsMax Kellermann2014-02-073-49/+63
| | | | Hide inside CreateLocalStorage().
* Mapper: move map_song_detach() to db/DatabaseSong.cxxMax Kellermann2014-02-0716-49/+81
| | | | Use Storage::MapUTF8() internally, don't use global variables.
* Mapper: convert IsInDatabase() check to assertion in map_song_detach()Max Kellermann2014-02-071-1/+2
|
* pcm/FallbackResampler: add missing ConstBuffer<T>::ToVoid() callMax Kellermann2014-02-061-1/+1
|
* fixed leaked LocalDirectoryReader *const reader in UpdateWalk::UpdateDirectorygeneticdrift2014-02-061-3/+3
|
* */smbclient: protect all libsmbclient calls with a mutexMax Kellermann2014-02-066-1/+85
| | | | | libsmbclient is not thread-safe nor reentrant. We must protect all function calls with a global mutex, unfortunately.
* neighbor/smbclient: move smbclient_domain to lib/smbclient/Domain.cxxMax Kellermann2014-02-063-2/+52
|
* mixer/Plugin: pass AudioOutput reference to init()Max Kellermann2014-02-0617-89/+79
| | | | Passing a void pointer is unsafe.
* MixerPlugin: convert function pointers to Mixer virtual methodsMax Kellermann2014-02-0611-298/+200
|
* Mixer: delete the implicit copy constructorMax Kellermann2014-02-061-0/+2
|
* Mixer: make the constructor "explicit"Max Kellermann2014-02-061-1/+1
|
* mixer/software: use IgnoreError()Max Kellermann2014-02-061-2/+2
|
* SongUpdate: use the Storage interface, support remote filesMax Kellermann2014-02-064-19/+33
| | | | | | | This commit finally allows the database update to scan remote files, e.g. using the smbclient storage plugin. However, it is not yet possible to configure that, therefore the feature is not accessible yet.
* SongUpdate: make variables more localMax Kellermann2014-02-061-10/+5
|
* input/nfs: new plugin using libnfsMax Kellermann2014-02-064-0/+237
|
* storage/smbclient: Storage implementation using libsmbclientMax Kellermann2014-02-062-0/+211
|
* Instance: narrow "storage" to class StorageMax Kellermann2014-02-061-2/+2
|
* storage/local: OpenDirectory() returns StorageDirectoryReader*Max Kellermann2014-02-052-3/+3
|