aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | decoder/ogg_common: pass decoder to _type_detect()Max Kellermann2012-09-044-5/+5
| | | | | | | | Allow the function to be cancelled.
* | decoder/ogg_common: apply coding styleMax Kellermann2012-09-042-6/+9
| |
* | decoder/_ogg_common: rename to ogg_common.cMax Kellermann2012-09-047-9/+8
| |
* | Merge branch 'v0.17.x'Max Kellermann2012-09-045-9/+27
|\|
| * decoder/_ogg_common: fix buffer size checkMax Kellermann2012-09-041-1/+1
| | | | | | | | Fixes potential access to uninitialised memory.
| * decoder/_ogg_common: simplify the large "if" expressionMax Kellermann2012-09-041-6/+8
| |
| * mpd.conf(5): Use the correct default value for max_playlist_lengthWieland Hoffmann2012-09-031-1/+1
| |
| * AudioCompress: abort on out-of-memoryMax Kellermann2012-09-031-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.
| * update_walk: fix unsafe readlink() usageMax Kellermann2012-09-032-2/+11
| |
* | SongFilter: convert to a C++ classMax Kellermann2012-08-2920-241/+210
| |
* | playlist_print: rename to PlaylistPrint.cxxMax Kellermann2012-08-296-11/+13
| |
* | DatabaseSelection: add method Match()Max Kellermann2012-08-294-3/+34
| |
* | locate: rename to SongFilter.cxxMax Kellermann2012-08-299-16/+18
| |
* | queue_print: rename to QueuePrint.cxxMax Kellermann2012-08-292-2/+5
| |
* | dbUtils.h: eliminate this headerMax Kellermann2012-08-296-61/+5
| |
* | command: move code to *Commands.cxxMax Kellermann2012-08-2914-1289/+1854
| |
* | Stats: stats_print() returns voidMax Kellermann2012-08-293-5/+6
| |
* | decoder/mad, output_thread: add gcc_unlikely()Max Kellermann2012-08-292-3/+3
| |
* | Makefile.am: distribute DatabaseCommands.hxxMax Kellermann2012-08-291-1/+1
| |
* | Merge branch 'v0.17.x'Max Kellermann2012-08-2512-17/+89
|\| | | | | | | | | Conflicts: src/queue_save.c
| * playlist/cue: map "PERFORMER" to "artist" or "album artist"Max Kellermann2012-08-252-1/+13
| | | | | | | | Implements Mantis ticket 0003549.
| * player_thread: disable cross-fading in "single" modeMax Kellermann2012-08-255-8/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * command: make "single" a boolMax Kellermann2012-08-211-1/+1
| |
| * queue_save: save song prioritiesMax Kellermann2012-08-216-7/+27
| |
* | test/test_queue_priority: fix SIGABRTMax Kellermann2012-08-252-1/+15
| |
* | Database*: fix nullptr dereference when no database is configuredMax Kellermann2012-08-225-8/+48
| |
* | fd_util: make C++ safeMax Kellermann2012-08-221-0/+8
| |
* | Makefile.am: swap libdb_plugins.a and -lmpdclient orderMax Kellermann2012-08-221-2/+2
| | | | | | | | | | With some linkers, it is important to specify the static library first, and then libmpdclient. Fixes linker failures.
* | configure.ac: set VERSION_MINOR to 18Max Kellermann2012-08-211-1/+1
| | | | | | | | Updates the WIN32 version number for the upcoming 0.18 release.
* | ProxyDatabase: implement GetSong()Max Kellermann2012-08-161-3/+26
| |
* | ProxyDatabase: clear libmpdclient errors in CheckError()Max Kellermann2012-08-161-1/+2
| | | | | | | | Auto-recover from soft errors.
* | DatabasePlugin: add method ReturnSong()Max Kellermann2012-08-1613-14/+85
| | | | | | | | Allow the plugin to allocate the GetSong() return value.
* | Merge branch 'v0.17.x'Max Kellermann2012-08-163-2/+9
|\|
| * playlist_print: fix memory leakMax Kellermann2012-08-162-0/+4
| |
| * playlist_song: pass const song to _check_load_song()Max Kellermann2012-08-161-1/+1
| |
| * playlist_song: fix user-after-free bugMax Kellermann2012-08-162-1/+4
| |
* | ProxyDatabase: pass "detached" objects to visitorsMax Kellermann2012-08-153-40/+49
| | | | | | | | Fixes wrong object URIs with duplicate base names.
* | queue: duplicate all song objectsMax Kellermann2012-08-153-5/+40
| | | | | | | | | | Make sure the queue "owns" all song objects, so nobody else can free them.
* | player_control: duplicate the song objectMax Kellermann2012-08-155-7/+58
| | | | | | | | | | Make sure the player "owns" the next_song object, so nobody else can free it.
* | decoder_control: duplicate the song objectMax Kellermann2012-08-153-3/+15
| | | | | | | | | | Make sure the decoder "owns" the song object, so nobody else can free it.
* | Song: add function song_dup_detached()Max Kellermann2012-08-153-1/+81
| | | | | | | | | | Initial support for "detached" songs that come from the database, but are private copies.
* | Song: add function song_equals()Max Kellermann2012-08-153-1/+37
| | | | | | | | | | decoder_is_current_song() now recognizes different instances of the same physical song.
* | Song: move trivial inline functions upMax Kellermann2012-08-151-12/+12
| |
* | DatabasePlugin: add method GetStats()Max Kellermann2012-08-157-63/+148
| | | | | | | | | | Optimize the ProxyDatabase by invoking "stats" on the peer, instead of visiting all songs.
* | DatabasePlugin: add method VisitUniqueTags()Max Kellermann2012-08-159-53/+216
| | | | | | | | | | Optimize the ProxyDatabase by invoking "list" on the peer, instead of visiting all songs.
* | ProxyDatabase: obey visitor return valuesMax Kellermann2012-08-151-8/+11
| |
* | ProxyDatabasePlugin: add OO wrapper for mpd_entityMax Kellermann2012-08-151-11/+32
| | | | | | | | Let the C++ compiler take care for freeing the objects safely.
* | ProxyDatabasePlugin: move tag table to the global name spaceMax Kellermann2012-08-151-25/+25
| |
* | db_visitor: delete obsolete headerMax Kellermann2012-08-156-61/+0
| |
* | DatabasePrint: remove bogus "nonnull" attributesMax Kellermann2012-08-151-2/+2
| |