| Commit message (Collapse) | Author | Files | Lines |
|
Implements Mantis ticket 0003340.
|
|
|
|
Internally the vorbis (non-Tremor) decoder is working in floating
point, and it's not really necessary to cut the output back to 16-bit
if the soundcard or OS supports higher resolution.
The decoder can be trivially modified to bypass its internal
quantisation and produce floating-point output, and a separate
quantisation can be used as appropriate to the platform.
|
|
libvorbisidec and libvorbis export the same symbols, which is a
dangerous thing. Since libvorbisenc depends on libvorbis, this can
get nasty, so let's disable the Vorbis encoder unless the user
explicitly wants it.
|
|
WavPack tags are always APEv2, by definition. Reuse the tag_table
from tag_ape.c, instead of rolling our own.
|
|
Using libopus and libogg.
|
|
|
|
Implements Mantis ticket 0003549.
|
|
This commit reimplements the core of the "single" mode. Instead of
doing the detection in the playlist code from the outside, it is moved
to the player thread, which gets a new option called "border_pause".
It will now pause playback exactly at the beginning of the new song,
making the feature more reliable.
Now that the player thread knows what will happen, it can suppress
cross-fading.
Fixes mantis tickets 0003055 and 0003166.
|
|
|
|
|
|
|
|
|
|
|
|
Use libfluidsynth's new function fluid_player_get_status().
|
|
Use fluid_is_midifile() to verify the file format.
|
|
The libfluidsynth API is now sane, and does not require real-time
decoding.
|
|
Reset the timer when paused and no client is connected.
This fixes Mantis ticket 0003527.
|
|
|
|
Duplicate the music_dir variable: one encoded in UTF-8, and another
one using the configured filesystem character set. This fixes an
ancient MPD bug.
|
|
That function is not pure, it writes to error.
When marked as pure, the compiler is allowed to assume it does not do
anything to error, so it can remain NULL, which would result in an
invalid read in print_error().
|
|
Rewrite of the pc_get_error_message() function, now using a GError
object instead of the complicated "errored_song" attribute.
|
|
|
|
|
|
|
|
Ignore APE tags that have no usable tags, and use the ID3 tag instead.
This is useful when the APE tag only contains replay gain, and the
real tags are stored as ID3. This implements feature request Mantis
#0003521.
|
|
These two strings are common "FILE" types.
|
|
|
|
No, really! This fixes a regression of commit 74617389, which
changed the order of filter plugins.
|
|
|
|
|
|
|
|
config options
|
|
|
|
g_file_test is redefined to be g_file_test_utf8 and thus can't handle
non-ASCII characters. This fix adds simple wrapper (taken from glib)
that fixes encoding and calls g_file_test_utf8. All required inclusions
of glib_compat.h are added as well.
|
|
This plugin is horrible code, I mean it. Last year, I tried hard to
fix it, but I figured would take less time to do a full rewrite.
Given that I don't even have any device that supports RAOP, I can't do
that properly. After 16 months, nobody volunteered for fixing it.
Hereby, I delete it, because having no RAOP plugin is better than
having this mess. Sorry.
|
|
|
|
|
|
|
|
|
|
Add the encoder_plugin method end(). This is important for the
recorder plugin.
|
|
Don't reset the ogg_stream_state object, because this discards the
end-of-stream packet that was just added.
|
|
|
|
|
|
|
|
The existing buffer implementation has a major flaw: it is unable to
re-fill the buffer until it has been consumed completely, leading to
many occasions where the render callback needs to generate silence,
just because the play() implementation was unable to append more
data. The fifo_buffer library handles that well.
|
|
|
|
Fixes endless loop when the last line of a text file was not
terminated (bug 3470).
|
|
Requires YAJL to build, and this doesn't include the necessary
automake changes. Can be built using
./configure CFLAGS="-I/usr/include/yajl" LIBS="-lyajl" --enable-soundcloud
Add the following to your config:
playlist_plugin {
name "soundcloud"
enabled "true"
apikey "c4c979fd6f241b5b30431d722af212e8"
}
Then you can stream from soundcloud using calls like:
mpc load soundcloud://track/<track-id>
mpc load soundcloud://playlist/<playlist-id>
mpc load soundcloud://url/http://soundcloud.com/some/track/or/playlist
For the last case, you can leave off the http:// or
http://soundcloud.com/ .
|
|
|