aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-10-21audio_parser: renamed parameter "error" to "error_r"Max Kellermann2-10/+12
It's a double pointer.
2009-10-21audio: removed config_param.value NULL checkMax Kellermann1-1/+1
The value is always non-NULL.
2009-10-21output/jack: make ringbuffer_size a size_tMax Kellermann1-1/+1
2009-10-21output/jack: connect to server on MPD startupMax Kellermann1-69/+119
.. and keep up the JACK connection while MPD runs. Allocate the ring buffers on the first open, and free them at MPD exit.
2009-10-21output/jack: removed the empty "cancel" methodMax Kellermann1-6/+0
JACK doesn't need cancel() because it won't do much anyway. Buffers are small.
2009-10-21output/jack: renamed parameter "error" to "error_r"Max Kellermann1-12/+12
It's a double pointer.
2009-10-21output/jack: implement the "pause" methodMax Kellermann1-0/+41
Don't disconnect from JACK during pause.
2009-10-21output/jack: renamed source to jack_output_plugin.cMax Kellermann2-4/+4
2009-10-21pulse: code rewrite using the asynchronous libpulse APIMax Kellermann3-282/+765
This is a complete rewrite of the PulseAudio output plugin. It uses the asynchronous API, which gives us more control over everything. Additionally, it connects to the PulseAudio server on startup, and keeps this connection up while MPD runs. During pause, instead of closing the stream, it enables "cork".
2009-10-21mixer_plugin: pass audio_output pointer to mixer_plugin.init()Max Kellermann8-12/+20
This allows the mixer object to access its associated audio output object.
2009-10-21volume: added PIPE_EVENT_MIXERMax Kellermann2-0/+19
Flush the hardware volume cache, and send the MIXER idle event. This allows mixer plugins to detect volume changes.
2009-10-20mixer_plugin: use GError for error handlingMax Kellermann10-79/+189
2009-10-20output_init: renamed parameter "error" to "error_r"Max Kellermann2-8/+8
It's a double pointer.
2009-10-20mixer/{oss,alsa}: renamed the mixer source filesMax Kellermann5-12/+14
2009-10-20output/pulse: renamed context to "Music Player Daemon"Max Kellermann1-1/+1
This looks nicer in the PulseAudio manager than just "mpd".
2009-10-20pulse: renamed source filesMax Kellermann4-8/+10
2009-10-20pulse: announce "media.role=music"Max Kellermann1-0/+2
This allows PulseAudio to do some advanced tweaks.
2009-10-20main: call g_set_application_name()Max Kellermann1-0/+2
I'm not sure about the advantages of calling g_set_application_name(), because I don't use a task manager (except for ps and kill), but it sure doesn't hurt.
2009-10-20mapper, update, ...: use g_build_filename(), G_DIR_SEPARATOR, ...Max Kellermann7-11/+10
Try to be as portable as possible, use GLib path name functions and macros.
2009-10-18decoder/vorbis: avoid unused symbol warnings from vorbisfile.hSerge Ziryukin1-0/+1
svn r13289 of libvorbis introduced static callbacks (like OV_CALLBACKS_DEFAULT) defined in "vorbisfile.h" header. First released version with this change is libvorbis-1.2.2. In libversion-1.2.3 OV_EXCLUDE_STATIC_CALLBACKS define was added to avoid warnings about unused static callbacks. Information on the OV_EXCLUDE_STATIC_CALLBACKS can be found in http://svn.xiph.org/trunk/vorbis/CHANGES.
2009-10-18command: omitting the range end is possibleMax Kellermann1-1/+4
When the range end is missing, then the maximum possible value is assumed.
2009-10-18command: use GLib limit macros in check_range()Max Kellermann1-10/+10
These are portable and don't require limits.h.
2009-10-17command: allow changing replay gain mode on-the-flyMax Kellermann3-1/+63
The new command "replay_gain_mode" allows the user to switch the replay gain mode on-the-fly. No more mpd.conf editing.
2009-10-17replay_gain: moved mode parser to replay_gain_set_mode_string()Max Kellermann1-6/+19
2009-10-17replay_gain: added setting "replaygain off"Max Kellermann1-1/+1
There was no setting for disabling replay gain. It was off when the "replaygain" setting was not there.
2009-10-17replay_gain: read configuration even when replay gain is disabledMax Kellermann1-4/+3
It will be possible to enable replay gain at runtime even when it is disabled in the configuration file. This patch enables the preamp settings in this case.
2009-10-16update: obey .mpdignore filesMax Kellermann3-2/+202
2009-10-16decoder/flac: fixed two memory leaks in the CUE tag loaderMax Kellermann1-2/+3
Don't initialize "vc" and "cs" with FLAC__metadata_object_new(); that value is overwritten by FLAC__metadata_get_tags() and FLAC__metadata_get_cuesheet().
2009-10-16update: fixed memory leak during container scanMax Kellermann1-3/+6
The return value of map_directory_child_fs() must be freed.
2009-10-16update: song_file_new() cannot failMax Kellermann1-3/+0
Removed the NULL check. If that NULL check was correct, that would have been a memory leak (vtrack).
2009-10-16output_thread: check again if output is open on CANCELMax Kellermann1-1/+2
When the player thread unpauses, it sends CANCEL to the output thread, after having checked that the output is still open. Problem is when the output thread closes the device before it can process the CANCEL command - race condition. This patch adds another "open" check inside the output thread.
2009-10-15notify_queue: use g_timeout_add_seconds()A. Klitzing1-2/+2
2009-10-15player_thread: don't call audio_output_all_check() if pausedMax Kellermann1-1/+2
When the audio output fails to open, MPD pauses playback, but doesn't reset player.play_audio_format. This leads to an assertion failure in audio_output_all_check() on the next REFRESH command, because no audio output is open.
2009-10-15Add PLS ParserQball Cow3-0/+242
2009-10-13input/lastfm: removed obsolete last.fm input pluginMax Kellermann4-502/+0
This has been replaced by the last.fm playlist plugin. The input plugin has never worked well, and was just a playground to experiment with the last.fm radio protocol.
2009-10-13command: "load" supports remote playlists (m3u, xspf, lastfm://)Max Kellermann3-0/+147
This patch integrates the playlist plugin API to the MPD core. We'll be able to do much more in the future with that API, that's just the beginning.
2009-10-13main: initialize playlist pluginsMax Kellermann1-0/+3
2009-10-13song: renamed attribute "url" to "uri"Max Kellermann12-44/+43
2009-10-13queue: no CamelCaseMax Kellermann2-17/+17
Renamed idToPosition.
2009-10-13playlist: added plugin for last.fm radioMax Kellermann3-0/+330
This plugin will replace the last.fm input plugin, once the playlist API is integrated into MPD.
2009-10-13playlist: added XSPF pluginMax Kellermann3-0/+358
2009-10-13input/curl: fixed endless loop during bufferingMax Kellermann1-1/+1
When the connection is lost while buffering, the CURL input plugin may enter an endless loop, because it does not check the EOF condition. This patch makes fill_buffer() return success only if there's at least one buffer, which is enough of a check.x
2009-10-13playlist_list: pass configuration to playlist pluginsMax Kellermann3-2/+42
This patch completes the configuration support.
2009-10-13playlist/m3u: added plugin nameMax Kellermann1-0/+2
2009-10-13playlist_list: initialize the "playlist" variableMax Kellermann1-1/+1
Prevent access on uninitialized variable if the plugin list is empty.
2009-10-13tag: removed the "_ITEM_" suffix from the enum namesMax Kellermann23-166/+161
2009-10-13state_file: use g_timeout_add_seconds()Max Kellermann1-2/+3
2009-10-13configure.ac: require GLib 2.16Max Kellermann5-29/+0
Accidently, MPD has been using several GLib 2.16 functions for a while, and nobody noticed yet. To simplify the code base, let's bump the minimum GLib version for MPD to 2.16. That version is old enough, and it's reasonable to expect users to have it.
2009-10-12playlist_plugin: new plugin API for playlist parsersMax Kellermann5-0/+451
Based on this API, we will add parsers for EXTM3U, PLS, ASX, last.fm radio and others. There is no integration into the MPD core yet. Right now, we have a command line test program. This is work in progress.
2009-10-12text_input_stream: input_stream wrapper for reading text filesMax Kellermann2-0/+140