aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
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.
2012-08-15decoder/fluidsynth: stop playback at end of fileMax Kellermann1-5/+4
Use libfluidsynth's new function fluid_player_get_status().
2012-08-15decoder/fluidsynth: don't duplicate pathMax Kellermann1-6/+1
The libfluidsynth now accepts const strings.
2012-08-15decoder/fluidsynth: check if file is really a MIDIMax Kellermann1-4/+1
Use fluid_is_midifile() to verify the file format.
2012-08-15decoder/fluidsynth: remove throttle (requires libfluidsynth 1.1)Max Kellermann1-17/+1
The libfluidsynth API is now sane, and does not require real-time decoding.
2012-08-14log: store duplicated path stringMax Kellermann3-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-14output/jack: implement method delay()Max Kellermann1-4/+11
Eliminate the g_usleep() call.
2012-08-14output/pulse: implement method delay()Max Kellermann1-7/+21
Reduce command latency while paused.
2012-08-14output/pulse: simplify _wait_stream()Max Kellermann1-55/+16
One large loop and only one pa_stream_get_state() call.
2012-08-14output/httpd: move delay from _pause() to _delay()Max Kellermann1-1/+5
2012-08-14output/httpd: fix throttling bug after resuming playbackMax Kellermann1-0/+8
Reset the timer when paused and no client is connected. This fixes Mantis ticket 0003527.
2012-08-14output/httpd: move code to _has_clients()Max Kellermann1-11/+27
2012-08-14timer: use monotonic clock if availableMax Kellermann3-13/+140
2012-08-14input/ffmpeg: remove fallback AV_VERSION_INT definitionMax Kellermann1-4/+1
This is part of libavutil.
2012-08-14mapper: fix non-UTF8 music directory nameMax Kellermann4-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.
2012-08-14playlist_song: use map_to_relative_path()Max Kellermann1-4/+4
2012-08-14playlist_song: improve const-correctnessMax Kellermann1-5/+4
2012-08-14playlist_song: move code to playlist_check_load_song()Max Kellermann1-23/+23
2012-08-14input_stream, main: remove obsolete GLib version checksMax Kellermann3-8/+0
MPD requires GLib 2.16.
2012-08-13client_file: remove pure attribute from client_allow_file().Anton Khirnov1-1/+0
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-09Directory: move code to directory_allocate()Max Kellermann1-8/+18
2012-08-08player_control: add GError attributeMax Kellermann4-68/+56
Rewrite of the pc_get_error_message() function, now using a GError object instead of the complicated "errored_song" attribute.
2012-08-08output_all: add basic GError supportMax Kellermann4-11/+74
2012-08-08decoder_control: add GError attributeMax Kellermann4-1/+106
2012-08-08player_control: rename attribute "error" to "error_type"Max Kellermann4-12/+14
2012-08-08player_control: rename player_error enum valuesMax Kellermann4-16/+24
2012-08-08player_control: remove unused enum player_error valuesMax Kellermann3-19/+1
2012-08-08player_control: inline trivial functionsMax Kellermann2-40/+25
2012-08-08song: use C++ compilerMax Kellermann2-8/+16
2012-08-08tag_pool: use GStaticMutexMax Kellermann4-32/+22
Eliminates explicit global initialisation.
2012-08-08song: include cleanupMax Kellermann1-1/+0
2012-08-08directory: use gcc.h macros, not GLibMax Kellermann1-6/+7
2012-08-08conf: add a "database" blockMax Kellermann2-6/+19
The new block overrides the "db_file" setting, and allows configuring any database plugin.
2012-08-08DatabaseGlue: look up the database pluginMax Kellermann1-1/+11
No more hard-coded "simple" plugin.
2012-08-08DatabaseGlue: pass block to db_init()Max Kellermann3-13/+9
Let the caller take care for legacy conversion.