Commit Graph

103 Commits

Author SHA1 Message Date
Max Kellermann e12140cfce pcm_resample: choose the fallback resampler at runtime
Even if libsamplerate support is enabled, compile the fallback
resampler.  When the user specifies the option
"samplerate_converter=internal", it is chosen in favor of
libsamplerate.  This may help users with a weak FPU who don't want to
compile a custom MPD from source, because the fallback resampler does
not use floating point operations.
2009-03-14 15:26:36 +01:00
Avuton Olrich 90ee488597 mixer: Add "disabled" mixer_type. 2009-02-26 09:13:07 -08:00
Max Kellermann 145ab84d51 sticker: new library for storing dynamic information about songs
"Stickers" are pieces of information attached to existing MPD objects
(e.g. song files, directories, albums).  Clients can create arbitrary
name/value pairs.  MPD itself does not assume any special meaning in
them.
2009-01-19 18:51:57 +01:00
Max Kellermann 1f0dfb4407 mapper: make the music_directory optional
Without a music_directory, MPD is an excellent streaming client.
2009-01-18 16:56:07 +01:00
Max Kellermann 9933144de7 mapper: make the playlist directory optional 2009-01-18 16:15:45 +01:00
Jérôme Quelin ae5517b0b3 allow ~/.mpd/mpd.conf as alternate config file
mpd uses some additional files to work, such as pid_file, state_file,
db_file, etc. when running mpd as non-root user, it is often that those
files end in ~/.mpd

in that case, we end up with 2 entries in a user's home, .mpdconf and
.mpd - which clutters homedirs.

this patch allows ~/.mpd/mpd.conf as an alternative to ~/.mpdconf,
allowing for a cleaner homedir
2009-01-14 14:31:55 +01:00
Max Kellermann ecb20c5f7e mixer: renamed mix_* options to mixer_*
There is no reason to use the shortcut "mix" instead of "mixer".
2009-01-01 18:36:47 +01:00
Viliam Mateicka 9a70c4d06d Moving mixers to audio outputs 2008-12-31 16:46:41 +01:00
Max Kellermann c01aa53e6a log: support syslog()
Allow logging to syslog if log_file is configured to "syslog".
2008-12-28 19:48:53 +01:00
Max Kellermann 8dc92ad284 log: deprecated "error_file" option
Removed the "error_file" option.  There is only one log file now.  If
a user wants to see only the errors, he should configure a log_level.
2008-12-28 19:48:52 +01:00
Max Kellermann 3b2a752d0e Merge branch 'http_buffer_remove' of git://git.musicpd.org/avuton/mpd 2008-12-21 19:40:06 +01:00
Avuton Olrich e75e40085f Remove obsolete http_buffer* stuff that went away with the new curl backend. 2008-12-20 22:16:02 -08:00
Max Kellermann a6e981c08d doc: clarify "user" setting (starting as root / unprivileged)
The "user" option does not work if MPD is started by an unprivileged
user.
2008-12-20 17:37:12 +01:00
Max Kellermann f5bbb2b819 man: document Unix domain socket configuration in the manual
Additionally, add an example in mpdconf.example.
2008-12-16 21:31:52 +01:00
Avuton Olrich a25b8acd82 update: default to follow all symlinks
MPD 0.13 and older followed all symbolic links.  Although this can be
a security problem (as it has always been), 0.14 should offer the same
default behaviour as 0.13.
2008-12-08 10:01:20 +01:00
Raphaël Rigo 5b089f85fd update: added options which control symlink behaviour
The configuration options "follow_outside_symlinks" and
"follow_inside_symlinks" let the user control whether MPD should
follow symbolic links in the music directory.

[mk: converted variables to "bool"; moved configuration to
update_global_init()]
2008-11-28 10:57:39 +01:00
Max Kellermann 0031eaaff5 pulse: clarify the meaning of multiple server names
The manual page suggests that you can specify multiple servers, but it
did not clarify what that means.
2008-10-15 07:49:32 +02:00
Max Kellermann 86782faa18 alsa: optionally disable resampling and others
Added mpd.conf options for disabling automatic resamling, sample
format and channel conversion.  This way, users may choose to override
ALSA's automatic resampling, and use libsamplerate instead.
2008-10-14 17:21:49 +02:00
Max Kellermann 79a1811c11 shout: fix manual page typo
A ".TP" was missing, and broke the manual page's layout.
2008-10-14 17:21:47 +02:00
Aaron McEwan 2139d8bba8 shout: make the protocol configurable
Added configuration parameter "protocol" which lets the user choose
from 3 shout protocols.  This adds support for real shoutcast servers.
2008-10-12 12:14:51 +02:00
Eric Wollesen 4970c42c86 shout: introduce pluggable encoder API
I've perhaps gone a bit overboard, but here's the current rundown:

