Commit Graph

602 Commits

Author SHA1 Message Date
Max Kellermann ae178c77bd DatabaseCommands: "list" allows grouping 2014-04-24 11:38:49 +02:00
Max Kellermann 27002ad1ea db/Helpers: "list" on album artist falls back to the artist tag 2014-04-24 10:48:52 +02:00
Max Kellermann 986dd2fac1 db/Helpers: move code to CheckUniqueTag() 2014-04-24 10:47:53 +02:00
Max Kellermann 3965b490a9 db/Helpers: use reference instead of pointer 2014-04-24 10:31:19 +02:00
Max Kellermann c9aec3e866 DatabaseCommands: fix crash on "list base"
The string "base" is understood by locate_parse_type(), but not by
listAllUniqueTags().  The special tag type LOCATE_TAG_BASE_TYPE causes
a crash in PrintUniqueTag().
2014-04-24 08:19:08 +02:00
Max Kellermann 1d1f8be260 DatabasePrint: convert "type" to unsigned 2014-04-24 08:18:41 +02:00
Max Kellermann f2f1801c25 db/proxy: check connect error before initializing SocketMonitor
Fixes crash bug because mpd_connection_get_async() was called without
a connection.
2014-03-06 13:35:42 +01:00
Max Kellermann 36ca57a54e fs/StandardDirectory: add GetUserCacheDir()
Move code from CreateConfiguredDatabase() and add XDG support.  This
implements an automatic Linux fallback for the setting "db_file" if
none was specified.
2014-03-01 22:51:51 +01:00
Max Kellermann b8f1850bba db/Configured: store database file in cache directory
Add class Context which wraps the Android/Java Context class and add a
JNI wrapper for method Context.getCacheDir().
2014-03-01 22:20:28 +01:00
Max Kellermann 7ccc609da2 db/update/ExcludeList: make no-op if GLib is disabled
Quick hack to allow using the database without GLib (for Android).
2014-03-01 08:16:13 +01:00
Max Kellermann 96afa8bd2b command: add command "listfiles"
Lists files and directories.  Supports storage plugins.
2014-03-01 06:25:57 +01:00
Max Kellermann 20cdab5546 DatabasePrint: move code to PrintDirectoryURI() 2014-02-28 08:21:34 +01:00
Max Kellermann 6765234b60 DatabasePrint: add API documentation 2014-02-28 08:17:25 +01:00
Max Kellermann e9a85aa4e4 db/simple: mount points
A SimpleDatabase instance can now "mount" other Database instances at
certain locations.  This is used to use a new SimpleDatabase instance
for each storage mount (issued with the "mount" protocol command).
Each such instance has its own database file, stored in the directory
that is specified with the "cache_directory" option.
2014-02-27 20:49:13 +01:00
Max Kellermann f65254680a db/update/Queue: use std::list instead of std::queue
The problem with std::queue is that it doesn't give us enough control.
The method Clear() is a kludge already, but soon, we'll need
filtering.
2014-02-27 20:49:13 +01:00
Max Kellermann d64edb6896 db/simple: GetRoot() returns reference 2014-02-27 19:29:10 +01:00
Max Kellermann 3f9ad8e104 db/update/Service: allocate UpdateWalk dynamically 2014-02-27 18:04:24 +01:00
Max Kellermann 1c772ef699 Playlist: use the Error library to return errors 2014-02-27 17:27:23 +01:00
Max Kellermann 681e012fb5 db/update: cancel the update on shutdown 2014-02-27 16:58:35 +01:00
Max Kellermann 3be36643a1 db/UpdateGlue: rename to Service.cxx 2014-02-27 16:14:10 +01:00
Max Kellermann 21e19ef69f db/simple/Directory: eliminate method LookupSong()
Move to SimpleDatabase::GetSong() to give that method more control.
2014-02-26 20:10:31 +01:00
Max Kellermann 69a42fc901 db/simple/Directory: LookupDirectory() return remaining URI
Code can now be reused in LookupSong().
2014-02-26 19:50:46 +01:00
Max Kellermann 525789cd36 db/simple/Directory: make variables more local 2014-02-26 19:50:36 +01:00
Max Kellermann 367d660c08 db/Directory: add DEVICE_* documentation 2014-02-26 10:00:38 +01:00
Max Kellermann 4d73e4d605 db/simple: create dedicated directory 2014-02-26 09:17:41 +01:00
Max Kellermann d86cc5bf42 db/Song: update API documentation for SimpleDatabasePlugin 2014-02-25 22:16:20 +01:00
Max Kellermann 5f262da09d db/simple: remove unused method LookupDirectory() 2014-02-25 20:13:40 +01:00
Max Kellermann 82985a9488 db/simple: make internal methods "private" 2014-02-25 19:48:01 +01:00
Max Kellermann afcdb65f80 db/simple: add comment 2014-02-25 18:17:54 +01:00
Max Kellermann 6b66e86f40 db/simple: move Create() up 2014-02-25 18:17:39 +01:00
Max Kellermann cb145d290e DirectorySave: save the flags "DEVICE_INARCHIVE" and "DEVICE_CONTAINER"
Helps avoid unnecessary archive scans during database update on a
fresh MPD process.
2014-02-25 18:16:19 +01:00
Max Kellermann 167803d2a1 DatabaseSave: increase DB_FORMAT version 2014-02-25 18:16:06 +01:00
Max Kellermann 58a981d2f6 DatabaseSave: add constant OLDEST_DB_FORMAT 2014-02-25 18:15:55 +01:00
Max Kellermann 8963cd1fab DirectorySave: move code to ParseLine() 2014-02-25 18:15:43 +01:00
Max Kellermann 55cd5a9a78 DirectorySave: save the mtime only if it is known 2014-02-24 21:17:06 +01:00
Max Kellermann 33fc3af775 SongSort, ...: use libicu instead of GLib's g_utf8_*() 2014-02-24 20:39:37 +01:00
Max Kellermann 25431f32a2 DecoderPlugin: free the container_scan() return value with delete[] 2014-02-24 20:19:34 +01:00
Max Kellermann 09e5f17b5d Directory: use PathTraitsUTF8::Build() instead of g_strconcat() 2014-02-23 22:02:39 +01:00
Max Kellermann db20e29af6 Directory: pass std::string&& to constructor 2014-02-23 22:02:02 +01:00
Max Kellermann b7a7953757 db/Directory: use "unsigned" for inode and device
This is what we get from the storage plugin via FileInfo.  Fixes a
compiler warning on Mac OS X where dev_t appears to be signed.
2014-02-21 10:48:43 +01:00
Max Kellermann e92a41fa3a db/upnp: move plugin source to upnp directory 2014-02-19 23:46:00 +01:00
Max Kellermann 150443b014 DatabasePlugin: add FLAG_REQUIRE_STORAGE
Ignore the storage configuration if FLAG_REQUIRE_STORAGE is not set in
the DatabasePlugin.
2014-02-19 23:24:17 +01:00
Max Kellermann 9e36af7916 DatabasePlugin: add attribute "flags" 2014-02-19 23:24:15 +01:00
Max Kellermann 85b8675e7a db/Interface: add attribute "plugin"
The new method IsPlugin() replaces the "is_simple" flag.
2014-02-19 23:17:21 +01:00
Max Kellermann ae594ad92c DatabasePlugin: split header 2014-02-19 22:54:52 +01:00
Max Kellermann 579e48edbb util/StringUtil: add function Strip()
Replaces g_strstrip().
2014-02-17 22:37:43 +01:00
Max Kellermann 91729437a0 Main: initialize Database before Storage 2014-02-17 22:14:00 +01:00
Max Kellermann 1ddd00433e db/Configured: disallow both "db_file" and "database"
This is misconfiguration, and MPD should abort.
2014-02-17 22:13:53 +01:00
Max Kellermann de160bb2d1 Main: move code to db/Configured.cxx 2014-02-17 22:13:53 +01:00
Max Kellermann 6da0af94df db/DatabaseSimple: remove obsolete header 2014-02-17 20:44:03 +01:00