Commit Graph

133 Commits

Author SHA1 Message Date
Max Kellermann 4a0d4a02a6 output/recorder: new output plugin for recording radio streams
The recorder plugin writes audio played by MPD to a file.  This may be
useful for recording radio streams.

This implementation is incomplete, because support for tags is
missing, and MPD should be able to record each track to a different
file.
2009-08-24 18:57:06 +02:00
Michal Nazarewicz d718a8b59d daemon: added "group" configuration option
The "group" configuration option is similar to "user" as it
sets user set what group MPD shall run as.  With "user"
option, MPD changed GID to the GID of the user, however,
more control could be desired.

Moreover, the patch changes the way of checking whether no
setuid(2)/setgid(2) is required -- previously user names
were compered, now UID and GIDs are compered (ie. the one we
already have (getuid(2)/getgid(2)) with the one we want to
change to).
2009-07-19 08:17:55 +02:00
Max Kellermann 0275690b5c output: use the software mixer plugin
Do all the software volume stuff inside each output thread, not in the
player thread.  This allows one software mixer per output device, and
also allows the user to configure the mixer type (hardware or
software) for each audio output.

This moves the global "mixer_type" setting into the "audio_output"
section, deprecating the "mixer_enabled" flag.
2009-07-06 22:00:50 +02:00
Daniel Kahn Gillmor 05dfdfdb39 alsa_mixer: add mixer_index option
This allows you to select controls with duplicate names.
2009-04-28 09:15:48 +02:00
Max Kellermann 11bcd7f013 curl: moved proxy settings to "input" block
The old global settings "http_proxy_host", "http_proxy_port",
"http_proxy_user" and "http_proxy_password" continue to work.
2009-04-25 13:35:04 +02:00
Avuton Olrich 1f4f6e6df2 exconf: Fix spacing 2009-03-30 19:21:42 +02:00
Avuton Olrich bfc25cfd3b exconf: update mixer documentation. 2009-03-29 21:40:08 +02:00
Avuton Olrich 12b6ca8832 exconf: The usual defaults updates.
Ths usual defaults updates, this includes clarifications, cleanups, updates
and fixes.
2009-03-29 21:40:08 +02:00
Avuton Olrich b964480767 exconf: Comment formerly required files. 2009-03-29 21:40:08 +02:00
Avuton Olrich 3836dcf59b exconf: Merge required files with optional. 2009-03-29 21:40:01 +02:00
Jeffrey Middleton 3980245d1d httpd: correct the encoder name in the example mpd.conf
It's called "vorbis", not "ogg".
2009-03-17 06:51:31 +01:00
Max Kellermann e62580db0b httpd: new output plugin to replace "shout"
Let's get rid of the "shout" plugin, and the awfully complicated
icecast daemon setup!  MPD can do better if it's doing the HTTP server
stuff on its own.  This new plugin has several advantages:

- easier to set up - only one daemon, no password settings, no mount
  settings
- MPD controls the encoder and thus already knows the packet
  boundaries - icecast has to parse them
- MPD doesn't bother to encode data while nobody is listening

This implementation is very experimental (no header parsing, ignores
request URI, no icy-metadata, ...).  It should be able to suport
several encoders in parallel in the future (with different bit rates,
different codec, ...), to make MPD the perfect streaming server.  Once
MPD gets multi-player support, we can even mount several different
radio stations on one server.
2009-03-15 03:32:34 +01:00
Michal Nazarewicz cabbf7ab4a pipe: new audio output plugin which runs a command
[mk: adapted to new output plugin API]
2009-02-28 16:11:59 +01:00
Avuton Olrich 90ee488597 mixer: Add "disabled" mixer_type. 2009-02-26 09:13:07 -08: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
Avuton Olrich fbc573d03a Fix a few problems with the huge mpdconf update. There's alot of shift here, mostly due to word wraps. This, also, improves on uniformity and clarity of the document. 2008-12-24 15:02:01 -08:00
Max Kellermann bc31d7a0ee Merge branch 'master' of git://git.musicpd.org/avuton/mpd
Conflicts:

	doc/mpdconf.example
