| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This little program is used to test mixer plugins in an isolated
environment. This is ALSA-only currently, because we don't have a
real "plugin list" yet, and I'm too lazy to implement a switch.
|
|
|
|
| |
Fail if the iso9660 plugin is enabled but not found.
|
|
|
|
| |
Fail if the zzip plugin is enabled but not found.
|
|
|
|
|
|
| |
[mk: folded with patch "Put icy related functions in extra source
files"; moved icy_server.c from HAVE_CURL to ENABLE_HTTPD_OUTPUT;
removed an unused variable]
|
| |
|
|
|
|
|
| |
Most of that was already implemented, and for other feature requests,
we have the bug tracker.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Don't append those two CFLAGS/LIBS in configure.ac.
|
|
|
|
|
| |
Don't append LAME_CFLAGS/LAME_LIBS to MPD_CFLAGS/MPD_LIBS in
configure.ac. Export them via AC_SUBST() instead.
|
| |
|
|
|
|
|
|
|
| |
Autoconf/automake support for libcue which
is needed for cue/cue_tag.h/.c.
Libcue will have/has pkg-config support
so this is fairly straightforward.
|
|
|
|
| |
Don't add those to MPD_CFLAGS and MPD_LIBS.
|
|
|
|
| |
Don't add those to MPD_CFLAGS and MPD_LIBS.
|
|
|
|
| |
Don't add those to MPD_CFLAGS and MPD_LIBS.
|
| |
|
| |
|
|
|
|
| |
Copy all tags know to MPD to the vorbis_comment.
|
|
|
|
|
| |
This "upload" target uploads generated documentation to
http://www.musicpd.org/doc/, and works only for my user account.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
It is a library which I have written years ago for other projects.
This library is licensed under BSD 2-clause, because it is very
generic.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Added diversion functions to pcm_resample.c. These check which
resampler is enabled at compile time (libsamplerate or fallback).
This prepares the following patch.
|
|
|
|
| |
sparse cannot deal with C++.
|
|
|
|
|
| |
sparse complains that a lot of limit.h macros are missing. Define
them to keep sparse quiet.
|
|
|
|
|
|
| |
This patch allows the output plugins to import only mixer_list.h,
instead of the full mixer_api.h (which would expose internal
structures).
|
|
|
|
|
|
| |
mixer_control.h should provide the functions needed to manipulate a
mixer, without exposing the internal mixer API (which is provided by
mixer_api.h).
|
| |
|
| |
|
|
|
|
| |
That linker flag got lost when AM_LDFLAGS was removed.
|
| |
|
| |
|
|
|
|
|
|
| |
Passing libraries through LDFLAGS is a mistake that causes link to fail
when using --as-needed. Since the ld arguments are positional, so are
libtool's. Use the proper variable, thus, to pass the libraries.
|
|
|
|
|
| |
The "run_output" program can be used to test an audio output plugin in
an isolated environment.
|
| |
|
|
|
|
|
| |
Memory poisoning is useful for marking memory regions as "undefined".
This poisoning only enabled in the debug build (!NDEBUG).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces the mixer for the pulse output.
Technically speaking, the pulse index is needed to get or set
the volume. You must define callback fonctions to get this index since
the pulse output in mpd is done using the simpe api. The pulse simple api
does not provide the index of the newly defined output.
So callback fonctions are associated to the pulse context.
The list of all the sink input is then retreived.
Then we select the name of the mpd pulse output and control
its volume by its associated index number.
Signed-off-by: Patrice Linel <patnathanael@gmail.com>
Signed-off-by: David Guibert <david.guibert@gmail.com>
[mk: fixed whitespace errors and broke long lines; removed
daemonization changes from main.c]
|
|
|
|
|
|
|
|
| |
Turn the music_pipe into a simple music_chunk queue. The music_chunk
allocation code is moved to music_buffer, and is now managed with a
linked list instead of a ring buffer. Two separate music_pipe objects
are used by the decoder for the "current" and the "next" song, which
greatly simplifies the cross-fading code.
|
|
|
|
|
|
|
| |
Added music_pipe_allocate(), music_pipe_push() and
music_pipe_cancel(). Those functions allow the caller (decoder thread
in this case) to do its own chunk management. The functions
music_pipe_flush() and music_pipe_tag() can now be removed.
|
| |
|
|
|
|
|
|
|
| |
The lastfm input plugin enables MPD to play lastfm:// URLs. This
plugin is not complete yet: it plays only the first song in the
last.fm playlist, and the playlist parser isn't even implemented
properly.
|
|
|
|
| |
Create a sub directory for input plugins.
|
|
|
|
| |
Start to separate private from public input_stream API.
|
|
|
|
|
|
| |
Added a small AIFF parser library, code copied from the RIFF parser
(big-endian integers). Look for an "ID3" chunk, and let libid3tag
parse it.
|
|
|
|
|
| |
Added a small RIFF parser library. Look for an "id3" chunk, and let
libid3tag parse it.
|
|
|
|
|
| |
Even when --enable-documentation is passed, don't abort if "xmlto" was
not found.
|
|
|
|
| |
The output path must be ./doc/protocol/, not ./protocol/
|