Commit Graph

171 Commits

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