Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | PlaylistSong: include cleanup | Max Kellermann | 2014-02-07 | 1 | -2/+0 | |
| | ||||||
* | playlist/CloseSongEnumerator: new wrapper class | Max Kellermann | 2014-02-07 | 10 | -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 Kellermann | 2014-02-07 | 8 | -39/+51 | |
| | | | | Replaces map_to_relative_path() from Mapper.cxx. | |||||
* | fs/Traits: add function Relative() | Max Kellermann | 2014-02-07 | 4 | -23/+61 | |
| | | | | Move code from Path::RelativeFS() and make it generic. | |||||
* | DecoderPlugin: pass Path instance to file_decode() and scan_file() | Max Kellermann | 2014-02-07 | 15 | -75/+94 | |
| | ||||||
* | Mapper: remove unused function map_song_fs() | Max Kellermann | 2014-02-07 | 2 | -86/+0 | |
| | ||||||
* | DecoderThread: use only DetachedSong::GetRealURI() | Max Kellermann | 2014-02-07 | 1 | -4/+2 | |
| | | | | | Don't use the mapper - all DetachedSong instances we get have already been mapped. | |||||
* | DecoderThread: pass Path object around for local song files | Max Kellermann | 2014-02-07 | 1 | -21/+27 | |
| | ||||||
* | SongUpdate: pass Storage to UpdateFileInArchive() | Max Kellermann | 2014-02-07 | 2 | -5/+6 | |
| | ||||||
* | PlaylistSave: use DetachedSong::GetRealURI() in playlist_print_song() | Max Kellermann | 2014-02-07 | 1 | -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 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 | |
| | ||||||
* | fixed possible format_context not closed in ffmpeg_decode | geneticdrift | 2014-02-07 | 1 | -1/+4 | |
| | ||||||
* | storage/local: hide the class declarations | Max Kellermann | 2014-02-07 | 3 | -49/+63 | |
| | | | | Hide inside CreateLocalStorage(). | |||||
* | Mapper: move map_song_detach() to db/DatabaseSong.cxx | Max Kellermann | 2014-02-07 | 16 | -49/+81 | |
| | | | | Use Storage::MapUTF8() internally, don't use global variables. | |||||
* | Mapper: convert IsInDatabase() check to assertion in map_song_detach() | Max Kellermann | 2014-02-07 | 1 | -1/+2 | |
| | ||||||
* | pcm/FallbackResampler: add missing ConstBuffer<T>::ToVoid() call | Max Kellermann | 2014-02-06 | 1 | -1/+1 | |
| | ||||||
* | fixed leaked LocalDirectoryReader *const reader in UpdateWalk::UpdateDirectory | geneticdrift | 2014-02-06 | 1 | -3/+3 | |
| | ||||||
* | */smbclient: protect all libsmbclient calls with a mutex | Max Kellermann | 2014-02-06 | 6 | -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.cxx | Max Kellermann | 2014-02-06 | 3 | -2/+52 | |
| | ||||||
* | mixer/Plugin: pass AudioOutput reference to init() | Max Kellermann | 2014-02-06 | 17 | -89/+79 | |
| | | | | Passing a void pointer is unsafe. | |||||
* | MixerPlugin: convert function pointers to Mixer virtual methods | Max Kellermann | 2014-02-06 | 11 | -298/+200 | |
| | ||||||
* | Mixer: delete the implicit copy constructor | Max Kellermann | 2014-02-06 | 1 | -0/+2 | |
| | ||||||
* | Mixer: make the constructor "explicit" | Max Kellermann | 2014-02-06 | 1 | -1/+1 | |
| | ||||||
* | mixer/software: use IgnoreError() | Max Kellermann | 2014-02-06 | 1 | -2/+2 | |
| | ||||||
* | SongUpdate: use the Storage interface, support remote files | Max Kellermann | 2014-02-06 | 4 | -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 local | Max Kellermann | 2014-02-06 | 1 | -10/+5 | |
| | ||||||
* | input/nfs: new plugin using libnfs | Max Kellermann | 2014-02-06 | 4 | -0/+237 | |
| | ||||||
* | storage/smbclient: Storage implementation using libsmbclient | Max Kellermann | 2014-02-06 | 2 | -0/+211 | |
| | ||||||
* | Instance: narrow "storage" to class Storage | Max Kellermann | 2014-02-06 | 1 | -2/+2 | |
| | ||||||
* | storage/local: OpenDirectory() returns StorageDirectoryReader* | Max Kellermann | 2014-02-05 | 2 | -3/+3 | |
| | ||||||
* | storage/Interface: explicitly delete copy constructors | Max Kellermann | 2014-02-05 | 2 | -2/+4 | |
| | ||||||
* | storage/local: move to src/storage/plugins/ | Max Kellermann | 2014-02-05 | 3 | -3/+3 | |
| | ||||||
* | db/update: include StorageInterface.hxx instead of LocalStorage.hxx | Max Kellermann | 2014-02-05 | 2 | -2/+2 | |
| | ||||||
* | storage: add abstract interface | Max Kellermann | 2014-02-05 | 10 | -63/+148 | |
| | | | | Prepare for the plugin interface. | |||||
* | db/UpdateWalk: move LocalStorage to Instance | Max Kellermann | 2014-02-05 | 8 | -7/+21 | |
| | | | | Keep only a reference. | |||||
* | db/update/Remove: initialize attribute "removed_song" | Max Kellermann | 2014-02-05 | 1 | -1/+2 | |
| | | | | Fixes bogus assertion failure. | |||||
* | Mixer: use reference instead of pointer for MixerPlugin | Max Kellermann | 2014-02-05 | 5 | -28/+20 | |
| | ||||||
* | Mixer: rename struct mixer_plugin to MixerPlugin | Max Kellermann | 2014-02-05 | 13 | -21/+24 | |
| | ||||||
* | Main: remove unused global variable "main_thread" | Max Kellermann | 2014-02-05 | 2 | -7/+0 | |
| | ||||||
* | LocalStorage: new API abstracting filesystem walk | Max Kellermann | 2014-02-05 | 12 | -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" attributes | Max Kellermann | 2014-02-05 | 1 | -0/+4 | |
| | ||||||
* | db/UpdateGlue: relax assertion | Max Kellermann | 2014-02-05 | 1 | -2/+2 | |
| | | | | Fixes assertion failure when update gets launched during MPD startup. | |||||
* | Instance: add attribute "event_loop" | Max Kellermann | 2014-02-05 | 4 | -18/+22 | |
| | | | | Replaces global variable "main_loop". | |||||
* | MixerPlugin: add EventLoop& init() parameter | Max Kellermann | 2014-02-05 | 14 | -29/+44 | |
| | ||||||
* | event/Loop: remove the dummy constructor argument | Max Kellermann | 2014-02-05 | 3 | -5/+3 | |
| | ||||||
* | db/DatabaseListener: add method OnDatabaseSongRemoved() | Max Kellermann | 2014-02-04 | 9 | -38/+45 | |
| | | | | Decouples db/update/Remove.cpp from global variables. | |||||
* | db/proxy: include cleanup | Max Kellermann | 2014-02-04 | 1 | -1/+0 | |
| | ||||||
* | Instance: merge DatabaseModified() into OnDatabaseModified() | Max Kellermann | 2014-02-04 | 2 | -18/+7 | |
| |