| Commit message (Collapse) | Author | Files | Lines |
|
Allow semicolons and single quotes in the stream title. This is not
part of any specification, but found in real life.
|
|
This commit adds the NeighborPlugin API which can be used to detect
nearby file servers that can be used by input plugins. This list of
servers is exported using the new "listneighbors" command. The idle
even "neighbor" notifies interested clients when a new neighbor is
found or an existing one is lost.
There's a lot missing currently: protocol&user documentation, and a
way to "mount" remote servers into the music database. Obviously,
some code from the UPnP database plugin can be moved to a neighbor
plugin.
|
|
|
|
Works around a build failure on Solaris because annoyingly, Solaris
reserves the name "queue". This rename was pending anyway.
|
|
|
|
|
|
|
|
The update thread should not affect the rest of the system, therefore
set "idle" priority, and let it only run when nobody else is using the
resources.
|
|
|
|
This encoding plugin features a fixed-point mp3 encoder,
with faster encoding on architectures without a FPU.
Right now the encoder is limited to stereo and 16 bit depth.
The bitrate and sample rate can be modified in audio_output.
audio_output {
type "httpd"
name "My shine stream"
encoder "shine"
port "8000"
format "44100:16:2"
bitrate "320" # default: 128
}
|
|
Look for symbol "mpc_demux_init" which does not exist in SV7. This
avoids build failures when SV7 was found by configure.ac.
|
|
Send "idle" to the other MPD whenever there's nothing else to do and
forward incoming "idle database" events to all our MPD clients.
|
|
[mk: renamed source files, applied coding style, reduced bloat, using
MPD's threading library, using MPD's error reporting and logging
library and refactoring, fixed lots of bugs]
|
|
|
|
|
|
|
|
|
|
Add the TagStream.cxx library, similar to TagFile.cxx, and use it to
load tags from song files inside archives.
|
|
If we have libyajl 2.0.1 (without a pkg-config file), our configure.ac
would assume this is the libyajl 1.0 API, because the function
yajl_alloc() exists in both. This commit changes the library check to
the function yajl_parse_complete() which was removed in the 2.0 API.
This fixes build failure with libyajl 2.0.1.
|
|
We can assume that initgroups() would be a no-op in that case, however
initgroups() is not allowed for unprivileged users anyway.
|
|
|
|
|
|
Instead of just adding a rectangular random value before shifting back
to the normal scale, use the existing PcmDither library.
|
|
|
|
The "mode" of the second ReplayGainFilter was never set, and thus
replay gain was never applied to the new song during cross-fade.
|
|
|
|
I've created an elementary input plugin that plays sound from the
soundcard, so you can use MPD to listen to anything connected to the
line-in jack, or to Video4Linux FM radio cards that send audio through
the soundcard. There has been a small number of posts here in the
past requesting line-in input, so here is a first, simplistic stab at
it.
The patch adds a new sheme, alsa://, which causes mpd to play data
read directly from a souncdard. It defaults to hw:0,0, but you can
pass any ALSA device name in the URI. So, using mpc for example:
mpc add alsa://
mpc play
will play from device hw:0,0.
To use a diffferent device:
mpc add alsa://hw:1,0
|
|
Some tagging libraries (eg. TagLib) produce that variant.
|
|
This is safer, and works without epoll(). Fixes a build failure with
uClibc, which does not support epoll().
|
|
If the file was recognized by a decoder plugin, accept it - don't
require metadata.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Using pcm_resample_lsr_32() for 24 bit samples works, but may cause 24
bit overflows. This commit makes 24 bit a special case with explicit
clipping.
|
|
|
|
Fixes crash on "stats" in certain configurations.
|
|
|
|
If no music_directory is configured, return nullptr instead of an
empty string. This fixes a crash when db_file is configured without
music_directory.
|
|
Fixes build tests on ia64 and mipsel by testing for endianness in a
more general / portable way.
|
|
The option "--enable-fluidsynth" was documented to be "auto" by
default, when it was really "no".
|
|
|
|
|
|
Not supported by libc++.
|
|
|