aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-09-04decoder/_ogg_common: rename to ogg_common.cMax Kellermann6-5/+5
2012-09-04decoder/_ogg_common: fix buffer size checkMax Kellermann1-1/+1
Fixes potential access to uninitialised memory.
2012-09-04decoder/_ogg_common: simplify the large "if" expressionMax Kellermann1-6/+8
2012-09-03AudioCompress: abort on out-of-memoryMax Kellermann1-0/+7
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-03update_walk: fix unsafe readlink() usageMax Kellermann1-2/+10
2012-08-29SongFilter: convert to a C++ classMax Kellermann19-239/+209
2012-08-29playlist_print: rename to PlaylistPrint.cxxMax Kellermann5-9/+12
2012-08-29DatabaseSelection: add method Match()Max Kellermann3-2/+32
2012-08-29locate: rename to SongFilter.cxxMax Kellermann8-13/+16
2012-08-29queue_print: rename to QueuePrint.cxxMax Kellermann1-1/+4
2012-08-29dbUtils.h: eliminate this headerMax Kellermann5-60/+5
2012-08-29command: move code to *Commands.cxxMax Kellermann13-1289/+1848
2012-08-29Stats: stats_print() returns voidMax Kellermann3-5/+6
2012-08-29decoder/mad, output_thread: add gcc_unlikely()Max Kellermann2-3/+3
2012-08-25playlist/cue: map "PERFORMER" to "artist" or "album artist"Max Kellermann1-1/+11
Implements Mantis ticket 0003549.
2012-08-25player_thread: disable cross-fading in "single" modeMax Kellermann4-8/+47
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-22Database*: fix nullptr dereference when no database is configuredMax Kellermann5-8/+48
2012-08-22fd_util: make C++ safeMax Kellermann1-0/+8
2012-08-21command: make "single" a boolMax Kellermann1-1/+1
2012-08-21queue_save: save song prioritiesMax Kellermann4-6/+25
2012-08-16ProxyDatabase: implement GetSong()Max Kellermann1-3/+26
2012-08-16ProxyDatabase: clear libmpdclient errors in CheckError()Max Kellermann1-1/+2
Auto-recover from soft errors.
2012-08-16DatabasePlugin: add method ReturnSong()Max Kellermann13-14/+85
Allow the plugin to allocate the GetSong() return value.
2012-08-16playlist_print: fix memory leakMax Kellermann1-0/+3
2012-08-16playlist_song: pass const song to _check_load_song()Max Kellermann1-1/+1
2012-08-16playlist_song: fix user-after-free bugMax Kellermann1-1/+3
2012-08-15ProxyDatabase: pass "detached" objects to visitorsMax Kellermann3-40/+49
Fixes wrong object URIs with duplicate base names.
2012-08-15queue: duplicate all song objectsMax Kellermann1-5/+6
Make sure the queue "owns" all song objects, so nobody else can free them.
2012-08-15player_control: duplicate the song objectMax Kellermann5-7/+58
Make sure the player "owns" the next_song object, so nobody else can free it.
2012-08-15decoder_control: duplicate the song objectMax Kellermann3-3/+15
Make sure the decoder "owns" the song object, so nobody else can free it.
2012-08-15Song: add function song_dup_detached()Max Kellermann3-1/+81
Initial support for "detached" songs that come from the database, but are private copies.
2012-08-15Song: add function song_equals()Max Kellermann3-1/+37
decoder_is_current_song() now recognizes different instances of the same physical song.
2012-08-15Song: move trivial inline functions upMax Kellermann1-12/+12
2012-08-15DatabasePlugin: add method GetStats()Max Kellermann7-63/+148
Optimize the ProxyDatabase by invoking "stats" on the peer, instead of visiting all songs.
2012-08-15DatabasePlugin: add method VisitUniqueTags()Max Kellermann8-53/+215
Optimize the ProxyDatabase by invoking "list" on the peer, instead of visiting all songs.
2012-08-15ProxyDatabase: obey visitor return valuesMax Kellermann1-8/+11
2012-08-15ProxyDatabasePlugin: add OO wrapper for mpd_entityMax Kellermann1-11/+32
Let the C++ compiler take care for freeing the objects safely.
2012-08-15ProxyDatabasePlugin: move tag table to the global name spaceMax Kellermann1-25/+25
2012-08-15db_visitor: delete obsolete headerMax Kellermann5-60/+0
2012-08-15DatabasePrint: remove bogus "nonnull" attributesMax Kellermann1-2/+2
2012-08-15player_thread: add local variable "start_ms"Max Kellermann1-1/+3
Just in case "song" becomes invalid at some point.
2012-08-15playlist: fix unprotected player_control accessMax Kellermann1-1/+5
2012-08-15filter/volume: include cleanupMax Kellermann2-2/+0
2012-08-15mapper: fix potential crash in file permission checkMax Kellermann1-3/+3
2012-08-15decoder_control: add function _is_current_song()Max Kellermann3-15/+42
Replaces _current_song().
2012-08-15decoder_control: add assertion to dc_get_error()Max Kellermann1-0/+1
2012-08-15decoder_thread: create GError for mapper failureMax Kellermann1-0/+3
Fixes crash.
2012-08-15decoder/fluidsynth: add "sample_rate" settingMax Kellermann1-6/+14
2012-08-15decoder/fluidsynth: add "soundfont" settingMax Kellermann1-6/+7
Replaces the old global "soundfont" which never worked.
2012-08-15configure.ac: auto-detect libfluidsynthMax Kellermann1-9/+0
Now that the libfluidsynth API was sanitized, we can enable the plugin automatically if libfluidsynth is installed.