Max Kellermann
0d24250aa7
decoder/_ogg_common: simplify the large "if" expression
2012-09-04 11:22:05 +02:00
Wieland Hoffmann
2050e2f886
mpd.conf(5): Use the correct default value for max_playlist_length
2012-09-03 22:49:51 +02:00
Max Kellermann
013e8479af
AudioCompress: abort on out-of-memory
...
This library crashes on out-of-memory (NULL pointer dereference).
There's not much useful MPD can do in such a situation, so let's
explicitly abort instead, just like GLib does.
2012-09-03 22:45:33 +02:00
Max Kellermann
27535a7f78
update_walk: fix unsafe readlink() usage
2012-09-03 22:41:04 +02:00
Max Kellermann
333d226ed0
SongFilter: convert to a C++ class
2012-08-29 20:19:02 +02:00
Max Kellermann
04a9dec952
playlist_print: rename to PlaylistPrint.cxx
2012-08-29 20:17:13 +02:00
Max Kellermann
6ee76b7154
DatabaseSelection: add method Match()
2012-08-29 20:03:37 +02:00
Max Kellermann
36b1c08ad7
locate: rename to SongFilter.cxx
2012-08-29 19:12:26 +02:00
Max Kellermann
7b35d5e9d4
queue_print: rename to QueuePrint.cxx
2012-08-29 19:07:30 +02:00
Max Kellermann
6d4ca071a5
dbUtils.h: eliminate this header
2012-08-29 18:55:49 +02:00
Max Kellermann
684a3d30a6
command: move code to *Commands.cxx
2012-08-29 17:42:06 +02:00
Max Kellermann
25740d27bf
Stats: stats_print() returns void
2012-08-29 17:41:26 +02:00
Max Kellermann
fb0a52a34a
decoder/mad, output_thread: add gcc_unlikely()
2012-08-29 17:41:22 +02:00
Max Kellermann
c852970cf6
Makefile.am: distribute DatabaseCommands.hxx
2012-08-29 17:41:22 +02:00
Max Kellermann
def21cc87e
Merge branch 'v0.17.x'
...
Conflicts:
src/queue_save.c
2012-08-25 10:28:33 +02:00
Max Kellermann
488c1eb87b
test/test_queue_priority: fix SIGABRT
2012-08-25 10:24:34 +02:00
Max Kellermann
acaa725478
playlist/cue: map "PERFORMER" to "artist" or "album artist"
...
Implements Mantis ticket 0003549.
2012-08-25 09:56:14 +02:00
Max Kellermann
f351550534
player_thread: disable cross-fading in "single" mode
...
This commit reimplements the core of the "single" mode. Instead of
doing the detection in the playlist code from the outside, it is moved
to the player thread, which gets a new option called "border_pause".
It will now pause playback exactly at the beginning of the new song,
making the feature more reliable.
Now that the player thread knows what will happen, it can suppress
cross-fading.
Fixes mantis tickets 0003055 and 0003166.
2012-08-25 09:38:41 +02:00
Max Kellermann
e8df7e8da5
Database*: fix nullptr dereference when no database is configured
2012-08-22 21:40:20 +02:00
Max Kellermann
af4252bc80
fd_util: make C++ safe
2012-08-22 15:51:56 +02:00
Max Kellermann
695ffedef9
Makefile.am: swap libdb_plugins.a and -lmpdclient order
...
With some linkers, it is important to specify the static library
first, and then libmpdclient. Fixes linker failures.
2012-08-22 13:54:31 +02:00
Max Kellermann
66ecf39efe
command: make "single" a bool
2012-08-21 19:38:08 +02:00
Max Kellermann
5ad21d7e98
queue_save: save song priorities
2012-08-21 19:17:14 +02:00
Max Kellermann
1c3e03837c
configure.ac: set VERSION_MINOR to 18
...
Updates the WIN32 version number for the upcoming 0.18 release.
2012-08-21 18:42:48 +02:00
Max Kellermann
7968fa3779
ProxyDatabase: implement GetSong()
2012-08-16 00:29:25 +02:00
Max Kellermann
31009bb1f6
ProxyDatabase: clear libmpdclient errors in CheckError()
...
Auto-recover from soft errors.
2012-08-16 00:29:25 +02:00
Max Kellermann
3b8532f3fb
DatabasePlugin: add method ReturnSong()
...
Allow the plugin to allocate the GetSong() return value.
2012-08-16 00:04:14 +02:00
Max Kellermann
f45616e5f6
Merge branch 'v0.17.x'
2012-08-16 00:04:03 +02:00
Max Kellermann
ef5125f8f4
playlist_print: fix memory leak
2012-08-16 00:01:01 +02:00
Max Kellermann
bf2e07074b
playlist_song: pass const song to _check_load_song()
2012-08-16 00:00:50 +02:00
Max Kellermann
20695ef369
playlist_song: fix user-after-free bug
2012-08-16 00:00:21 +02:00
Max Kellermann
e391f4b17b
ProxyDatabase: pass "detached" objects to visitors
...
Fixes wrong object URIs with duplicate base names.
2012-08-15 23:10:59 +02:00
Max Kellermann
2bd344549b
queue: duplicate all song objects
...
Make sure the queue "owns" all song objects, so nobody else can free
them.
2012-08-15 23:10:00 +02:00
Max Kellermann
e96779de48
player_control: duplicate the song object
...
Make sure the player "owns" the next_song object, so nobody else can
free it.
2012-08-15 23:09:22 +02:00
Max Kellermann
eb54337c40
decoder_control: duplicate the song object
...
Make sure the decoder "owns" the song object, so nobody else can free
it.
2012-08-15 23:08:39 +02:00
Max Kellermann
916a020173
Song: add function song_dup_detached()
...
Initial support for "detached" songs that come from the database, but
are private copies.
2012-08-15 23:07:24 +02:00
Max Kellermann
c2e4fe983d
Song: add function song_equals()
...
decoder_is_current_song() now recognizes different instances of the
same physical song.
2012-08-15 23:06:59 +02:00
Max Kellermann
81e898375b
Song: move trivial inline functions up
2012-08-15 23:06:48 +02:00
Max Kellermann
3c0dea811d
DatabasePlugin: add method GetStats()
...
Optimize the ProxyDatabase by invoking "stats" on the peer, instead of
visiting all songs.
2012-08-15 23:05:08 +02:00
Max Kellermann
a6ac0f8965
DatabasePlugin: add method VisitUniqueTags()
...
Optimize the ProxyDatabase by invoking "list" on the peer, instead of
visiting all songs.
2012-08-15 23:02:27 +02:00
Max Kellermann
4e1eb03287
ProxyDatabase: obey visitor return values
2012-08-15 23:02:00 +02:00
Max Kellermann
fcf0f8291d
ProxyDatabasePlugin: add OO wrapper for mpd_entity
...
Let the C++ compiler take care for freeing the objects safely.
2012-08-15 23:01:08 +02:00
Max Kellermann
0ed71fa027
ProxyDatabasePlugin: move tag table to the global name space
2012-08-15 23:00:44 +02:00
Max Kellermann
affe21f7c1
db_visitor: delete obsolete header
2012-08-15 22:57:20 +02:00
Max Kellermann
9facf7897d
DatabasePrint: remove bogus "nonnull" attributes
2012-08-15 22:56:24 +02:00
Max Kellermann
8422402c39
Merge branch 'v0.17.x'
...
Conflicts:
src/player_thread.c
2012-08-15 22:56:11 +02:00
Max Kellermann
9374e0f445
player_thread: add local variable "start_ms"
...
Just in case "song" becomes invalid at some point.
2012-08-15 22:51:48 +02:00
Max Kellermann
19ed233118
playlist: fix unprotected player_control access
2012-08-15 22:47:08 +02:00
Max Kellermann
faa4fff4dd
filter/volume: include cleanup
2012-08-15 22:45:03 +02:00
Max Kellermann
2276e7677b
mapper: fix potential crash in file permission check
2012-08-15 22:44:13 +02:00