aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* storage/Interface: explicitly delete copy constructorsMax Kellermann2014-02-052-2/+4
|
* storage/local: move to src/storage/plugins/Max Kellermann2014-02-053-3/+3
|
* db/update: include StorageInterface.hxx instead of LocalStorage.hxxMax Kellermann2014-02-052-2/+2
|
* storage: add abstract interfaceMax Kellermann2014-02-0510-63/+148
| | | | Prepare for the plugin interface.
* db/UpdateWalk: move LocalStorage to InstanceMax Kellermann2014-02-058-7/+21
| | | | Keep only a reference.
* db/update/Remove: initialize attribute "removed_song"Max Kellermann2014-02-051-1/+2
| | | | Fixes bogus assertion failure.
* Mixer: use reference instead of pointer for MixerPluginMax Kellermann2014-02-055-28/+20
|
* Mixer: rename struct mixer_plugin to MixerPluginMax Kellermann2014-02-0513-21/+24
|
* Main: remove unused global variable "main_thread"Max Kellermann2014-02-052-7/+0
|
* LocalStorage: new API abstracting filesystem walkMax Kellermann2014-02-0512-198/+527
| | | | | Prepare to make this a new plugin API, for example to use a SMB share for the music_directory.
* db/UpdateIO: add "pure" attributesMax Kellermann2014-02-051-0/+4
|
* db/UpdateGlue: relax assertionMax Kellermann2014-02-051-2/+2
| | | | Fixes assertion failure when update gets launched during MPD startup.
* Instance: add attribute "event_loop"Max Kellermann2014-02-054-18/+22
| | | | Replaces global variable "main_loop".