Commit Graph

255 Commits

Author SHA1 Message Date
Daniel Kahn Gillmor fd09a3cf1f clean up documentation of mixer options. 2009-04-28 17:21:26 +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
Max Kellermann bd014483c2 doc: added input plugin documentation 2009-04-25 13:22:09 +02:00
Max Kellermann 8b5d6d17ff doc: added decoder documentation 2009-04-25 13:21:45 +02:00
Max Kellermann de95caa346 doc: added more audio output documentation 2009-04-25 13:21:36 +02:00
Max Kellermann 57cf984aae doc: added "music directory" section 2009-04-10 09:13:59 +02:00
Jeffrey Middleton 539e96bfcc doc: xml typo fix
A <varlistentry> was accidentally added before the
beginning of the intended <variablelist>
2009-04-06 21:22:46 -05:00
Max Kellermann e720b5bdf8 command: added command "sticker find"
This command allows clients to search for stickers with a specified
name.
2009-04-01 18:53:02 +02:00
Avuton Olrich 1f4f6e6df2 exconf: Fix spacing 2009-03-30 19:21:42 +02:00
Romain Bignon e81f683a18 implemented the 'consume' mode
Consume mode removes each song played
2009-03-30 17:37:55 +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
Romain Bignon e7519829ac renamed smartstop to single and changed behavior
When single mode is enabled, after current song it stops playback,
or it replay same song if repeat mode is activated.
2009-03-27 15:28:49 +01:00
Romain Bignon e46722b2eb implements the smartstop feature
The smartstop feature is a way to tell mpd to stop playing after
current song.
This patche provides:
- 'state' command returns 'smartstop' state (1 or 0)
- 'smartstop' can activate or not the smartstop state
- when song is terminated, mpd stops playing and smartstop is set to 0
2009-03-27 14:58:31 +01:00
Jeffrey Middleton 13208bf5a7 queue/playlist/command: move range
The move command now accepts a range for the first argument, in the same
form as other range commands, e.g. move 15:17 3.  The first song in the
range is placed at the destination position. Note that as with other
range commands, the range is inclusive on the left only; this example
would move only songs 15 and 16, not 17.

