Commit Graph

109 Commits

Author SHA1 Message Date
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