Commit Graph

4731 Commits

Author SHA1 Message Date
Max Kellermann
a05d0d5d94 audio: removed function finishAudioConfig()
There's no point in clearing the audio format before exiting.
2009-10-22 17:12:32 +02:00
Max Kellermann
0107ef2aad main: put #ifdef inside winsock_init()
This way, the function call in the main() function does not need
another pair of #ifdef/#endif.
2009-10-22 17:12:28 +02:00
SF Markus Elfring
a153f21315 permission: improve const-correctness 2009-10-22 17:11:39 +02:00
Max Kellermann
294aaf7a90 playlist: new ASX playlist plugin
Based on the XSPF playlist plugin.
2009-10-21 23:39:47 +02:00
Max Kellermann
2024763d2a playlist/xspf: ignore text in root, playlist, tracklist
Added a missing "break".
2009-10-21 23:27:05 +02:00
Max Kellermann
9526fdbe73 audio_format: wildcards allowed in audio_format configuration
An asterisk means that this attribute should not be enforced, and
stays whatever it used to be.  This way, some configuration values
work like masks.
2009-10-21 23:01:04 +02:00
Max Kellermann
a5c4566fa1 audio_parser: moved code to separate functions 2009-10-21 23:01:03 +02:00
Max Kellermann
2c05430002 output: convert config_audio_format to an audio_format struct
This allows more sophisticated audio format selection.
2009-10-21 22:37:28 +02:00
Max Kellermann
643650dba7 audio_parser: renamed parameter "error" to "error_r"
It's a double pointer.
2009-10-21 22:22:23 +02:00
Max Kellermann
8cb6854da4 audio: removed config_param.value NULL check
The value is always non-NULL.
2009-10-21 22:22:20 +02:00
Max Kellermann
83844ec239 output/jack: make ringbuffer_size a size_t 2009-10-21 21:39:26 +02:00
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
1a6ed81193 output_thread: check again if output is open on PAUSE
Basically the same as the 0.15.5 patch "check again if output is open
on CANCEL".  Same race condition, same fix.
2009-10-21 08:07:07 +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
b2b300b635 Modify version string to post-release version 0.15.6~git 2009-10-18 09:50:17 -07: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