Commit Graph

129 Commits

Author SHA1 Message Date
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 Wong
531a44e9e3 COMMANDS: assorted formatting fixes
* spaces => tabs
* long lines wrapped
* trailing whitespace killed
2008-09-28 16:57:35 +02:00
Eric Wong
b26b57b677 COMMANDS: document moveid with negative _to_ argument, too 2008-09-28 16:57:23 +02:00
Eric Wong
63ec066ff8 COMMANDS: document addid with optional position argument 2008-09-28 16:57:17 +02:00
Max Kellermann
35216db8db doc/COMMANDS: document "addid" 2008-09-23 23:59:55 +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
41d65da4bd Adding a null output to mpdconf.example.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6394 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-30 16:58:39 +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
93b96edacc Adding a note to mpdconf.example about increasing buffer_before_play if you
hear skipping when changing songs.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6240 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-23 14:13:46 +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
J. Alexander Treuman
ea3d38e006 Tidying up libsamplerate example in mpdconf.example.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5333 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-13 22:31:47 +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
Jim Ramsay
5d79aced8c Added zeroconf service publishing using avahi
git-svn-id: https://svn.musicpd.org/mpd/trunk@5238 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-11 20:41:17 +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
528429b028 Filling in link to wiki for audio outputs in mpdconf.example
git-svn-id: https://svn.musicpd.org/mpd/trunk@4776 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-15 00:48:46 +00:00
J. Alexander Treuman
98424851d8 I can't believe qball is correcting my typos.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4771 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-13 17:04:14 +00:00
J. Alexander Treuman
6d5950bbe7 Typo found by bensonk.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4769 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-12 23:23:29 +00:00
J. Alexander Treuman
bb5e87bd3d New example config.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4768 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-12 23:16:14 +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
Avuton Olrich
c454122a02 - Add a 'scripts' directory, remove scripts from
docs/ & base directory

- Add a spec file (my first try, please report
problems)



git-svn-id: https://svn.musicpd.org/mpd/trunk@4429 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 22:01:05 +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
Avuton Olrich
00e67be7c9 Add mpd-indent.sh
Add a few new options for indent to try to make
things a bit cleaner

git-svn-id: https://svn.musicpd.org/mpd/trunk@4411 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-20 18:53:56 +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
210ab3b971 Removing MPD-Protocol.xml, since it's old, very incomplete, and will likely never be finished
git-svn-id: https://svn.musicpd.org/mpd/trunk@4360 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 16:00:48 +00:00
J. Alexander Treuman
184bd51ca2 Added a warning to COMMANDS that it's out of date
git-svn-id: https://svn.musicpd.org/mpd/trunk@4359 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 15:58:40 +00:00
J. Alexander Treuman
9768d96954 Fix more shank typos in mpdconf.example. Thanks to ves for reporting them.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4358 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 15:28:51 +00:00
J. Alexander Treuman
2fa7125cce Change shank's email address
git-svn-id: https://svn.musicpd.org/mpd/trunk@4333 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14 19:37:45 +00:00