Commit a17324af authored by Florian Schlichting's avatar Florian Schlichting

Imported Upstream version 0.18.8

parent ec4a1cd4
......@@ -1061,6 +1061,7 @@ C_TESTS = \
test/test_util \
test/test_byte_reverse \
test/test_mixramp \
test/test_icy_parser \
test/test_pcm \
test/test_queue_priority
......@@ -1496,6 +1497,16 @@ test_test_mixramp_LDADD = \
$(GLIB_LIBS) \
$(CPPUNIT_LIBS)
test_test_icy_parser_SOURCES = \
src/Log.cxx \
test/test_icy_parser.cxx
test_test_icy_parser_CPPFLAGS = $(AM_CPPFLAGS) $(CPPUNIT_CFLAGS) -DCPPUNIT_HAVE_RTTI=0
test_test_icy_parser_CXXFLAGS = $(AM_CXXFLAGS) -Wno-error=deprecated-declarations
test_test_icy_parser_LDADD = \
libtag.a \
$(GLIB_LIBS) \
$(CPPUNIT_LIBS)
test_test_pcm_SOURCES = \
test/test_pcm_util.hxx \
test/test_pcm_dither.cxx \
......
......@@ -908,6 +908,7 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
@ENABLE_TEST_TRUE@am__EXEEXT_2 = test/test_util$(EXEEXT) \
@ENABLE_TEST_TRUE@ test/test_byte_reverse$(EXEEXT) \
@ENABLE_TEST_TRUE@ test/test_mixramp$(EXEEXT) \
@ENABLE_TEST_TRUE@ test/test_icy_parser$(EXEEXT) \
@ENABLE_TEST_TRUE@ test/test_pcm$(EXEEXT) \
@ENABLE_TEST_TRUE@ test/test_queue_priority$(EXEEXT) \
@ENABLE_TEST_TRUE@ $(am__EXEEXT_1)
......@@ -1538,6 +1539,16 @@ test_test_byte_reverse_OBJECTS = $(am_test_test_byte_reverse_OBJECTS)
test_test_byte_reverse_LINK = $(CXXLD) \
$(test_test_byte_reverse_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
am__test_test_icy_parser_SOURCES_DIST = src/Log.cxx \
test/test_icy_parser.cxx
@ENABLE_TEST_TRUE@am_test_test_icy_parser_OBJECTS = \
@ENABLE_TEST_TRUE@ src/test_test_icy_parser-Log.$(OBJEXT) \
@ENABLE_TEST_TRUE@ test/test_test_icy_parser-test_icy_parser.$(OBJEXT)
test_test_icy_parser_OBJECTS = $(am_test_test_icy_parser_OBJECTS)
@ENABLE_TEST_TRUE@test_test_icy_parser_DEPENDENCIES = libtag.a \
@ENABLE_TEST_TRUE@ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
test_test_icy_parser_LINK = $(CXXLD) $(test_test_icy_parser_CXXFLAGS) \
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
am__test_test_mixramp_SOURCES_DIST = src/Log.cxx test/test_mixramp.cxx
@ENABLE_TEST_TRUE@am_test_test_mixramp_OBJECTS = \
@ENABLE_TEST_TRUE@ src/test_test_mixramp-Log.$(OBJEXT) \
......@@ -1687,9 +1698,9 @@ SOURCES = $(libarchive_a_SOURCES) $(libconf_a_SOURCES) \
$(test_run_normalize_SOURCES) $(test_run_output_SOURCES) \
$(test_run_resolver_SOURCES) $(test_software_volume_SOURCES) \
$(test_test_archive_SOURCES) $(test_test_byte_reverse_SOURCES) \
$(test_test_mixramp_SOURCES) $(test_test_pcm_SOURCES) \
$(test_test_queue_priority_SOURCES) $(test_test_util_SOURCES) \
$(test_test_vorbis_encoder_SOURCES) \
$(test_test_icy_parser_SOURCES) $(test_test_mixramp_SOURCES) \
$(test_test_pcm_SOURCES) $(test_test_queue_priority_SOURCES) \
$(test_test_util_SOURCES) $(test_test_vorbis_encoder_SOURCES) \
$(test_visit_archive_SOURCES)
DIST_SOURCES = $(am__libarchive_a_SOURCES_DIST) $(libconf_a_SOURCES) \
$(am__libdb_plugins_a_SOURCES_DIST) \
......@@ -1726,6 +1737,7 @@ DIST_SOURCES = $(am__libarchive_a_SOURCES_DIST) $(libconf_a_SOURCES) \
$(am__test_software_volume_SOURCES_DIST) \
$(am__test_test_archive_SOURCES_DIST) \
$(am__test_test_byte_reverse_SOURCES_DIST) \
$(am__test_test_icy_parser_SOURCES_DIST) \
$(am__test_test_mixramp_SOURCES_DIST) \
$(am__test_test_pcm_SOURCES_DIST) \
$(am__test_test_queue_priority_SOURCES_DIST) \
......@@ -2770,8 +2782,9 @@ SPARSE_SRC = $(addprefix $(top_srcdir)/,$(filter %.c,$(src_mpd_SOURCES)))
# Test programs
#
@ENABLE_TEST_TRUE@C_TESTS = test/test_util test/test_byte_reverse \
@ENABLE_TEST_TRUE@ test/test_mixramp test/test_pcm \
@ENABLE_TEST_TRUE@ test/test_queue_priority $(am__append_71)
@ENABLE_TEST_TRUE@ test/test_mixramp test/test_icy_parser \
@ENABLE_TEST_TRUE@ test/test_pcm test/test_queue_priority \
@ENABLE_TEST_TRUE@ $(am__append_71)
@ENABLE_TEST_TRUE@test_read_conf_LDADD = \
@ENABLE_TEST_TRUE@ libconf.a \
@ENABLE_TEST_TRUE@ libutil.a \
......@@ -3131,6 +3144,17 @@ SPARSE_SRC = $(addprefix $(top_srcdir)/,$(filter %.c,$(src_mpd_SOURCES)))
@ENABLE_TEST_TRUE@ $(GLIB_LIBS) \
@ENABLE_TEST_TRUE@ $(CPPUNIT_LIBS)
@ENABLE_TEST_TRUE@test_test_icy_parser_SOURCES = \
@ENABLE_TEST_TRUE@ src/Log.cxx \
@ENABLE_TEST_TRUE@ test/test_icy_parser.cxx
@ENABLE_TEST_TRUE@test_test_icy_parser_CPPFLAGS = $(AM_CPPFLAGS) $(CPPUNIT_CFLAGS) -DCPPUNIT_HAVE_RTTI=0
@ENABLE_TEST_TRUE@test_test_icy_parser_CXXFLAGS = $(AM_CXXFLAGS) -Wno-error=deprecated-declarations
@ENABLE_TEST_TRUE@test_test_icy_parser_LDADD = \
@ENABLE_TEST_TRUE@ libtag.a \
@ENABLE_TEST_TRUE@ $(GLIB_LIBS) \
@ENABLE_TEST_TRUE@ $(CPPUNIT_LIBS)
@ENABLE_TEST_TRUE@test_test_pcm_SOURCES = \
@ENABLE_TEST_TRUE@ test/test_pcm_util.hxx \
@ENABLE_TEST_TRUE@ test/test_pcm_dither.cxx \
......@@ -4560,6 +4584,14 @@ test/test_test_byte_reverse-test_byte_reverse.$(OBJEXT): \
test/test_byte_reverse$(EXEEXT): $(test_test_byte_reverse_OBJECTS) $(test_test_byte_reverse_DEPENDENCIES) $(EXTRA_test_test_byte_reverse_DEPENDENCIES) test/$(am__dirstamp)
@rm -f test/test_byte_reverse$(EXEEXT)
$(AM_V_CXXLD)$(test_test_byte_reverse_LINK) $(test_test_byte_reverse_OBJECTS) $(test_test_byte_reverse_LDADD) $(LIBS)
src/test_test_icy_parser-Log.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
test/test_test_icy_parser-test_icy_parser.$(OBJEXT): \
test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp)
test/test_icy_parser$(EXEEXT): $(test_test_icy_parser_OBJECTS) $(test_test_icy_parser_DEPENDENCIES) $(EXTRA_test_test_icy_parser_DEPENDENCIES) test/$(am__dirstamp)
@rm -f test/test_icy_parser$(EXEEXT)
$(AM_V_CXXLD)$(test_test_icy_parser_LINK) $(test_test_icy_parser_OBJECTS) $(test_test_icy_parser_LDADD) $(LIBS)
src/test_test_mixramp-Log.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
test/test_test_mixramp-test_mixramp.$(OBJEXT): test/$(am__dirstamp) \
......@@ -4852,6 +4884,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/test_run_avahi-Log.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/test_run_avahi-ZeroconfAvahi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/test_test_archive-Log.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/test_test_icy_parser-Log.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/test_test_mixramp-Log.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/test_test_queue_priority-Queue.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/test_test_vorbis_encoder-AudioFormat.Po@am__quote@
......@@ -5078,6 +5111,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/test_run_avahi-run_avahi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/test_test_archive-test_archive.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/test_test_byte_reverse-test_byte_reverse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/test_test_icy_parser-test_icy_parser.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/test_test_mixramp-test_mixramp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/test_test_pcm-test_pcm_channels.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/test_test_pcm-test_pcm_dither.Po@am__quote@
......@@ -9253,6 +9287,34 @@ test/test_test_byte_reverse-test_byte_reverse.obj: test/test_byte_reverse.cxx
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_byte_reverse_CPPFLAGS) $(CPPFLAGS) $(test_test_byte_reverse_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_byte_reverse-test_byte_reverse.obj `if test -f 'test/test_byte_reverse.cxx'; then $(CYGPATH_W) 'test/test_byte_reverse.cxx'; else $(CYGPATH_W) '$(srcdir)/test/test_byte_reverse.cxx'; fi`
src/test_test_icy_parser-Log.o: src/Log.cxx
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_icy_parser_CPPFLAGS) $(CPPFLAGS) $(test_test_icy_parser_CXXFLAGS) $(CXXFLAGS) -MT src/test_test_icy_parser-Log.o -MD -MP -MF src/$(DEPDIR)/test_test_icy_parser-Log.Tpo -c -o src/test_test_icy_parser-Log.o `test -f 'src/Log.cxx' || echo '$(srcdir)/'`src/Log.cxx
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/test_test_icy_parser-Log.Tpo src/$(DEPDIR)/test_test_icy_parser-Log.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/Log.cxx' object='src/test_test_icy_parser-Log.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_icy_parser_CPPFLAGS) $(CPPFLAGS) $(test_test_icy_parser_CXXFLAGS) $(CXXFLAGS) -c -o src/test_test_icy_parser-Log.o `test -f 'src/Log.cxx' || echo '$(srcdir)/'`src/Log.cxx
src/test_test_icy_parser-Log.obj: src/Log.cxx
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_icy_parser_CPPFLAGS) $(CPPFLAGS) $(test_test_icy_parser_CXXFLAGS) $(CXXFLAGS) -MT src/test_test_icy_parser-Log.obj -MD -MP -MF src/$(DEPDIR)/test_test_icy_parser-Log.Tpo -c -o src/test_test_icy_parser-Log.obj `if test -f 'src/Log.cxx'; then $(CYGPATH_W) 'src/Log.cxx'; else $(CYGPATH_W) '$(srcdir)/src/Log.cxx'; fi`
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/test_test_icy_parser-Log.Tpo src/$(DEPDIR)/test_test_icy_parser-Log.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/Log.cxx' object='src/test_test_icy_parser-Log.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_icy_parser_CPPFLAGS) $(CPPFLAGS) $(test_test_icy_parser_CXXFLAGS) $(CXXFLAGS) -c -o src/test_test_icy_parser-Log.obj `if test -f 'src/Log.cxx'; then $(CYGPATH_W) 'src/Log.cxx'; else $(CYGPATH_W) '$(srcdir)/src/Log.cxx'; fi`
test/test_test_icy_parser-test_icy_parser.o: test/test_icy_parser.cxx
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_icy_parser_CPPFLAGS) $(CPPFLAGS) $(test_test_icy_parser_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_icy_parser-test_icy_parser.o -MD -MP -MF test/$(DEPDIR)/test_test_icy_parser-test_icy_parser.Tpo -c -o test/test_test_icy_parser-test_icy_parser.o `test -f 'test/test_icy_parser.cxx' || echo '$(srcdir)/'`test/test_icy_parser.cxx
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_icy_parser-test_icy_parser.Tpo test/$(DEPDIR)/test_test_icy_parser-test_icy_parser.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test/test_icy_parser.cxx' object='test/test_test_icy_parser-test_icy_parser.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_icy_parser_CPPFLAGS) $(CPPFLAGS) $(test_test_icy_parser_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_icy_parser-test_icy_parser.o `test -f 'test/test_icy_parser.cxx' || echo '$(srcdir)/'`test/test_icy_parser.cxx
test/test_test_icy_parser-test_icy_parser.obj: test/test_icy_parser.cxx
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_icy_parser_CPPFLAGS) $(CPPFLAGS) $(test_test_icy_parser_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_icy_parser-test_icy_parser.obj -MD -MP -MF test/$(DEPDIR)/test_test_icy_parser-test_icy_parser.Tpo -c -o test/test_test_icy_parser-test_icy_parser.obj `if test -f 'test/test_icy_parser.cxx'; then $(CYGPATH_W) 'test/test_icy_parser.cxx'; else $(CYGPATH_W) '$(srcdir)/test/test_icy_parser.cxx'; fi`
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_icy_parser-test_icy_parser.Tpo test/$(DEPDIR)/test_test_icy_parser-test_icy_parser.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test/test_icy_parser.cxx' object='test/test_test_icy_parser-test_icy_parser.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_icy_parser_CPPFLAGS) $(CPPFLAGS) $(test_test_icy_parser_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_icy_parser-test_icy_parser.obj `if test -f 'test/test_icy_parser.cxx'; then $(CYGPATH_W) 'test/test_icy_parser.cxx'; else $(CYGPATH_W) '$(srcdir)/test/test_icy_parser.cxx'; fi`
src/test_test_mixramp-Log.o: src/Log.cxx
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_mixramp_CPPFLAGS) $(CPPFLAGS) $(test_test_mixramp_CXXFLAGS) $(CXXFLAGS) -MT src/test_test_mixramp-Log.o -MD -MP -MF src/$(DEPDIR)/test_test_mixramp-Log.Tpo -c -o src/test_test_mixramp-Log.o `test -f 'src/Log.cxx' || echo '$(srcdir)/'`src/Log.cxx
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/test_test_mixramp-Log.Tpo src/$(DEPDIR)/test_test_mixramp-Log.Po
......@@ -9919,6 +9981,13 @@ test/test_mixramp.log: test/test_mixramp$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
test/test_icy_parser.log: test/test_icy_parser$(EXEEXT)
@p='test/test_icy_parser$(EXEEXT)'; \
b='test/test_icy_parser'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
test/test_pcm.log: test/test_pcm$(EXEEXT)
@p='test/test_pcm$(EXEEXT)'; \
b='test/test_pcm'; \
......@@ -10227,8 +10296,8 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
@ENABLE_DOCUMENTATION_FALSE@install-data-local:
@ENABLE_DOCUMENTATION_FALSE@clean-local:
@ENABLE_DOCUMENTATION_FALSE@install-data-local:
@ENABLE_DOCUMENTATION_FALSE@uninstall-local:
clean: clean-am
......
ver 0.18.7 (2013/01/13)
ver 0.18.8 (2014/02/07)
* decoder
- ffmpeg: support libav v10_alpha1
* encoder
- vorbis: fix linker failure
* output
- roar: documentation
* more robust Icy-Metadata parser
* fix Solaris build failure
ver 0.18.7 (2014/01/13)
* playlist
- pls: fix crash after parser error
- soundcloud: fix build failure with libyajl 2.0.1
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for mpd 0.18.7.
# Generated by GNU Autoconf 2.69 for mpd 0.18.8.
#
# Report bugs to <musicpd-dev-team@lists.sourceforge.net>.
# Report bugs to <mpd-devel@musicpd.org>.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
......@@ -267,10 +267,10 @@ fi
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
else
$as_echo "$0: Please tell bug-autoconf@gnu.org and
$0: musicpd-dev-team@lists.sourceforge.net about your
$0: system, including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
$0: mpd-devel@musicpd.org about your system, including any
$0: error possibly output before this message. Then install
$0: a modern shell, or manually run the script under such a
$0: shell if you do have one."
fi
exit 1
fi
......@@ -580,9 +580,9 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='mpd'
PACKAGE_TARNAME='mpd'
PACKAGE_VERSION='0.18.7'
PACKAGE_STRING='mpd 0.18.7'
PACKAGE_BUGREPORT='musicpd-dev-team@lists.sourceforge.net'
PACKAGE_VERSION='0.18.8'
PACKAGE_STRING='mpd 0.18.8'
PACKAGE_BUGREPORT='mpd-devel@musicpd.org'
PACKAGE_URL=''
ac_unique_file="src/Main.cxx"
......@@ -1673,7 +1673,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures mpd 0.18.7 to adapt to many kinds of systems.
\`configure' configures mpd 0.18.8 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1743,7 +1743,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of mpd 0.18.7:";;
short | recursive ) echo "Configuration of mpd 0.18.8:";;
esac
cat <<\_ACEOF
......@@ -1978,7 +1978,7 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <musicpd-dev-team@lists.sourceforge.net>.
Report bugs to <mpd-devel@musicpd.org>.
_ACEOF
ac_status=$?
fi
......@@ -2041,7 +2041,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
mpd configure 0.18.7
mpd configure 0.18.8
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -2351,9 +2351,9 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
( $as_echo "## ----------------------------------------------------- ##
## Report this to musicpd-dev-team@lists.sourceforge.net ##
## ----------------------------------------------------- ##"
( $as_echo "## ------------------------------------ ##
## Report this to mpd-devel@musicpd.org ##
## ------------------------------------ ##"
) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
......@@ -2494,7 +2494,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by mpd $as_me 0.18.7, which was
It was created by mpd $as_me 0.18.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
......@@ -3364,7 +3364,7 @@ fi
# Define the identity of the package.
PACKAGE='mpd'
VERSION='0.18.7'
VERSION='0.18.8'
cat >>confdefs.h <<_ACEOF
......@@ -12864,12 +12864,12 @@ if test -n "$PKG_CONFIG"; then
pkg_cv_VORBISENC_CFLAGS="$VORBISENC_CFLAGS"
else
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"vorbisenc\""; } >&5
($PKG_CONFIG --exists --print-errors "vorbisenc") 2>&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"vorbisenc vorbis\""; } >&5
($PKG_CONFIG --exists --print-errors "vorbisenc vorbis") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_VORBISENC_CFLAGS=`$PKG_CONFIG --cflags "vorbisenc" 2>/dev/null`
pkg_cv_VORBISENC_CFLAGS=`$PKG_CONFIG --cflags "vorbisenc vorbis" 2>/dev/null`
else
pkg_failed=yes
fi
......@@ -12882,12 +12882,12 @@ if test -n "$PKG_CONFIG"; then
pkg_cv_VORBISENC_LIBS="$VORBISENC_LIBS"
else
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"vorbisenc\""; } >&5
($PKG_CONFIG --exists --print-errors "vorbisenc") 2>&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"vorbisenc vorbis\""; } >&5
($PKG_CONFIG --exists --print-errors "vorbisenc vorbis") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_VORBISENC_LIBS=`$PKG_CONFIG --libs "vorbisenc" 2>/dev/null`
pkg_cv_VORBISENC_LIBS=`$PKG_CONFIG --libs "vorbisenc vorbis" 2>/dev/null`
else
pkg_failed=yes
fi
......@@ -12906,9 +12906,9 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
VORBISENC_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "vorbisenc"`
VORBISENC_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "vorbisenc vorbis"`
else
VORBISENC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "vorbisenc"`
VORBISENC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "vorbisenc vorbis"`
fi
# Put the nasty error message in config.log where it belongs
echo "$VORBISENC_PKG_ERRORS" >&5
......@@ -18460,7 +18460,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by mpd $as_me 0.18.7, which was
This file was extended by mpd $as_me 0.18.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -18520,13 +18520,13 @@ $config_headers
Configuration commands:
$config_commands
Report bugs to <musicpd-dev-team@lists.sourceforge.net>."
Report bugs to <mpd-devel@musicpd.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
mpd config.status 0.18.7
mpd config.status 0.18.8
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
......
AC_PREREQ(2.60)
AC_INIT(mpd, 0.18.7, musicpd-dev-team@lists.sourceforge.net)
AC_INIT(mpd, 0.18.8, mpd-devel@musicpd.org)
VERSION_MAJOR=0
VERSION_MINOR=18
......@@ -1139,7 +1139,7 @@ fi
AM_CONDITIONAL(ENABLE_FLAC_ENCODER, test x$enable_flac_encoder = xyes)
dnl ---------------------------- Ogg Vorbis Encoder ---------------------------
MPD_AUTO_PKG(vorbis_encoder, VORBISENC, [vorbisenc],
MPD_AUTO_PKG(vorbis_encoder, VORBISENC, [vorbisenc vorbis],
[Ogg Vorbis encoder], [libvorbisenc not found])
if test x$enable_vorbis_encoder = xyes; then
......
......@@ -155,7 +155,7 @@ foo(const char *abc, int xyz)
<para>
Send your patches to the mailing list:
musicpd-dev-team@lists.sourceforge.net
mpd-devel@musicpd.org
</para>
</chapter>
</book>
......@@ -31,7 +31,7 @@ PROJECT_NAME = MPD
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 0.18.7
PROJECT_NUMBER = 0.18.8
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
......
......@@ -1852,6 +1852,51 @@ systemctl start mpd.socket</programlisting>
</informaltable>
</section>
<section>
<title><varname>roar</varname></title>
<para>
The <varname>roar</varname> plugin connects to a <ulink
url="http://roaraudio.keep-cool.org/">RoarAudio</ulink>
server.
</para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>Setting</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<varname>server</varname>
<parameter>HOSTNAME</parameter>
</entry>
<entry>
The host name of the RoarAudio server. If not
specified, then MPD will connect to the default
locations.
</entry>
</row>
<row>
<entry>
<varname>role</varname>
<parameter>ROLE</parameter>
</entry>
<entry>
The "role" that MPD registers itself as in the
RoarAudio server. The default is "music".
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section>
<title><varname>recorder</varname></title>
......
......@@ -81,31 +81,85 @@ icy_add_item(Tag &tag, TagType type, const char *value)
}
static void
icy_parse_tag_item(Tag &tag, const char *item)
icy_parse_tag_item(Tag &tag, const char *name, const char *value)
{
gchar **p = g_strsplit(item, "=", 0);
if (p[0] != nullptr && p[1] != nullptr) {
if (strcmp(p[0], "StreamTitle") == 0)
icy_add_item(tag, TAG_TITLE, p[1]);
else
FormatDebug(icy_metadata_domain,
"unknown icy-tag: '%s'", p[0]);
}
if (strcmp(name, "StreamTitle") == 0)
icy_add_item(tag, TAG_TITLE, value);
else
FormatDebug(icy_metadata_domain,
"unknown icy-tag: '%s'", name);
}
/**
* Find a single quote that is followed by a semicolon (or by the end
* of the string). If that fails, return the first single quote. If
* that also fails, return #end.
*/
static char *
find_end_quote(char *p, char *const end)
{
char *fallback = std::find(p, end, '\'');
if (fallback >= end - 1 || fallback[1] == ';')
return fallback;
g_strfreev(p);
p = fallback + 1;
while (true) {
p = std::find(p, end, '\'');
if (p == end)
return fallback;
if (p == end - 1 || p[1] == ';')
return p;
++p;
}
}
static Tag *
icy_parse_tag(const char *p)
icy_parse_tag(char *p, char *const end)
{
assert(p != nullptr);
assert(end != nullptr);
assert(p <= end);
Tag *tag = new Tag();
gchar **items = g_strsplit(p, ";", 0);
for (unsigned i = 0; items[i] != nullptr; ++i)
icy_parse_tag_item(*tag, items[i]);
while (p != end) {
const char *const name = p;
char *eq = std::find(p, end, '=');
if (eq == end)
break;
*eq = 0;
p = eq + 1;
if (*p != '\'') {
/* syntax error; skip to the next semicolon,
try to recover */
char *semicolon = std::find(p, end, ';');
if (semicolon == end)
break;
p = semicolon + 1;
continue;
}
++p;
const char *const value = p;
char *quote = find_end_quote(p, end);
if (quote == end)
break;
*quote = 0;
p = quote + 1;
g_strfreev(items);
icy_parse_tag_item(*tag, name, value);
char *semicolon = std::find(p, end, ';');
if (semicolon == end)
break;
p = semicolon + 1;
}
return tag;
}
......@@ -152,15 +206,11 @@ IcyMetaDataParser::Meta(const void *data, size_t length)
++length;
if (meta_position == meta_size) {
/* null-terminate the string */
meta_data[meta_size] = 0;
/* parse */
delete tag;
tag = icy_parse_tag(meta_data);
tag = icy_parse_tag(meta_data, meta_data + meta_size);
g_free(meta_data);
/* change back to normal data mode */
......
......@@ -18,7 +18,7 @@
*/
#ifndef MPD_OUTPUT_API_HXX
#define MPD_OUTPUT_API_HxX
#define MPD_OUTPUT_API_HXX
#include "OutputPlugin.hxx"
#include "OutputInternal.hxx"
......
......@@ -30,7 +30,7 @@ struct playlist {
/**
* The song queue - it contains the "real" playlist.
*/
struct queue queue;
struct Queue queue;
/**
* This value is true if the player is currently playing (or
......
......@@ -40,7 +40,7 @@
void
playlist_print_uris(Client &client, const playlist &playlist)
{
const queue &queue = playlist.queue;
const Queue &queue = playlist.queue;
queue_print_uris(client, queue, 0, queue.GetLength());
}
......@@ -49,7 +49,7 @@ bool
playlist_print_info(Client &client, const playlist &playlist,
unsigned start, unsigned end)
{
const queue &queue = playlist.queue;
const Queue &queue = playlist.queue;
if (end > queue.GetLength())
/* correct the "end" offset */
......
......@@ -65,7 +65,7 @@ playlist_print_uri(FILE *file, const char *uri)
}
PlaylistResult
spl_save_queue(const char *name_utf8, const queue &queue)
spl_save_queue(const char *name_utf8, const Queue &queue)
{
if (map_spl_path().IsNull())
return PlaylistResult::DISABLED;
......
......@@ -25,7 +25,7 @@
#include <stdio.h>
struct Song;
struct queue;
struct Queue;
struct playlist;
struct PlayerControl;
class Error;
......@@ -40,7 +40,7 @@ playlist_print_uri(FILE *fp, const char *uri);
* Saves a queue object into a stored playlist file.
*/
PlaylistResult
spl_save_queue(const char *name_utf8, const queue &queue);
spl_save_queue(const char *name_utf8, const Queue &queue);
/**
* Saves a playlist object into a stored playlist file.
......
......@@ -23,7 +23,7 @@
#include <stdlib.h>
queue::queue(unsigned _max_length)
Queue::Queue(unsigned _max_length)
:max_length(_max_length), length(0),
version(1),
items(new Item[max_length]),
......@@ -36,7 +36,7 @@ queue::queue(unsigned _max_length)
{
}
queue::~queue()
Queue::~Queue()
{
Clear();
......@@ -45,7 +45,7 @@ queue::~queue()
}
int
queue::GetNextOrder(unsigned _order) const
Queue::GetNextOrder(unsigned _order) const
{
assert(_order < length);
......@@ -62,7 +62,7 @@ queue::GetNextOrder(unsigned _order) const
}
void
queue::IncrementVersion()
Queue::IncrementVersion()
{
static unsigned long max = ((uint32_t) 1 << 31) - 1;
......@@ -77,7 +77,7 @@ queue::IncrementVersion()
}
void
queue::ModifyAtOrder(unsigned _order)
Queue::ModifyAtOrder(unsigned _order)
{
assert(_order < length);
......@@ -86,7 +86,7 @@ queue::ModifyAtOrder(unsigned _order)
}
unsigned
queue::Append(Song *song, uint8_t priority)
Queue::Append(Song *song, uint8_t priority)
{
assert(!IsFull());
......@@ -105,7 +105,7 @@ queue::Append(Song *song, uint8_t priority)
}
void
queue::SwapPositions(unsigned position1, unsigned position2)
Queue::SwapPositions(unsigned position1, unsigned position2)
{
unsigned id1 = items[position1].id;
unsigned id2 = items[position2].id;
......@@ -120,7 +120,7 @@ queue::SwapPositions(unsigned position1, unsigned position2)
}
void
queue::MovePostion(unsigned from, unsigned to)
Queue::MovePostion(unsigned from, unsigned to)
{
const Item tmp = items[from];
......@@ -156,7 +156,7 @@ queue::MovePostion(unsigned from, unsigned to)
}
void
queue::MoveRange(unsigned start, unsigned end, unsigned to)
Queue::MoveRange(unsigned start, unsigned end, unsigned to)
{
Item tmp[end - start];
// Copy the original block [start,end-1]
......@@ -198,7 +198,7 @@ queue::MoveRange(unsigned start, unsigned end, unsigned to)
}
void
queue::MoveOrder(unsigned from_order, unsigned to_order)
Queue::MoveOrder(unsigned from_order, unsigned to_order)
{
assert(from_order < length);
assert(to_order <= length);
......@@ -217,7 +217,7 @@ queue::MoveOrder(unsigned from_order, unsigned to_order)
}
void
queue::DeletePosition(unsigned position)
Queue::DeletePosition(unsigned position)
{
assert(position < length);
......@@ -254,7 +254,7 @@ queue::DeletePosition(unsigned position)
}
void
queue::Clear()
Queue::Clear()
{
for (unsigned i = 0; i < length; i++) {
Item *item = &items[i];
......@@ -270,7 +270,7 @@ queue::Clear()
}
static void
queue_sort_order_by_priority(struct queue *queue, unsigned start, unsigned end)
queue_sort_order_by_priority(Queue *queue, unsigned start, unsigned end)
{
assert(queue != nullptr);
assert(queue->random);
......@@ -278,8 +278,8 @@ queue_sort_order_by_priority(struct queue *queue, unsigned start, unsigned end)
assert(end <= queue->length);
auto cmp = [queue](unsigned a_pos, unsigned b_pos){
const queue::Item &a = queue->items[a_pos];
const queue::Item &b = queue->items[b_pos];
const Queue::Item &a = queue->items[a_pos];
const Queue::Item &b = queue->items[b_pos];