2008-12-21 19:39:08 +01:00
Avuton Olrich 04561b604b Huge mpdconf update.
Over time mpdconf has evolved and has been maintained and contributed to by many different folks at different
times. Try to give it some unity. Attempt to clear up some language and make things crystal clear. Add more
examples. Use tabs when it makes sense. Make better borders. Remove obsolete options. Try to put more defaults
when it makes sense.
2008-12-20 22:09:06 -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
Alam Arias f61bb4c8cf update mpdconf.example that shout ouput encoding and protocol settings are optional 2008-10-31 13:54:46 +01:00
Alam Arias 0c43f78b11 replace tabs with space in shout audio_output example 2008-10-31 12:20:49 +01: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 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 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 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 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 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 ee8b70b595 Typo.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4293 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-30 17:05:27 +00:00
J. Alexander Treuman 18306dfbd3 Add back the id3v1_encoding option. Now it really will convert id3v1 only.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4282 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-21 20:52:51 +00:00
Qball Cow cc679ab624 fix title->track in config file replaygain example
git-svn-id: https://svn.musicpd.org/mpd/trunk@3827 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-01-14 22:57:06 +00:00
Eric Wong 1bfa9173dd remove unnecessary apostrophe
git-svn-id: https://svn.musicpd.org/mpd/trunk@3410 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-07-31 11:35:03 +00:00
Warren Dukes ead82e4d5a change the default max_output_buffer_size from 2048 to 8192
git-svn-id: https://svn.musicpd.org/mpd/trunk@3226 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-04-27 15:54:26 +00:00
Warren Dukes 44f802a74d update config file
git-svn-id: https://svn.musicpd.org/mpd/trunk@3060 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-12 04:06:16 +00:00
Warren Dukes 4c7c6ca4a6 *) add support for pid files
*) we now require pid_file to specified in the config
*) new prefered method for killing mpd: mpd --kill
*) cleaned up some nastiness with decode_pid handling

git-svn-id: https://svn.musicpd.org/mpd/trunk@3042 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-09 03:13:33 +00:00
Warren Dukes 586a21688f config file change! now 'port' is optional and 'db_file' is required!
also, should have better error reporting when failing to open playlist or
music directory's, or writing the db, etc

git-svn-id: https://svn.musicpd.org/mpd/trunk@3027 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-06 19:00:58 +00:00
Warren Dukes d60c37f1f9 sample config file example
git-svn-id: https://svn.musicpd.org/mpd/trunk@3026 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-06 04:27:19 +00:00
Warren Dukes 3bdee55217 added composer, performer, and comment metadata items
git-svn-id: https://svn.musicpd.org/mpd/trunk@3022 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-05 22:24:10 +00:00
Warren Dukes c5d27d8eaa merge changes from metadata-rewrite branch
git-svn-id: https://svn.musicpd.org/mpd/trunk@2589 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-10 21:58:27 +00:00
Warren Dukes 902cfe2523 add "genre" and "description" to shout config parameters
git-svn-id: https://svn.musicpd.org/mpd/trunk@2557 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-09 13:04:20 +00:00
Warren Dukes b7c7f6e692 update mpdconf.example
git-svn-id: https://svn.musicpd.org/mpd/trunk@2527 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-06 16:34:20 +00:00
Warren Dukes 657bec26b1 update default mpdconf.example to use default ao output
git-svn-id: https://svn.musicpd.org/mpd/trunk@2407 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-29 18:28:06 +00:00
Warren Dukes 58dbe4bb5d merge shank-rewrite-config changes
git-svn-id: https://svn.musicpd.org/mpd/trunk@2375 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-28 05:14:55 +00:00
Avuton Olrich 9b2529360d Added ao_driver options to help the user pick what they need, also told to refer to libao docs for more info
git-svn-id: https://svn.musicpd.org/mpd/trunk@2350 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-26 17:40:57 +00:00
Warren Dukes d9c8994319 add shout* stuff to exampe mpd config file
git-svn-id: https://svn.musicpd.org/mpd/trunk@2348 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-26 03:47:31 +00:00
Warren Dukes 233afb7c07 1) bumb version to 0.11.3
2) Update changelog for 0.11.3
3) Merge avuton's mpdconf.example changes