[mk: fixed signed/unsigned warnings; use G_MAXUINT instead of
UINT_MAX]
2009-03-26 22:02:56 +01:00
Jeffrey Middleton 7684c446c6 doc: updated ranged playlist commands
Clearly specified the format (song1:song2) for range argumentst, and
added the range capability of the playlistinfo command.
2009-03-26 14:57:17 -05:00
Jeffrey Middleton 272a7d081b doc: Fixed moveid description
moveid uses an index, not a songid, for its second argument
2009-03-26 14:57:17 -05: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 bba127a392 solaris: new audio output plugin for Solaris /dev/audio 2009-03-16 09:55:10 +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
Max Kellermann 24bc277b69 doc: added "audio outputs" section to the user's manual 2009-03-14 16:01:56 +01:00
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
Max Kellermann 869f440f87 doc: added installation manual to the User's Manual
Very small start..
2009-03-12 17:12:53 +01:00
Max Kellermann 0cb8e7f2cb doc: added skeleton for the user manual 2009-03-12 17:06:48 +01:00
Eric Wollesen b8ebb748c9 Add sticker list command.
[mk: merged memory leak patch; fixed indentation (tabs); fixed
documentation typo]
2009-03-03 07:49:23 +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 3b1a9aeca0 Makefile.am: no recursive makefiles
Recursive Makefiles are inefficient and error prone (no proper way to
declare dependencies).  Since there's no disadvantage in having one
single Makefile, let's do it.
2009-02-23 10:04:51 +01:00
Romain Bignon 9fe459f625 added the shufflerange command
This command shuffles a range of songs.
2009-02-13 10:43:30 +01:00
Max Kellermann beaf860a17 doc: use $(DESTDIR)
Forgot the $(DESTDIR) prefix in the install-data-local target.
2009-02-13 09:50:42 +01:00
Max Kellermann ef64449cb6 doc: generate API documentation with doxygen
When configured with --enable-documentation, use doxygen.
2009-02-13 09:11:22 +01:00
Max Kellermann cd98a72ca6 configure.ac: make DocBook processing optional
Disable the HTML documentation generator by default.  Most users will
pick it from the web site.
2009-02-04 15:25:57 +01:00
Rasmus Steinke 3f2ed33f57 changed sticker names to be lowercase and without spaces 2009-01-26 08:12:10 +01:00
Max Kellermann 7960ad32fc doc: chunk the DocBook HTML output
Create a HTML chunk of each DocBook chapter.  Use the UTF-8 character
set instead of docbook-xsl's ISO-Latin-1 default.
2009-01-25 18:24:42 +01:00
Rasmus Steinke dc7d70ee26 sticker: added guidelines for sticker names 2009-01-19 19:13:55 +01:00
Max Kellermann f9c693e602 command: added "sticker" command
The "sticker" command allows clients to query or manipulate the
sticker database.  This patch implements the sub-commands "get" and
"set"; more will follow soon (enumeration), as well as extended
"lsinfo" / "playlistinfo" versions.
2009-01-19 19:09:49 +01: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 e4a53df7db don't exit after --create-db
Start the daemon after --create-db.  This makes --create-db a flag
which discards the old database and starts with a fresh one.
2009-01-04 20:31:23 +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
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 1b5dd452d1 doc: fix "playlistdelete" documentation
"playlistdelete" takes a song position, not a song id.  There are
no song ids in stored playlists.
2008-12-24 23:54:09 +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
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 e75e40085f Remove obsolete http_buffer* stuff that went away with the new curl backend. 2008-12-20 22:16:02 -08: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
Marc Pavot a27a063691 command: added documentation for idle subscriptions 2008-11-23 18:48:11 +01:00
Max Kellermann fa7a2f0ccc Makefile.am: include protocol.xml in source tarball
Added $(DOCBOOK_FILES) to $(EXTRA_DIST).  Don't include the generated
protocol.html in the tarball.
2008-11-23 18:48:08 +01:00
Monika Brinkert a165ee25e8 doc: merged protocol documentation from the wiki
Over the years, a lot of commands have been added to MPD which were
documented only in the wiki
(http://mpd.wikia.com/wiki/Protocol_Reference).  Merge all missing
commands from there.
2008-11-20 22:20:01 +01:00
Monika Brinkert 63a885026a doc: rephrase descriptions
Correct lots of grammar and spelling errors.  Unify some phrases.
2008-11-20 22:20:01 +01:00
Monika Brinkert 08c7160eee doc: improved XML decorations
Wrapped keywords in DocBook tags where appropriate.
2008-11-20 22:20:01 +01:00
Max Kellermann 90bfe65e54 doc: process protocol.xml with xmlto
Generate and install protocol.html if xmlto is available.
2008-11-20 08:59:55 +01:00
Max Kellermann a3d0e571cc doc: fix "Repeat" typo in protocol.xml
The attribute value must be lower case: <arg rep="repeat">
2008-11-20 08:59:54 +01:00
Max Kellermann a3fd74d0dc doc: converted doc/COMMANDS to DocBook
The goal is to have one structured document which is the authoritative
protocol specification.  The documentation which currently resides in
the wiki will be merged.
2008-11-19 21:16:19 +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
Max Kellermann 20ec1a4810 Makefile.am: install documentation 2008-10-25 21:32:10 +02:00
Max Kellermann 7aca4cd194 stored_playlist: send timestamps
Send last modification timestamps to the client.  This allows the
client to see when another client modifies a stored playlist.
2008-10-22 19:18:39 +02:00
Max Kellermann 9c983c442c command: added command "listplaylists"
"listplaylists" returns a list of all stored playlists.  This command
seems more elaborate than listing them below "lsinfo".
2008-10-22 19:16:56 +02:00
Max Kellermann b2839540d6 Makefile.am: fix automake 1.6 errors
When building with the ancient automake 1.6 version, the following
errors occur:

 Makefile.am:5: invalid variable `doc_DATA'
 doc/Makefile.am:2: invalid variable `doc_DATA'

This patches renames some internal variables.
2008-10-16 15:00:02 +02:00
Max Kellermann cf7ed8c5df idle: client command "noidle" aborts idle 2008-10-15 18:21:57 +02: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 a3e3d2c950 command: added command "idle"
"idle" waits until something noteworthy happens on the server,
e.g. song change, playlist modified, database updated.  This allows
clients to keep up to date without polling.
2008-10-14 22:38:14 +02:00
Richard Brown 50e038d1ef Makefile.am: don't override $(docdir)
Makefile.am sets docdir = $(prefix)/share/doc/$(PACKAGE). This
overrides the setting specified in ./configure --docdir.
2008-10-14 18:32:46 +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 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