Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | OtherCommands: remove unnecessary nullptr check | Max Kellermann | 2014-02-09 | 1 | -3/+0 | |
| | | ||||||
* | | storage/nfs: new storage plugin | Max Kellermann | 2014-02-08 | 3 | -0/+271 | |
| | | ||||||
* | | input/nfs: move nfs_domain to lib/nfs/Domain.cxx | Max Kellermann | 2014-02-08 | 3 | -3/+52 | |
| | | ||||||
* | | ArchivePlugin: pass Path to open() | Max Kellermann | 2014-02-08 | 7 | -16/+24 | |
| | | ||||||
* | | ArchivePlugin: rename struct archive_plugin to ArchivePlugin | Max Kellermann | 2014-02-08 | 14 | -26/+32 | |
| | | ||||||
* | | Main: support arbitrary storage plugins | Max Kellermann | 2014-02-08 | 1 | -0/+12 | |
| | | ||||||
* | | storage: add struct StoragePlugin and a plugin registry | Max Kellermann | 2014-02-07 | 8 | -6/+175 | |
| | | ||||||
* | | storage/local: remove utf8 path from constructor | Max Kellermann | 2014-02-07 | 3 | -10/+10 | |
| | | | | | | | | Build the UTF-8 version of the path automatically in the constructor. | |||||
* | | Main: move storage initialization to InitStorage() | Max Kellermann | 2014-02-07 | 1 | -20/+27 | |
| | | ||||||
* | | Mapper: obtain music directory from Storage | Max Kellermann | 2014-02-07 | 3 | -31/+19 | |
| | | | | | | | | Eliminate duplicate variable. | |||||
* | | Main: check the music directory | Max Kellermann | 2014-02-07 | 2 | -3/+4 | |
| | | | | | | | | Move call from Mapper.cxx. | |||||
* | | Mapper: move check_directory() to the filesystem library | Max Kellermann | 2014-02-07 | 3 | -44/+99 | |
| | | ||||||
* | | Main: chop separators from music directory | Max Kellermann | 2014-02-07 | 2 | -1/+3 | |
| | | | | | | | | Move call from Mapper.cxx. | |||||
* | | Mapper: remove unused functions | Max Kellermann | 2014-02-07 | 2 | -65/+1 | |
| | | ||||||
* | | OtherCommands: use Storage::MapUTF8() instead of Mapper.cxx | Max Kellermann | 2014-02-07 | 1 | -4/+6 | |
| | | ||||||
* | | Main: create Storage instance in glue_mapper_init() | Max Kellermann | 2014-02-07 | 1 | -5/+12 | |
| | | | | | | | | Don't use the obsolete Mapper library to create it. | |||||
* | | Main: allow playlist directory without music directory | Max Kellermann | 2014-02-07 | 1 | -4/+1 | |
| | | ||||||
* | | InotifyUpdate: use class Storage instead of Mapper.cxx | Max Kellermann | 2014-02-07 | 3 | -5/+11 | |
| | | ||||||
* | | InotifyUpdate: use the root name instead of mapper_get_music_directory_fs() | Max Kellermann | 2014-02-07 | 1 | -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 class | Max Kellermann | 2014-02-07 | 1 | -13/+18 | |
| | | ||||||
* | | InotifyUpdate: remove unnecessary #ifdefs | Max Kellermann | 2014-02-07 | 1 | -18/+0 | |
| | | ||||||
* | | PlaylistMapper: use class Storage instead of Mapper.cxx | Max Kellermann | 2014-02-07 | 7 | -12/+64 | |
| | | ||||||
* | | Playlist{Any,Registry,Mapper}: move functions to PlaylistStream.cxx | Max Kellermann | 2014-02-07 | 6 | -86/+144 | |
| | | ||||||
* | | 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. |