Both Ogg and MP3 use the "shout" audio output plugin.  The shout audio
output plugin itself has two new plugins, one for the Ogg encoder,
and another for the MP3 (LAME) encoder.

Configuration for an Ogg stream doesn't change.  For an MP3 stream,
configuration is the same as Ogg, with two exceptions.  First, you must
specify the optional "encoding" parameter, which should be set to "mp3".
See mpd.conf(5) for more details.  Second, the "quality" parameter is
reversed for LAME, such that 1 is high quality for LAME, whereas 10 is
high quality for Ogg.

I've decomposed the code so that all libshout related operations
are done in audioOutput_shout.c, all Ogg specific functions are in
audioOutput_shout_ogg.c, and of course then all LAME specific functions
are handled in audioOutput_shout_mp3.c.

To develop encoder plugins for the shout audio output plugin, I basically
just mimicked the plugin system used for audio outputs.  This might be
overkill, but hopefully if anyone ever wants to support some other sort
of stream, like maybe AAC, FLAC, or WMA (hey it could happen), they will
hopefully be all set.

The Ogg encoder is slightly less optimal under this configuration.
It used to send shout data directly out of its ogg_page structures.  Now,
in the interest of encapsulation, it copies the data from its ogg_page
structures into a buffer provided by the shout audio output plugin (see
audioOutput_shout_ogg.c, line 77.)  I suspect the performance impact
is negligible.

As for metadata, I'm pretty sure they'll both work.  I wrote up a test
scaffold that would create a fake tag, and tell the plugin to send it
out to the stream every few seconds.  It seemed to work fine.  Of course,
if something does break, I'll be glad to fix it.

Lastly, I've renamed lots of things into snake_case, in keeping with
normalperson's wishes in that regard.

[mk: moved the MP3 patch after this one.  Splitted this patch into
several parts; the others were already applied before this one.  Fixed
a bunch GCC warnings and wrong whitespace modifications.  Made it
compile with mpd-mk by adapting to its prototypes]
2008-09-12 16:04:40 +02:00
J. Alexander Treuman b496239e76 Adding FIFO audio output. This is pretty much identical to the old one,
except that it now uses a timer for throttling.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6621 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-13 14:15:30 +00:00
J. Alexander Treuman 6f2be47270 Make the shout timeout configurable. The default is still 2 seconds.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6556 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-12 18:28:57 +00:00
J. Alexander Treuman 652c2fc8b0 Adding ChangeLog entry for zeroconf_enabled, adding Zeroconf section to
mpdconf.example, and updating the zeroconf_* docs.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6474 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-03 20:09:12 +00:00
Patrik Weiskircher d67737bc64 allow zeroconf to be disabled.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6467 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-03 18:08:51 +00:00
J. Alexander Treuman b9b39849d8 Increasing default buffer_before_play from 0% to 10%.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6290 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-27 13:12:02 +00:00
J. Alexander Treuman 4c8d69f058 Updating the audio_buffer_size and buffer_before_play entries in
mpd.conf.5.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6239 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-23 14:10:58 +00:00
J. Alexander Treuman bad8c806f1 Adding JACK documentation to mpd.conf.5.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6231 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-23 12:07:40 +00:00
J. Alexander Treuman bee795f2c1 mpd.conf.5 claimed the default alsa device was "hw:0,0", but it's actually
"default".

