aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-02-17TagId3: use xstrdup() instead of g_strdup()Max Kellermann1-3/+4
2014-02-17util/StringUtil: add function Strip()Max Kellermann5-6/+27
Replaces g_strstrip().
2014-02-17TagString: disable UTF-8 validation if GLib is disabledMax Kellermann1-3/+13
2014-02-17Main: initialize Database before StorageMax Kellermann3-19/+14
2014-02-17Main: move code to InitDatabaseAndStorage()Max Kellermann1-6/+12
2014-02-17db/Configured: disallow both "db_file" and "database"Max Kellermann1-3/+7
This is misconfiguration, and MPD should abort.
2014-02-17Main: move code to db/Configured.cxxMax Kellermann3-39/+117
2014-02-17Main: check if database exists before attempting to close itMax Kellermann1-2/+5
Fixes nullptr dereference.
2014-02-17db/DatabaseSimple: remove obsolete headerMax Kellermann2-48/+0
2014-02-12StorageCommands: add command "unmount"Max Kellermann3-0/+33
2014-02-12CompositeStorage: fix tree walk in Directory::Unmount()Max Kellermann1-1/+4
2014-02-12StorageCommands: emit IDLE_MOUNT on successful "mount"Max Kellermann3-0/+6
Add the new idle event to Idle.hxx/Idle.cxx.
2014-02-12StorageCommands: add command "listmounts"Max Kellermann4-0/+86
2014-02-10util/HugeAllocator: relicense to BSD-2Max Kellermann2-28/+48
2014-02-10PlaylistSong: copy the "real" URIMax Kellermann1-0/+3
Playback with some decoder plugins was broken because the Queue's DetachedSong instances did not have the "real" URI (the mapped path).
2014-02-09StorageCommands: expose the "mount" commandMax Kellermann3-0/+97
2014-02-09Main: wrap the Storage instance in CompositeStorageMax Kellermann2-2/+15
2014-02-09CompositeStorage: new Storage implementationMax Kellermann2-0/+467
This is the backend for the upcoming "mount" command.
2014-02-09db/update/Walk: disable FindAncestorLoop() if device/inode==0Max Kellermann1-0/+5
2014-02-09db/update/Walk: document FindAncestorLoop()Max Kellermann1-0/+6
2014-02-09db/update/Walk: rename find_inode_ancestor() to FindAncestorLoop()Max Kellermann1-4/+4
2014-02-09Main: move code to storage/Configured.cxxMax Kellermann3-29/+117
2014-02-09Idle: error out when unrecognized idle event was specifiedMax Kellermann3-8/+32
Implements the error checks missing in commit 0bad8406
2014-02-09OtherCommands: remove unnecessary nullptr checkMax Kellermann1-3/+0
2014-02-08storage/nfs: new storage pluginMax Kellermann3-0/+271
2014-02-08input/nfs: move nfs_domain to lib/nfs/Domain.cxxMax Kellermann3-3/+52
2014-02-08ArchivePlugin: pass Path to open()Max Kellermann7-16/+24
2014-02-08ArchivePlugin: rename struct archive_plugin to ArchivePluginMax Kellermann14-26/+32
2014-02-08Main: support arbitrary storage pluginsMax Kellermann1-0/+12
2014-02-07storage: add struct StoragePlugin and a plugin registryMax Kellermann8-6/+175
2014-02-07storage/local: remove utf8 path from constructorMax Kellermann3-10/+10
Build the UTF-8 version of the path automatically in the constructor.
2014-02-07Main: move storage initialization to InitStorage()Max Kellermann1-20/+27
2014-02-07Mapper: obtain music directory from StorageMax Kellermann3-31/+19
Eliminate duplicate variable.
2014-02-07Main: check the music directoryMax Kellermann2-3/+4
Move call from Mapper.cxx.
2014-02-07Mapper: move check_directory() to the filesystem libraryMax Kellermann3-44/+99
2014-02-07Main: chop separators from music directoryMax Kellermann2-1/+3
Move call from Mapper.cxx.
2014-02-07Mapper: remove unused functionsMax Kellermann2-65/+1
2014-02-07OtherCommands: use Storage::MapUTF8() instead of Mapper.cxxMax Kellermann1-4/+6
2014-02-07Main: create Storage instance in glue_mapper_init()Max Kellermann1-5/+12
Don't use the obsolete Mapper library to create it.
2014-02-07Main: allow playlist directory without music directoryMax Kellermann1-4/+1
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.