aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-02-07InotifyUpdate: use class Storage instead of Mapper.cxxMax Kellermann3-5/+11
2014-02-07InotifyUpdate: use the root name instead of mapper_get_music_directory_fs()Max Kellermann1-1/+1
The root WatchDirectory instance already contains the music directory, and we don't need to fetch it again.
2014-02-07InotifyUpdate: move functions into the WatchDirectory classMax Kellermann1-13/+18
2014-02-07InotifyUpdate: remove unnecessary #ifdefsMax Kellermann1-18/+0
2014-02-07PlaylistMapper: use class Storage instead of Mapper.cxxMax Kellermann7-12/+64
2014-02-07Playlist{Any,Registry,Mapper}: move functions to PlaylistStream.cxxMax Kellermann6-86/+144
2014-02-07PlaylistSong: include cleanupMax Kellermann1-2/+0
2014-02-07playlist/CloseSongEnumerator: new wrapper classMax Kellermann10-62/+109
Simplifies a lot of code, because we don't need to return both the SongEnumerator and the InputStream.
2014-02-07StoragePlugin: add method MapToRelativeUTF8()Max Kellermann8-39/+51
Replaces map_to_relative_path() from Mapper.cxx.
2014-02-07fs/Traits: add function Relative()Max Kellermann4-23/+61
Move code from Path::RelativeFS() and make it generic.
2014-02-07DecoderPlugin: pass Path instance to file_decode() and scan_file()Max Kellermann15-75/+94
2014-02-07Mapper: remove unused function map_song_fs()Max Kellermann2-86/+0
2014-02-07DecoderThread: use only DetachedSong::GetRealURI()Max Kellermann1-4/+2
Don't use the mapper - all DetachedSong instances we get have already been mapped.
2014-02-07DecoderThread: pass Path object around for local song filesMax Kellermann1-21/+27
2014-02-07SongUpdate: pass Storage to UpdateFileInArchive()Max Kellermann2-5/+6
2014-02-07PlaylistSave: use DetachedSong::GetRealURI() in playlist_print_song()Max Kellermann1-12/+7
The DetachedSong instance already knows its own absolute path, and there is no need to ask the mapper again.
2014-02-07FileCommands: support remove database filesMax Kellermann1-6/+13
2014-02-07FileCommands: use Storage::MapFS() instead of map_uri_fs()Max Kellermann1-5/+11
2014-02-07FileCommands: move code to read_file_comments()Max Kellermann1-15/+22
2014-02-07fixed possible format_context not closed in ffmpeg_decodegeneticdrift1-1/+4
2014-02-07storage/local: hide the class declarationsMax Kellermann3-49/+63
Hide inside CreateLocalStorage().
2014-02-07Mapper: move map_song_detach() to db/DatabaseSong.cxxMax Kellermann16-49/+81
Use Storage::MapUTF8() internally, don't use global variables.
2014-02-07Mapper: convert IsInDatabase() check to assertion in map_song_detach()Max Kellermann1-1/+2
2014-02-06pcm/FallbackResampler: add missing ConstBuffer<T>::ToVoid() callMax Kellermann1-1/+1
2014-02-06fixed leaked LocalDirectoryReader *const reader in UpdateWalk::UpdateDirectorygeneticdrift1-3/+3
2014-02-06*/smbclient: protect all libsmbclient calls with a mutexMax Kellermann6-1/+85
libsmbclient is not thread-safe nor reentrant. We must protect all function calls with a global mutex, unfortunately.
2014-02-06neighbor/smbclient: move smbclient_domain to lib/smbclient/Domain.cxxMax Kellermann3-2/+52
2014-02-06mixer/Plugin: pass AudioOutput reference to init()Max Kellermann17-89/+79
Passing a void pointer is unsafe.
2014-02-06MixerPlugin: convert function pointers to Mixer virtual methodsMax Kellermann11-298/+200
2014-02-06Mixer: delete the implicit copy constructorMax Kellermann1-0/+2
2014-02-06Mixer: make the constructor "explicit"Max Kellermann1-1/+1
2014-02-06mixer/software: use IgnoreError()Max Kellermann1-2/+2
2014-02-06SongUpdate: use the Storage interface, support remote filesMax Kellermann4-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.
2014-02-06SongUpdate: make variables more localMax Kellermann1-10/+5
2014-02-06input/nfs: new plugin using libnfsMax Kellermann4-0/+237
2014-02-06storage/smbclient: Storage implementation using libsmbclientMax Kellermann2-0/+211
2014-02-06Instance: narrow "storage" to class StorageMax Kellermann1-2/+2
2014-02-05storage/local: OpenDirectory() returns StorageDirectoryReader*Max Kellermann2-3/+3
2014-02-05storage/Interface: explicitly delete copy constructorsMax Kellermann2-2/+4
2014-02-05storage/local: move to src/storage/plugins/Max Kellermann3-3/+3
2014-02-05db/update: include StorageInterface.hxx instead of LocalStorage.hxxMax Kellermann2-2/+2
2014-02-05storage: add abstract interfaceMax Kellermann10-63/+148
Prepare for the plugin interface.
2014-02-05db/UpdateWalk: move LocalStorage to InstanceMax Kellermann8-7/+21
Keep only a reference.
2014-02-05db/update/Remove: initialize attribute "removed_song"Max Kellermann1-1/+2
Fixes bogus assertion failure.
2014-02-05Mixer: use reference instead of pointer for MixerPluginMax Kellermann5-28/+20
2014-02-05Mixer: rename struct mixer_plugin to MixerPluginMax Kellermann13-21/+24
2014-02-05Main: remove unused global variable "main_thread"Max Kellermann2-7/+0
2014-02-05LocalStorage: new API abstracting filesystem walkMax Kellermann12-198/+527
Prepare to make this a new plugin API, for example to use a SMB share for the music_directory.
2014-02-05db/UpdateIO: add "pure" attributesMax Kellermann1-0/+4
2014-02-05db/UpdateGlue: relax assertionMax Kellermann1-2/+2
Fixes assertion failure when update gets launched during MPD startup.