Max Kellermann
|
df9667a497
|
StorageCommands: add command "unmount"
|
2014-02-12 23:48:08 +01:00 |
|
Max Kellermann
|
e3e2ad4ae5
|
CompositeStorage: fix tree walk in Directory::Unmount()
|
2014-02-12 23:48:08 +01:00 |
|
Max Kellermann
|
ace4ba3171
|
StorageCommands: emit IDLE_MOUNT on successful "mount"
Add the new idle event to Idle.hxx/Idle.cxx.
|
2014-02-12 23:06:47 +01:00 |
|
Max Kellermann
|
0935ae330a
|
StorageCommands: add command "listmounts"
|
2014-02-12 21:47:59 +01:00 |
|
Max Kellermann
|
9e02b13ab3
|
systemd: add socket activation files
|
2014-02-12 21:22:36 +01:00 |
|
Max Kellermann
|
5a486a940c
|
systemd: assign real-time budget
|
2014-02-12 21:00:53 +01:00 |
|
Max Kellermann
|
d05ae4b444
|
util/HugeAllocator: relicense to BSD-2
|
2014-02-10 13:32:50 +01:00 |
|
Max Kellermann
|
73b0610d89
|
PlaylistSong: copy the "real" URI
Playback with some decoder plugins was broken because the Queue's
DetachedSong instances did not have the "real" URI (the mapped path).
|
2014-02-10 11:00:49 +01:00 |
|
Max Kellermann
|
57e862712a
|
configure.ac: prepare for 0.18.9
|
2014-02-09 22:58:14 +01:00 |
|
Max Kellermann
|
73aec9ce63
|
StorageCommands: expose the "mount" command
|
2014-02-09 11:07:08 +01:00 |
|
Max Kellermann
|
a9fefcf600
|
Main: wrap the Storage instance in CompositeStorage
|
2014-02-09 11:07:08 +01:00 |
|
Max Kellermann
|
59ce67e2e5
|
CompositeStorage: new Storage implementation
This is the backend for the upcoming "mount" command.
|
2014-02-09 10:47:29 +01:00 |
|
Max Kellermann
|
2182209a8a
|
db/update/Walk: disable FindAncestorLoop() if device/inode==0
|
2014-02-09 10:47:29 +01:00 |
|
Max Kellermann
|
e29a8b3a9c
|
db/update/Walk: document FindAncestorLoop()
|
2014-02-09 10:46:39 +01:00 |
|
Max Kellermann
|
ace3f37af4
|
db/update/Walk: rename find_inode_ancestor() to FindAncestorLoop()
|
2014-02-09 10:46:39 +01:00 |
|
Max Kellermann
|
37b6899660
|
Main: move code to storage/Configured.cxx
|
2014-02-09 08:09:47 +01:00 |
|
Max Kellermann
|
570b12ec13
|
Idle: error out when unrecognized idle event was specified
Implements the error checks missing in commit 0bad8406
|
2014-02-09 08:07:48 +01:00 |
|
Max Kellermann
|
ac286ef734
|
OtherCommands: remove unnecessary nullptr check
|
2014-02-09 08:07:43 +01:00 |
|
Max Kellermann
|
b3663b5da2
|
storage/nfs: new storage plugin
|
2014-02-08 14:24:47 +01:00 |
|
Max Kellermann
|
d761d8b168
|
input/nfs: move nfs_domain to lib/nfs/Domain.cxx
|
2014-02-08 14:24:47 +01:00 |
|
Max Kellermann
|
fe7c6fee34
|
ArchivePlugin: pass Path to open()
|
2014-02-08 13:25:44 +01:00 |
|
Max Kellermann
|
9906daeca7
|
ArchivePlugin: rename struct archive_plugin to ArchivePlugin
|
2014-02-08 13:22:13 +01:00 |
|
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 |
|