Max Kellermann
3047bdf653
Merge branch 'v0.17.x'
...
Conflicts:
NEWS
configure.ac
src/client_file.h
2012-08-13 07:59:19 +02:00
Anton Khirnov
12be9e818f
client_file: remove pure attribute from client_allow_file().
...
That function is not pure, it writes to error.
When marked as pure, the compiler is allowed to assume it does not do
anything to error, so it can remain NULL, which would result in an
invalid read in print_error().
2012-08-13 07:55:40 +02:00
Max Kellermann
a0478f98af
Directory: move code to directory_allocate()
2012-08-09 21:04:07 +02:00
Max Kellermann
5e2c62db2f
valgrind.suppressions: suppressions for GStaticMutex and more
2012-08-09 20:59:48 +02:00
Max Kellermann
d488d796f4
player_control: add GError attribute
...
Rewrite of the pc_get_error_message() function, now using a GError
object instead of the complicated "errored_song" attribute.
2012-08-08 22:54:49 +02:00
Max Kellermann
f794b1e1aa
output_all: add basic GError support
2012-08-08 22:48:59 +02:00
Max Kellermann
8c425c758c
decoder_control: add GError attribute
2012-08-08 22:38:16 +02:00
Max Kellermann
0b9e912297
player_control: rename attribute "error" to "error_type"
2012-08-08 22:29:09 +02:00
Max Kellermann
d35d2b269f
player_control: rename player_error enum values
2012-08-08 22:28:59 +02:00
Max Kellermann
fa84ed412d
player_control: remove unused enum player_error values
2012-08-08 22:28:49 +02:00
Max Kellermann
16951099d1
player_control: inline trivial functions
2012-08-08 22:27:00 +02:00
Max Kellermann
050ba302cb
song: use C++ compiler
2012-08-08 21:08:37 +02:00
Max Kellermann
c1f90a99f4
tag_pool: use GStaticMutex
...
Eliminates explicit global initialisation.
2012-08-08 21:01:25 +02:00
Max Kellermann
510097cc37
song: include cleanup
2012-08-08 20:14:24 +02:00
Max Kellermann
6a83721c55
directory: use gcc.h macros, not GLib
2012-08-08 20:07:47 +02:00
Max Kellermann
ca9795c30a
conf: add a "database" block
...
The new block overrides the "db_file" setting, and allows configuring
any database plugin.
2012-08-08 09:28:13 +02:00
Max Kellermann
dc2fa246a9
DatabaseGlue: look up the database plugin
...
No more hard-coded "simple" plugin.
2012-08-08 09:28:13 +02:00
Max Kellermann
b46bb611b3
DatabaseGlue: pass block to db_init()
...
Let the caller take care for legacy conversion.
2012-08-08 09:28:13 +02:00
Max Kellermann
aa55d759f5
DatabaseGlue: add function db_is_simple()
...
Preparing for non-"simple" database plugins.
2012-08-08 09:28:13 +02:00
Max Kellermann
2043579f71
main: don't call db_init() without database
...
Useless call.
2012-08-08 09:28:13 +02:00
Max Kellermann
346e31efa0
ProxyDatabasePlugin: obey the "recursive" flag
2012-08-08 09:28:13 +02:00
Max Kellermann
b504d63117
ProxyDatabasePlugin: use an artificial "root" directory
...
Fixes assertion failures in the Directory library.
2012-08-08 09:27:42 +02:00
Max Kellermann
b4b1728b6f
DatabasePrint: don't print Last-Modified if unknown
2012-08-08 09:27:42 +02:00
Max Kellermann
21792386d8
time_print: new library, function time_print()
...
Implements error checking for the gmtime_r() call, which was missing
in two code locations.
2012-08-08 09:27:12 +02:00
Max Kellermann
63a2ac21e1
ProxyDatabasePlugin: new database plugin using libmpdclient
...
Implementation incomplete, but sort-of-works. DumpDatabase works, but
MPD is still hard-coded on the "simple" plugin.
2012-08-08 01:20:45 +02:00
Max Kellermann
c42b206292
DatabaseCommands: allow empty criteria for "list"
...
Fixes regression.
2012-08-08 01:16:47 +02:00
Max Kellermann
733d6a6b16
DatabaseSelection: add "match" attribute
...
Let the database plugin do the match.
2012-08-08 00:55:02 +02:00
Max Kellermann
8d2725234e
DatabaseCommands: merge duplicate search/find code
2012-08-08 00:49:07 +02:00
Max Kellermann
0823711106
locate: add a per-item "fold_case" flag
...
Merge locate_song_search() and locate_song_match().
2012-08-08 00:47:45 +02:00
Max Kellermann
860e9eb8c9
locate: make "tag" unsigned
2012-08-08 00:45:46 +02:00
Max Kellermann
3d2092ee23
locate: make the structs opaque
2012-08-07 23:52:11 +02:00
Max Kellermann
8855efebc0
locate: don't allow empty list
2012-08-07 23:45:00 +02:00
Max Kellermann
7725577a53
locate: pass unsigned integer to _parse()
2012-08-07 23:44:43 +02:00
Max Kellermann
668e3f664f
locate: add "pure" attributes
2012-08-07 23:43:36 +02:00
Max Kellermann
9e51733c71
DatabaseCommands: remove stray locate_item_list_parse() call
2012-08-07 23:41:35 +02:00
Max Kellermann
6b39a5621d
locate: add "casefold" flag to parser
...
Fold the case during construction, without having to create another
copy.
2012-08-07 23:27:23 +02:00
Max Kellermann
0d46e11826
locate: remove unused function locate_item_free()
2012-08-07 23:27:08 +02:00
Max Kellermann
ff58207034
db_selection: rename to DatabaseSelection
2012-08-07 23:12:26 +02:00
Max Kellermann
b3d76b7e5c
db_print.h: rename to DatabasePrint.hxx
2012-08-07 23:10:34 +02:00
Max Kellermann
4d6c816abb
dbUtils.h: move to DatabaseQueue.hxx, DatabasePlaylist.hxx
2012-08-07 22:57:18 +02:00
Max Kellermann
f35ceaee0a
command: move code to DatabaseCommands.cxx
...
Prepare to use the DatabasePlugin C++ API directly.
2012-08-07 22:36:18 +02:00
Max Kellermann
a64a2a65a9
command: move print_error() to CommandError.cxx
...
Prepare for splitting command.c.
2012-08-07 22:26:14 +02:00
Max Kellermann
1a75abffa5
Database{Plugin,Visitor}: pass references
2012-08-07 21:32:08 +02:00
Max Kellermann
c6a0f5d3f9
test/DumpDatabase: new debug program
2012-08-07 20:21:10 +02:00
Max Kellermann
bb75e3ea55
DatabaseRegistry: list of plugins
2012-08-07 20:07:17 +02:00
Max Kellermann
814eebf976
configure.ac: copy missing file m4/ax_check_link_flag.m4
...
Needed by ax_append_link_flags.m4.
2012-08-03 14:40:04 +02:00
Max Kellermann
e08d4f28aa
Makefile.am: add libdb_plugins.a
2012-08-02 19:25:18 +02:00
Max Kellermann
6f3c65dc64
DatabaseGlue: remove db_walk(), db_visit()
...
Unused.
2012-08-02 19:15:01 +02:00
Max Kellermann
0a3ada4fea
stats: convert to C++
2012-08-02 19:14:53 +02:00
Max Kellermann
8bdf7917c4
db_print: convert to C++
2012-08-02 19:14:40 +02:00