Max Kellermann
|
5fb54095d2
|
doc/user: document storage plugins
|
2014-02-08 00:09:53 +01:00 |
Max Kellermann
|
3fdc678aae
|
Main: support arbitrary storage plugins
|
2014-02-08 00:04:29 +01:00 |
Max Kellermann
|
a0088ccce1
|
storage: add struct StoragePlugin and a plugin registry
|
2014-02-07 23:46:15 +01:00 |
Max Kellermann
|
be081929f4
|
storage/local: remove utf8 path from constructor
Build the UTF-8 version of the path automatically in the constructor.
|
2014-02-07 23:41:06 +01:00 |
Max Kellermann
|
b0b086d473
|
Main: move storage initialization to InitStorage()
|
2014-02-07 23:37:39 +01:00 |
Max Kellermann
|
6798af52b6
|
Mapper: obtain music directory from Storage
Eliminate duplicate variable.
|
2014-02-07 23:34:29 +01:00 |
Max Kellermann
|
4d5ebafa6d
|
Main: check the music directory
Move call from Mapper.cxx.
|
2014-02-07 23:29:20 +01:00 |
Max Kellermann
|
ec8873b178
|
Mapper: move check_directory() to the filesystem library
|
2014-02-07 23:25:47 +01:00 |
Max Kellermann
|
c45f205593
|
Main: chop separators from music directory
Move call from Mapper.cxx.
|
2014-02-07 23:13:24 +01:00 |
Max Kellermann
|
027b2063ba
|
Mapper: remove unused functions
|
2014-02-07 23:03:25 +01:00 |
Max Kellermann
|
b531c4c2fe
|
OtherCommands: use Storage::MapUTF8() instead of Mapper.cxx
|
2014-02-07 22:58:21 +01:00 |
Max Kellermann
|
4b010df99e
|
Main: create Storage instance in glue_mapper_init()
Don't use the obsolete Mapper library to create it.
|
2014-02-07 22:54:18 +01:00 |
Max Kellermann
|
5e4dd4be9c
|
Main: allow playlist directory without music directory
|
2014-02-07 22:39:17 +01:00 |
Max Kellermann
|
04d5896c1c
|
NEWS: mention default soundcloud API key
Missing from commit 48c96bba
|
2014-02-07 22:38:04 +01:00 |
Max Kellermann
|
f947274626
|
InotifyUpdate: use class Storage instead of Mapper.cxx
|
2014-02-07 22:30:40 +01:00 |
Max Kellermann
|
f6939f71a7
|
InotifyUpdate: use the root name instead of mapper_get_music_directory_fs()
The root WatchDirectory instance already contains the music directory,
and we don't need to fetch it again.
|
2014-02-07 22:30:01 +01:00 |
Max Kellermann
|
25aa17ad89
|
InotifyUpdate: move functions into the WatchDirectory class
|
2014-02-07 22:24:26 +01:00 |
Max Kellermann
|
05ee057db5
|
InotifyUpdate: remove unnecessary #ifdefs
|
2014-02-07 22:17:27 +01:00 |
Max Kellermann
|
297e2747f3
|
PlaylistMapper: use class Storage instead of Mapper.cxx
|
2014-02-07 21:44:50 +01:00 |
Max Kellermann
|
77de233117
|
Playlist{Any,Registry,Mapper}: move functions to PlaylistStream.cxx
|
2014-02-07 21:30:49 +01:00 |
Max Kellermann
|
02b67edaf5
|
PlaylistSong: include cleanup
|
2014-02-07 21:30:03 +01:00 |
Max Kellermann
|
8549ccfd8c
|
playlist/CloseSongEnumerator: new wrapper class
Simplifies a lot of code, because we don't need to return both the
SongEnumerator and the InputStream.
|
2014-02-07 20:27:24 +01:00 |
Max Kellermann
|
ffd16b55a6
|
StoragePlugin: add method MapToRelativeUTF8()
Replaces map_to_relative_path() from Mapper.cxx.
|
2014-02-07 19:09:28 +01:00 |
Max Kellermann
|
d744c997d8
|
fs/Traits: add function Relative()
Move code from Path::RelativeFS() and make it generic.
|
2014-02-07 19:08:51 +01:00 |
Max Kellermann
|
6b421cc354
|
DecoderPlugin: pass Path instance to file_decode() and scan_file()
|
2014-02-07 18:52:19 +01:00 |
Max Kellermann
|
37ec29b225
|
Mapper: remove unused function map_song_fs()
|
2014-02-07 18:51:19 +01:00 |
Max Kellermann
|
ca7f6a26b5
|
DecoderThread: use only DetachedSong::GetRealURI()
Don't use the mapper - all DetachedSong instances we get have already
been mapped.
|
2014-02-07 18:50:07 +01:00 |
Max Kellermann
|
9b69d22d7e
|
DecoderThread: pass Path object around for local song files
|
2014-02-07 18:45:11 +01:00 |
Max Kellermann
|
4ab4cf8532
|
SongUpdate: pass Storage to UpdateFileInArchive()
|
2014-02-07 18:44:47 +01:00 |
Max Kellermann
|
3341b282b7
|
PlaylistSave: use DetachedSong::GetRealURI() in playlist_print_song()
The DetachedSong instance already knows its own absolute path, and
there is no need to ask the mapper again.
|
2014-02-07 18:42:16 +01:00 |
Max Kellermann
|
bb3b836dbb
|
FileCommands: support remove database files
|
2014-02-07 18:41:42 +01:00 |
Max Kellermann
|
1873c67540
|
FileCommands: use Storage::MapFS() instead of map_uri_fs()
|
2014-02-07 18:38:10 +01:00 |
Max Kellermann
|
8fd8f23a6b
|
FileCommands: move code to read_file_comments()
|
2014-02-07 18:33:43 +01:00 |
geneticdrift
|
f225051348
|
fixed possible format_context not closed in ffmpeg_decode
|
2014-02-07 12:07:43 +01:00 |
Max Kellermann
|
b2e3fdef0f
|
storage/local: hide the class declarations
Hide inside CreateLocalStorage().
|
2014-02-07 01:11:52 +01:00 |
Max Kellermann
|
c13810ebaa
|
Mapper: move map_song_detach() to db/DatabaseSong.cxx
Use Storage::MapUTF8() internally, don't use global variables.
|
2014-02-07 00:42:14 +01:00 |
Max Kellermann
|
19a982cf69
|
Mapper: convert IsInDatabase() check to assertion in map_song_detach()
|
2014-02-07 00:42:14 +01:00 |
Max Kellermann
|
746a47982b
|
release v0.18.8
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJS9BY7AAoJECNuiljG20USFXcP/1JX3QXdVNxOZdoLvsD7MqmP
Qg9ra1c+9HdD7e2FjTFzSw02USIOrp+l/e3qPn3V0CsD+ZHoCH3lt/zLGaooYbVy
+3gsCNPyW0KTfdmaemFrtQk7sk9lAzuCO+t4jESFQxPmGeUKZRDUtjSMJJsiBKTe
oFiJ6VgkLHmUFb+mAHSmmDQEuZzyW59Qx9ptIAoHIRzBvhIYhAW/X86172XcxZIB
61jmRlebpIrmxi6ft6GFPHjxwD6Od5au7jhQOgI+SqIgkg4KjKotV2ggIcRcYnSs
IenloxdACKNd0yGuyHLOvXJLE5HAUl8GxkLF0QMDx2OH8CjQ+dEo9Kcclj2P6mba
pNVex3LHOtv/Bw5K0OJayxqz4d//rsqs4r2SOBDO4heFGNeNN/nbAiyBrNvkMDKP
VeeIfJBd/aI8M9NRbEMJ3KbuqO6CATR9F3hVsrzocaAJfvixET0uHoqZeunFrpcp
TVHEHavx1eIC0e7LaqIL7lWrhElb6ci1fypCYuau+ZNz6irOnPRA5CY9Zk2XWhSN
pxS+XQRRjHrDYbYjk3YNqCno4lWzFPGSoKkufG4a3Q8jKb/RA3zAKhwlwZXFPfun
PgLIl5XhK3BWl2Dv7t0jMxzqgLiIOMwL0l71AZNaRRl3OYfiYda3lrBK390ByQOG
64R+be+RxotfsyPvfwQF
=Arwc
-----END PGP SIGNATURE-----
Merge tag 'release-0.18.8'
|
2014-02-07 00:17:36 +01:00 |
Max Kellermann
|
ddb5390d88
|
release v0.18.8
|
2014-02-07 00:06:31 +01:00 |
Max Kellermann
|
fce20e514e
|
NEWS: fix 0.18.7 release year
|
2014-02-07 00:06:31 +01:00 |
Max Kellermann
|
327cbf48f5
|
pcm/FallbackResampler: add missing ConstBuffer<T>::ToVoid() call
|
2014-02-06 23:48:01 +01:00 |
geneticdrift
|
0f1f509be7
|
fixed leaked LocalDirectoryReader *const reader in UpdateWalk::UpdateDirectory
|
2014-02-06 23:08:24 +01:00 |
Max Kellermann
|
c8f0c7e9ed
|
*/smbclient: protect all libsmbclient calls with a mutex
libsmbclient is not thread-safe nor reentrant. We must protect all
function calls with a global mutex, unfortunately.
|
2014-02-06 22:19:59 +01:00 |
Max Kellermann
|
a7989077ab
|
neighbor/smbclient: move smbclient_domain to lib/smbclient/Domain.cxx
|
2014-02-06 22:12:50 +01:00 |
Max Kellermann
|
7e34737b2b
|
Makefile.am: add variable SMBCLIENT_SOURCES
|
2014-02-06 22:11:59 +01:00 |
Max Kellermann
|
af66ed2505
|
doc/user: document the RoarAudio output plugin
|
2014-02-06 21:46:29 +01:00 |
Max Kellermann
|
ea4068757d
|
configure.ac: link the Vorbis encoder with libvorbis
Since the encoder plugin uses a libvorbis function (and not only
libvorbisenc functions), we need to link with libvorbis explicitly.
|
2014-02-06 21:32:50 +01:00 |
Max Kellermann
|
0a0659d737
|
mixer/Plugin: pass AudioOutput reference to init()
Passing a void pointer is unsafe.
|
2014-02-06 21:10:12 +01:00 |
Max Kellermann
|
b6df4680df
|
MixerPlugin: convert function pointers to Mixer virtual methods
|
2014-02-06 20:52:33 +01:00 |
Max Kellermann
|
e04090b477
|
Mixer: delete the implicit copy constructor
|
2014-02-06 20:52:25 +01:00 |