Max Kellermann
1bfd25be35
output/jack: connect to server on MPD startup
...
.. 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-21 21:37:11 +02:00
Max Kellermann
cee216f2dc
output/jack: removed the empty "cancel" method
...
JACK doesn't need cancel() because it won't do much anyway. Buffers
are small.
2009-10-21 21:01:00 +02:00
Max Kellermann
27c246e8d9
output/jack: renamed parameter "error" to "error_r"
...
It's a double pointer.
2009-10-21 20:13:39 +02:00
Max Kellermann
1ff39476eb
output/jack: implement the "pause" method
...
Don't disconnect from JACK during pause.
2009-10-21 18:33:05 +02:00
Max Kellermann
acfd9a73bc
output/jack: renamed source to jack_output_plugin.c
2009-10-21 18:33:01 +02:00
Max Kellermann
b479a264b6
pulse: code rewrite using the asynchronous libpulse API
...
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-21 10:30:42 +02:00
Max Kellermann
ac32f36e4e
mixer_plugin: pass audio_output pointer to mixer_plugin.init()
...
This allows the mixer object to access its associated audio output
object.
2009-10-21 09:48:41 +02:00
Max Kellermann
b8ccc885c8
volume: added PIPE_EVENT_MIXER
...
Flush the hardware volume cache, and send the MIXER idle event. This
allows mixer plugins to detect volume changes.
2009-10-21 09:48:37 +02:00
Max Kellermann
4e2fb3fb89
mixer_plugin: use GError for error handling
2009-10-20 22:10:56 +02:00
Max Kellermann
9cd2129eeb
output_init: renamed parameter "error" to "error_r"
...
It's a double pointer.
2009-10-20 21:26:28 +02:00
Max Kellermann
097e200a97
mixer/{oss,alsa}: renamed the mixer source files
2009-10-20 21:23:05 +02:00
Max Kellermann
bd28caed3c
output/pulse: renamed context to "Music Player Daemon"
...
This looks nicer in the PulseAudio manager than just "mpd".
2009-10-20 21:07:38 +02:00
Max Kellermann
bc4266bef8
pulse: renamed source files
2009-10-20 21:05:11 +02:00
Max Kellermann
bc629c8a3e
pulse: announce "media.role=music"
...
This allows PulseAudio to do some advanced tweaks.
2009-10-20 21:02:10 +02:00
Max Kellermann
2e9e34aa40
main: call g_set_application_name()
...
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-20 21:02:00 +02:00
Max Kellermann
c953d6409d
mapper, update, ...: use g_build_filename(), G_DIR_SEPARATOR, ...
...
Try to be as portable as possible, use GLib path name functions and
macros.
2009-10-20 21:01:55 +02:00
Max Kellermann
447e4d3583
Merged release 0.15.5 from branch 'v0.15.x'
...
Conflicts:
NEWS
configure.ac
src/decoder/flac_plugin.c
src/update.c
2009-10-18 19:02:43 +02:00
Avuton Olrich
7df1a2c77d
mpd version 0.15.5
2009-10-18 09:50:16 -07:00
Serge Ziryukin
33bf6c0978
decoder/vorbis: avoid unused symbol warnings from vorbisfile.h
...
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-18 18:35:02 +02:00
Max Kellermann
d69e0ab53a
command: omitting the range end is possible
...
When the range end is missing, then the maximum possible value is
assumed.
2009-10-18 01:24:49 +02:00
Max Kellermann
e7c267db4f
command: use GLib limit macros in check_range()
...
These are portable and don't require limits.h.
2009-10-18 01:24:45 +02:00
Max Kellermann
6a5e7c118b
doc/protocol.xml: documented range parameter in "delete"
2009-10-18 01:24:22 +02:00
Max Kellermann
bddb6b4273
command: allow changing replay gain mode on-the-fly
...
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-17 22:58:19 +02:00
Max Kellermann
7ec32704f9
replay_gain: moved mode parser to replay_gain_set_mode_string()
2009-10-17 22:40:50 +02:00
Max Kellermann
8d217567c6
replay_gain: added setting "replaygain off"
...
There was no setting for disabling replay gain. It was off when the
"replaygain" setting was not there.
2009-10-17 21:38:45 +02:00
Max Kellermann
a17d814381
replay_gain: read configuration even when replay gain is disabled
...
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-17 21:38:32 +02:00
Max Kellermann
5554633ab8
update: obey .mpdignore files
2009-10-16 18:11:43 +02:00
Max Kellermann
8cd845b79e
doc/user.xml: added chapter "Using MPD"
2009-10-16 18:10:36 +02:00
Max Kellermann
06da91a73b
doc/user.xml: added playlist plugin reference
2009-10-16 17:51:33 +02:00
Max Kellermann
d09e19c3dc
decoder/flac: fixed two memory leaks in the CUE tag loader
...
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-16 17:39:17 +02:00
Max Kellermann
8ae5bc4d79
update: fixed memory leak during container scan
...
The return value of map_directory_child_fs() must be freed.
2009-10-16 17:38:15 +02:00
Max Kellermann
d1ba27d820
update: song_file_new() cannot fail
...
Removed the NULL check. If that NULL check was correct, that would
have been a memory leak (vtrack).
2009-10-16 17:37:54 +02:00
Max Kellermann
2c908fde1b
output_thread: check again if output is open on CANCEL
...
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-16 15:09:22 +02:00
A. Klitzing
792010ba32
notify_queue: use g_timeout_add_seconds()
2009-10-15 21:22:39 +02:00
Max Kellermann
b69246c646
player_thread: don't call audio_output_all_check() if paused
...
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-15 20:47:00 +02:00
Qball Cow
f4ea9b7393
Add PLS Parser
2009-10-15 00:08:06 +02:00
Max Kellermann
1ff101c568
input/lastfm: removed obsolete last.fm input plugin
...
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-13 19:43:56 +02:00
Max Kellermann
a93ffdd1be
command: "load" supports remote playlists (m3u, xspf, lastfm://)
...
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-13 18:53:33 +02:00
Max Kellermann
319149254d
main: initialize playlist plugins
2009-10-13 18:01:11 +02:00
Max Kellermann
f7ce4f6239
song: renamed attribute "url" to "uri"
2009-10-13 18:01:06 +02:00
Max Kellermann
28442cce9f
queue: no CamelCase
...
Renamed idToPosition.
2009-10-13 16:43:06 +02:00
Max Kellermann
f122e6d456
playlist: added plugin for last.fm radio
...
This plugin will replace the last.fm input plugin, once the playlist
API is integrated into MPD.
2009-10-13 16:32:10 +02:00
Max Kellermann
8391ac4cc8
playlist: added XSPF plugin
2009-10-13 16:31:07 +02:00
Max Kellermann
898d885ae2
test/dump_playlist: try playlist_list_open_uri() first
2009-10-13 16:25:37 +02:00
Max Kellermann
a61d0c9567
Merge branch 'v0.15.x'
2009-10-13 16:25:17 +02:00
Max Kellermann
6037beabe1
input/curl: fixed endless loop during buffering
...
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-13 16:24:28 +02:00
Max Kellermann
eea4edd92c
test/dump_playlist: parse a configuration file
2009-10-13 16:20:21 +02:00
Max Kellermann
cb331ae436
playlist_list: pass configuration to playlist plugins
...
This patch completes the configuration support.
2009-10-13 16:19:21 +02:00
Max Kellermann
767e27c8f0
playlist/m3u: added plugin name
2009-10-13 16:13:36 +02:00
Max Kellermann
e78370e050
playlist_list: initialize the "playlist" variable
...
Prevent access on uninitialized variable if the plugin list is empty.
2009-10-13 16:13:33 +02:00