Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2012-08-25 | playlist/cue: map "PERFORMER" to "artist" or "album artist" | Max Kellermann | 1 | -1/+11 | |
Implements Mantis ticket 0003549. | |||||
2012-08-25 | player_thread: disable cross-fading in "single" mode | Max Kellermann | 4 | -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-22 | Database*: fix nullptr dereference when no database is configured | Max Kellermann | 5 | -8/+48 | |
2012-08-22 | fd_util: make C++ safe | Max Kellermann | 1 | -0/+8 | |
2012-08-21 | command: make "single" a bool | Max Kellermann | 1 | -1/+1 | |
2012-08-21 | queue_save: save song priorities | Max Kellermann | 4 | -6/+25 | |
2012-08-16 | ProxyDatabase: implement GetSong() | Max Kellermann | 1 | -3/+26 | |
2012-08-16 | ProxyDatabase: clear libmpdclient errors in CheckError() | Max Kellermann | 1 | -1/+2 | |
Auto-recover from soft errors. | |||||
2012-08-16 | DatabasePlugin: add method ReturnSong() | Max Kellermann | 13 | -14/+85 | |
Allow the plugin to allocate the GetSong() return value. | |||||
2012-08-16 | playlist_print: fix memory leak | Max Kellermann | 1 | -0/+3 | |
2012-08-16 | playlist_song: pass const song to _check_load_song() | Max Kellermann | 1 | -1/+1 | |
2012-08-16 | playlist_song: fix user-after-free bug | Max Kellermann | 1 | -1/+3 | |
2012-08-15 | ProxyDatabase: pass "detached" objects to visitors | Max Kellermann | 3 | -40/+49 | |
Fixes wrong object URIs with duplicate base names. | |||||
2012-08-15 | queue: duplicate all song objects | Max Kellermann | 1 | -5/+6 | |
Make sure the queue "owns" all song objects, so nobody else can free them. | |||||
2012-08-15 | player_control: duplicate the song object | Max Kellermann | 5 | -7/+58 | |
Make sure the player "owns" the next_song object, so nobody else can free it. | |||||
2012-08-15 | decoder_control: duplicate the song object | Max Kellermann | 3 | -3/+15 | |
Make sure the decoder "owns" the song object, so nobody else can free it. | |||||
2012-08-15 | Song: add function song_dup_detached() | Max Kellermann | 3 | -1/+81 | |
Initial support for "detached" songs that come from the database, but are private copies. | |||||
2012-08-15 | Song: add function song_equals() | Max Kellermann | 3 | -1/+37 | |
decoder_is_current_song() now recognizes different instances of the same physical song. | |||||
2012-08-15 | Song: move trivial inline functions up | Max Kellermann | 1 | -12/+12 | |
2012-08-15 | DatabasePlugin: add method GetStats() | Max Kellermann | 7 | -63/+148 | |
Optimize the ProxyDatabase by invoking "stats" on the peer, instead of visiting all songs. | |||||
2012-08-15 | DatabasePlugin: add method VisitUniqueTags() | Max Kellermann | 8 | -53/+215 | |
Optimize the ProxyDatabase by invoking "list" on the peer, instead of visiting all songs. | |||||
2012-08-15 | ProxyDatabase: obey visitor return values | Max Kellermann | 1 | -8/+11 | |
2012-08-15 | ProxyDatabasePlugin: add OO wrapper for mpd_entity | Max Kellermann | 1 | -11/+32 | |
Let the C++ compiler take care for freeing the objects safely. | |||||
2012-08-15 | ProxyDatabasePlugin: move tag table to the global name space | Max Kellermann | 1 | -25/+25 | |
2012-08-15 | db_visitor: delete obsolete header | Max Kellermann | 5 | -60/+0 | |
2012-08-15 | DatabasePrint: remove bogus "nonnull" attributes | Max Kellermann | 1 | -2/+2 | |
2012-08-15 | player_thread: add local variable "start_ms" | Max Kellermann | 1 | -1/+3 | |
Just in case "song" becomes invalid at some point. | |||||
2012-08-15 | playlist: fix unprotected player_control access | Max Kellermann | 1 | -1/+5 | |
2012-08-15 | filter/volume: include cleanup | Max Kellermann | 2 | -2/+0 | |
2012-08-15 | mapper: fix potential crash in file permission check | Max Kellermann | 1 | -3/+3 | |
2012-08-15 | decoder_control: add function _is_current_song() | Max Kellermann | 3 | -15/+42 | |
Replaces _current_song(). | |||||
2012-08-15 | decoder_control: add assertion to dc_get_error() | Max Kellermann | 1 | -0/+1 | |
2012-08-15 | decoder_thread: create GError for mapper failure | Max Kellermann | 1 | -0/+3 | |
Fixes crash. | |||||
2012-08-15 | decoder/fluidsynth: add "sample_rate" setting | Max Kellermann | 1 | -6/+14 | |
2012-08-15 | decoder/fluidsynth: add "soundfont" setting | Max Kellermann | 1 | -6/+7 | |
Replaces the old global "soundfont" which never worked. | |||||
2012-08-15 | configure.ac: auto-detect libfluidsynth | Max Kellermann | 1 | -9/+0 | |
Now that the libfluidsynth API was sanitized, we can enable the plugin automatically if libfluidsynth is installed. | |||||
2012-08-15 | decoder/fluidsynth: stop playback at end of file | Max Kellermann | 1 | -5/+4 | |
Use libfluidsynth's new function fluid_player_get_status(). | |||||
2012-08-15 | decoder/fluidsynth: don't duplicate path | Max Kellermann | 1 | -6/+1 | |
The libfluidsynth now accepts const strings. | |||||
2012-08-15 | decoder/fluidsynth: check if file is really a MIDI | Max Kellermann | 1 | -4/+1 | |
Use fluid_is_midifile() to verify the file format. | |||||
2012-08-15 | decoder/fluidsynth: remove throttle (requires libfluidsynth 1.1) | Max Kellermann | 1 | -17/+1 | |
The libfluidsynth API is now sane, and does not require real-time decoding. | |||||
2012-08-14 | log: store duplicated path string | Max Kellermann | 3 | -31/+32 | |
Don't free the string right after calling log_init_file(). Add a new function log_deinit() that frees the string on shutdown. This fixes cycling the log file after SIGHUP (Mantis ticket 0003524). | |||||
2012-08-14 | output/jack: implement method delay() | Max Kellermann | 1 | -4/+11 | |
Eliminate the g_usleep() call. | |||||
2012-08-14 | output/pulse: implement method delay() | Max Kellermann | 1 | -7/+21 | |
Reduce command latency while paused. | |||||
2012-08-14 | output/pulse: simplify _wait_stream() | Max Kellermann | 1 | -55/+16 | |
One large loop and only one pa_stream_get_state() call. | |||||
2012-08-14 | output/httpd: move delay from _pause() to _delay() | Max Kellermann | 1 | -1/+5 | |
2012-08-14 | output/httpd: fix throttling bug after resuming playback | Max Kellermann | 1 | -0/+8 | |
Reset the timer when paused and no client is connected. This fixes Mantis ticket 0003527. | |||||
2012-08-14 | output/httpd: move code to _has_clients() | Max Kellermann | 1 | -11/+27 | |
2012-08-14 | timer: use monotonic clock if available | Max Kellermann | 3 | -13/+140 | |
2012-08-14 | input/ffmpeg: remove fallback AV_VERSION_INT definition | Max Kellermann | 1 | -4/+1 | |
This is part of libavutil. | |||||
2012-08-14 | mapper: fix non-UTF8 music directory name | Max Kellermann | 4 | -37/+73 | |
Duplicate the music_dir variable: one encoded in UTF-8, and another one using the configured filesystem character set. This fixes an ancient MPD bug. |