git-svn-id: https://svn.musicpd.org/mpd/trunk@1875 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-07-18 12:48:17 +00:00
Warren Dukes 5550baa4af Update doc's and Changelog for 0.11.1
git-svn-id: https://svn.musicpd.org/mpd/trunk@1626 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-23 11:52:25 +00:00
Warren Dukes b7e0d34b9e update mpd manpage and sample config file with replaygain and
audio_output_format options

git-svn-id: https://svn.musicpd.org/mpd/trunk@1453 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-12 21:27:15 +00:00
Warren Dukes 59db1f9f95 change default port to 6600 (just a doc change)
git-svn-id: https://svn.musicpd.org/mpd/trunk@1291 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-02 01:48:26 +00:00
Warren Dukes b1d12ba0f6 make default max playlist length be 16384. bumped up from 4096
git-svn-id: https://svn.musicpd.org/mpd/trunk@602 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-04-04 07:08:00 +00:00
Warren Dukes d294bc3e57 git-svn-id: https://svn.musicpd.org/mpd/trunk@441 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 01:06:28 +00:00
Warren Dukes 115f9903a4 git-svn-id: https://svn.musicpd.org/mpd/trunk@440 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 01:01:06 +00:00
Warren Dukes 85e4825731 git-svn-id: https://svn.musicpd.org/mpd/trunk@439 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:58:47 +00:00
Warren Dukes 5a9bf01221 git-svn-id: https://svn.musicpd.org/mpd/trunk@437 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:53:55 +00:00
Warren Dukes 6314487982 git-svn-id: https://svn.musicpd.org/mpd/trunk@435 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:48:19 +00:00
Warren Dukes 9dcc46e082 git-svn-id: https://svn.musicpd.org/mpd/trunk@434 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:45:43 +00:00
Warren Dukes 7a5a21f4d2 git-svn-id: https://svn.musicpd.org/mpd/trunk@433 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:42:47 +00:00
Warren Dukes 653c0929e4 git-svn-id: https://svn.musicpd.org/mpd/trunk@432 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:42:03 +00:00
Warren Dukes ef2f9c673f git-svn-id: https://svn.musicpd.org/mpd/trunk@431 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:39:45 +00:00
Warren Dukes dc17446615 update with better documentation
git-svn-id: https://svn.musicpd.org/mpd/trunk@430 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-03-24 00:37:54 +00:00
Warren Dukes 1a50453541 password, not passwd, in examples
git-svn-id: https://svn.musicpd.org/mpd/trunk@170 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-03-02 20:33:12 +00:00
Warren Dukes 5262a06659 update changelog for 0.10.0
update add command info to include dir support
update mpd.1 and conf example to include ~ support

git-svn-id: https://svn.musicpd.org/mpd/trunk@64 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-26 03:36:04 +00:00
Warren Dukes 8a8f1f2d18 update config file example
git-svn-id: https://svn.musicpd.org/mpd/trunk@28 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-24 16:38:46 +00:00
Warren Dukes 0058dbc4e8 updated for 0.10.0
git-svn-id: https://svn.musicpd.org/mpd/trunk@19 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-24 06:14:16 +00:00
Warren Dukes d35747a40c import from SF CVS
git-svn-id: https://svn.musicpd.org/mpd/trunk@1 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-23 23:41:20 +00:00