Commit Graph

347 Commits

Author SHA1 Message Date
Avuton Olrich f35432af5a configure: Merge lame*encoder to lame 2009-03-16 08:44:48 +01:00
Avuton Olrich b356bcf6fa configure: don't warn just because we don't have an optional library. 2009-03-16 08:44:46 +01:00
Avuton Olrich e773cfa32b configure: error out against streaming output, not encoder. 2009-03-16 08:44:44 +01:00
Avuton Olrich f1fb4e99a6 configure: Always run pkg-config for shout, define AC_DEFINE if enabled
[mk: don't run pkg-config when shout is disabled]
2009-03-16 08:44:41 +01:00
Avuton Olrich 04b092bbfe configure: add shout autoconf argument. 2009-03-15 12:37:24 -07:00
Avuton Olrich 7b5c658f7e configure: Fail if trying to build with streaming output and no encoder 2009-03-15 12:17:11 -07:00
Avuton Olrich f5c75d8846 configure: Move encoders to their own report section. 2009-03-15 12:02:43 -07:00
Avuton Olrich a672cf1c63 configure: replace all instances shout*[mp3|ogg] with [lame|oggvorbis]*encoder 2009-03-15 11:46:44 -07:00
Avuton Olrich 50c2dde5b5 configure.ac: Enable ENCODER if httpd_output, even if SHOUT is disabled. 2009-03-15 19:05:32 +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 a7318a6476 configure.ac: add -pg to MPD_LIBS with --enable-gprof 2009-03-11 09:20:29 +01:00
Max Kellermann 940af669b3 poison: added valgrind support
If the header valgrind/memcheck.h is available, add
VALGRIND_MAKE_MEM_NOACCESS() and VALGRIND_MAKE_MEM_UNDEFINED()
support, which enables nice warnings in the valgrind memory checker.
2009-03-09 19:10:18 +01:00
Max Kellermann 2ba5278440 configure.ac: fix --enable-bzip2 and --enable-iso9660 variable name
Another "remove redundant explicit $enableval assignments" breakage.
2009-03-07 23:05:25 +01:00
Max Kellermann 9ed409cdcc configure.ac: fix --enable-X variable names
The patch "remove redundant explicit $enableval assignments" broke
several options with non-standard variable names.
2009-03-07 15:50:19 +01:00
Avuton Olrich 55b0fed293 configure: global indention and trim line wc to 80 when practical. 2009-03-06 08:30:59 -08:00
Avuton Olrich 771c061964 configure: Move the faad stuff to m4/faad.m4 2009-03-06 08:30:59 -08:00
Avuton Olrich aebb522639 configure: No capitalization on beginning of help strings.
Most strings have no capitalization at the beinning, make all strings
non-capital.
2009-03-06 08:30:59 -08:00
Avuton Olrich 67cecf4e95 configure: specify that faad2 prefix is optional in the help string 2009-03-06 08:30:59 -08:00
Avuton Olrich cf1c27a232 configure: trim down the line length for the faad help strings 2009-03-06 08:30:59 -08:00
Avuton Olrich 775a277a10 configure: trim down the line length for the zeroconf help string 2009-03-06 08:30:59 -08:00
Avuton Olrich 7c907b9d9d configure: trim down the Tremor AC_ARG_WITH() statements 2009-03-06 08:30:59 -08:00
Avuton Olrich bc65890abf configure: Group libmad stuff together, rename --enable-mp3 --enable-mad 2009-03-06 08:30:59 -08:00
Avuton Olrich 721b6f3e61 configure: remove redundant explicit $enableval assignments. 2009-03-06 08:30:59 -08:00
Avuton Olrich 38ead091f9 configure: remove duplicate LAME report, unify rest under SHOUTcast header. 2009-03-05 23:25:50 -08:00
Avuton Olrich 7cd9dbd574 configure: make all tests the same, when possible. 2009-03-05 23:17:00 -08:00
Avuton Olrich cd52258211 configure: Add 'Streaming Support' section to the configure display.
Add 'Streaming Support section to the configure display, clarify
the text and unify with the rest of the display.
2009-03-06 06:51:00 +01:00
Avuton Olrich 6ab53cf62a configure: display the status of lastfm protocol support 2009-03-06 06:50:50 +01:00
Avuton Olrich f6413d2d5f configure: Fix configure warning presented by lastfm radio.
The configure problem was:
./configure: line 6934: ,: command not found
2009-03-05 16:46:19 -08:00
Max Kellermann 4220e6b0ad input_lastfm: new input plugin for last.fm radio
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.
2009-03-02 23:11:31 +01:00
Max Kellermann b4f84fab34 configure.ac: make "xmlto" optional
Even when --enable-documentation is passed, don't abort if "xmlto" was
not found.
2009-03-01 01:26:04 +01:00
Avuton Olrich 88793c7189 configure: don't fail if pipe_output is the only output plugin. 2009-02-28 08:13:31 -08:00
Avuton Olrich 731cc8cf08 configure: move id3 and lame to 'Other Features' 2009-02-28 08:09:43 -08:00
Avuton Olrich d1d4c3245c configure: don't fail if mp4 is the only enabled input plugin. 2009-02-28 07:55:39 -08:00
Avuton Olrich a31f3c89fb configure: move the configure status stuff in alphabetical order. 2009-02-28 07:50:13 -08:00
Avuton Olrich 374e090985 pipe: Fix wording in configure and add configure status. 2009-02-28 07:41:05 -08: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
Max Kellermann bdb3129f18 configure.ac: declare AM_CFLAGS
Moved generic compiler options to AM_CFLAGS.  MPD_CFLAGS/MPD_LIBS will
hopefully fade away one day, in favor of more fine-grained variables.
2009-02-25 16:46:07 +01:00
Max Kellermann d89ba3bcce configure.ac: fix comma errors
Removed superfluous commas.
2009-02-24 10:00:21 +01: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
Max Kellermann f6e5c00726 shout: use the new encoder API
Removed shout's encoder plugin API in favor of the new generic encoder
plugin API.
2009-02-22 17:18:28 +01:00
Max Kellermann f7c685f1ab encoder: added lame mp3 encoder
This new LAME encoder plugin is based on the existing shout_mp3.c
plugin.
2009-02-22 17:18:03 +01:00
Max Kellermann 3a6619d62c encoder: added vorbis encoder
This new vorbis encoder plugin is based on the existing shout_ogg.c
plugin.
2009-02-22 17:17:26 +01:00
Max Kellermann a9dde676be added the encoder API
The new generic encoder API will replace shout's custom encoder API.
2009-02-22 17:11:14 +01:00
Max Kellermann 9f8740a0d6 configure.ac: check ${host_os} instead of ${host}
The configure.ac script does not care about the host architecture, it
only cares about the OS.  Use ${host_os} instead of ${host} to
simplify the matching expressions.
2009-02-18 23:07:13 +01:00
Max Kellermann f2717a7139 configure.ac: added AC_CANONICAL_HOST
Without AC_CANONICAL_HOST, ${host_os} etc. are not defined.
2009-02-18 23:01:08 +01:00
Max Kellermann 54387d1451 configure.ac: added switch for test programs
The switch syntax is "--enable-test".  There are no test programs yet.
2009-02-18 19:27:05 +01:00
Max Kellermann 51c59f6228 mp4ff: use faacDecInit2() to find the AAC track
Use faacDecInit2() instead of AudioSpecificConfig() to detect the AAC
track in the MP4 file.  This has a great advantage: it initializes the
libfaad decoder, which the caller would normally do anyway - but now
we can go without the AudioSpecificConfig() call.  When decoder==NULL
(called from mp4_tag_dup()), fall back to a mp4ff_get_track_type()==1
check, like other audio players do.
2009-02-18 18:39:12 +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 f6c8dd4961 configure.ac: always check for C++ compiler
Currently, only the sidplay decoder plugin requires C++, and in all
other cases, MPD could build well without a C++ compiler.
Unfortunately, autoconf/automake are confused when we have a
conditional AC_PROG_CXX check.  We could add lots of workarounds for
individual problems, but let's just always require a C++ compiler, and
forget about this autotools limitation.
2009-02-12 18:14:14 +01:00
Max Kellermann 1492339463 wildmidi: new decoder plugin for MIDI files 2009-02-12 16:43:18 +01:00
Max Kellermann e56a90f3b3 fluidsynth: new decoder plugin for MIDI files
There are a few problems left in this plugin:

- fluidsynth decodes in real time, while MPD prefers to buffer as
  quickly as possible; as a workaround, this plugin uses a timer
  object to synchronize with real-time playback

- I don't know yet how fluidsynth tells me when the song has ended

- the "soundfont" configuration setting is not yet documented, and it
  will likely change soon (in favor of a per-decoder configuration
  block)
2009-02-12 08:43:26 +01:00
Max Kellermann de2e13cafe configure.ac: define conditional am__fastdepCXX
When the sidplay plugin is disabled, "./configure" does not look for
the C++ compiler.  This creates an odd situation: automake requires
the am__fastdepCXX conditional, although configure did not generate
it.  Work around this autotools limitation by manually disabling
am__fastdepCXX.
2009-02-11 22:05:46 +01:00
Max Kellermann 1136f6fb7a sidplay: new decoder plugin for playing C64 SID files 2009-02-11 20:31:17 +01:00
Max Kellermann 82fee1390c configure.ac: removed misplaced comma 2009-02-11 19:58:53 +01:00
Max Kellermann bee688e99a configure.ac: define HAVE_FFMPEG after all checks
Don't define HAVE_FFMPEG if the ffmpeg libraries were found via
pkg-config, but ffmpeg support was disabled because
avcodec_decode_audio2() is not available.
2009-02-09 22:22:54 +01:00
Max Kellermann b6e5c24878 configure.ac: raised protocol version to "0.15.0"
The protocol has been extended since MPD 0.14: playlist ranges,
stickers.  About time to give the protocol a new version number!
2009-02-04 18:52:34 +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
Max Kellermann 5900827675 configure.ac: detect jack_set_info_function()
jack_set_info_function() is not provided by older libjack versions.
Attempt to detect if it is available.
2009-01-30 19:43:25 +01:00
Max Kellermann 864dee823d configure.ac: disable MMS by default
MMS streaming is experimental; sync the default value with the help
text.
2009-01-29 23:44:24 +01:00
Max Kellermann caa4d28f04 added support for the MMS protocol
This patch implements the MMS protocol, by using libmms.  It is quite
experimental: it does not support seeking yet, and it is currently
using synchronous I/O, which causes MPD to hang while waiting for the
server.
2009-01-29 21:42:10 +01:00
Max Kellermann c77c61bf3f oggvorbis: define HAVE_OGGVORBIS when tremor is enabled
When tremor (libvorbisidec) is used, HAVE_OGGVORBIS was not defined.
2009-01-15 22:54:31 +01:00
Max Kellermann 9069a244a4 configure.ac: added the --enable-sqlite option
MPD will (optionall) use sqlite databases in the future.  Add a
configure option to enable that.  There is no code yet to really use
sqlite, so the practical use of this patch is limited.
2009-01-12 09:56:14 +01:00
Max Kellermann c057af6cea configure.ac: removed duplicate PKG_PROG_PKG_CONFIG 2009-01-11 17:39:23 +01:00
Max Kellermann ad7b7a1664 configure.ac: declare MPD_LIBS and MPD_CFLAGS first
Declare and initialize MPD_LIBS and MPD_CFLAGS before the "OS specific
defaults" section.
2009-01-06 09:07:02 +01:00
Max Kellermann b8a1cf30e8 configure.ac: moved checks to argument declarations I
Zeroconf, curl, libsamplerate.  No libid3tag for now, because
libid3tag should be automatically disabled when no decoders using it
are enabled.
2009-01-05 09:44:48 +01:00
Max Kellermann 2856be540f configure.ac: moved checks to argument declarations I
Don't separate basic options from their according tests.  Due to lots
of interdependencies, we won't do that for the plugins yet.
2009-01-05 09:43:07 +01:00
Max Kellermann 3f4bfd22c6 configure.ac: reordered plugin types
Print input plugins first, then archive, metadatab, decoder,
converter, encoder, output plugins.
2009-01-05 09:41:45 +01:00
Max Kellermann 283bca7523 configure.ac: moved build options down
Initialize the CFLAGS (warnings, errors) after all the libraries,
because some library checks may be broken with -Werror or -pedantic.
2009-01-05 09:31:11 +01:00
Max Kellermann 0fb21e67ef configure.ac: use AC_CHECK_HEADERS to check for locale.h
AC_CHECK_HEADERS defines HAVE_LOCALE_H, so we don't have to manually
define HAVE_LOCALE.
2009-01-05 09:31:09 +01:00
Max Kellermann 694a919b8e configure.ac: moved mandatory checks up
First do the checks for mandatory stuff (libc features, glib,
pkg-config), then all the options.
2009-01-05 09:31:04 +01:00
Max Kellermann e178a6f6a7 configure.ac: removed obsolete checks
Don't check for inttypes.h and langinfo.h.
2009-01-05 09:31:02 +01:00
Max Kellermann ac0fe98ffb use GLib byte order macros 2009-01-05 08:17:22 +01:00
Max Kellermann c844bd602d configure.ac: disable ID3 support when libid3tag was not found
Fix a typo.
2009-01-05 08:04:43 +01:00
Max Kellermann 1cad0c5b1d configure.ac: detect libid3tag without pkg-config
libid3tag comes without a pkg-config file, and it is usually added by
distribution packages.  For those without .pc file, attempt to
auto-detect the library with AC_CHECK_LIB.
2009-01-04 15:31:06 +01:00
Max Kellermann 4e0973a8f7 configure.ac: link with -lws2_32 on WIN32
All socket functions are provided by ws2_32.dll.
2009-01-03 13:21:25 +01:00
Max Kellermann 71e7ce5d8e main: use the GLib main loop
This is a rather huge patch, which unfortunately cannot be splitted.

Instead of using our custom ioops.h library, convert everything to use
the GLib main loop.
2008-12-30 19:24:39 +01:00
Max Kellermann 49fa9708d5 zeroconf: moved code to zeroconf-avahi.c and zeroconf-bonjour.c
Moved implementation specific code to their own sources, internal
declarations in zeroconf-internal.h.
2008-12-30 16:43:58 +01:00
Max Kellermann 274b919966 main: use g_setenv() instead of setenv()
Removed the fallback setenv() implementation for solaris.
2008-12-29 17:37:40 +01:00
Max Kellermann 702d6a641d configure.ac: append archive libraries to $MPD_LIBS
All archive plugins used to overwrite $MPD_LIBS, ignoring the existing
value.  Make them append instead, keeping the old value.
2008-12-29 11:27:11 +01:00
Max Kellermann dfe235900f configure.ac: check for archive libraries only if enabled
Don't bother to look for libbz2, libzzip and libiso9660 if the plugins
are disabled.
2008-12-29 10:01:33 +01:00
Max Kellermann 8a8fdfb0ad configure.ac: removed pthread checks
We're now using GLib threading.
2008-12-29 08:20:19 +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
Viliam Mateicka d838a1ad24 decoder: new plugin using modplug library 2008-12-28 17:11:18 +01:00
Viliam Mateicka 166d326950 configure.ac: fixed description to bzip2 compile option 2008-12-27 20:16:00 +01:00
Avuton Olrich e18ded8ded Add an "Archive support" section to the configure results screen. 2008-12-27 09:54:00 -08:00
Avuton Olrich 9ca7be9e82 Change configure time option to be bzip2 rather than bz2. 2008-12-27 09:50:37 -08:00
Avuton Olrich dc0f779287 Fix text string to show bz2 rather than rar. 2008-12-27 09:49:27 -08:00
Max Kellermann 0fe0425dee disable archive API without plugins
When there are no archive plugins, we do not need the archive API at
all.  Drop all its overhead.
2008-12-27 14:33:41 +01:00
Max Kellermann 4c13a276c4 configure.ac: moved archive library checks to options
Don't split configure options and their implementation.  Check for the
backend library before the AM_CONDITIONAL, otherwise Makefile.am will
compile the plugin although the library may not be available.
2008-12-27 13:45:17 +01:00
Max Kellermann 9220e0edff Merge branch 'experimental' of git://git.musicpd.org/metyl/mpd
Conflicts:

	configure.ac
	src/ls.h
	src/output/shout_plugin.c
2008-12-27 13:34:51 +01:00
Qball Cow 0e7c67067b Check for pkg-config before using it 2008-12-27 10:07:46 +01:00
Avuton Olrich 571b789dd0 Modify version string to post-release version 0.15~git 2008-12-25 13:18:46 -08:00
Avuton Olrich 8b7d7f8abd MPD version 0.14 2008-12-25 13:18:46 -08:00
Max Kellermann 136670832c configure.ac: renamed shout options
configure options should use the dash instead of the underscore.
2008-12-24 03:40:00 +01:00
Max Kellermann 2888ff9bfa configure.ac: fix --enable-un documentation
Unix domain socket support is enabled by default.
2008-12-24 03:32:11 +01:00
Max Kellermann 7950a6d612 configure.ac: disable the mikmod plugin by default
libmikmod seems to be unmaintained, and has several critical bugs
which make MPD crash.

 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=461519
 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=476339

Disable the plugin by default to minimize harm.  Users should
explicitly enable the mikmod decoder (--enable-mod) if they wish to
have it anyway.
2008-12-24 03:24:23 +01:00
Qball Cow fe4a9a6d67 Build makefiles after checking available outputs and decoder plugins
Move the AC_OUTPUT below the checks. So you nicely see what goes wrong.
2008-12-22 12:02:12 +01:00
Avuton Olrich 5c0c66d676 MPD version 0.14~beta3 2008-12-20 06:49:31 -08:00
Max Kellermann c41fa6cf5e configure.ac: check lame availability before shout_mp3 test
If lame was not available, the shout_mp3 plugin was enabled anyway,
and triggered compiler errors.
2008-12-17 17:16:24 +01:00
Max Kellermann caf601199b configure.ac: disable shout when no encoder is found
First check if an ecoder plugin is available, then determine whether
to enable the shout output plugin.
2008-12-17 16:57:48 +01:00