git-svn-id: https://svn.musicpd.org/mpd/trunk@5943 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-25 18:22:23 +00:00
J. Alexander Treuman 745fa0c284 Noting the defaults for use_mmap and gapless_mp3_playback in mpd.conf.5.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5895 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-09 13:01:18 +00:00
J. Alexander Treuman b1a93e8641 Updating metadata_to_use docs to be more consistent with tagtypes command.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5793 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-31 20:40:57 +00:00
J. Alexander Treuman fded9b20be Reordering parameters in mpd.conf.5 to match the order in mpdconf.example.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5788 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-31 16:04:04 +00:00
J. Alexander Treuman 945b8e66ab Being a picky little bitch about those doc updates.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5787 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-31 15:47:48 +00:00
Avuton Olrich 59342df8f3 Doc updates for 0.13.0
git-svn-id: https://svn.musicpd.org/mpd/trunk@5786 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-31 15:20:39 +00:00
J. Alexander Treuman 9fdaee5571 Tidying up libsamplerate documentation in the mpd.conf man page.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5335 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-13 22:46:04 +00:00
Avuton Olrich 79ef8ba248 Add libsamplerate support, old resampling is still an option, but this sounds much better for those who need it and don't want to use pulseaudio. Reviewed by shank/avuton.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5316 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-02 03:51:07 +00:00
J. Alexander Treuman 202ae2270d Adding documentation for gapless_mp3_playback config option.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5158 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-23 18:56:23 +00:00
J. Alexander Treuman 0c33afabe9 replaygain -> ReplayGain in docs
git-svn-id: https://svn.musicpd.org/mpd/trunk@4767 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-12 22:28:58 +00:00
J. Alexander Treuman ac7dd43ad8 Note that mpd will scan for an audio output if none is specified.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4766 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-12 21:52:49 +00:00
J. Alexander Treuman 806acdd4f4 Rearrange mpd.conf.5 and conf.[ch] to use the more logical ordering of config parameters that the new (yet to be committed) mpdconf.example will use.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4715 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-28 20:47:50 +00:00
J. Alexander Treuman 6018a1b4f8 Note that default for metadata_to_use doesn't include comments
git-svn-id: https://svn.musicpd.org/mpd/trunk@4714 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-28 20:10:40 +00:00
J. Alexander Treuman 26a6ba7a77 Add id3v1_encoding to the mpd.conf man page.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4713 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-28 19:34:31 +00:00
J. Alexander Treuman 904eaf361c ves the spelling nazi strikes again
git-svn-id: https://svn.musicpd.org/mpd/trunk@4602 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-08-08 18:55:29 +00:00
J. Alexander Treuman a741ee8638 Document which parameters may be specified multiple times in mpd.conf.5
git-svn-id: https://svn.musicpd.org/mpd/trunk@4478 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-27 19:23:37 +00:00
J. Alexander Treuman 8dcc3d31ac Remove the fifo plugin. It's currently useless for the average user, and making it more presentable isn't something I'm willing to do before 0.12. It will likely be added back after 0.12, along with some very experimental stuff to make it more usable.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4472 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-26 20:51:50 +00:00
J. Alexander Treuman cf90f8194f Adding on the fly volume normalization support. Code originally from mplayer, ported by syscrash, cleaned up by avuton, and further cleaned up by me (jat).
git-svn-id: https://svn.musicpd.org/mpd/trunk@4424 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 00:53:37 +00:00
J. Alexander Treuman c4d1344f8c Adding fifo output plugin
git-svn-id: https://svn.musicpd.org/mpd/trunk@4423 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 00:25:46 +00:00
J. Alexander Treuman db07f98398 Split audio output parameters documentation in mpd.conf.5 into output-specific sections, since we have a lot of output-specific parameters now
git-svn-id: https://svn.musicpd.org/mpd/trunk@4367 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 17:32:59 +00:00
Eric Wong 8224e837ef audioOutput_alsa: add use_mmap, period_time, buffer_time options
ALSA support in libao supports configuring of these variables,
and some hardware setups may benefit from having these things
as tweakable.

git-svn-id: https://svn.musicpd.org/mpd/trunk@4363 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 16:52:19 +00:00
J. Alexander Treuman 9cf92ca99e Link to PulseAudio wiki in mpd.conf.5 for more details on the format of the server string
git-svn-id: https://svn.musicpd.org/mpd/trunk@4318 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13 19:35:49 +00:00
J. Alexander Treuman 09698f917c Add PulseAudio support
git-svn-id: https://svn.musicpd.org/mpd/trunk@4316 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13 19:03:49 +00:00
J. Alexander Treuman 9b06d2cd4a Made pid_file an optional config parameter.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4250 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-05 20:05:24 +00:00
J. Alexander Treuman ffd580dd19 New man page for mpd.conf. Thanks to qball and eleusis for input.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4248 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-04 20:05:30 +00:00