# HG changeset patch # User Matti Hamalainen # Date 1190213329 -10800 # Node ID fe3a1ae77f80f7df1781771233c99a4373c748f6 # Parent 701de882bcc20bb9dd15b95ba0b29ea16fc94ab0# Parent 4f99a9e270cf3156209f10f258a7b63b768417ae Automated merge with file:/home/ccr/audacious/core diff -r 701de882bcc2 -r fe3a1ae77f80 Makefile --- a/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,71 +1,32 @@ -.SILENT: +DISTCLEAN = extra.mk -include mk/rules.mk -include mk/init.mk +include buildsys.mk SUBDIRS = src man po icons skins -include mk/objective.mk - -install-posthook: - @if test `whoami` = 'root' && test -z "$(DESTDIR)"; then \ - echo; \ - echo "WARNING:"; \ - echo "On some systems, it might be required that you run"; \ - echo "ldconfig. However, this isn't done automatically"; \ - echo "because some ldconfig versions might break the system"; \ - echo "if it's called without any parameters."; \ - fi - OBJECTIVE_DATA = \ audacious.pc:$(LIBDIR)/pkgconfig \ audclient.pc:$(LIBDIR)/pkgconfig -build-posthook: - @( \ - echo; \ - echo "Now type '$(MAKE) documentation-build' to build the audacious SDK docs."; \ - echo "This will require GTK-DOC to be installed."; \ - echo; \ - ); - -documentation-build: - ( \ - if [ ! -d doc ]; then \ - mkdir -p doc/libaudacious/xml; \ - mkdir -p doc/audacious/xml; \ +install-extra: + y="audacious.pc audclient.pc"; \ + for i in $$y; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${libdir}/pkgconfig && ${INSTALL} -m 644 $$i ${DESTDIR}${libdir}/pkgconfig/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ fi; \ - cd doc/libaudacious; \ - gtkdoc-scan --module=libaudacious --source-dir=../../src/libaudacious; \ - cd ../..; \ - cd doc/audacious; \ - gtkdoc-scan --module=audacious --source-dir=../../src/audacious --ignore-headers=intl; \ - cd ../..; \ - cd doc/libaudacious; \ - gtkdoc-mktmpl --module=libaudacious; \ - cd ../..; \ - cd doc/audacious; \ - gtkdoc-mktmpl --module=audacious; \ - cd ../..; \ - cd doc/libaudacious; \ - gtkdoc-mkdb --module=libaudacious --source-dir=../../src/libaudacious/ --output-format=xml --main-sgml-file=xml/libaudacious-main.sgml; \ - cd ../..; \ - cd doc/audacious; \ - gtkdoc-mkdb --module=audacious --source-dir=../../src/audacious/ --ignore-files=intl --output-format=xml --main-sgml-file=xml/audacious-main.sgml; \ - cd ../..; \ - rm -rf doc/libaudacious/html; \ - mkdir -p doc/libaudacious/html; \ - rm -rf doc/audacious/html; \ - mkdir -p doc/audacious/html; \ - cd doc/libaudacious/html; \ - gtkdoc-mkhtml libaudacious ../libaudacious-main.sgml; \ - cd ../../..; \ - cd doc/audacious/html; \ - rm ../xml/xml; \ - ln -sf ../xml ../xml/xml; \ - gtkdoc-mkhtml audacious ../xml/audacious-main.sgml; \ - cd ../../..; \ - echo; \ - echo "The audacious SDK documentation was built successfully in doc/."; \ - echo; \ - ); + done + +uninstall-extra: + y="audacious.pc audclient.pc"; \ + for i in $$y; do \ + if [ -f ${DESTDIR}${libdir}/pkgconfig/$$i ]; then \ + if rm -f ${DESTDIR}${libdir}/pkgconfig/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi; \ + done diff -r 701de882bcc2 -r fe3a1ae77f80 buildsys.mk.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/buildsys.mk.in Wed Sep 19 17:48:49 2007 +0300 @@ -0,0 +1,388 @@ +# +# Copyright (c) 2007, Jonathan Schleifer +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice is present in all copies. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +PACKAGE = @PACKAGE@ +CC = @CC@ +CXX = @CXX@ +CPP = @CPP@ +DC = @DC@ +ERLC = @ERLC@ +OBJC = @OBJC@ +AR = @AR@ +LD = ${CC} +CFLAGS = @CFLAGS@ +CXXFLAGS = @CXXFLAGS@ +CPPFLAGS = @CPPFLAGS@ +DFLAGS = @DFLAGS@ +ERLCFLAGS = @ERLCFLAGS@ +OBJCFLAGS = @OBJCFLAGS@ +LDFLAGS = @LDFLAGS@ +LIBS = @LIBS@ +LIB_CPPFLAGS = @LIB_CPPFLAGS@ +LIB_CFLAGS = @LIB_CFLAGS@ +LIB_LDFLAGS = @LIB_LDFLAGS@ +LIB_PREFIX = @LIB_PREFIX@ +LIB_SUFFIX = @LIB_SUFFIX@ +PLUGIN_CPPFLAGS = @PLUGIN_CPPFLAGS@ +PLUGIN_CFLAGS = @PLUGIN_CFLAGS@ +PLUGIN_LDFLAGS = @PLUGIN_LDFLAGS@ +PLUGIN_SUFFIX = @PLUGIN_SUFFIX@ +INSTALL_LIB = @INSTALL_LIB@ +UNINSTALL_LIB = @UNINSTALL_LIB@ +LN_S = @LN_S@ +MKDIR_P = mkdir -p +INSTALL = @INSTALL@ +SHELL = @SHELL@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ +bindir = @bindir@ +libdir = @libdir@ +plugindir ?= ${PACKAGE} +datarootdir = @datarootdir@ +datadir = @datadir@ +includedir = @includedir@ +includesubdir ?= ${PACKAGE} +mandir = @mandir@ +mansubdir ?= man1 +pkgdatadir = ${datadir}/${PACKAGE} + +OBJS1 = ${SRCS:.c=.o} +OBJS2 = ${OBJS1:.cc=.o} +OBJS3 = ${OBJS2:.cxx=.o} +OBJS4 = ${OBJS3:.d=.o} +OBJS5 = ${OBJS4:.erl=.beam} +OBJS += ${OBJS5:.m=.o} + +ifneq ($(strip $(prefix)),) + RPATH = -Wl,-rpath=${libdir} +endif + +.SILENT: +.SUFFIXES: .beam .c .cc .cxx .d .erl .m +.PHONY: all subdirs depend install uninstall clean distclean + +all: subdirs depend ${OBJS} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${LIB} ${LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST} + +subdirs: + for i in ${SUBDIRS}; do \ + ${DIR_ENTER}; \ + ${MAKE} || exit 1; \ + ${DIR_LEAVE}; \ + done + +depend-hook: + +depend: depend-hook + regen=0; \ + for i in ${SRCS}; do [ $$i -nt .deps ] && regen=1; done; \ + if [ $$regen = 1 ]; then \ + rm -f .deps; \ + for i in ${SRCS}; do \ + case $${i##*.} in \ + c|cc|cxx|m) \ + ${CPP} ${CPPFLAGS} -M $$i >>.deps; \ + esac; \ + done; \ + fi + +${PROG} ${PROG_NOINST}: ${EXT_DEPS} ${OBJS} + ${LINK_STATUS} + if ${LD} -o $@ ${OBJS} ${LDFLAGS} ${LIBS} ${RPATH}; then \ + ${LINK_OK}; \ + else \ + ${LINK_FAILED}; \ + fi + +${LIB} ${LIB_NOINST}: ${EXT_DEPS} ${OBJS} + ${LINK_STATUS} + if ${LD} -o $@ ${OBJS} ${LIB_LDFLAGS} ${LDFLAGS} ${LIBS}; then \ + ${LINK_OK}; \ + else \ + ${LINK_FAILED}; \ + fi + +${PLUGIN} ${PLUGIN_NONST}: ${EXT_DEPS} ${OBJS} + ${LINK_STATUS} + if ${LD} -o $@ ${OBJS} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}; then \ + ${LINK_OK}; \ + else \ + ${LINK_FAILED}; \ + fi + +${STATIC_LIB} ${STATIC_LIB_NOINST}: ${EXT_DEPS} ${OBJS} + ${LINK_STATUS} + if ${AR} cq $@ ${OBJS}; then \ + ${LINK_OK}; \ + else \ + ${LINK_FAILED}; \ + fi + +${EXT_DEPS}: subdirs + +.c.o: + ${COMPILE_STATUS} + if ${CC} ${CFLAGS} ${CPPFLAGS} -c -o $@ $<; then \ + ${COMPILE_OK}; \ + else \ + ${COMPILE_FAILED}; \ + fi + +.cc.o .cxx.o: + ${COMPILE_STATUS} + if ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<; then \ + ${COMPILE_OK}; \ + else \ + ${COMPILE_FAILED}; \ + fi + +.d.o: + ${COMPILE_STATUS} + if test x"$(basename ${DC})" = x"dmd"; then \ + if ${DC} ${DFLAGS} -c -of$@ $<; then \ + ${COMPILE_OK}; \ + else \ + ${COMPILE_FAILED}; \ + fi \ + else \ + if ${DC} ${DFLAGS} -c -o $@ $<; then \ + ${COMPILE_OK}; \ + else \ + ${COMPILE_FAILED}; \ + fi \ + fi + +.erl.beam: + ${COMPILE_STATUS} + if ${ERLC} ${ERLCFLAGS} -o $@ $<; then \ + ${COMPILE_OK}; \ + else \ + ${COMPILE_FAILED}; \ + fi + +.m.o: + ${COMPILE_STATUS} + if ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c -o $@ $<; then \ + ${COMPILE_OK}; \ + else \ + ${COMPILE_FAILED}; \ + fi + +install: ${LIB} ${STATIC_LIB} ${PLUGIN} ${PROG} install-extra + for i in ${SUBDIRS}; do \ + ${DIR_ENTER}; \ + ${MAKE} install || exit 1; \ + ${DIR_LEAVE}; \ + done + + for i in ${LIB}; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL_LIB}; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi \ + done + + for i in ${STATIC_LIB}; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi \ + done + + for i in ${PLUGIN}; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${libdir}/${plugindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/${plugindir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi \ + done + + for i in ${DATA}; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${datadir} && ${INSTALL} -m 644 $$i ${DESTDIR}${datadir}/${PACKAGE}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi \ + done + + for i in ${PROG}; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 -s $$i ${DESTDIR}${bindir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi \ + done + + for i in ${INCLUDES}; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${includedir}/${includesubdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${includedir}/${includesubdir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi \ + done + + for i in ${MAN}; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${mandir}/${mansubdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${mandir}/${mansubdir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi \ + done + +install-extra: + +uninstall: uninstall-extra + for i in ${SUBDIRS}; do \ + ${DIR_ENTER}; \ + ${MAKE} uninstall || exit 1; \ + ${DIR_LEAVE}; \ + done + + for i in ${LIB}; do \ + if [ -f ${DESTDIR}${libdir}/$$i ]; then \ + if ${UNINSTALL_LIB}; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi; \ + done + + for i in ${STATIC_LIB}; do \ + if [ -f ${DESTDIR}${libdir}/$$i ]; then \ + if rm -f ${DESTDIR}${libdir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi \ + done + + for i in ${PLUGIN}; do \ + if [ -f ${DESTDIR}${libdir}/${plugindir}/$$i ]; then \ + if rm -f ${DESTDIR}${libdir}/${plugindir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi \ + done + -rmdir ${DESTDIR}${libdir}/${plugindir} >/dev/null 2>&1 + + for i in ${DATA}; do \ + if [ -f ${DESTDIR}${datadir}/${PACKAGE}/$$i ]; then \ + if rm -f ${DESTDIR}${datadir}/${PACKAGE}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi \ + done + + for i in ${PROG}; do \ + if [ -f ${DESTDIR}${bindir}/$$i ]; then \ + if rm -f ${DESTDIR}${bindir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi \ + done + + for i in ${INCLUDES}; do \ + if [ -f ${DESTDIR}${includedir}/${includesubdir}/$$i ]; then \ + if rm -f ${DESTDIR}${includedir}/${includesubdir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi \ + done + -rmdir ${DESTDIR}${includedir}/${includesubdir} >/dev/null 2>&1 + + for i in ${MAN}; do \ + if [ -f ${DESTDIR}${mandir}/${mansubdir}/$$i ]; then \ + if rm -f ${DESTDIR}${mandir}/${mansubdir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi \ + done + +uninstall-extra: + +clean: + for i in ${SUBDIRS}; do \ + ${DIR_ENTER}; \ + ${MAKE} clean || exit 1; \ + ${DIR_LEAVE}; \ + done + + for i in ${OBJS} ${CLEAN} .deps *~; do \ + if [ -f $$i -o -d $$i ]; then \ + if rm -fr $$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi \ + done + +distclean: clean + for i in ${SUBDIRS}; do \ + ${DIR_ENTER}; \ + ${MAKE} distclean || exit 1; \ + ${DIR_LEAVE}; \ + done + + for i in ${PROG} ${PROG_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${DISTCLEAN}; do \ + if [ -f $$i -o -d $$i ]; then \ + if rm -fr $$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi \ + done + +DIR_ENTER = printf "\033[0;36mEntering directory \033[1;36m$$i\033[0;36m.\033[0m\n"; cd $$i || exit 1 +DIR_LEAVE = printf "\033[0;36mLeaving directory \033[1;36m$$i\033[0;36m.\033[0m\n"; cd .. || exit 1 +LINK_STATUS = printf "\033[0;33mLinking \033[1;33m$@\033[0;33m...\033[0m\r" +LINK_OK = printf "\033[0;32mSuccessfully linked \033[1;32m$@\033[0;32m.\033[0m\n" +LINK_FAILED = printf "\033[0;31mFailed to link \033[1;31m$@\033[0;31m!\033[0m\n"; exit 1 +COMPILE_STATUS = printf "\033[0;33mCompiling \033[1;33m$<\033[0;33m...\033[0m\r" +COMPILE_OK = printf "\033[0;32mSuccessfully compiled \033[1;32m$<\033[0;32m.\033[0m\n" +COMPILE_FAILED = printf "\033[0;31mFailed to compile \033[1;31m$<\033[0;31m!\033[0m\n"; exit 1 +INSTALL_STATUS = printf "\033[0;33mInstalling \033[1;33m$$i\033[0;33m...\033[0m\r" +INSTALL_OK = printf "\033[0;32mSuccessfully installed \033[1;32m$$i\033[0;32m.\033[0m\n" +INSTALL_FAILED = printf "\033[0;31mFailed to install \033[1;31m$$i\033[0;31m!\033[0m\n"; exit 1 +DELETE_OK = printf "\033[0;34mDeleted \033[1;34m$$i\033[0;34m.\033[0m\n" +DELETE_FAILED = printf "\033[0;31mFailed to delete \033[1;31m$$i\033[0;31m!\033[0m\n"; exit 1 + +-include .deps diff -r 701de882bcc2 -r fe3a1ae77f80 configure.ac --- a/configure.ac Fri Sep 14 08:10:29 2007 +0300 +++ b/configure.ac Wed Sep 19 17:48:49 2007 +0300 @@ -158,36 +158,25 @@ enable_rpath=$enableval, enable_rpath=yes) if test "x$enable_rpath" = xyes; then - RPATH_VAL="-Wl,-rpath=\${libdir}" + case "$target" in + *-apple-*) + ;; + *) + RPATH_VAL="-Wl,-rpath=\${libdir}" + ;; + esac fi +AC_SUBST(RPATH_VAL) + dnl plugin stuff dnl ======================== dnl Ok, first we find out what flags we need to use. -AC_MSG_CHECKING([for what extension and flags to use for plugin compilation]) -case "$target" in - *-apple-*) - AC_MSG_RESULT([Mac OS X: -fPIC -bundle -fno-common -flat_namespace -undefined suppress, .dylib]) - PICFLAGS="-fPIC -DPIC" - PICLDFLAGS="-fPIC -DPIC -bundle -fno-common -flat_namespace -undefined suppress" - LIBLDFLAGS="-dynamiclib -flat_namespace -undefined suppress" - AUDLDFLAGS="" - SHARED_SUFFIX=".dylib" - ;; - *) - AC_MSG_RESULT([libdl-compatible: -fPIC -DPIC -shared, .so]) - PICFLAGS="-fPIC -DPIC" - PICLDFLAGS="-fPIC -DPIC -shared" - LIBLDFLAGS="-fPIC -DPIC -shared" - AUDLDFLAGS="-Wl,-export-dynamic $RPATH_VAL" - SHARED_SUFFIX=".so" - ;; -esac -AC_SUBST(PICFLAGS) -AC_SUBST(PICLDFLAGS) -AC_SUBST(LIBLDFLAGS) -AC_SUBST(AUDLDFLAGS) +AM_SHARED_LIB + +dnl XXX +SHARED_SUFFIX=$PLUGIN_SUFFIX AC_SUBST(SHARED_SUFFIX) AC_DEFINE_UNQUOTED(SHARED_SUFFIX, "${SHARED_SUFFIX}", [Define the shared module suffix extension on your platform.]) @@ -199,14 +188,12 @@ LDFLAGS="$LDFLAGS -framework CoreFoundation -framework CoreServices -framework Carbon" ;; *) + EXPORTDYN="-Wl,-export-dynamic" AC_MSG_RESULT([no]) ;; esac -dnl libguess always compiled in -dnl ======================== -SUBDIR_GUESS="libguess" -CHARDET_LIBS="../libguess/libguess.a" +AC_SUBST(EXPORTDYN) dnl chardet support dnl ======================== @@ -462,7 +449,8 @@ AC_CONFIG_FILES([ audacious.pc audclient.pc - mk/rules.mk + buildsys.mk + extra.mk man/audtool.1 man/audacious.1 src/audacious/audacious.desktop diff -r 701de882bcc2 -r fe3a1ae77f80 extra.mk.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/extra.mk.in Wed Sep 19 17:48:49 2007 +0300 @@ -0,0 +1,343 @@ +@SET_MAKE@ + +srcdir ?= @srcdir@ +top_srcdir ?= @top_srcdir@ +VPATH ?= @srcdir@ +pkgdatadir ?= $(datadir)/@PACKAGE@ +pkglibdir ?= $(libdir)/@PACKAGE@ +pkgincludedir ?= $(includedir)/@PACKAGE@ +top_builddir ?= . +am__cd ?= CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL ?= @INSTALL@ +install_sh_DATA ?= $(install_sh) -c -m 644 +install_sh_PROGRAM ?= $(install_sh) -c +install_sh_SCRIPT ?= $(install_sh) -c +INSTALL_HEADER ?= $(INSTALL_DATA) +transform ?= $(program_transform_name) +NORMAL_INSTALL ?= : +PRE_INSTALL ?= : +POST_INSTALL ?= : +NORMAL_UNINSTALL ?= : +PRE_UNINSTALL ?= : +POST_UNINSTALL ?= : +build_triplet ?= @build@ +host_triplet ?= @host@ +target_triplet ?= @target@ +subdir ?= . +ACLOCAL_M4 ?= $(top_srcdir)/aclocal.m4 +CONFIG_HEADER ?= config.h +CONFIG_CLEAN_FILES ?= audacious.1 audacious.spec audacious.pc \ + intl/Makefile +SOURCES = +DIST_SOURCES = +man1dir ?= $(mandir)/man1 +am__installdirs ?= "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(pkgconfigdir)" +NROFF ?= nroff +MANS ?= $(man_MANS) +am__vpath_adj_setup ?= srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj ?= case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir ?= `echo $$p | sed -e 's|^.*/||'`; +pkgconfigDATA_INSTALL ?= $(INSTALL_DATA) +DATA ?= $(pkgconfig_DATA) +ETAGS ?= etags +CTAGS ?= ctags +DIST_SUBDIRS ?= $(SUBDIRS) +DISTFILES ?= $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir ?= $(PACKAGE)-$(VERSION) +top_distdir ?= $(distdir) +am__remove_distdir ?= \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES ?= $(distdir).tar.gz +GZIP_ENV ?= --best +distuninstallcheck_listfiles ?= find . -type f -print +distcleancheck_listfiles ?= find . -type f -print +ACLOCAL ?= @ACLOCAL@ +ALLOCA ?= @ALLOCA@ +ALSA_CFLAGS ?= @ALSA_CFLAGS@ +ALSA_LIBS ?= @ALSA_LIBS@ +AMDEP_FALSE ?= @AMDEP_FALSE@ +AMDEP_TRUE ?= @AMDEP_TRUE@ +AMIDIPLUGBACKENDDIR ?= @AMIDIPLUGBACKENDDIR@ +AMTAR ?= @AMTAR@ +AR ?= @AR@ +ARCH_DEFINES ?= @ARCH_DEFINES@ +ARCH_X86_FALSE ?= @ARCH_X86_FALSE@ +ARCH_X86_TRUE ?= @ARCH_X86_TRUE@ +ARTSC_CFLAGS ?= @ARTSC_CFLAGS@ +ARTSC_LIBS ?= @ARTSC_LIBS@ +AUTOCONF ?= @AUTOCONF@ +AUTOHEADER ?= @AUTOHEADER@ +AUTOMAKE ?= @AUTOMAKE@ +AWK ?= @AWK@ +BEEP_DEFINES ?= @BEEP_DEFINES@ +BEEP_PATH ?= @BEEP_PATH@ +BINIO_CFLAGS ?= @BINIO_CFLAGS@ +BINIO_LIBS ?= @BINIO_LIBS@ +BMP_RCPATH ?= @BMP_RCPATH@ +BUILDERS_INCLUDES ?= @BUILDERS_INCLUDES@ +BUILDERS_LDFLAGS ?= @BUILDERS_LDFLAGS@ +BUILD_INCLUDED_LIBINTL ?= @BUILD_INCLUDED_LIBINTL@ +CATOBJEXT ?= @CATOBJEXT@ +CC = @CC@ +CCAS ?= @CCAS@ +CCASFLAGS ?= @CCASFLAGS@ +CCDEPMODE ?= @CCDEPMODE@ +CFLAGS += @CFLAGS@ +CPP = @CPP@ +CPPFLAGS += @CPPFLAGS@ +CXX = @CXX@ +CXXCPP ?= @CXXCPP@ +CXXDEPMODE ?= @CXXDEPMODE@ +CXXFLAGS += @CXXFLAGS@ +CYGPATH_W ?= @CYGPATH_W@ +DATADIRNAME ?= @DATADIRNAME@ +DCT64 ?= @DCT64@ +DBUS_BINDING_TOOL ?= @DBUS_BINDING_TOOL@ +DBUS_SERVICES_TOOL ?= @DBUS_SERVICES_DIR@ +DBUS_CFLAGS ?= @DBUS_CFLAGS@ +DBUS_LIBS ?= @DBUS_LIBS@ +DEFS ?= @DEFS@ +DEPDIR ?= @DEPDIR@ +ECHO ?= @ECHO@ +ECHO_C ?= @ECHO_C@ +ECHO_N ?= @ECHO_N@ +ECHO_T ?= @ECHO_T@ +EFFECT_PLUGINS ?= @EFFECT_PLUGINS@ +EFFECT_PLUGIN_DIR ?= @EFFECT_PLUGIN_DIR@ +EGREP ?= @EGREP@ +ENABLE_AAC_FALSE ?= @ENABLE_AAC_FALSE@ +ENABLE_AAC_TRUE ?= @ENABLE_AAC_TRUE@ +ENABLE_AMIDIPLUG_FALSE ?= @ENABLE_AMIDIPLUG_FALSE@ +ENABLE_AMIDIPLUG_TRUE ?= @ENABLE_AMIDIPLUG_TRUE@ +ENABLE_CROSSFADE_FALSE ?= @ENABLE_CROSSFADE_FALSE@ +ENABLE_CROSSFADE_TRUE ?= @ENABLE_CROSSFADE_TRUE@ +ENABLE_MPG123_FALSE ?= @ENABLE_MPG123_FALSE@ +ENABLE_MPG123_TRUE ?= @ENABLE_MPG123_TRUE@ +ENABLE_MUSEPACK_FALSE ?= @ENABLE_MUSEPACK_FALSE@ +ENABLE_MUSEPACK_TRUE ?= @ENABLE_MUSEPACK_TRUE@ +ENABLE_TIMIDITY_FALSE ?= @ENABLE_TIMIDITY_FALSE@ +ENABLE_TIMIDITY_TRUE ?= @ENABLE_TIMIDITY_TRUE@ +ENABLE_WMA_FALSE ?= @ENABLE_WMA_FALSE@ +ENABLE_WMA_TRUE ?= @ENABLE_WMA_TRUE@ +ESD_CFLAGS ?= @ESD_CFLAGS@ +ESD_LIBS ?= @ESD_LIBS@ +EXEEXT ?= @EXEEXT@ +FLUIDSYNTH_CFLAGS ?= @FLUIDSYNTH_CFLAGS@ +FLUIDSYNTH_LIBS ?= @FLUIDSYNTH_LIBS@ +GENCAT ?= @GENCAT@ +GENERAL_PLUGINS ?= @GENERAL_PLUGINS@ +GENERAL_PLUGIN_DIR ?= @GENERAL_PLUGIN_DIR@ +GLIBC21 ?= @GLIBC21@ +GLIB_CFLAGS ?= @GLIB_CFLAGS@ +GLIB_LIBS ?= @GLIB_LIBS@ +GMODULE_CFLAGS ?= @GMODULE_CFLAGS@ +GMODULE_LIBS ?= @GMODULE_LIBS@ +GMSGFMT ?= @GMSGFMT@ +GNOMEVFS_CFLAGS ?= @GNOMEVFS_CFLAGS@ +GNOMEVFS_LIBS ?= @GNOMEVFS_LIBS@ +GTK_CFLAGS ?= @GTK_CFLAGS@ +GTK_LIBS ?= @GTK_LIBS@ +HARDSID_LDADD ?= @HARDSID_LDADD@ +HAVE_ADPLUG_FALSE ?= @HAVE_ADPLUG_FALSE@ +HAVE_ADPLUG_TRUE ?= @HAVE_ADPLUG_TRUE@ +HAVE_ALSA_FALSE ?= @HAVE_ALSA_FALSE@ +HAVE_ALSA_TRUE ?= @HAVE_ALSA_TRUE@ +HAVE_CDROM_FALSE ?= @HAVE_CDROM_FALSE@ +HAVE_CDROM_TRUE ?= @HAVE_CDROM_TRUE@ +HAVE_ESD_FALSE ?= @HAVE_ESD_FALSE@ +HAVE_ESD_TRUE ?= @HAVE_ESD_TRUE@ +HAVE_FLAC_FALSE ?= @HAVE_FLAC_FALSE@ +HAVE_FLAC_TRUE ?= @HAVE_FLAC_TRUE@ +HAVE_JACK_FALSE ?= @HAVE_JACK_FALSE@ +HAVE_JACK_TRUE ?= @HAVE_JACK_TRUE@ +HAVE_LIBSAMPLERATE_FALSE ?= @HAVE_LIBSAMPLERATE_FALSE@ +HAVE_LIBSAMPLERATE_TRUE ?= @HAVE_LIBSAMPLERATE_TRUE@ +HAVE_LIBSNDFILE_FALSE ?= @HAVE_LIBSNDFILE_FALSE@ +HAVE_LIBSNDFILE_TRUE ?= @HAVE_LIBSNDFILE_TRUE@ +HAVE_LIBVISUAL_FALSE ?= @HAVE_LIBVISUAL_FALSE@ +HAVE_LIBVISUAL_TRUE ?= @HAVE_LIBVISUAL_TRUE@ +HAVE_LINUX_JOYSTICK_FALSE ?= @HAVE_LINUX_JOYSTICK_FALSE@ +HAVE_LINUX_JOYSTICK_TRUE ?= @HAVE_LINUX_JOYSTICK_TRUE@ +HAVE_LIRC_FALSE ?= @HAVE_LIRC_FALSE@ +HAVE_LIRC_TRUE ?= @HAVE_LIRC_TRUE@ +HAVE_MODPLUG_FALSE ?= @HAVE_MODPLUG_FALSE@ +HAVE_MODPLUG_TRUE ?= @HAVE_MODPLUG_TRUE@ +HAVE_OGGVORBIS_FALSE ?= @HAVE_OGGVORBIS_FALSE@ +HAVE_OGGVORBIS_TRUE ?= @HAVE_OGGVORBIS_TRUE@ +HAVE_OSS_FALSE ?= @HAVE_OSS_FALSE@ +HAVE_OSS_TRUE ?= @HAVE_OSS_TRUE@ +HAVE_SIDPLAY_FALSE ?= @HAVE_SIDPLAY_FALSE@ +HAVE_SIDPLAY_TRUE ?= @HAVE_SIDPLAY_TRUE@ +HAVE_SOLARIS_FALSE ?= @HAVE_SOLARIS_FALSE@ +HAVE_SOLARIS_TRUE ?= @HAVE_SOLARIS_TRUE@ +HAVE_SUN_FALSE ?= @HAVE_SUN_FALSE@ +HAVE_SUN_TRUE ?= @HAVE_SUN_TRUE@ +INPUT_PLUGINS ?= @INPUT_PLUGINS@ +INPUT_PLUGIN_DIR ?= @INPUT_PLUGIN_DIR@ +INSTALL_DATA ?= @INSTALL_DATA@ +INSTALL_PROGRAM ?= @INSTALL_PROGRAM@ +INSTALL_SCRIPT ?= @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM ?= @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT ?= @INSTOBJEXT@ +INTLBISON ?= @INTLBISON@ +INTLLIBS ?= @INTLLIBS@ +INTLOBJS ?= @INTLOBJS@ +INTL_LIBTOOL_SUFFIX_PREFIX ?= @INTL_LIBTOOL_SUFFIX_PREFIX@ +JACK_CFLAGS ?= @JACK_CFLAGS@ +JACK_LIBS ?= @JACK_LIBS@ +LDFLAGS ?= @LDFLAGS@ +LIBBEEP_MAJOR_VERSION ?= @LIBBEEP_MAJOR_VERSION@ +LIBBEEP_MICRO_VERSION ?= @LIBBEEP_MICRO_VERSION@ +LIBBEEP_MINOR_VERSION ?= @LIBBEEP_MINOR_VERSION@ +LIBFLAC_CFLAGS ?= @LIBFLAC_CFLAGS@ +LIBFLAC_LIBS ?= @LIBFLAC_LIBS@ +LIBGLADE_CFLAGS ?= @LIBGLADE_CFLAGS@ +LIBGLADE_LIBS ?= @LIBGLADE_LIBS@ +LIBNMS_CFLAGS ?= @LIBNMS_CFLAGS@ +LIBNMS_LIBS ?= @LIBNMS_LIBS@ +LIBNMS_SRC ?= @LIBNMS_SRC@ +LIBICONV ?= @LIBICONV@ +LIBINTL ?= @LIBINTL@ +LIBOBJS ?= @LIBOBJS@ +LIBS ?= @LIBS@ +LIBTOOL ?= @LIBTOOL@ +LIBVISUAL_CFLAGS ?= @LIBVISUAL_CFLAGS@ +LIBVISUAL_LIBS ?= @LIBVISUAL_LIBS@ +LN_S ?= @LN_S@ +LTLIBICONV ?= @LTLIBICONV@ +LTLIBINTL ?= @LTLIBINTL@ +LTLIBOBJS ?= @LTLIBOBJS@ +MAKEINFO ?= @MAKEINFO@ +MKINSTALLDIRS ?= @MKINSTALLDIRS@ +MSGFMT ?= @MSGFMT@ +MSGMERGE ?= @MSGMERGE@ +OBJEXT ?= @OBJEXT@ +OGG_VORBIS_CFLAGS ?= @OGG_VORBIS_CFLAGS@ +OGG_VORBIS_LIBS ?= @OGG_VORBIS_LIBS@ +OSS_LIBS ?= @OSS_LIBS@ +OUTPUT_PLUGINS ?= @OUTPUT_PLUGINS@ +OUTPUT_PLUGIN_DIR ?= @OUTPUT_PLUGIN_DIR@ +PACKAGE ?= @PACKAGE@ +PACKAGE_BUGREPORT ?= @PACKAGE_BUGREPORT@ +PACKAGE_NAME ?= @PACKAGE_NAME@ +PACKAGE_STRING ?= @PACKAGE_STRING@ +PACKAGE_TARNAME ?= @PACKAGE_TARNAME@ +PACKAGE_VERSION ?= @PACKAGE_VERSION@ +PATH_SEPARATOR ?= @PATH_SEPARATOR@ +PC_REQUIRES ?= @PC_REQUIRES@ +PKG_CONFIG ?= @PKG_CONFIG@ +PLUGIN_LDFLAGS ?= @PLUGIN_LDFLAGS@ +POSUB ?= @POSUB@ +RANLIB ?= @RANLIB@ +REGEX_CFLAGS ?= @REGEX_CFLAGS@ +REGEX_LIBS ?= @REGEX_LIBS@ +RESID_LDADD ?= @RESID_LDADD@ +SAMPLERATE_CFLAGS ?= @SAMPLERATE_CFLAGS@ +SAMPLERATE_LIBS ?= @SAMPLERATE_LIBS@ +SDL_CFLAGS ?= @SDL_CFLAGS@ +SDL_CONFIG ?= @SDL_CONFIG@ +SDL_LIBS ?= @SDL_LIBS@ +SET_MAKE ?= @SET_MAKE@ +SHELL ?= @SHELL@ +SIDPLAY1_INCLUDES ?= @SIDPLAY1_INCLUDES@ +SIDPLAY1_LDADD ?= @SIDPLAY1_LDADD@ +SIDPLAY2_INCLUDES ?= @SIDPLAY2_INCLUDES@ +SIDPLAY2_LDADD ?= @SIDPLAY2_LDADD@ +SNDFILE_CFLAGS ?= @SNDFILE_CFLAGS@ +SNDFILE_LIBS ?= @SNDFILE_LIBS@ +STRIP ?= @STRIP@ +USE_DBUS ?= @USE_DBUS@ +USE_INCLUDED_LIBINTL ?= @USE_INCLUDED_LIBINTL@ +USE_NLS ?= @USE_NLS@ +USE_X86ASM_FALSE ?= @USE_X86ASM_FALSE@ +USE_X86ASM_TRUE ?= @USE_X86ASM_TRUE@ +VERSION ?= @VERSION@ +VISUALIZATION_PLUGINS ?= @VISUALIZATION_PLUGINS@ +VISUALIZATION_PLUGIN_DIR ?= @VISUALIZATION_PLUGIN_DIR@ +XGETTEXT ?= @XGETTEXT@ +ac_ct_AR ?= @ac_ct_AR@ +ac_ct_CC ?= @ac_ct_CC@ +ac_ct_CXX ?= @ac_ct_CXX@ +ac_ct_RANLIB ?= @ac_ct_RANLIB@ +ac_ct_STRIP ?= @ac_ct_STRIP@ +am__fastdepCC_FALSE ?= @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE ?= @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE ?= @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE ?= @am__fastdepCXX_TRUE@ +am__include ?= @am__include@ +am__leading_dot ?= @am__leading_dot@ +am__quote ?= @am__quote@ +am__tar ?= @am__tar@ +am__untar ?= @am__untar@ +beepdir ?= @beepdir@ +bindir ?= @bindir@ +build ?= @build@ +build_alias ?= @build_alias@ +build_cpu ?= @build_cpu@ +build_os ?= @build_os@ +build_vendor ?= @build_vendor@ +datadir ?= @datadir@ +datarootdir ?= @datarootdir@ +exec_prefix ?= @exec_prefix@ +host ?= @host@ +host_alias ?= @host_alias@ +host_cpu ?= @host_cpu@ +host_os ?= @host_os@ +host_vendor ?= @host_vendor@ +includedir ?= @includedir@ +infodir ?= @infodir@ +install_sh ?= @install_sh@ +libdir ?= @libdir@ +libexecdir ?= @libexecdir@ +localedir ?= @localedir@ +localstatedir ?= @localstatedir@ +mandir ?= @mandir@ +mkdir_p ?= @mkdir_p@ +oldincludedir ?= @oldincludedir@ +plugindir ?= @plugindir@ +pluginsubs ?= @pluginsubs@ +prefix ?= @prefix@ +program_transform_name ?= @program_transform_name@ +sbindir ?= @sbindir@ +sharedstatedir ?= @sharedstatedir@ +sysconfdir ?= @sysconfdir@ +target ?= @target@ +target_alias ?= @target_alias@ +target_cpu ?= @target_cpu@ +target_os ?= @target_os@ +target_vendor ?= @target_vendor@ +WAV_SNDFILE ?= @WAV_SNDFILE@ +VFS_BACKEND ?= @VFS_BACKEND@ +CURL_CFLAGS ?= @CURL_CFLAGS@ +CURL_LIBS ?= @CURL_LIBS@ +MUSICBRAINZ_LIBS ?= @MUSICBRAINZ_LIBS@ +CHARDET_LIBS ?= @CHARDET_LIBS@ +samplerate_CFLAGS ?= @samplerate_CFLAGS@ +samplerate_LIBS ?= @samplerate_LIBS@ +SUBDIR_GUESS ?= @SUBDIR_GUESS@ +LIBNOTIFY_CFLAGS ?= @LIBNOTIFY_CFLAGS@ +LIBNOTIFY_LIBS ?= @LIBNOTIFY_LIBS@ +XML_CPPFLAGS ?= @XML_CPPFLAGS@ +XML_LIBS ?= @XML_LIBS@ +CONTAINER_PLUGIN_DIR ?= @CONTAINER_PLUGIN_DIR@ +CONTAINER_PLUGINS ?= @CONTAINER_PLUGINS@ +SHARED_SUFFIX ?= @SHARED_SUFFIX@ +PICFLAGS ?= @PICFLAGS@ +PICLDFLAGS ?= @PICLDFLAGS@ +LIBLDFLAGS ?= @LIBLDFLAGS@ +AUDLDFLAGS ?= @AUDLDFLAGS@ +INTL_OBJECTIVE ?= @INTL_OBJECTIVE@ +LIBMCS_CFLAGS ?= @LIBMCS_CFLAGS@ +LIBMCS_LIBS ?= @LIBMCS_LIBS@ +MOWGLI_CFLAGS ?= @MOWGLI_CFLAGS@ +MOWGLI_LIBS ?= @MOWGLI_LIBS@ +LIBAUDCLIENT_OBJECTIVE ?= @LIBAUDCLIENT_OBJECTIVE@ +TRANSPORT_PLUGIN_DIR ?= @TRANSPORT_PLUGIN_DIR@ +TRANSPORT_PLUGINS ?= @TRANSPORT_PLUGINS@ +PCH ?= @PCH@ +EXPORTDYN ?= @EXPORTDYN@ diff -r 701de882bcc2 -r fe3a1ae77f80 icons/Makefile --- a/icons/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/icons/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,7 +1,27 @@ -include ../mk/rules.mk -include ../mk/init.mk +include ../buildsys.mk pixmapsdir = $(datadir)/pixmaps -OBJECTIVE_DATA = audacious.png:$(pixmapsdir) + +install-extra: + y="audacious.png"; \ + for i in $$y; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${pixmapsdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${pixmapsdir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi; \ + done -include ../mk/objective.mk +uninstall-extra: + y="audacious.png"; \ + for i in $$y; do \ + if [ -f ${DESTDIR}${pixmapsdir}/$$i ]; then \ + if rm -f ${DESTDIR}${pixmapsdir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi; \ + done + diff -r 701de882bcc2 -r fe3a1ae77f80 m4/sharedlib.m4 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m4/sharedlib.m4 Wed Sep 19 17:48:49 2007 +0300 @@ -0,0 +1,107 @@ +dnl +dnl Copyright (c) 2007, Jonathan Schleifer +dnl +dnl Permission to use, copy, modify, and/or distribute this software for any +dnl purpose with or without fee is hereby granted, provided that the above +dnl copyright notice and this permission notice is present in all copies. +dnl +dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +dnl AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +dnl ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +dnl LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +dnl CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +dnl SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +dnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +dnl CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +dnl ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +dnl POSSIBILITY OF SUCH DAMAGE. +dnl + +AC_DEFUN([AM_SHARED_LIB], [ + AC_MSG_CHECKING(for shared library system) + case "$target" in + intel-apple-*) + AC_MSG_RESULT([Mac OS X (Intel)]) + LIB_CPPFLAGS='-DPIC' + LIB_CFLAGS='-fPIC' + LIB_LDFLAGS='-dynamiclib -fPIC -install_name ${libdir}/${LIB}' + LIB_PREFIX='lib' + LIB_SUFFIX='.dylib' + PLUGIN_CPPFLAGS='' + PLUGIN_CFLAGS='' + PLUGIN_LDFLAGS='-bundle -fno-common -flat_namespace -undefined suppress' + PLUGIN_SUFFIX='.impl' + INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$$i' + UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib' + ;; + *-apple-*) + AC_MSG_RESULT(Mac OS X) + LIB_CPPFLAGS='-DPIC' + LIB_CFLAGS='' + LIB_LDFLAGS='-dynamiclib -fPIC -install_name ${libdir}/${LIB}' + LIB_PREFIX='lib' + LIB_SUFFIX='.dylib' + PLUGIN_CPPFLAGS='' + PLUGIN_CFLAGS='' + PLUGIN_LDFLAGS='-bundle -fno-common -flat_namespace -undefined suppress' + PLUGIN_SUFFIX='.impl' + INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$$i' + UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib' + ;; + *-sun-* | *-openbsd-* | *-mirbsd-*) + AC_MSG_RESULT(Solaris) + LIB_CPPFLAGS='-DPIC' + LIB_CFLAGS='-fPIC' + LIB_LDFLAGS='-shared -fPIC -Wl,-soname=${LIB}.${LIB_MAJOR}.${LIB_MINOR}' + LIB_PREFIX='lib' + LIB_SUFFIX='.so' + PLUGIN_CPPFLAGS='-DPIC' + PLUGIN_CFLAGS='-fPIC' + PLUGIN_LDFLAGS='-shared -fPIC' + PLUGIN_SUFFIX='.so' + INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR} ${DESTDIR}${libdir}/$$i' + UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}' + ;; + *-*-mingw32) + AC_MSG_RESULT(MinGW32) + LIB_CPPFLAGS='-DPIC' + LIB_CFLAGS='' + LIB_LDFLAGS='-shared' + LIB_PREFIX='' + LIB_SUFFIX='.dll' + PLUGIN_CPPFLAGS='' + PLUGIN_CFLAGS='' + PLUGIN_LDFLAGS='' + PLUGIN_SUFFIX='.dll' + INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i' + UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i' + ;; + *) + AC_MSG_RESULT(POSIX) + LIB_CPPFLAGS='-DPIC' + LIB_CFLAGS='-fPIC' + LIB_LDFLAGS='-shared -fPIC -Wl,-soname=${LIB}.${LIB_MAJOR}.${LIB_MINOR}.0' + LIB_PREFIX='lib' + LIB_SUFFIX='.so' + PLUGIN_CPPFLAGS='-DPIC' + PLUGIN_CFLAGS='-fPIC' + PLUGIN_LDFLAGS='-shared -fPIC' + PLUGIN_SUFFIX='.so' + INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i' + UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0' + ;; + esac + + AC_SUBST(LIB_CPPFLAGS) + AC_SUBST(LIB_CFLAGS) + AC_SUBST(LIB_LDFLAGS) + AC_SUBST(LIB_PREFIX) + AC_SUBST(LIB_SUFFIX) + AC_SUBST(PLUGIN_CPPFLAGS) + AC_SUBST(PLUGIN_CFLAGS) + AC_SUBST(PLUGIN_LDFLAGS) + AC_SUBST(PLUGIN_SUFFIX) + AC_SUBST(INSTALL_LIB) + AC_SUBST(UNINSTALL_LIB) +]) diff -r 701de882bcc2 -r fe3a1ae77f80 man/Makefile --- a/man/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/man/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,7 +1,3 @@ -include ../mk/rules.mk -include ../mk/init.mk -include ../mk/objective.mk +MAN = audacious.1 audtool.1 -OBJECTIVE_DATA = \ - audtool.1:$(man1dir) \ - audacious.1:$(man1dir) +include ../buildsys.mk diff -r 701de882bcc2 -r fe3a1ae77f80 mk/init.mk --- a/mk/init.mk Fri Sep 14 08:10:29 2007 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -# Shut up GNU make -.SILENT: - -OBJECTIVE_DIRECTORIES = -OBJECTIVE_LIBS = -OBJECTIVE_LIBS_NOINST = -OBJECTIVE_BINS = -OBJECTIVE_DATA = -SUBDIRS = -HEADERS = -V = 0 -VERBOSE ?= $(V) -VERBOSITY = 0 -SHOW_CFLAGS ?= $(VERBOSE) - -LIBDIR = $(libdir) -BINDIR = $(bindir) -INCLUDEDIR = $(pkgincludedir) -CFLAGS += -DHAVE_CONFIG_H -I/usr/pkg/include -I/usr/pkg/xorg/include -CXXFLAGS += -DHAVE_CONFIG_H -I/usr/pkg/include -I/usr/pkg/xorg/include diff -r 701de882bcc2 -r fe3a1ae77f80 mk/objective.mk --- a/mk/objective.mk Fri Sep 14 08:10:29 2007 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,294 +0,0 @@ -default: all -all: build - -.SUFFIXES: .cxx .cc - -install: build - $(MAKE) install-prehook - @for i in $(BINDIR) $(LIBDIR) $(INCLUDEDIR); do \ - if [ ! -d $(DESTDIR)/$$i ]; then \ - $(INSTALL) -d -m 755 $(DESTDIR)/$$i; \ - fi; \ - done; - @if [ "x$(OVERLAYS)" != "x" ]; then \ - for i in `find $(OVERLAYS) -type d -maxdepth 1 -mindepth 1`; do \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[installing overlay: $$i]"; \ - fi; \ - cd $$i; OVERLAYS="" $(MAKE) install || exit; cd ..; \ - done; \ - fi - @if [ "x$(SUBDIRS)" != "x" ]; then \ - for i in $(SUBDIRS); do \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[installing subobjective: $$i]"; \ - fi; \ - cd $$i; OVERLAYS="" $(MAKE) install || exit; cd ..; \ - done; \ - fi - @if [ "x$(OBJECTIVE_DIRECTORIES)" != "x" ]; then \ - for i in $(OBJECTIVE_DIRECTORIES); do \ - printf "%10s %-20s\n" MKDIR $$i; \ - $(INSTALL) -d -m 755 $(DESTDIR)/$$i; \ - done; \ - fi - @if [ "x$(HEADERS)" != "x" ]; then \ - for i in $(HEADERS); do \ - printf "%10s %-20s\n" INSTALL $$i; \ - $(INSTALL_DATA) $(INSTALL_OVERRIDE) $$i $(DESTDIR)/$(INCLUDEDIR)/$$i; \ - done; \ - fi - @if [ "x$(OBJECTIVE_LIBS)" != "x" ]; then \ - for i in $(OBJECTIVE_LIBS); do \ - printf "%10s %-20s\n" INSTALL $$i; \ - $(INSTALL) $(INSTALL_OVERRIDE) $$i $(DESTDIR)/$(LIBDIR)/$$i; \ - done; \ - fi - @if [ "x$(OBJECTIVE_BINS)" != "x" ]; then \ - for i in $(OBJECTIVE_BINS); do \ - printf "%10s %-20s\n" INSTALL $$i; \ - $(INSTALL) $(INSTALL_OVERRIDE) $$i $(DESTDIR)/$(BINDIR)/$$i; \ - done; \ - fi; - @if [ "x$(OBJECTIVE_DATA)" != "x" ]; then \ - for i in $(OBJECTIVE_DATA); do \ - source=`echo $$i | cut -d ":" -f1`; \ - destination=`echo $$i | cut -d ":" -f2`; \ - if [ ! -d $(DESTDIR)/$$destination ]; then \ - $(INSTALL) -d -m 755 $(DESTDIR)/$$destination; \ - fi; \ - printf "%10s %-20s\n" INSTALL $$source; \ - $(INSTALL_DATA) $(INSTALL_OVERRIDE) $$source $(DESTDIR)/$$destination; \ - done; \ - fi - $(MAKE) install-posthook - @if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[all objectives installed]"; \ - fi - -clean: - $(MAKE) clean-prehook - @if [ "x$(OVERLAYS)" != "x" ]; then \ - for i in `find $(OVERLAYS) -type d -maxdepth 1 -mindepth 1`; do \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[cleaning overlay: $$i]"; \ - fi; \ - cd $$i; OVERLAYS="" $(MAKE) clean || exit; cd ..; \ - done; \ - fi - @if [ "x$(SUBDIRS)" != "x" ]; then \ - for i in $(SUBDIRS); do \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[cleaning subobjective: $$i]"; \ - fi; \ - cd $$i; OVERLAYS="" $(MAKE) clean || exit; cd ..; \ - done; \ - fi - $(MAKE) clean-posthook - rm -f *.o *.lo *.so *.a *.sl *.h.gch .depend-done .depend - touch .depend - @if [ "x$(OBJECTIVE_BINS)" != "x" ]; then \ - for i in $(OBJECTIVE_BINS); do \ - rm -f $$i; \ - done; \ - fi - @if [ "x$(OBJECTIVE_LIBS)" != "x" ]; then \ - for i in $(OBJECTIVE_LIBS); do \ - rm -f $$i; \ - done; \ - fi - @if [ "x$(OBJECTIVE_LIBS_NOINST)" != "x" ]; then \ - for i in $(OBJECTIVE_LIBS_NOINST); do \ - rm -f $$i; \ - done; \ - fi - @if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[all objectives cleaned]"; \ - fi - -distclean: clean - @if [ "x$(OVERLAYS)" != "x" ]; then \ - for i in `find $(OVERLAYS) -type d -maxdepth 1 -mindepth 1`; do \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[distcleaning overlay: $$i]"; \ - fi; \ - cd $$i; OVERLAYS="" $(MAKE) distclean || exit; cd ..; \ - done; \ - fi - @if [ "x$(SUBDIRS)" != "x" ]; then \ - for i in $(SUBDIRS); do \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[distcleaning subobjective: $$i]"; \ - fi; \ - cd $$i; OVERLAYS="" $(MAKE) distclean || exit; cd ..; \ - done; \ - fi - @if [ -f Makefile.in ]; then \ - rm -f Makefile; \ - fi - @if [ -f mk/rules.mk.in ]; then \ - rm -f mk/rules.mk; \ - fi - rm -f config.log config.status - -build: depend - $(MAKE) build-prehook - @if [ "x$(OVERLAYS)" != "x" ]; then \ - for i in `find $(OVERLAYS) -type d -maxdepth 1 -mindepth 1`; do \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[building overlay: $$i]"; \ - fi; \ - cd $$i; OVERLAYS="" $(MAKE) || exit; cd ..; \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[finished overlay: $$i]"; \ - fi; \ - done; \ - fi - @if [ "x$(SUBDIRS)" != "x" ]; then \ - for i in $(SUBDIRS); do \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[building subobjective: $$i]"; \ - fi; \ - cd $$i; OVERLAYS="" $(MAKE) || exit; cd ..; \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[finished subobjective: $$i]"; \ - fi; \ - done; \ - fi - @if [ "x$(OBJECTIVE_LIBS)" != "x" ]; then \ - for i in $(OBJECTIVE_LIBS); do \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[building library objective: $$i]"; \ - fi; \ - $(MAKE) $$i || exit; \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[finished library objective: $$i]"; \ - fi; \ - done; \ - fi - @if [ "x$(OBJECTIVE_LIBS_NOINST)" != "x" ]; then \ - for i in $(OBJECTIVE_LIBS_NOINST); do \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[building library dependency: $$i]"; \ - fi; \ - $(MAKE) $$i || exit; \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[finished library dependency: $$i]"; \ - fi; \ - done; \ - fi - @if test "x$(OBJECTIVE_BINS)" != "x"; then \ - for i in $(OBJECTIVE_BINS); do \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[building binary objective: $$i]"; \ - fi; \ - $(MAKE) $$i || exit; \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[finished binary objective: $$i]"; \ - fi; \ - done; \ - fi - $(MAKE) build-posthook - @if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[all objectives built]"; \ - fi - -.c.o: - @if [ $(SHOW_CFLAGS) -eq 1 ]; then \ - printf "%10s %-20s (%s)\n" CC $< "${CFLAGS}"; \ - else \ - printf "%10s %-20s\n" CC $<; \ - fi; - $(CC) $(CFLAGS) -c $< -o $@ - -.cc.o .cxx.o: - @if [ $(SHOW_CFLAGS) -eq 1 ]; then \ - printf "%10s %-20s (%s)\n" CXX $< "${CXXFLAGS}"; \ - else \ - printf "%10s %-20s\n" CXX $<; \ - fi; - $(CXX) $(CXXFLAGS) -c $< -o $@ - -pch: - @for i in *.h; do \ - if [ $(SHOW_CFLAGS) -eq 1 ]; then \ - printf "%10s %-20s (%s)\n" "CC [HDR]" $$i "${CFLAGS}"; \ - else \ - printf "%10s %-20s\n" "CC [HDR]" $$i; \ - fi; \ - $(CC) $(CFLAGS) -c $$i -o $$i.gch; \ - done - -$(OBJECTIVE_LIBS): $(OBJECTS) - if [ "x$(OBJECTS)" != "x" ]; then \ - $(MAKE) $(OBJECTS) || exit; \ - printf "%10s %-20s\n" LINK $@; \ - (if [ "x$(SHARED_SUFFIX)" = "x.so" ]; then \ - (if [ "x$(OBJECTIVE_SONAME_SUFFIX)" != "x" ]; then \ - $(CC) $(PICLDFLAGS) -o $@ -Wl,-h$@.$(OBJECTIVE_SONAME_SUFFIX) $(OBJECTS) $(LDFLAGS) $(LIBADD); \ - else \ - $(CC) $(PICLDFLAGS) -o $@ -Wl,-h$@ $(OBJECTS) $(LDFLAGS) $(LIBADD); \ - fi;) \ - else \ - $(CC) $(PICLDFLAGS) -o $@ $(OBJECTS) $(LDFLAGS) $(LIBADD); \ - fi;) \ - fi - -$(OBJECTIVE_LIBS_NOINST): $(OBJECTS) - if [ "x$(OBJECTS)" != "x" ]; then \ - $(MAKE) $(OBJECTS) || exit; \ - printf "%10s %-20s\n" LINK $@; \ - $(AR) cr $@ $(OBJECTS); \ - fi - -$(OBJECTIVE_BINS): $(SOURCES) $(OBJECTS) - if [ "x$(OBJECTS)" != "x" ]; then \ - $(MAKE) $(OBJECTS) || exit; \ - printf "%10s %-20s\n" LINK $@; \ - $(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(LIBADD); \ - fi - -clean-prehook: -clean-posthook: -build-prehook: -build-posthook: -install-prehook: -install-posthook: - -mk/rules.mk: - @if [ -f "configure" ]; then \ - echo "[building rules.mk for posix target, run configure manually if you do not want this]"; \ - sh configure $(CONFIG_OPTS); \ - echo "[complete]"; \ - fi - -.PHONY: .depend depend depend-prehook clean distclean -.depend: -depend-prehook: - -# default depend rule. if something else is needed -- override depend target -depend: - $(MAKE) depend-prehook - @if [ "x$(SUBDIRS)" != "x" ]; then \ - for i in $(SUBDIRS); do \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[building depend file for subobjective: $$i]"; \ - fi; \ - cd $$i; touch .depend; $(MAKE) depend || exit; cd ..; \ - if [ $(VERBOSITY) -gt 0 ]; then \ - echo "[finished subobjective: $$i]"; \ - fi; \ - done; \ - fi - if [ ! -f .depend-done ]; then \ - for i in ${SOURCES}; do \ - echo "[generating dependencies for objective: $$i]"; \ - ${CC} -MM ${PICFLAGS} ${CPPFLAGS} ${CFLAGS} $$i >> .depend; \ - done; \ - touch .depend-done; \ - fi; - -# compatibility with automake follows -am--refresh: - -include .depend diff -r 701de882bcc2 -r fe3a1ae77f80 mk/rules.mk.in --- a/mk/rules.mk.in Fri Sep 14 08:10:29 2007 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,342 +0,0 @@ -@SET_MAKE@ - -srcdir ?= @srcdir@ -top_srcdir ?= @top_srcdir@ -VPATH ?= @srcdir@ -pkgdatadir ?= $(datadir)/@PACKAGE@ -pkglibdir ?= $(libdir)/@PACKAGE@ -pkgincludedir ?= $(includedir)/@PACKAGE@ -top_builddir ?= . -am__cd ?= CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL ?= @INSTALL@ -install_sh_DATA ?= $(install_sh) -c -m 644 -install_sh_PROGRAM ?= $(install_sh) -c -install_sh_SCRIPT ?= $(install_sh) -c -INSTALL_HEADER ?= $(INSTALL_DATA) -transform ?= $(program_transform_name) -NORMAL_INSTALL ?= : -PRE_INSTALL ?= : -POST_INSTALL ?= : -NORMAL_UNINSTALL ?= : -PRE_UNINSTALL ?= : -POST_UNINSTALL ?= : -build_triplet ?= @build@ -host_triplet ?= @host@ -target_triplet ?= @target@ -subdir ?= . -ACLOCAL_M4 ?= $(top_srcdir)/aclocal.m4 -CONFIG_HEADER ?= config.h -CONFIG_CLEAN_FILES ?= audacious.1 audacious.spec audacious.pc \ - intl/Makefile -SOURCES = -DIST_SOURCES = -man1dir ?= $(mandir)/man1 -am__installdirs ?= "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(pkgconfigdir)" -NROFF ?= nroff -MANS ?= $(man_MANS) -am__vpath_adj_setup ?= srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj ?= case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir ?= `echo $$p | sed -e 's|^.*/||'`; -pkgconfigDATA_INSTALL ?= $(INSTALL_DATA) -DATA ?= $(pkgconfig_DATA) -ETAGS ?= etags -CTAGS ?= ctags -DIST_SUBDIRS ?= $(SUBDIRS) -DISTFILES ?= $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir ?= $(PACKAGE)-$(VERSION) -top_distdir ?= $(distdir) -am__remove_distdir ?= \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } -DIST_ARCHIVES ?= $(distdir).tar.gz -GZIP_ENV ?= --best -distuninstallcheck_listfiles ?= find . -type f -print -distcleancheck_listfiles ?= find . -type f -print -ACLOCAL ?= @ACLOCAL@ -ALLOCA ?= @ALLOCA@ -ALSA_CFLAGS ?= @ALSA_CFLAGS@ -ALSA_LIBS ?= @ALSA_LIBS@ -AMDEP_FALSE ?= @AMDEP_FALSE@ -AMDEP_TRUE ?= @AMDEP_TRUE@ -AMIDIPLUGBACKENDDIR ?= @AMIDIPLUGBACKENDDIR@ -AMTAR ?= @AMTAR@ -AR ?= @AR@ -ARCH_DEFINES ?= @ARCH_DEFINES@ -ARCH_X86_FALSE ?= @ARCH_X86_FALSE@ -ARCH_X86_TRUE ?= @ARCH_X86_TRUE@ -ARTSC_CFLAGS ?= @ARTSC_CFLAGS@ -ARTSC_LIBS ?= @ARTSC_LIBS@ -AUTOCONF ?= @AUTOCONF@ -AUTOHEADER ?= @AUTOHEADER@ -AUTOMAKE ?= @AUTOMAKE@ -AWK ?= @AWK@ -BEEP_DEFINES ?= @BEEP_DEFINES@ -BEEP_PATH ?= @BEEP_PATH@ -BINIO_CFLAGS ?= @BINIO_CFLAGS@ -BINIO_LIBS ?= @BINIO_LIBS@ -BMP_RCPATH ?= @BMP_RCPATH@ -BUILDERS_INCLUDES ?= @BUILDERS_INCLUDES@ -BUILDERS_LDFLAGS ?= @BUILDERS_LDFLAGS@ -BUILD_INCLUDED_LIBINTL ?= @BUILD_INCLUDED_LIBINTL@ -CATOBJEXT ?= @CATOBJEXT@ -CC = @CC@ -CCAS ?= @CCAS@ -CCASFLAGS ?= @CCASFLAGS@ -CCDEPMODE ?= @CCDEPMODE@ -CFLAGS += @CFLAGS@ -CPP = @CPP@ -CPPFLAGS += @CPPFLAGS@ -CXX = @CXX@ -CXXCPP ?= @CXXCPP@ -CXXDEPMODE ?= @CXXDEPMODE@ -CXXFLAGS += @CXXFLAGS@ -CYGPATH_W ?= @CYGPATH_W@ -DATADIRNAME ?= @DATADIRNAME@ -DCT64 ?= @DCT64@ -DBUS_BINDING_TOOL ?= @DBUS_BINDING_TOOL@ -DBUS_SERVICES_TOOL ?= @DBUS_SERVICES_DIR@ -DBUS_CFLAGS ?= @DBUS_CFLAGS@ -DBUS_LIBS ?= @DBUS_LIBS@ -DEFS ?= @DEFS@ -DEPDIR ?= @DEPDIR@ -ECHO ?= @ECHO@ -ECHO_C ?= @ECHO_C@ -ECHO_N ?= @ECHO_N@ -ECHO_T ?= @ECHO_T@ -EFFECT_PLUGINS ?= @EFFECT_PLUGINS@ -EFFECT_PLUGIN_DIR ?= @EFFECT_PLUGIN_DIR@ -EGREP ?= @EGREP@ -ENABLE_AAC_FALSE ?= @ENABLE_AAC_FALSE@ -ENABLE_AAC_TRUE ?= @ENABLE_AAC_TRUE@ -ENABLE_AMIDIPLUG_FALSE ?= @ENABLE_AMIDIPLUG_FALSE@ -ENABLE_AMIDIPLUG_TRUE ?= @ENABLE_AMIDIPLUG_TRUE@ -ENABLE_CROSSFADE_FALSE ?= @ENABLE_CROSSFADE_FALSE@ -ENABLE_CROSSFADE_TRUE ?= @ENABLE_CROSSFADE_TRUE@ -ENABLE_MPG123_FALSE ?= @ENABLE_MPG123_FALSE@ -ENABLE_MPG123_TRUE ?= @ENABLE_MPG123_TRUE@ -ENABLE_MUSEPACK_FALSE ?= @ENABLE_MUSEPACK_FALSE@ -ENABLE_MUSEPACK_TRUE ?= @ENABLE_MUSEPACK_TRUE@ -ENABLE_TIMIDITY_FALSE ?= @ENABLE_TIMIDITY_FALSE@ -ENABLE_TIMIDITY_TRUE ?= @ENABLE_TIMIDITY_TRUE@ -ENABLE_WMA_FALSE ?= @ENABLE_WMA_FALSE@ -ENABLE_WMA_TRUE ?= @ENABLE_WMA_TRUE@ -ESD_CFLAGS ?= @ESD_CFLAGS@ -ESD_LIBS ?= @ESD_LIBS@ -EXEEXT ?= @EXEEXT@ -FLUIDSYNTH_CFLAGS ?= @FLUIDSYNTH_CFLAGS@ -FLUIDSYNTH_LIBS ?= @FLUIDSYNTH_LIBS@ -GENCAT ?= @GENCAT@ -GENERAL_PLUGINS ?= @GENERAL_PLUGINS@ -GENERAL_PLUGIN_DIR ?= @GENERAL_PLUGIN_DIR@ -GLIBC21 ?= @GLIBC21@ -GLIB_CFLAGS ?= @GLIB_CFLAGS@ -GLIB_LIBS ?= @GLIB_LIBS@ -GMODULE_CFLAGS ?= @GMODULE_CFLAGS@ -GMODULE_LIBS ?= @GMODULE_LIBS@ -GMSGFMT ?= @GMSGFMT@ -GNOMEVFS_CFLAGS ?= @GNOMEVFS_CFLAGS@ -GNOMEVFS_LIBS ?= @GNOMEVFS_LIBS@ -GTK_CFLAGS ?= @GTK_CFLAGS@ -GTK_LIBS ?= @GTK_LIBS@ -HARDSID_LDADD ?= @HARDSID_LDADD@ -HAVE_ADPLUG_FALSE ?= @HAVE_ADPLUG_FALSE@ -HAVE_ADPLUG_TRUE ?= @HAVE_ADPLUG_TRUE@ -HAVE_ALSA_FALSE ?= @HAVE_ALSA_FALSE@ -HAVE_ALSA_TRUE ?= @HAVE_ALSA_TRUE@ -HAVE_CDROM_FALSE ?= @HAVE_CDROM_FALSE@ -HAVE_CDROM_TRUE ?= @HAVE_CDROM_TRUE@ -HAVE_ESD_FALSE ?= @HAVE_ESD_FALSE@ -HAVE_ESD_TRUE ?= @HAVE_ESD_TRUE@ -HAVE_FLAC_FALSE ?= @HAVE_FLAC_FALSE@ -HAVE_FLAC_TRUE ?= @HAVE_FLAC_TRUE@ -HAVE_JACK_FALSE ?= @HAVE_JACK_FALSE@ -HAVE_JACK_TRUE ?= @HAVE_JACK_TRUE@ -HAVE_LIBSAMPLERATE_FALSE ?= @HAVE_LIBSAMPLERATE_FALSE@ -HAVE_LIBSAMPLERATE_TRUE ?= @HAVE_LIBSAMPLERATE_TRUE@ -HAVE_LIBSNDFILE_FALSE ?= @HAVE_LIBSNDFILE_FALSE@ -HAVE_LIBSNDFILE_TRUE ?= @HAVE_LIBSNDFILE_TRUE@ -HAVE_LIBVISUAL_FALSE ?= @HAVE_LIBVISUAL_FALSE@ -HAVE_LIBVISUAL_TRUE ?= @HAVE_LIBVISUAL_TRUE@ -HAVE_LINUX_JOYSTICK_FALSE ?= @HAVE_LINUX_JOYSTICK_FALSE@ -HAVE_LINUX_JOYSTICK_TRUE ?= @HAVE_LINUX_JOYSTICK_TRUE@ -HAVE_LIRC_FALSE ?= @HAVE_LIRC_FALSE@ -HAVE_LIRC_TRUE ?= @HAVE_LIRC_TRUE@ -HAVE_MODPLUG_FALSE ?= @HAVE_MODPLUG_FALSE@ -HAVE_MODPLUG_TRUE ?= @HAVE_MODPLUG_TRUE@ -HAVE_OGGVORBIS_FALSE ?= @HAVE_OGGVORBIS_FALSE@ -HAVE_OGGVORBIS_TRUE ?= @HAVE_OGGVORBIS_TRUE@ -HAVE_OSS_FALSE ?= @HAVE_OSS_FALSE@ -HAVE_OSS_TRUE ?= @HAVE_OSS_TRUE@ -HAVE_SIDPLAY_FALSE ?= @HAVE_SIDPLAY_FALSE@ -HAVE_SIDPLAY_TRUE ?= @HAVE_SIDPLAY_TRUE@ -HAVE_SOLARIS_FALSE ?= @HAVE_SOLARIS_FALSE@ -HAVE_SOLARIS_TRUE ?= @HAVE_SOLARIS_TRUE@ -HAVE_SUN_FALSE ?= @HAVE_SUN_FALSE@ -HAVE_SUN_TRUE ?= @HAVE_SUN_TRUE@ -INPUT_PLUGINS ?= @INPUT_PLUGINS@ -INPUT_PLUGIN_DIR ?= @INPUT_PLUGIN_DIR@ -INSTALL_DATA ?= @INSTALL_DATA@ -INSTALL_PROGRAM ?= @INSTALL_PROGRAM@ -INSTALL_SCRIPT ?= @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM ?= @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT ?= @INSTOBJEXT@ -INTLBISON ?= @INTLBISON@ -INTLLIBS ?= @INTLLIBS@ -INTLOBJS ?= @INTLOBJS@ -INTL_LIBTOOL_SUFFIX_PREFIX ?= @INTL_LIBTOOL_SUFFIX_PREFIX@ -JACK_CFLAGS ?= @JACK_CFLAGS@ -JACK_LIBS ?= @JACK_LIBS@ -LDFLAGS ?= @LDFLAGS@ -LIBBEEP_MAJOR_VERSION ?= @LIBBEEP_MAJOR_VERSION@ -LIBBEEP_MICRO_VERSION ?= @LIBBEEP_MICRO_VERSION@ -LIBBEEP_MINOR_VERSION ?= @LIBBEEP_MINOR_VERSION@ -LIBFLAC_CFLAGS ?= @LIBFLAC_CFLAGS@ -LIBFLAC_LIBS ?= @LIBFLAC_LIBS@ -LIBGLADE_CFLAGS ?= @LIBGLADE_CFLAGS@ -LIBGLADE_LIBS ?= @LIBGLADE_LIBS@ -LIBNMS_CFLAGS ?= @LIBNMS_CFLAGS@ -LIBNMS_LIBS ?= @LIBNMS_LIBS@ -LIBNMS_SRC ?= @LIBNMS_SRC@ -LIBICONV ?= @LIBICONV@ -LIBINTL ?= @LIBINTL@ -LIBOBJS ?= @LIBOBJS@ -LIBS ?= @LIBS@ -LIBTOOL ?= @LIBTOOL@ -LIBVISUAL_CFLAGS ?= @LIBVISUAL_CFLAGS@ -LIBVISUAL_LIBS ?= @LIBVISUAL_LIBS@ -LN_S ?= @LN_S@ -LTLIBICONV ?= @LTLIBICONV@ -LTLIBINTL ?= @LTLIBINTL@ -LTLIBOBJS ?= @LTLIBOBJS@ -MAKEINFO ?= @MAKEINFO@ -MKINSTALLDIRS ?= @MKINSTALLDIRS@ -MSGFMT ?= @MSGFMT@ -MSGMERGE ?= @MSGMERGE@ -OBJEXT ?= @OBJEXT@ -OGG_VORBIS_CFLAGS ?= @OGG_VORBIS_CFLAGS@ -OGG_VORBIS_LIBS ?= @OGG_VORBIS_LIBS@ -OSS_LIBS ?= @OSS_LIBS@ -OUTPUT_PLUGINS ?= @OUTPUT_PLUGINS@ -OUTPUT_PLUGIN_DIR ?= @OUTPUT_PLUGIN_DIR@ -PACKAGE ?= @PACKAGE@ -PACKAGE_BUGREPORT ?= @PACKAGE_BUGREPORT@ -PACKAGE_NAME ?= @PACKAGE_NAME@ -PACKAGE_STRING ?= @PACKAGE_STRING@ -PACKAGE_TARNAME ?= @PACKAGE_TARNAME@ -PACKAGE_VERSION ?= @PACKAGE_VERSION@ -PATH_SEPARATOR ?= @PATH_SEPARATOR@ -PC_REQUIRES ?= @PC_REQUIRES@ -PKG_CONFIG ?= @PKG_CONFIG@ -PLUGIN_LDFLAGS ?= @PLUGIN_LDFLAGS@ -POSUB ?= @POSUB@ -RANLIB ?= @RANLIB@ -REGEX_CFLAGS ?= @REGEX_CFLAGS@ -REGEX_LIBS ?= @REGEX_LIBS@ -RESID_LDADD ?= @RESID_LDADD@ -SAMPLERATE_CFLAGS ?= @SAMPLERATE_CFLAGS@ -SAMPLERATE_LIBS ?= @SAMPLERATE_LIBS@ -SDL_CFLAGS ?= @SDL_CFLAGS@ -SDL_CONFIG ?= @SDL_CONFIG@ -SDL_LIBS ?= @SDL_LIBS@ -SET_MAKE ?= @SET_MAKE@ -SHELL ?= @SHELL@ -SIDPLAY1_INCLUDES ?= @SIDPLAY1_INCLUDES@ -SIDPLAY1_LDADD ?= @SIDPLAY1_LDADD@ -SIDPLAY2_INCLUDES ?= @SIDPLAY2_INCLUDES@ -SIDPLAY2_LDADD ?= @SIDPLAY2_LDADD@ -SNDFILE_CFLAGS ?= @SNDFILE_CFLAGS@ -SNDFILE_LIBS ?= @SNDFILE_LIBS@ -STRIP ?= @STRIP@ -USE_DBUS ?= @USE_DBUS@ -USE_INCLUDED_LIBINTL ?= @USE_INCLUDED_LIBINTL@ -USE_NLS ?= @USE_NLS@ -USE_X86ASM_FALSE ?= @USE_X86ASM_FALSE@ -USE_X86ASM_TRUE ?= @USE_X86ASM_TRUE@ -VERSION ?= @VERSION@ -VISUALIZATION_PLUGINS ?= @VISUALIZATION_PLUGINS@ -VISUALIZATION_PLUGIN_DIR ?= @VISUALIZATION_PLUGIN_DIR@ -XGETTEXT ?= @XGETTEXT@ -ac_ct_AR ?= @ac_ct_AR@ -ac_ct_CC ?= @ac_ct_CC@ -ac_ct_CXX ?= @ac_ct_CXX@ -ac_ct_RANLIB ?= @ac_ct_RANLIB@ -ac_ct_STRIP ?= @ac_ct_STRIP@ -am__fastdepCC_FALSE ?= @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE ?= @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE ?= @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE ?= @am__fastdepCXX_TRUE@ -am__include ?= @am__include@ -am__leading_dot ?= @am__leading_dot@ -am__quote ?= @am__quote@ -am__tar ?= @am__tar@ -am__untar ?= @am__untar@ -beepdir ?= @beepdir@ -bindir ?= @bindir@ -build ?= @build@ -build_alias ?= @build_alias@ -build_cpu ?= @build_cpu@ -build_os ?= @build_os@ -build_vendor ?= @build_vendor@ -datadir ?= @datadir@ -datarootdir ?= @datarootdir@ -exec_prefix ?= @exec_prefix@ -host ?= @host@ -host_alias ?= @host_alias@ -host_cpu ?= @host_cpu@ -host_os ?= @host_os@ -host_vendor ?= @host_vendor@ -includedir ?= @includedir@ -infodir ?= @infodir@ -install_sh ?= @install_sh@ -libdir ?= @libdir@ -libexecdir ?= @libexecdir@ -localedir ?= @localedir@ -localstatedir ?= @localstatedir@ -mandir ?= @mandir@ -mkdir_p ?= @mkdir_p@ -oldincludedir ?= @oldincludedir@ -plugindir ?= @plugindir@ -pluginsubs ?= @pluginsubs@ -prefix ?= @prefix@ -program_transform_name ?= @program_transform_name@ -sbindir ?= @sbindir@ -sharedstatedir ?= @sharedstatedir@ -sysconfdir ?= @sysconfdir@ -target ?= @target@ -target_alias ?= @target_alias@ -target_cpu ?= @target_cpu@ -target_os ?= @target_os@ -target_vendor ?= @target_vendor@ -WAV_SNDFILE ?= @WAV_SNDFILE@ -VFS_BACKEND ?= @VFS_BACKEND@ -CURL_CFLAGS ?= @CURL_CFLAGS@ -CURL_LIBS ?= @CURL_LIBS@ -MUSICBRAINZ_LIBS ?= @MUSICBRAINZ_LIBS@ -CHARDET_LIBS ?= @CHARDET_LIBS@ -samplerate_CFLAGS ?= @samplerate_CFLAGS@ -samplerate_LIBS ?= @samplerate_LIBS@ -SUBDIR_GUESS ?= @SUBDIR_GUESS@ -LIBNOTIFY_CFLAGS ?= @LIBNOTIFY_CFLAGS@ -LIBNOTIFY_LIBS ?= @LIBNOTIFY_LIBS@ -XML_CPPFLAGS ?= @XML_CPPFLAGS@ -XML_LIBS ?= @XML_LIBS@ -CONTAINER_PLUGIN_DIR ?= @CONTAINER_PLUGIN_DIR@ -CONTAINER_PLUGINS ?= @CONTAINER_PLUGINS@ -SHARED_SUFFIX ?= @SHARED_SUFFIX@ -PICFLAGS ?= @PICFLAGS@ -PICLDFLAGS ?= @PICLDFLAGS@ -LIBLDFLAGS ?= @LIBLDFLAGS@ -AUDLDFLAGS ?= @AUDLDFLAGS@ -INTL_OBJECTIVE ?= @INTL_OBJECTIVE@ -LIBMCS_CFLAGS ?= @LIBMCS_CFLAGS@ -LIBMCS_LIBS ?= @LIBMCS_LIBS@ -MOWGLI_CFLAGS ?= @MOWGLI_CFLAGS@ -MOWGLI_LIBS ?= @MOWGLI_LIBS@ -LIBAUDCLIENT_OBJECTIVE ?= @LIBAUDCLIENT_OBJECTIVE@ -TRANSPORT_PLUGIN_DIR ?= @TRANSPORT_PLUGIN_DIR@ -TRANSPORT_PLUGINS ?= @TRANSPORT_PLUGINS@ -PCH ?= @PCH@ diff -r 701de882bcc2 -r fe3a1ae77f80 skins/Classic/Makefile --- a/skins/Classic/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/skins/Classic/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,25 +1,26 @@ -include ../../mk/rules.mk -include ../../mk/init.mk +include ../../buildsys.mk skindir = $(pkgdatadir)/Skins/Classic -OBJECTIVE_DATA = \ - balance.png:$(skindir) \ - cbuttons.png:$(skindir) \ - eq_ex.png:$(skindir) \ - eqmain.png:$(skindir) \ - main.png:$(skindir) \ - monoster.png:$(skindir) \ - nums_ex.png:$(skindir) \ - playpaus.png:$(skindir) \ - pledit.png:$(skindir) \ - posbar.png:$(skindir) \ - shufrep.png:$(skindir) \ - text.png:$(skindir) \ - titlebar.png:$(skindir) \ - volume.png:$(skindir) \ - pledit.txt:$(skindir) \ - viscolor.txt:$(skindir) \ - skin.hints:$(skindir) +install-extra: + y="*.png *.txt *.hints"; \ + for i in $$y; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${skindir} && ${INSTALL} -m 644 $$i ${DESTDIR}${skindir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi; \ + done -include ../../mk/objective.mk +uninstall-extra: + y="*.png *.txt *.hints"; \ + for i in $$y; do \ + if [ -f ${DESTDIR}${skindir}/$$i ]; then \ + if rm -f ${DESTDIR}${skindir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi; \ + done diff -r 701de882bcc2 -r fe3a1ae77f80 skins/Default/Makefile --- a/skins/Default/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/skins/Default/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,25 +1,26 @@ -include ../../mk/rules.mk -include ../../mk/init.mk +include ../../buildsys.mk skindir = $(pkgdatadir)/Skins/Default -OBJECTIVE_DATA = \ - balance.png:$(skindir) \ - cbuttons.png:$(skindir) \ - eq_ex.png:$(skindir) \ - eqmain.png:$(skindir) \ - main.png:$(skindir) \ - monoster.png:$(skindir) \ - nums_ex.png:$(skindir) \ - playpaus.png:$(skindir) \ - pledit.png:$(skindir) \ - posbar.png:$(skindir) \ - shufrep.png:$(skindir) \ - text.png:$(skindir) \ - titlebar.png:$(skindir) \ - volume.png:$(skindir) \ - pledit.txt:$(skindir) \ - viscolor.txt:$(skindir) \ - skin.hints:$(skindir) +install-extra: + y="*.png *.txt *.hints"; \ + for i in $$y; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${skindir} && ${INSTALL} -m 644 $$i ${DESTDIR}${skindir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi; \ + done -include ../../mk/objective.mk +uninstall-extra: + y="*.png *.txt *.hints"; \ + for i in $$y; do \ + if [ -f ${DESTDIR}${skindir}/$$i ]; then \ + if rm -f ${DESTDIR}${skindir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi; \ + done diff -r 701de882bcc2 -r fe3a1ae77f80 skins/Ivory/Makefile --- a/skins/Ivory/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/skins/Ivory/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,24 +1,26 @@ -include ../../mk/rules.mk -include ../../mk/init.mk +include ../../buildsys.mk skindir = $(pkgdatadir)/Skins/Ivory -OBJECTIVE_DATA = \ - balance.png:$(skindir) \ - cbuttons.png:$(skindir) \ - eq_ex.png:$(skindir) \ - eqmain.png:$(skindir) \ - main.png:$(skindir) \ - monoster.png:$(skindir) \ - nums_ex.png:$(skindir) \ - playpaus.png:$(skindir) \ - pledit.png:$(skindir) \ - posbar.png:$(skindir) \ - shufrep.png:$(skindir) \ - text.png:$(skindir) \ - titlebar.png:$(skindir) \ - volume.png:$(skindir) \ - pledit.txt:$(skindir) \ - viscolor.txt:$(skindir) \ - skin.hints:$(skindir) + +install-extra: + y="*.png *.txt *.hints"; \ + for i in $$y; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${skindir} && ${INSTALL} -m 644 $$i ${DESTDIR}${skindir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi; \ + done -include ../../mk/objective.mk +uninstall-extra: + y="*.png *.txt *.hints"; \ + for i in $$y; do \ + if [ -f ${DESTDIR}${skindir}/$$i ]; then \ + if rm -f ${DESTDIR}${skindir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi; \ + done diff -r 701de882bcc2 -r fe3a1ae77f80 skins/Makefile --- a/skins/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/skins/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,9 +1,4 @@ -.SILENT: - -include ../mk/rules.mk -include ../mk/init.mk +include ../buildsys.mk SUBDIRS = Default Classic TinyPlayer Osmosis Ivory -include ../mk/objective.mk - diff -r 701de882bcc2 -r fe3a1ae77f80 skins/Osmosis/Makefile --- a/skins/Osmosis/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/skins/Osmosis/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,24 +1,26 @@ -include ../../mk/rules.mk -include ../../mk/init.mk +include ../../buildsys.mk skindir = $(pkgdatadir)/Skins/Osmosis -OBJECTIVE_DATA = \ - balance.png:$(skindir) \ - cbuttons.png:$(skindir) \ - eq_ex.png:$(skindir) \ - eqmain.png:$(skindir) \ - main.png:$(skindir) \ - monoster.png:$(skindir) \ - nums_ex.png:$(skindir) \ - playpaus.png:$(skindir) \ - pledit.png:$(skindir) \ - posbar.png:$(skindir) \ - shufrep.png:$(skindir) \ - text.png:$(skindir) \ - titlebar.png:$(skindir) \ - volume.png:$(skindir) \ - pledit.txt:$(skindir) \ - viscolor.txt:$(skindir) \ - skin.hints:$(skindir) + +install-extra: + y="*.png *.txt *.hints"; \ + for i in $$y; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${skindir} && ${INSTALL} -m 644 $$i ${DESTDIR}${skindir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi; \ + done -include ../../mk/objective.mk +uninstall-extra: + y="*.png *.txt *.hints"; \ + for i in $$y; do \ + if [ -f ${DESTDIR}${skindir}/$$i ]; then \ + if rm -f ${DESTDIR}${skindir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi; \ + done diff -r 701de882bcc2 -r fe3a1ae77f80 skins/TinyPlayer/Makefile --- a/skins/TinyPlayer/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/skins/TinyPlayer/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,24 +1,26 @@ -include ../../mk/rules.mk -include ../../mk/init.mk +include ../../buildsys.mk skindir = $(pkgdatadir)/Skins/TinyPlayer -OBJECTIVE_DATA = \ - balance.png:$(skindir) \ - cbuttons.png:$(skindir) \ - eq_ex.png:$(skindir) \ - eqmain.png:$(skindir) \ - main.png:$(skindir) \ - monoster.png:$(skindir) \ - nums_ex.png:$(skindir) \ - playpaus.png:$(skindir) \ - pledit.png:$(skindir) \ - posbar.png:$(skindir) \ - shufrep.png:$(skindir) \ - text.png:$(skindir) \ - titlebar.png:$(skindir) \ - volume.png:$(skindir) \ - pledit.txt:$(skindir) \ - viscolor.txt:$(skindir) \ - skin.hints:$(skindir) + +install-extra: + y="*.png *.txt *.hints"; \ + for i in $$y; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${skindir} && ${INSTALL} -m 644 $$i ${DESTDIR}${skindir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi; \ + done -include ../../mk/objective.mk +uninstall-extra: + y="*.png *.txt *.hints"; \ + for i in $$y; do \ + if [ -f ${DESTDIR}${skindir}/$$i ]; then \ + if rm -f ${DESTDIR}${skindir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi; \ + done diff -r 701de882bcc2 -r fe3a1ae77f80 src/Makefile --- a/src/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/src/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,9 +1,8 @@ .SILENT: -include ../mk/rules.mk -include ../mk/init.mk +include ../extra.mk -SUBDIRS = $(SUBDIR_GUESS) +SUBDIRS = libguess ifdef USE_DBUS SUBDIRS += libaudclient audtool @@ -11,9 +10,5 @@ SUBDIRS += audacious libid3tag -include ../mk/objective.mk +include ../buildsys.mk -ifdef USE_DBUS -depend-prehook: - @cd audacious; $(MAKE) $@ || exit; cd ..; -endif diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/Makefile --- a/src/audacious/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,39 +1,12 @@ -include ../../mk/rules.mk -include ../../mk/init.mk -include ../../mk/objective.mk +include ../../extra.mk SUBDIRS = $(INTL_OBJECTIVE) glade images ui -OBJECTIVE_BINS = audacious +PROG = audacious LDFLAGS += $(AUDLDFLAGS) -LDADD = \ - $(LIBINTL) \ - $(samplerate_LIBS) \ - $(CHARDET_LIBS) \ - $(GTK_LIBS) \ - $(DBUS_LIBS) \ - $(MOWGLI_LIBS) \ - $(LIBMCS_LIBS) \ - $(LIBGLADE_LIBS) \ - $(REGEX_LIBS) - -CFLAGS += \ - $(MOWGLI_CFLAGS) \ - $(GTK_CFLAGS) \ - $(LIBGLADE_CFLAGS) \ - $(BEEP_DEFINES) \ - $(ARCH_DEFINES) \ - $(DBUS_CFLAGS) \ - $(samplerate_CFLAGS) \ - $(REGEX_CFLAGS) \ - $(LIBMCS_CFLAGS) \ - -D_AUDACIOUS_CORE \ - -I.. -I../.. \ - -I./intl - -HEADERS = \ +INCLUDES = \ auddrct.h \ configdb.h \ custom_uri.h \ @@ -41,6 +14,7 @@ discovery.h \ dbus-service.h \ eventqueue.h \ + flow.h \ formatter.h \ rcfile.h \ i18n.h \ @@ -67,7 +41,7 @@ vfs_buffered_file.h \ xconvert.h -SOURCES = \ +SRCS = \ auddrct.c \ build_stamp.c \ configdb.c \ @@ -78,6 +52,7 @@ effect.c \ eventqueue.c \ fft.c \ + flow.c \ formatter.c \ general.c \ glade.c \ @@ -144,32 +119,62 @@ vfs_buffered_file.c \ vfs_common.c \ visualization.c \ + volumecontrol.c \ sync-menu.c \ xconvert.c +ifdef USE_DBUS +SRCS += dbus.c +endif + LIBDEP = ../libguess/libguess.a -ifdef USE_DBUS -SOURCES += dbus.c -CFLAGS += -I../libaudclient -DBUS_BINDINGS = dbus-server-bindings.h dbus-client-bindings.h -OBJECTIVE_LIBS_NOINST += $(DBUS_BINDINGS) -LIBDEP += ../libaudclient/libaudclient$(SHARED_SUFFIX) -LDADD += -L../libaudclient -laudclient -endif +include ../../buildsys.mk LIBADD += $(LDADD) -depend-prehook: $(DBUS_BINDINGS) +ifdef USE_DBUS +CPPFLAGS += -I../libaudclient +DBUS_BINDINGS = dbus-server-bindings.h dbus-client-bindings.h +LIBS += -L../libaudclient -laudclient +endif + +LDFLAGS += ${EXPORTDYN} + +depend-hook: $(DBUS_BINDINGS) + +CPPFLAGS += -DHAVE_CONFIG_H \ + $(MOWGLI_CFLAGS) \ + $(GTK_CFLAGS) \ + $(LIBGLADE_CFLAGS) \ + $(BEEP_DEFINES) \ + $(ARCH_DEFINES) \ + $(DBUS_CFLAGS) \ + $(samplerate_CFLAGS) \ + $(REGEX_CFLAGS) \ + $(LIBMCS_CFLAGS) \ + -D_AUDACIOUS_CORE \ + -I.. -I../.. \ + -I./intl + +LIBS += \ + $(LIBINTL) \ + $(samplerate_LIBS) \ + ../libguess/libguess.a \ + $(GTK_LIBS) \ + $(DBUS_LIBS) \ + $(MOWGLI_LIBS) \ + $(LIBMCS_LIBS) \ + $(LIBGLADE_LIBS) \ + $(REGEX_LIBS) build_stamp.c: if [ -d ../../.hg ]; then \ revh=`hg tip --template 'const char *svn_stamp = "#rev#:#node|short#";\n' 2>/dev/null`; \ [ -z "$$revh" ] || echo "$$revh" > build_stamp.c; \ - printf "%10s %-20s\n" STAMP "build_stamp.c"; \ fi -clean-prehook: +clean-hook: if [ -d ../../.hg ]; then \ rm -f build_stamp.c; \ fi @@ -180,27 +185,17 @@ mpris_tracklist.xml \ mpris_player.xml -OBJECTS = ${SOURCES:.c=.o} - desktop_DATA = audacious.desktop desktopdir = $(datadir)/applications -build-prehook: $(PCH) - -audacious: $(OBJECTS) $(LIBDEP) - $(CXX) $(LDFLAGS) $(OBJECTS) $(LDADD) -o $@ - @printf "%10s %-20s\n" LINK $@ - dbus-server-bindings.h: $(DBUS_BINDINGS_SOURCES) $(DBUS_BINDING_TOOL) --mode=glib-server --prefix=audacious_rc objects.xml > $@ $(DBUS_BINDING_TOOL) --mode=glib-server --prefix=mpris_root mpris_root.xml >> $@ $(DBUS_BINDING_TOOL) --mode=glib-server --prefix=mpris_tracklist mpris_tracklist.xml >> $@ $(DBUS_BINDING_TOOL) --mode=glib-server --prefix=mpris_player mpris_player.xml >> $@ - @printf "%10s %-20s\n" DBUS-BIND $@ dbus-client-bindings.h: $(DBUS_BINDINGS_SOURCES) $(DBUS_BINDING_TOOL) --mode=glib-client --prefix=audacious_rc objects.xml > $@ - @printf "%10s %-20s\n" DBUS-BIND $@ OBJECTIVE_DATA = audacious.desktop:$(datadir)/applications diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/effect.c --- a/src/audacious/effect.c Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/effect.c Wed Sep 19 17:48:49 2007 +0300 @@ -157,3 +157,37 @@ } g_strfreev(plugins); } + +void +effect_flow(FlowContext *context) +{ + AFormat new_format; + gint new_rate; + gint new_nch; + + new_format = context->fmt; + new_rate = context->srate; + new_nch = context->channels; + + effect_do_query_format(&new_format, &new_rate, &new_nch); + + if (new_format != context->fmt || + new_rate != context->srate || + new_nch != context->channels) + { + /* + * The effect plugin changes the stream format. Reopen the + * audio device. + */ + if (!output_open_audio(new_format, new_rate, new_nch)) + return; + + context->fmt = new_format; + context->srate = new_rate; + context->channels = new_nch; + } + + context->len = effect_do_mod_samples(&context->data, context->len, + context->fmt, context->srate, context->channels); +} + diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/effect.h --- a/src/audacious/effect.h Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/effect.h Wed Sep 19 17:48:49 2007 +0300 @@ -27,6 +27,8 @@ #define EFFECT_H #include + +#include "audacious/flow.h" #include "audacious/output.h" typedef struct _EffectPluginData EffectPluginData; @@ -44,6 +46,7 @@ gint effect_do_mod_samples(gpointer * data, gint length, AFormat fmt, gint srate, gint nch); void effect_do_query_format(AFormat * fmt, gint * rate, gint * nch); +void effect_flow(FlowContext *context); extern EffectPluginData ep_data; diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/flow.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/audacious/flow.c Wed Sep 19 17:48:49 2007 +0300 @@ -0,0 +1,131 @@ +/* + * Audacious + * Copyright (c) 2007 William Pitcock + * + * flow.c: flow management API. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; under version 3 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * The Audacious team does not consider modular code linking to + * Audacious or using our public API to be a derived work. + */ + +#include "flow.h" + +mowgli_object_class_t flow_klass; + +static void +flow_destructor(Flow *flow) +{ + FlowElement *element, *element2; + + g_return_if_fail(flow != NULL); + + MOWGLI_ITER_FOREACH_SAFE(element, element2, flow->head) + g_slice_free(FlowElement, element); + + g_slice_free(Flow, flow); +} + +void flow_execute(Flow *flow, gint time, gpointer data, gsize len, AFormat fmt, + gint srate, gint channels) +{ + FlowElement *element; + FlowContext context = {}; + + g_return_if_fail(flow != NULL); + g_return_if_fail(data != NULL); + + context.time = time; + context.data = data; + context.len = len; + context.fmt = fmt; + context.srate = srate; + context.channels = channels; + context.error = FALSE; + + MOWGLI_ITER_FOREACH(element, flow->head) + { + element->func(&context); + + if (context.error) + break; + } +} + +Flow * +flow_new(void) +{ + static int init = 0; + Flow *out; + + if (!init) + { + mowgli_object_class_init(&flow_klass, "audacious.flow", + (mowgli_destructor_t) flow_destructor, FALSE); + ++init; + } + + out = g_slice_new0(Flow); + mowgli_object_init(mowgli_object(out), NULL, &flow_klass, NULL); + + return out; +} + +void +flow_link_element(Flow *flow, FlowFunction func) +{ + FlowElement *element; + + g_return_if_fail(flow != NULL); + g_return_if_fail(func != NULL); + + element = g_slice_new0(FlowElement); + element->func = func; + element->prev = flow->tail; + + if (flow->tail) + flow->tail->next = element; + + flow->tail = element; + + if (!flow->head) + flow->head = element; +} + +/* TBD: unlink all elements of func, or just the first --nenolod */ +void +flow_unlink_element(Flow *flow, FlowFunction func) +{ + FlowElement *iter, *iter2; + + g_return_if_fail(flow != NULL); + g_return_if_fail(func != NULL); + + MOWGLI_ITER_FOREACH_SAFE(iter, iter2, flow->head) + if (iter->func == func) + { + if (iter->next) + iter->next->prev = iter->prev; + + iter->prev->next = iter->next; + + if (flow->tail == iter) + flow->tail = iter->prev; + + if (flow->head == iter) + flow->head = iter->next; + + g_slice_free(FlowElement, iter); + } +} diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/flow.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/audacious/flow.h Wed Sep 19 17:48:49 2007 +0300 @@ -0,0 +1,62 @@ +/* + * Audacious + * Copyright (c) 2007 William Pitcock + * + * flow.h: Definition of flow context structure, flow management API. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; under version 3 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * The Audacious team does not consider modular code linking to + * Audacious or using our public API to be a derived work. + */ + +#include +#include + +#include "output.h" + +#ifndef __AUDACIOUS_FLOW_H__ +#define __AUDACIOUS_FLOW_H__ + +typedef struct { + gint time; + gpointer data; + gsize len; + AFormat fmt; + gint srate; + gint channels; + gboolean error; +} FlowContext; + +typedef void (*FlowFunction)(FlowContext *ctx); + +typedef struct _FlowElement { + struct _FlowElement *prev, *next; + FlowFunction func; +} FlowElement; + +typedef struct { + mowgli_object_t parent; + FlowElement *head, *tail; +} Flow; + +void flow_execute(Flow *flow, gint time, gpointer data, gsize len, AFormat fmt, + gint srate, gint channels); + +Flow *flow_new(void); +void flow_link_element(Flow *flow, FlowFunction func); +void flow_unlink_element(Flow *flow, FlowFunction func); + +#define flow_destroy(flow) mowgli_object_unref(flow) + +#endif diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/glade/Makefile --- a/src/audacious/glade/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/glade/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,10 +1,27 @@ -include ../../../mk/rules.mk -include ../../../mk/init.mk +include ../../../buildsys.mk gladexmldir = $(pkgdatadir)/glade -OBJECTIVE_DATA = \ - fileinfo.glade:$(gladexmldir) \ - prefswin.glade:$(gladexmldir) +install-extra: + y="fileinfo.glade prefswin.glade"; \ + for i in $$y; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${gladexmldir} && ${INSTALL} -m 644 $$i ${DESTDIR}${gladexmldir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi; \ + done -include ../../../mk/objective.mk +uninstall-extra: + y="fileinfo.glade prefswin.glade"; \ + for i in $$y; do \ + if [ -f ${DESTDIR}${gladexmldir}/$$i ]; then \ + if rm -f ${DESTDIR}${gladexmldir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi; \ + done; + diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/glade/prefswin.glade --- a/src/audacious/glade/prefswin.glade Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/glade/prefswin.glade Wed Sep 19 17:48:49 2007 +0300 @@ -1,5386 +1,3306 @@ - - - + + + - - - 12 - Audacious Preferences - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER - False - 680 - 400 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - True - False - - - - - True - False - 0 - - - - True - False - 8 - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - 172 - True - True - False - False - False - True - False - False - False - - - - - 0 - True - True - - - - - - True - False - False - GTK_POS_TOP - True - True - - - - True - False - 0 - - - - True - True - True - False - GTK_POS_TOP - False - False - - - - 12 - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 0 - 0 - - - - True - _Decoder list: - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 4 - False - False - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - True - True - False - False - False - - - - - - 0 - True - True - - - - - - True - GTK_BUTTONBOX_START - 8 - - - - True - False - True - True - gtk-preferences - True - GTK_RELIEF_NORMAL - True - - - - - - True - False - True - True - gtk-dialog-info - True - GTK_RELIEF_NORMAL - True - - - - - 8 - False - False - - - - - False - True - - - - - - True - <span size="medium"><b>Decoders</b></span> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - 12 - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 0 - 0 - - - - True - _General plugin list: - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 4 - False - False - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - True - True - False - False - False - - - - - - 0 - True - True - - - - - - True - GTK_BUTTONBOX_START - 8 - - - - True - False - True - True - gtk-preferences - True - GTK_RELIEF_NORMAL - True - - - - - - True - False - True - True - gtk-dialog-info - True - GTK_RELIEF_NORMAL - True - - - - - 8 - False - False - - - - - False - True - - - - - - True - <span size="medium"><b>General</b></span> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - 12 - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 0 - 0 - - - - True - _Visualization plugin list: - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 4 - False - False - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - True - True - False - False - False - - - - - - 0 - True - True - - - - - - True - GTK_BUTTONBOX_START - 8 - - - - True - False - True - True - gtk-preferences - True - GTK_RELIEF_NORMAL - True - - - - - - True - False - True - True - gtk-dialog-info - True - GTK_RELIEF_NORMAL - True - - - - - 8 - False - False - - - - - False - True - - - - - - True - <b>Visualization</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - 12 - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 0 - 0 - - - - True - _Effect plugin list: - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 4 - False - False - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - True - True - False - False - False - - - - - - 0 - True - True - - - - - - True - GTK_BUTTONBOX_START - 8 - - - - True - False - True - True - gtk-preferences - True - GTK_RELIEF_NORMAL - True - - - - - - True - False - True - True - gtk-dialog-info - True - GTK_RELIEF_NORMAL - True - - - - - 8 - False - False - - - - - False - True - - - - - - True - <b>Effects</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - 0 - True - True - - - - - False - True - - - - - - True - Plugins - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 0 - 0 - - - - True - False - 0 - - - - True - <b>_Skin</b> - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - True - True - - - - - - True - True - GTK_RELIEF_NORMAL - True - - - - - True - gtk-properties - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 0 - False - False - - - - - - True - Refresh skin list - GTK_RELIEF_HALF - False - - - - - True - gtk-refresh - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 0 - False - False - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - GTK_POLICY_NEVER - GTK_POLICY_ALWAYS - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - 100 - True - True - True - False - False - True - False - False - False - - - - - - - - 0 - True - True - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>_Fonts</b> - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - False - 0 - - - - True - 2 - 2 - False - 8 - 2 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 6 - - - - True - _Player: - True - True - GTK_JUSTIFY_LEFT - False - False - 1 - 0.5 - 0 - 0 - mainwin_font_button - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - 1 - 0 - 1 - - - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 6 - - - - True - _Playlist: - True - True - GTK_JUSTIFY_RIGHT - False - False - 1 - 0.5 - 0 - 0 - playlist_font_button - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - 1 - 1 - 2 - - - - - - - - True - True - Select main player window font: - True - True - True - True - True - - - - - 1 - 2 - 0 - 1 - - - - - - - True - True - Select playlist font: - True - True - True - True - True - - - - - 1 - 2 - 1 - 2 - - - - - - 0 - False - True - - - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 8 - 0 - 12 - 0 - - - - True - Use bitmap fonts if they are available. Bitmap fonts do not support Unicode strings. - True - Use Bitmap fonts if available - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>_Miscellaneous</b> - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 2 - 0 - 12 - 0 - - - - True - True - Show track numbers in playlist - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Show separators in playlist - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Use custom cursors - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - True - True - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - This enables the window manager to show decorations for windows. - True - Show window manager decoration - True - GTK_RELIEF_NORMAL - True - False - False - True - - Show window manager decorations - This enables the window manager to show decorations for windows. - - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - This enables the XMMS/GTK1-style file selection dialogs. This selector is provided by Audacious itself and is faster than the default GTK2 selector (but sadly not as user-friendly). - True - Use XMMS-style file selector instead of the default selector - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - 0 - False - False - - - - - 0 - True - True - - - - - False - True - - - - - - True - Appearance - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - <b>Mouse wheel</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - 2 - 3 - False - 6 - 0 - - - - True - Changes volume by - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 4 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - - True - percent - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 4 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 2 - 3 - 0 - 1 - - - - - - - - True - Scrolls playlist by - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 4 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - - True - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 1 0 100 1 10 10 - - - - - 1 - 2 - 1 - 2 - 4 - - - - - - - - True - lines - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 4 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 2 - 3 - 1 - 2 - - - - - - - - True - True - 1 - 0 - True - GTK_UPDATE_ALWAYS - False - False - 5 0 100 1 10 10 - - - - - 1 - 2 - 0 - 1 - 4 - - - - - - - - - 0 - False - False - - - - - 0 - True - True - - - - - False - True - - - - - - True - Mouse - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - <b>Filename</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Convert underscores to blanks - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Convert %20 to blanks - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Convert backslash '\' to forward slash '/' - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>Metadata</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - Load metadata (tag information) from music files. - True - Load metadata from playlists and files - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 24 - 0 - - - - True - False - 0 - - - - True - Load metadata when adding the file to the playlist or opening it - True - On load - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - 0 - False - False - - - - - - True - Load metadata on demand when displaying the file in the playlist - True - On display - True - GTK_RELIEF_NORMAL - True - False - False - True - playlist_metadata_on_load - - - - - 0 - False - False - - - - - - True - 2 - 2 - False - 0 - 0 - - - - True - Fallback character encodings: - False - False - GTK_JUSTIFY_RIGHT - False - False - 1 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - - True - List of character encodings used for fall back conversion of metadata. If automatic character encoding detector failed or has been disabled, encodings in this list would be treated as candidates of the encoding of metadata, and fall back conversion from these encodings to UTF-8 would be attempted. - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 1 - 2 - - - - - - - True - - False - True - - - - 1 - 2 - 0 - 1 - - - - - - - True - Auto character encoding detector for: - False - False - GTK_JUSTIFY_RIGHT - False - False - 1 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - 0 - True - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>File Dialog</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - Always refresh the file dialog (this will slow opening the dialog on large directories, and Gnome VFS should handle automatically). - True - Always refresh directory when opening file dialog - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>Song Display</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - 2 - 3 - False - 4 - 12 - - - - True - Title format: - False - False - GTK_JUSTIFY_RIGHT - False - False - 1 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - - True - Custom string: - False - False - GTK_JUSTIFY_RIGHT - False - False - 1 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - - True - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 1 - 2 - - - - - - - True - TITLE + + 12 + Audacious Preferences + GTK_WIN_POS_CENTER + 680 + 400 + + + + True + + + True + 8 + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_IN + + + 172 + True + True + False + + + + + + + True + False + False + True + True + + + True + + + True + True + False + + + True + 12 + + + True + 6 + + + True + 0 + _Decoder list: + True + True + category_notebook + + + + + False + False + 4 + + + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_IN + + + True + True + True + True + + + + + + 1 + + + + + True + 8 + GTK_BUTTONBOX_START + + + True + False + True + True + gtk-preferences + True + 0 + + + + + True + False + True + True + gtk-dialog-info + True + 0 + + + 1 + + + + + False + False + 8 + 2 + + + + + False + + + + + True + 0 + 0 + <span size="medium"><b>Decoders</b></span> + True + + + tab + False + False + + + + + True + 12 + + + True + 6 + + + True + 0 + _General plugin list: + True + True + category_notebook + + + + + False + False + 4 + + + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_IN + + + True + True + True + True + + + + + + 1 + + + + + True + 8 + GTK_BUTTONBOX_START + + + True + False + True + True + gtk-preferences + True + 0 + + + + + True + False + True + True + gtk-dialog-info + True + 0 + + + 1 + + + + + False + False + 8 + 2 + + + + + 1 + False + + + + + True + <span size="medium"><b>General</b></span> + True + + + tab + 1 + False + False + + + + + True + 12 + + + True + 6 + + + True + 0 + _Visualization plugin list: + True + True + category_notebook + + + + + False + False + 4 + + + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_IN + + + True + True + True + True + + + + + + 1 + + + + + True + 8 + GTK_BUTTONBOX_START + + + True + False + True + True + gtk-preferences + True + 0 + + + + + True + False + True + True + gtk-dialog-info + True + 0 + + + 1 + + + + + False + False + 8 + 2 + + + + + 2 + False + + + + + True + <b>Visualization</b> + True + + + tab + 2 + False + False + + + + + True + 12 + + + True + 6 + + + True + 0 + _Effect plugin list: + True + True + category_notebook + + + + + False + False + 4 + + + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_IN + + + True + True + True + True + + + + + + 1 + + + + + True + 8 + GTK_BUTTONBOX_START + + + True + False + True + True + gtk-preferences + True + 0 + + + + + True + False + True + True + gtk-dialog-info + True + 0 + + + 1 + + + + + False + False + 8 + 2 + + + + + 3 + False + + + + + True + <b>Effects</b> + True + + + tab + 3 + False + False + + + + + + + False + + + + + True + Plugins + + + tab + False + False + + + + + True + + + True + + + True + 6 + + + True + + + True + 0 + 0 + <b>_Skin</b> + True + True + category_notebook + + + + + True + True + 0 + + + + True + gtk-properties + + + + + False + False + 1 + + + + + True + Refresh skin list + GTK_RELIEF_HALF + False + 0 + + + + True + gtk-refresh + + + + + False + False + 2 + + + + + + + False + False + + + + + True + 12 + + + True + True + GTK_POLICY_NEVER + GTK_SHADOW_IN + + + 100 + True + True + + + + + + + + 1 + + + + + True + 12 + 12 + + + True + 0 + <b>_Fonts</b> + True + True + category_notebook + + + + + False + False + 2 + + + + + True + + + True + 2 + 2 + 2 + 8 + + + True + 12 + 6 + + + True + 1 + _Player: + True + True + mainwin_font_button + + + + + + + + + + + True + 12 + 6 + + + True + 1 + _Playlist: + True + True + GTK_JUSTIFY_RIGHT + playlist_font_button + + + + + 1 + 2 + + + + + + + True + True + 0 + Select main player window font: + True + True + + + + + 1 + 2 + + + + + + True + True + 0 + Select playlist font: + True + True + + + + + 1 + 2 + 1 + 2 + + + + + + False + + + + + True + + + True + 8 + 12 + + + True + True + Use bitmap fonts if they are available. Bitmap fonts do not support Unicode strings. + Use Bitmap fonts if available + True + 0 + True + + + + + + + False + False + + + + + True + 12 + 12 + + + True + 0 + <b>_Miscellaneous</b> + True + True + category_notebook + + + + + False + False + 1 + + + + + False + False + 1 + + + + + True + 2 + 12 + + + True + True + Show track numbers in playlist + True + 0 + True + + + + + + + False + False + 2 + + + + + True + 12 + + + True + True + Show separators in playlist + True + 0 + True + + + + + + + False + False + 3 + + + + + True + 12 + + + True + True + Use custom cursors + True + 0 + True + + + + + + + 4 + + + + + True + 12 + + + True + True + This enables the window manager to show decorations for windows. + Show window manager decoration + True + 0 + True + + Show window manager decorations + This enables the window manager to show decorations for windows. + + + + + + + + False + False + 5 + + + + + True + 12 + + + True + True + This enables the XMMS/GTK1-style file selection dialogs. This selector is provided by Audacious itself and is faster than the default GTK2 selector (but sadly not as user-friendly). + Use XMMS-style file selector instead of the default selector + True + 0 + True + + + + + + + False + False + 6 + + + + + False + False + 3 + + + + + + + 1 + False + + + + + True + Appearance + + + tab + 1 + False + False + + + + + True + + + True + + + True + 12 + + + True + 0 + 0 + <b>Mouse wheel</b> + True + + + + + False + False + + + + + True + 12 + + + True + 2 + 3 + 6 + + + True + 0 + 4 + Changes volume by + + + + + + + + + True + 0 + 4 + percent + + + 2 + 3 + + + + + + + True + 0 + 4 + Scrolls playlist by + + + 1 + 2 + + + + + + + True + True + 1 0 100 1 10 10 + 1 + + + + + 1 + 2 + 1 + 2 + + + 4 + + + + + True + 0 + 4 + lines + + + 2 + 3 + 1 + 2 + + + + + + + True + True + 5 0 100 1 10 10 + 1 + True + + + + + 1 + 2 + + + 4 + + + + + + + False + False + 1 + + + + + + + 2 + False + + + + + True + Mouse + + + tab + 2 + False + False + + + + + True + + + True + + + True + 12 + + + True + 0 + <b>Filename</b> + True + + + + + False + False + + + + + True + 12 + + + True + True + Convert underscores to blanks + True + 0 + True + + + + + + + False + False + 1 + + + + + True + 12 + + + True + True + Convert %20 to blanks + True + 0 + True + + + + + + + False + False + 2 + + + + + True + 12 + + + True + True + Convert backslash '\' to forward slash '/' + True + 0 + True + + + + + + + False + False + 3 + + + + + True + 12 + 12 + + + True + 0 + <b>Metadata</b> + True + + + + + False + False + 4 + + + + + True + 12 + + + True + True + Load metadata (tag information) from music files. + Load metadata from playlists and files + True + 0 + True + + + + + False + False + 5 + + + + + True + 24 + + + True + + + True + True + Load metadata when adding the file to the playlist or opening it + On load + True + 0 + True + + + + + False + False + + + + + True + True + Load metadata on demand when displaying the file in the playlist + On display + True + 0 + True + playlist_metadata_on_load + + + + + False + False + 1 + + + + + True + 2 + 2 + + + True + 1 + Fallback character encodings: + GTK_JUSTIFY_RIGHT + + + 1 + 2 + + + + + + + True + True + List of character encodings used for fall back conversion of metadata. If automatic character encoding detector failed or has been disabled, encodings in this list would be treated as candidates of the encoding of metadata, and fall back conversion from these encodings to UTF-8 would be attempted. + + + + + 1 + 2 + 1 + 2 + + + + + + True + + + + + 1 + 2 + + + + + + True + 1 + Auto character encoding detector for: + GTK_JUSTIFY_RIGHT + + + + + + + + + 2 + + + + + + + False + False + 6 + + + + + True + 12 + 12 + + + True + 0 + <b>File Dialog</b> + True + + + + + False + False + 7 + + + + + True + 12 + + + True + True + Always refresh the file dialog (this will slow opening the dialog on large directories, and Gnome VFS should handle automatically). + Always refresh directory when opening file dialog + True + 0 + True + + + + + + + False + False + 8 + + + + + True + 12 + 12 + + + True + 0 + <b>Song Display</b> + True + + + + + False + False + 9 + + + + + True + 12 + + + True + 2 + 3 + 12 + 4 + + + True + 1 + Title format: + GTK_JUSTIFY_RIGHT + + + + + + + + + True + 1 + Custom string: + GTK_JUSTIFY_RIGHT + + + 1 + 2 + + + + + + + True + True + + + + + 1 + 2 + 1 + 2 + + + + + + True + TITLE ARTIST - TITLE ARTIST - ALBUM - TITLE ARTIST - ALBUM - TRACK. TITLE ARTIST [ ALBUM ] - TRACK. TITLE ALBUM - TITLE Custom - False - True - - - 1 - 3 - 0 - 1 - - - - - - - True - Show information about titlestring format - GTK_RELIEF_HALF - False - - - - True - gtk-index - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 2 - 3 - 1 - 2 - - - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>Popup Information</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - False - 12 - - - - True - False - 0 - - - - True - Toggles popup information window for the pointed entry in the playlist. The window shows title of song, name of album, genre, year of publish, track number, track length, and artwork. - True - Show popup information for playlist entries - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - 0 - True - False - - - - - 0 - True - True - - - - - - True - Edit settings for popup information - GTK_RELIEF_HALF - True - - - - - True - gtk-properties - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 0 - False - False - - - - - - - 0 - False - False - - - - - 0 - True - True - - - - - False - True - - - - - - True - Playlist - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 0 - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - <b>Presets</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - 2 - 2 - False - 6 - 6 - - - - True - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 0 - 1 - - - - - - - True - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 1 - 2 - - - - - - - True - Directory preset file: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - - True - File preset extension: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 0 - 0 - - - - Available _Presets: - True - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_NONE - GTK_CORNER_TOP_LEFT - - - - False - True - True - False - False - True - False - False - False - - - - - - 0 - True - True - - - - - - True - False - 0 - - - - False - GTK_BUTTONBOX_END - 6 - - - - True - True - True - gtk-add - True - GTK_RELIEF_NORMAL - True - - - - - - - True - True - True - gtk-remove - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - True - True - - - - - 6 - False - False - - - - - 0 - True - True - - - - - - - 0 - True - True - - - - - False - True - - - - - - True - Equalizer - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - <b>Proxy Configuration</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - True - Enable proxy usage - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 2 - 2 - False - 6 - 6 - - - - True - Proxy hostname: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - - True - Proxy port: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - - True - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 0 - 1 - - - - - - - True - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 1 - 2 - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - True - Use authentication with proxy - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 2 - 2 - False - 6 - 6 - - - - True - Proxy username: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - - True - Proxy password: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - - True - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 0 - 1 - - - - - - - True - True - True - False - 0 - - True - * - False - - - - - 1 - 2 - 1 - 2 - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 6 - 0 - 0 - 0 - - - - True - False - 0 - - - - True - gtk-dialog-warning - 4 - 0.5 - 0.5 - 3 - 0 - - - 0 - False - False - - - - - - True - <span size="small">Changing these settings will require a restart of Audacious.</span> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - 0 - False - False - - - - - - - 0 - True - True - - - - - 0 - True - True - - - - - False - True - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - <b>Audio System</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 12 - 0 - - - - True - False - 0 - - - - True - 3 - 2 - False - 6 - 6 - - - - True - Current output plugin: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - - True - - False - True - - - - 1 - 2 - 0 - 1 - - - - - - - True - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 0 0 600000 100 1000 1000 - - - - - 1 - 2 - 1 - 2 - - - - - - - True - <span size="small">This is the amount of time to prebuffer audio streams by, in milliseconds. + + + 1 + 3 + + + + + + True + Show information about titlestring format + GTK_RELIEF_HALF + False + 0 + + + True + gtk-index + + + + + 2 + 3 + 1 + 2 + + + + + + + + + False + False + 10 + + + + + True + 12 + 12 + + + True + 0 + <b>Popup Information</b> + True + + + + + False + False + 11 + + + + + True + 12 + + + True + 12 + + + True + + + True + True + Toggles popup information window for the pointed entry in the playlist. The window shows title of song, name of album, genre, year of publish, track number, track length, and artwork. + Show popup information for playlist entries + True + 0 + True + + + + + False + + + + + + + True + Edit settings for popup information + GTK_RELIEF_HALF + 0 + + + + True + gtk-properties + + + + + False + False + 1 + + + + + + + False + False + 12 + + + + + + + 3 + False + + + + + True + Playlist + + + tab + 3 + False + False + + + + + True + + + True + + + True + + + True + 12 + + + True + 0 + <b>Presets</b> + True + + + + + False + False + + + + + True + + + True + 12 + + + True + 2 + 2 + 6 + 6 + + + True + True + + + + + 1 + 2 + + + + + + True + True + + + + + 1 + 2 + 1 + 2 + + + + + + True + 0 + Directory preset file: + + + + + + + + + True + 0 + File preset extension: + + + 1 + 2 + + + + + + + + + False + False + + + + + True + 6 + + + 0 + Available _Presets: + True + category_notebook + + + + + False + False + 1 + + + + + True + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + + + False + True + + + + + + 2 + + + + + True + + + False + 6 + GTK_BUTTONBOX_END + + + True + True + True + gtk-add + True + 0 + + + + + + True + True + True + gtk-remove + True + 0 + + + + 1 + + + + + + + False + False + 6 + 3 + + + + + 1 + + + + + + + + + 4 + False + + + + + True + Equalizer + + + tab + 4 + False + False + + + + + True + + + True + + + True + 12 + + + True + 0 + <b>Proxy Configuration</b> + True + + + + + False + False + + + + + True + 12 + + + True + + + True + 12 + + + True + True + Enable proxy usage + True + 0 + True + + + + + + + False + False + + + + + True + 2 + 2 + 6 + 6 + + + True + 0 + 0 + Proxy hostname: + + + + + + + + + True + 0 + Proxy port: + + + 1 + 2 + + + + + + + True + True + + + + + 1 + 2 + + + + + + True + True + + + + + 1 + 2 + 1 + 2 + + + + + + False + False + 1 + + + + + True + 12 + 12 + + + True + True + Use authentication with proxy + True + 0 + True + + + + + + + False + False + 2 + + + + + True + 2 + 2 + 6 + 6 + + + True + 0 + 0 + Proxy username: + + + + + + + + + True + 0 + Proxy password: + + + 1 + 2 + + + + + + + True + True + + + + + 1 + 2 + + + + + + True + True + False + + + + + 1 + 2 + 1 + 2 + + + + + + False + False + 3 + + + + + True + 6 + + + True + + + True + 3 + gtk-dialog-warning + + + False + False + + + + + True + <span size="small">Changing these settings will require a restart of Audacious.</span> + True + + + False + False + 1 + + + + + + + False + False + 4 + + + + + + + 1 + + + + + + + 5 + False + + + + + True + + + tab + 5 + False + False + + + + + + + + True + + + tab + 6 + False + False + + + + + True + + + True + 12 + + + True + 0 + <b>Audio System</b> + True + + + + + False + False + + + + + True + 6 + 12 + + + True + + + True + 3 + 2 + 6 + 6 + + + True + 0 + Current output plugin: + + + + + + + + + True + + + + + 1 + 2 + + + + + + True + True + 0 0 600000 100 1000 1000 + 1 + + + + + 1 + 2 + 1 + 2 + + + + + + True + 0 + <span size="small">This is the amount of time to prebuffer audio streams by, in milliseconds. Increase this value if you are experiencing audio skipping. Please note however, that high values will result in Audacious performing poorly.</span> - False - True - GTK_JUSTIFY_LEFT - True - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 1 - 2 - 2 - 3 - - - - - - - - True - Buffer size: - False - False - GTK_JUSTIFY_LEFT - False - False - 1 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - True - gtk-info - 4 - 1 - 0 - 0 - 0 - - - 0 - 1 - 2 - 3 - fill - - - - - 0 - False - False - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - GTK_BUTTONBOX_START - 8 - - - - True - False - True - True - GTK_RELIEF_NORMAL - True - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-preferences - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - Output Plugin Preferences - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - - - - True - False - True - True - GTK_RELIEF_NORMAL - True - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-about - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - Output Plugin Information - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>Format Detection</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - When checked, Audacious will detect file formats on demand. This can result in a messier playlist, but delivers a major speed benefit. - True - Detect file formats on demand, instead of immediately. - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - When checked, Audacious will detect file formats based by extension. This is slightly slower than detection on demand, but still provides a minimal level of format detection. - True - Detect file formats by extension. - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>Playback</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - When Audacious starts, automatically begin playing from the point where we stopped before. - True - Continue playback on startup - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - When finished playing a song, don't automatically advance to the next. - True - Don't advance in the playlist - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Pause between songs - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 45 - 0 - - - - True - False - 0 - - - - True - Pause for - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 4 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 2 0 100 1 10 10 - - - - - 0 - False - False - - - - - - True - seconds - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 4 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>Sampling Rate Converter</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Enable Sampling Rate Converter - True - GTK_RELIEF_NORMAL - True - True - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 12 - 0 - - - - True - False - 0 - - - - True - 3 - 2 - False - 6 - 6 - - - - True - Sampling Rate [Hz]: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - fill - - - - - - - True - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 96000 1000 768000 1000 1000 1000 - - - - - 1 - 2 - 0 - 1 - - - - - - - True - gtk-info - 4 - 1 - 0 - 0 - 0 - - - 0 - 1 - 2 - 3 - fill - - - - - - True - <span size="small">All streams will be converted to this sampling rate. + True + True + + + 1 + 2 + 2 + 3 + + + + + + + True + 1 + Buffer size: + + + 1 + 2 + + + + + + True + 1 + 0 + gtk-info + + + 2 + 3 + GTK_FILL + + + + + False + False + + + + + + + False + False + 1 + + + + + True + 12 + + + True + 8 + GTK_BUTTONBOX_START + + + True + False + True + True + 0 + + + True + 0 + 0 + + + True + 2 + + + True + gtk-preferences + + + False + False + + + + + True + Output Plugin Preferences + True + + + False + False + 1 + + + + + + + + + + + True + False + True + True + 0 + + + True + 0 + 0 + + + True + 2 + + + True + gtk-about + + + False + False + + + + + True + Output Plugin Information + True + + + False + False + 1 + + + + + + + + + 1 + + + + + + + False + False + 2 + + + + + True + 12 + 12 + + + True + 0 + <b>Format Detection</b> + True + + + + + False + False + 3 + + + + + True + 12 + + + True + True + When checked, Audacious will detect file formats on demand. This can result in a messier playlist, but delivers a major speed benefit. + Detect file formats on demand, instead of immediately. + True + 0 + True + + + + + + + False + False + 4 + + + + + True + 12 + + + True + True + When checked, Audacious will detect file formats based by extension. This is slightly slower than detection on demand, but still provides a minimal level of format detection. + Detect file formats by extension. + True + 0 + True + + + + + + + False + False + 5 + + + + + True + 12 + 12 + + + True + 0 + <b>Playback</b> + True + + + + + False + False + 6 + + + + + True + 12 + + + True + True + When Audacious starts, automatically begin playing from the point where we stopped before. + Continue playback on startup + True + 0 + True + + + + + + + False + False + 7 + + + + + True + 12 + + + True + True + When finished playing a song, don't automatically advance to the next. + Don't advance in the playlist + True + 0 + True + + + + + + + False + False + 8 + + + + + True + 12 + + + True + True + Pause between songs + True + 0 + True + + + + + False + False + 9 + + + + + True + 45 + + + True + + + True + 4 + Pause for + + + False + False + + + + + True + True + 2 0 100 1 10 10 + 1 + + + + + False + False + 1 + + + + + True + 4 + seconds + + + False + False + 2 + + + + + + + False + False + 10 + + + + + True + 12 + 12 + + + True + 0 + <b>Sampling Rate Converter</b> + True + + + + + False + False + 11 + + + + + True + 12 + + + True + True + Enable Sampling Rate Converter + True + 0 + True + True + + + + + + + False + False + 12 + + + + + True + 6 + 12 + + + True + + + True + 3 + 2 + 6 + 6 + + + True + 0 + Sampling Rate [Hz]: + + + GTK_FILL + + + + + + True + True + 96000 1000 768000 1000 1000 1000 + 1 + + + + + 1 + 2 + + + + + + True + 1 + 0 + gtk-info + + + 2 + 3 + GTK_FILL + + + + + True + 0 + <span size="small">All streams will be converted to this sampling rate. This should be the max supported sampling rate of the sound card or output plugin.</span> - False - True - GTK_JUSTIFY_LEFT - True - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 1 - 2 - 2 - 3 - fill - - - - - - - True - Interpolation Engine: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - fill - - - - - - - True - Best Sinc Interpolation + True + True + + + 1 + 2 + 2 + 3 + GTK_FILL + + + + + + True + 0 + Interpolation Engine: + + + 1 + 2 + GTK_FILL + + + + + + True + Best Sinc Interpolation Medium Sinc Interpolation Fastest Sinc Interpolation ZOH Interpolation Linear Interpolation - False - True - - - - - 1 - 2 - 1 - 2 - fill - fill - - - - - 0 - False - False - - - - - - - 0 - False - False - - - - - False - True - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - 0 - True - True - - - - - 0 - True - True - - - - - - True - - - 6 - False - False - - - - - - True - False - 0 - - - - True - - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - GTK_BUTTONBOX_END - 6 - - - - True - True - True - GTK_RELIEF_NORMAL - True - - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-refresh - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - Reload Plugins - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - - - - True - True - True - gtk-close - True - GTK_RELIEF_NORMAL - True - - - - - - - 0 - True - True - - - - - 0 - False - False - - - - - - - - 12 - Popup Information Settings - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER_ON_PARENT - False - True - False - True - True - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - False - - - - - True - False - 12 - - - - True - <b>Cover image retrieve</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - While searching for the album's cover, Audacious looks for certain words in the filename. You can specify those words in the lists below, separated using commas. - False - False - GTK_JUSTIFY_LEFT - True - False - 0 - 0 - 12 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - 2 - 2 - False - 4 - 4 - - - - True - True - True - True - 0 - - True - * - True - - - 1 - 2 - 1 - 2 - - - - - - - True - Include: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 12 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - - True - Exclude: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 12 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - - True - True - True - True - 0 - - True - * - True - - - 1 - 2 - 0 - 1 - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Recursively search for cover - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - 0 - True - True - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 45 - 0 - - - - True - False - 0 - - - - True - Search depth: - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 4 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - True - True - - - - - - True - True - 1 - 0 - True - GTK_UPDATE_ALWAYS - False - False - 0 0 100 1 10 10 - - - 0 - True - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Use per-file cover - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - 0 - True - True - - - - - - True - <b>Miscellaneous</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Show Progress bar for the current track - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - 0 - False - False - - - - - - True - 0 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - False - 0 - - - - True - Delay until filepopup comes up: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 12 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - True - True - - - - - - True - True - 1 - 0 - True - GTK_UPDATE_ALWAYS - False - False - 0 0 100 1 10 10 - - - 0 - True - True - - - - - - - 0 - True - True - - - - - - True - GTK_BUTTONBOX_END - 6 - - - - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - - - - - - - True - True - True - True - gtk-ok - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - False - False - - - - - - - - 12 - Color Adjustment - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - False - - - - True - False - 12 - - - - True - Audacious allows you to alter the color balance of the skinned UI. The sliders below will allow you to do this. - False - False - GTK_JUSTIFY_LEFT - True - False - 0 - 0 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - 3 - 2 - False - 6 - 12 - - - - True - True - False - GTK_POS_TOP - 3 - GTK_UPDATE_CONTINUOUS - False - 0 0 255 0 0 0 - - - - 1 - 2 - 0 - 1 - - - - - - True - True - False - GTK_POS_TOP - 1 - GTK_UPDATE_CONTINUOUS - False - 0 0 255 0 0 0 - - - - 1 - 2 - 1 - 2 - fill - - - - - - True - True - False - GTK_POS_TOP - 1 - GTK_UPDATE_CONTINUOUS - False - 0 0 255 0 0 0 - - - - 1 - 2 - 2 - 3 - fill - - - - - - True - Red - False - False - GTK_JUSTIFY_RIGHT - False - False - 1 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - fill - - - - - - - True - Green - False - False - GTK_JUSTIFY_RIGHT - False - False - 1 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - fill - - - - - - - True - Blue - False - False - GTK_JUSTIFY_RIGHT - False - False - 1 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 2 - 3 - fill - - - - - - 0 - True - True - - - - - - True - GTK_BUTTONBOX_END - 6 - - - - True - True - True - True - gtk-close - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - False - False - - - - - - + + + + + 1 + 2 + 1 + 2 + GTK_FILL + GTK_FILL + + + + + False + False + + + + + + + False + False + 13 + + + + + True + 12 + 12 + + + True + 0 + <b>Volume Control</b> + True + + + + + False + False + 14 + + + + + True + 12 + + + True + True + Use software volume control. This may be useful for situations where your audio system does not support controlling the playback volume. + Use software volume control + True + 0 + True + + + + + + + False + False + 15 + + + + + 7 + False + + + + + True + + + tab + 7 + False + False + + + + + + + + True + + + tab + 8 + False + False + + + + + 1 + + + + + + + True + + + False + False + 6 + 1 + + + + + True + + + True + True + + + False + False + + + + + True + 6 + GTK_BUTTONBOX_END + + + True + True + True + 0 + + + + True + 0 + 0 + + + True + 2 + + + True + gtk-refresh + + + False + False + + + + + True + Reload Plugins + True + + + False + False + 1 + + + + + + + + + + + True + True + True + gtk-close + True + 0 + + + + + 1 + + + + + 1 + + + + + False + False + 2 + + + + + + + 12 + Popup Information Settings + GTK_WIN_POS_CENTER_ON_PARENT + GDK_WINDOW_TYPE_HINT_DIALOG + True + + + + True + 12 + + + True + 0 + <b>Cover image retrieve</b> + True + + + False + False + + + + + True + 0 + 0 + 12 + While searching for the album's cover, Audacious looks for certain words in the filename. You can specify those words in the lists below, separated using commas. + True + + + False + False + 1 + + + + + True + 2 + 2 + 4 + 4 + + + True + True + True + + + 1 + 2 + 1 + 2 + + + + + + True + 0 + 12 + Include: + + + + + + + + + True + 0 + 12 + Exclude: + + + 1 + 2 + + + + + + + True + True + True + + + 1 + 2 + + + + + + False + False + 2 + + + + + True + 12 + + + True + True + Recursively search for cover + True + 0 + True + + + + + 3 + + + + + True + 45 + + + True + + + True + 4 + Search depth: + + + + + True + True + 0 0 100 1 10 10 + 1 + True + + + 1 + + + + + + + False + False + 4 + + + + + True + 12 + + + True + True + Use per-file cover + True + 0 + True + + + + + 5 + + + + + True + 0 + <b>Miscellaneous</b> + True + + + False + False + 6 + + + + + True + 12 + + + True + True + Show Progress bar for the current track + True + 0 + True + + + + + False + False + 7 + + + + + True + 0 + 12 + + + True + + + True + 0 + 12 + Delay until filepopup comes up: + + + + + True + True + 0 0 100 1 10 10 + 1 + True + + + 1 + + + + + + + 8 + + + + + True + 6 + GTK_BUTTONBOX_END + + + True + True + gtk-cancel + True + 0 + + + + + + True + True + True + True + gtk-ok + True + 0 + + + + 1 + + + + + False + False + 9 + + + + + + + 12 + Color Adjustment + GDK_WINDOW_TYPE_HINT_DIALOG + + + True + 12 + + + True + 0 + 0 + Audacious allows you to alter the color balance of the skinned UI. The sliders below will allow you to do this. + True + + + False + False + + + + + True + 3 + 2 + 12 + 6 + + + True + True + 0 0 255 0 0 0 + 3 + False + + + + 1 + 2 + + + + + True + True + 0 0 255 0 0 0 + False + + + + 1 + 2 + 1 + 2 + GTK_FILL + + + + + True + True + 0 0 255 0 0 0 + False + + + + 1 + 2 + 2 + 3 + GTK_FILL + + + + + True + 1 + Red + GTK_JUSTIFY_RIGHT + + + GTK_FILL + + + + + + True + 1 + Green + GTK_JUSTIFY_RIGHT + + + 1 + 2 + GTK_FILL + + + + + + True + 1 + Blue + GTK_JUSTIFY_RIGHT + + + 2 + 3 + GTK_FILL + + + + + + 1 + + + + + True + 6 + GTK_BUTTONBOX_END + + + True + True + True + True + gtk-close + True + 0 + + + + + + False + False + 2 + + + + + diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/iir.c --- a/src/audacious/iir.c Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/iir.c Wed Sep 19 17:48:49 2007 +0300 @@ -20,6 +20,8 @@ */ #include + +#include "main.h" #include "iir.h" /* Coefficients */ @@ -82,3 +84,42 @@ return rounded_value; } #endif + +static void +byteswap(size_t size, + gint16 * buf) +{ + gint16 *it; + size &= ~1; /* must be multiple of 2 */ + for (it = buf; it < buf + size / 2; ++it) + *(guint16 *) it = GUINT16_SWAP_LE_BE(*(guint16 *) it); +} + +void +iir_flow(FlowContext *context) +{ + static int init = 0; + int swapped = 0; + guint myorder = G_BYTE_ORDER == G_LITTLE_ENDIAN ? FMT_S16_LE : FMT_S16_BE; + int caneq = (context->fmt == FMT_S16_NE || context->fmt == myorder); + + if (!caneq && cfg.equalizer_active) { /* wrong byte order */ + byteswap(context->len, context->data); /* so convert */ + ++swapped; + ++caneq; + } /* can eq now, mark swapd */ + else if (caneq && !cfg.equalizer_active) /* right order but no eq */ + caneq = 0; /* so don't eq */ + + if (caneq) { /* if eq enab */ + if (!init) { /* if first run */ + init_iir(); /* then init eq */ + ++init; + } + + iir(&context->data, context->len, context->channels); + + if (swapped) /* if was swapped */ + byteswap(context->len, context->data); /* swap back for output */ + } +} diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/iir.h --- a/src/audacious/iir.h Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/iir.h Wed Sep 19 17:48:49 2007 +0300 @@ -23,6 +23,7 @@ #include #include "main.h" +#include "flow.h" #include "iir_cfs.h" /* @@ -79,5 +80,7 @@ extern unsigned int blength; #endif +void iir_flow(FlowContext *context); + #endif /* #define IIR_H */ diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/images/Makefile --- a/src/audacious/images/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/images/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,17 +1,27 @@ -include ../../../mk/rules.mk -include ../../../mk/init.mk +include ../../../buildsys.mk imagesdir = $(pkgdatadir)/images -OBJECTIVE_DATA = \ - about-logo.png:$(imagesdir) \ - audacious_player.xpm:$(imagesdir) \ - appearance.png:$(imagesdir) \ - audio.png:$(imagesdir) \ - connectivity.png:$(imagesdir) \ - mouse.png:$(imagesdir) \ - playlist.png:$(imagesdir) \ - plugins.png:$(imagesdir) \ - eq.png:$(imagesdir) +install-extra: + y="*.png *.xpm"; \ + for i in $$y; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${imagesdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${imagesdir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi; \ + done -include ../../../mk/objective.mk +uninstall-extra: + y="*.png *.xpm"; \ + for i in $$y; do \ + if [ -f ${DESTDIR}${imagesdir}/$$i ]; then \ + if rm -f ${DESTDIR}${imagesdir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi; \ + done; + diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/intl/Makefile --- a/src/audacious/intl/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/intl/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,22 +1,4 @@ -include ../../../mk/rules.mk -include ../../../mk/init.mk - -localedir = $(datadir)/locale -gettextsrcdir = $(datadir)/gettext/intl -aliaspath = $(localedir) - -OBJECTIVE_LIBS_NOINST = libintl.a - -DEFS += -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \ - -DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \ - -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DINSTALLPREFIX=\"$(libdir)\" -DNO_XMALLOC \ - -Dset_relocation_prefix=libintl_set_relocation_prefix \ - -Drelocate=libintl_relocate \ - -DDEPENDS_ON_LIBICONV=1 - -CFLAGS += $(PICFLAGS) -I../../.. -I../.. -I. $(DEFS) - -SOURCES = \ +SRCS = \ bindtextdom.c \ dcgettext.c \ dgettext.c \ @@ -41,6 +23,20 @@ os2compat.c \ intl-compat.c -OBJECTS = ${SOURCES:.c=.o} +STATIC_LIB_NOINST = libintl.a + +include ../../../buildsys.mk +include ../../../extra.mk + +localedir = $(datadir)/locale +gettextsrcdir = $(datadir)/gettext/intl +aliaspath = $(localedir) -include ../../../mk/objective.mk +DEFS += -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \ + -DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \ + -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DINSTALLPREFIX=\"$(libdir)\" -DNO_XMALLOC \ + -Dset_relocation_prefix=libintl_set_relocation_prefix \ + -Drelocate=libintl_relocate \ + -DDEPENDS_ON_LIBICONV=1 + +CPPFLAGS += -I../../.. -I../.. -I. $(DEFS) diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/main.c --- a/src/audacious/main.c Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/main.c Wed Sep 19 17:48:49 2007 +0300 @@ -224,7 +224,8 @@ FALSE, /* internal: whether or not to terminate */ TRUE, /* whether show progress bar in filepopup or not */ TRUE, /* close jtf dialog on jump */ - TRUE, /* use back and forth scroll */ + TRUE, /* use back and forth scroll */ + FALSE, /* use software volume control */ }; typedef struct bmp_cfg_boolent_t { @@ -332,6 +333,7 @@ {"filepopup_showprogressbar", &cfg.filepopup_showprogressbar, TRUE}, {"close_jtf_dialog", &cfg.close_jtf_dialog, TRUE}, {"twoway_scroll", &cfg.twoway_scroll, TRUE}, + {"software_volume_control", &cfg.software_volume_control, TRUE}, }; static gint ncfgbent = G_N_ELEMENTS(bmp_boolents); @@ -938,6 +940,7 @@ /* Save extra playlists that were loaded from PLAYLISTS_DIR */ saved = NULL; + saved = g_list_prepend(saved, playlist); /* don't save default again */ if(!dir_foreach(bmp_paths[BMP_PATH_PLAYLISTS_DIR], save_extra_playlist, &saved, NULL)) { g_warning("Could not save extra playlists\n"); @@ -1299,12 +1302,6 @@ title = playlist_get_current_name(playlist); - if (playlist_playlists_equal(playlist, deflist)) { - /* same as default playlist */ - playlist_remove_playlist(playlist); - playlist_filename_set(deflist, path); - } - return FALSE; /* keep loading other playlists */ } diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/main.h --- a/src/audacious/main.h Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/main.h Wed Sep 19 17:48:49 2007 +0300 @@ -131,6 +131,7 @@ gboolean filepopup_showprogressbar; gboolean close_jtf_dialog; gboolean twoway_scroll; + gboolean software_volume_control; }; typedef struct _BmpConfig BmpConfig; diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/output.c --- a/src/audacious/output.c Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/output.c Wed Sep 19 17:48:49 2007 +0300 @@ -36,7 +36,11 @@ #include "playlist.h" #include "configdb.h" +#include "flow.h" + #include "effect.h" +#include "volumecontrol.h" +#include "visualization.h" #include @@ -56,27 +60,21 @@ }; OutputPlugin psuedo_output_plugin = { - NULL, - NULL, - "XMMS reverse compatibility output plugin", - NULL, - NULL, - NULL, - NULL, - TRUE, - output_get_volume, - output_set_volume, - output_open_audio, - output_write_audio, - output_close_audio, + .description = "XMMS reverse compatibility output plugin", + .get_volume = output_get_volume, + .set_volume = output_set_volume, + + .open_audio = output_open_audio, + .write_audio = output_write_audio, + .close_audio = output_close_audio, - output_flush, - output_pause, - output_buffer_free, - output_buffer_playing, - get_output_time, - get_written_time, - NULL + .flush = output_flush, + .pause = output_pause, + + .buffer_free = output_buffer_free, + .buffer_playing = output_buffer_playing, + .output_time = get_output_time, + .written_time = get_written_time, }; OutputPlugin * @@ -171,7 +169,10 @@ if (!op_data.current_output_plugin->get_volume) return; - op_data.current_output_plugin->get_volume(l, r); + if (cfg.software_volume_control) + volumecontrol_get_volume_state(l, r); + else + op_data.current_output_plugin->get_volume(l, r); } void @@ -183,7 +184,10 @@ if (!op_data.current_output_plugin->set_volume) return; - op_data.current_output_plugin->set_volume(l, r); + if (cfg.software_volume_control) + volumecontrol_set_volume_state(l, r); + else + op_data.current_output_plugin->set_volume(l, r); } void @@ -200,17 +204,6 @@ } } -/* this should be in BYTES, NOT gint16s */ -static void -byteswap(size_t size, - gint16 * buf) -{ - gint16 *it; - size &= ~1; /* must be multiple of 2 */ - for (it = buf; it < buf + size / 2; ++it) - *(guint16 *) it = GUINT16_SWAP_LE_BE(*(guint16 *) it); -} - /* called by input plugin to peek at the output plugin's write progress */ gint get_written_time(void) @@ -427,15 +420,18 @@ int *going /* 0 when time to stop */ ) { - static int init = 0; - int swapped = 0; - guint myorder = G_BYTE_ORDER == G_LITTLE_ENDIAN ? FMT_S16_LE : FMT_S16_BE; - int caneq = (fmt == FMT_S16_NE || fmt == myorder); + static Flow *postproc_flow = NULL; OutputPlugin *op = get_current_output_plugin(); int writeoffs; - AFormat new_format; - gint new_rate; - gint new_nch; + + if (postproc_flow == NULL) + { + postproc_flow = flow_new(); + flow_link_element(postproc_flow, iir_flow); + flow_link_element(postproc_flow, effect_flow); + flow_link_element(postproc_flow, vis_flow); + flow_link_element(postproc_flow, volumecontrol_flow); + } #ifdef USE_SRC if(src_state != NULL&&length > 0) @@ -475,50 +471,7 @@ } #endif - if (!caneq && cfg.equalizer_active) { /* wrong byte order */ - byteswap(length, ptr); /* so convert */ - ++swapped; - ++caneq; - } /* can eq now, mark swapd */ - else if (caneq && !cfg.equalizer_active) /* right order but no eq */ - caneq = 0; /* so don't eq */ - - if (caneq) { /* if eq enab */ - if (!init) { /* if first run */ - init_iir(); /* then init eq */ - ++init; - } - - iir(&ptr, length, nch); - - if (swapped) /* if was swapped */ - byteswap(length, ptr); /* swap back for output */ - } - - /* do vis plugin(s) */ - input_add_vis_pcm(time, fmt, nch, length, ptr); - - /* do effect plugin(s) */ - new_format = op_state.fmt; - new_rate = op_state.rate; - new_nch = op_state.nch; - - effect_do_query_format(&new_format, &new_rate, &new_nch); - - if (new_format != op_state.fmt || - new_rate != op_state.rate || - new_nch != op_state.nch) - { - /* - * The effect plugin changes the stream format. Reopen the - * audio device. - */ - if (!output_open_audio(new_format, new_rate, new_nch)) - return; - } - - length = effect_do_mod_samples(&ptr, length, op_state.fmt, op_state.rate, - op_state.nch); + flow_execute(postproc_flow, time, ptr, length, op_state.fmt, op_state.rate, op_state.nch); writeoffs = 0; while (writeoffs < length) diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/playlist.c --- a/src/audacious/playlist.c Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/playlist.c Wed Sep 19 17:48:49 2007 +0300 @@ -668,48 +668,76 @@ InputPlugin * dec) { PlaylistEntry *entry; + gint subtunes_num = 0, i = 0; g_return_if_fail(playlist != NULL); g_return_if_fail(filename != NULL); - entry = playlist_entry_new(filename, - tuple ? tuple_get_string(tuple, FIELD_TITLE, NULL) : NULL, - tuple ? tuple_get_int(tuple, FIELD_LENGTH, NULL) : -1, dec); - - if(!playlist->tail) - playlist->tail = g_list_last(playlist->entries); - - PLAYLIST_LOCK(playlist); - - if(pos == -1) { // the common case - GList *element; - element = g_list_alloc(); - element->data = entry; - element->prev = playlist->tail; // NULL is allowed here. - element->next = NULL; - - if(!playlist->entries) { // this is the first element - playlist->entries = element; - playlist->tail = element; - } - else { // the rests - g_return_if_fail(playlist->tail != NULL); - playlist->tail->next = element; - playlist->tail = element; + if (tuple != NULL) + { + subtunes_num = tuple_get_int(tuple, FIELD_SUBSONG_NUM, NULL); + if (subtunes_num > 0) + { + i = 1; + tuple_free(tuple); /* will be replaced by subtune tuples */ } } - else { - playlist->entries = g_list_insert(playlist->entries, entry, pos); - } - - PLAYLIST_UNLOCK(playlist); - - if (tuple != NULL) { - const gchar *formatter = tuple_get_string(tuple, FIELD_FORMATTER, NULL); - entry->title = tuple_formatter_make_title_string(tuple, formatter ? - formatter : get_gentitle_format()); - entry->length = tuple_get_int(tuple, FIELD_LENGTH, NULL); - entry->tuple = tuple; + + for (; i <= subtunes_num; i++) + { + gchar *filename_entry; + if (subtunes_num > 0) + { + filename_entry = g_strdup_printf("%s?%d", filename, i); + /* we're dealing with subtune, let's ask again tuple information + to plugin, by passing the ?subsong suffix; this way we may get + specific subtune information in the tuple, if available */ + tuple = dec->get_song_tuple(filename_entry); + } + else + filename_entry = g_strdup(filename); + + + entry = playlist_entry_new(filename_entry, + tuple ? tuple_get_string(tuple, FIELD_TITLE, NULL) : NULL, + tuple ? tuple_get_int(tuple, FIELD_LENGTH, NULL) : -1, dec); + g_free(filename_entry); + + if(!playlist->tail) + playlist->tail = g_list_last(playlist->entries); + + PLAYLIST_LOCK(playlist); + + if ((pos == -1) && (i < 2)) { // the common case + GList *element; + element = g_list_alloc(); + element->data = entry; + element->prev = playlist->tail; // NULL is allowed here. + element->next = NULL; + + if(!playlist->entries) { // this is the first element + playlist->entries = element; + playlist->tail = element; + } + else { // the rests + g_return_if_fail(playlist->tail != NULL); + playlist->tail->next = element; + playlist->tail = element; + } + } + else { + playlist->entries = g_list_insert(playlist->entries, entry, pos); + } + + PLAYLIST_UNLOCK(playlist); + + if (tuple != NULL) { + const gchar *formatter = tuple_get_string(tuple, FIELD_FORMATTER, NULL); + entry->title = tuple_formatter_make_title_string(tuple, formatter ? + formatter : get_gentitle_format()); + entry->length = tuple_get_int(tuple, FIELD_LENGTH, NULL); + entry->tuple = tuple; + } } if(tuple != NULL && tuple_get_int(tuple, FIELD_MTIME, NULL) == -1) { // kick the scanner thread only if mtime = -1 (uninitialized). diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/tuple.c --- a/src/audacious/tuple.c Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/tuple.c Wed Sep 19 17:48:49 2007 +0300 @@ -47,6 +47,9 @@ { "performer", TUPLE_STRING }, { "copyright", TUPLE_STRING }, { "date", TUPLE_STRING }, + + { "subsong-id", TUPLE_INT }, + { "subsong-num", TUPLE_INT }, }; static mowgli_heap_t *tuple_heap = NULL; @@ -94,9 +97,21 @@ tuple_destroy(gpointer data) { Tuple *tuple = (Tuple *) data; + gint i; TUPLE_LOCK_WRITE(); mowgli_dictionary_destroy(tuple->dict, tuple_value_destroy, NULL); + + for (i = 0; i < FIELD_LAST; i++) + if (tuple->values[i]) { + TupleValue *value = tuple->values[i]; + + if (value->type == TUPLE_STRING) + g_free(value->value.string); + + mowgli_heap_free(tuple_value_heap, value); + } + mowgli_heap_free(tuple_heap, tuple); TUPLE_UNLOCK_WRITE(); } @@ -110,8 +125,8 @@ if (tuple_heap == NULL) { - tuple_heap = mowgli_heap_create(sizeof(Tuple), 256, BH_NOW); - tuple_value_heap = mowgli_heap_create(sizeof(TupleValue), 512, BH_NOW); + tuple_heap = mowgli_heap_create(sizeof(Tuple), 512, BH_NOW); + tuple_value_heap = mowgli_heap_create(sizeof(TupleValue), 1024, BH_NOW); mowgli_object_class_init(&tuple_klass, "audacious.tuple", tuple_destroy, FALSE); } diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/tuple.h --- a/src/audacious/tuple.h Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/tuple.h Wed Sep 19 17:48:49 2007 +0300 @@ -50,6 +50,9 @@ FIELD_COPYRIGHT, FIELD_DATE, + FIELD_SUBSONG_ID, + FIELD_SUBSONG_NUM, + /* special field, must always be last */ FIELD_LAST }; diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/ui/Makefile --- a/src/audacious/ui/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/ui/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,12 +1,27 @@ -include ../../../mk/rules.mk -include ../../../mk/init.mk +include ../../../buildsys.mk gladexmldir = $(pkgdatadir)/ui -OBJECTIVE_DATA = \ - carbon-menubar.ui:$(gladexmldir) \ - mainwin.ui:$(gladexmldir) \ - playlist.ui:$(gladexmldir) \ - equalizer.ui:$(gladexmldir) +install-extra: + y="*.ui"; \ + for i in $$y; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${gladexmldir} && ${INSTALL} -m 644 $$i ${DESTDIR}${gladexmldir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi; \ + done -include ../../../mk/objective.mk +uninstall-extra: + y="*.ui"; \ + for i in $$y; do \ + if [ -f ${DESTDIR}${gladexmldir}/$$i ]; then \ + if rm -f ${DESTDIR}${gladexmldir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi; \ + done; + diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/ui_equalizer.c --- a/src/audacious/ui_equalizer.c Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/ui_equalizer.c Wed Sep 19 17:48:49 2007 +0300 @@ -288,7 +288,7 @@ gpointer data) { if (event->keyval == GDK_Tab && event->state & GDK_CONTROL_MASK) { - gtk_window_present(GTK_WINDOW(playlistwin)); + playlistwin_show(); return TRUE; } diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/ui_main.c --- a/src/audacious/ui_main.c Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/ui_main.c Wed Sep 19 17:48:49 2007 +0300 @@ -135,11 +135,10 @@ static GtkWidget *mainwin_shuffle, *mainwin_repeat; GtkWidget *mainwin_eq, *mainwin_pl; -GtkWidget *mainwin_info; +GtkWidget *mainwin_info, *mainwin_othertext; GtkWidget *mainwin_stime_min, *mainwin_stime_sec; -static GtkWidget *mainwin_rate_text, *mainwin_freq_text, - *mainwin_othertext; +static GtkWidget *mainwin_rate_text, *mainwin_freq_text; GtkWidget *mainwin_playstatus; @@ -971,8 +970,23 @@ break; case GDK_Tab: if (event->state & GDK_CONTROL_MASK) - gtk_window_present(GTK_WINDOW(equalizerwin)); + equalizerwin_real_show(); break; + case GDK_c: + if (event->state & GDK_CONTROL_MASK) { + Playlist *playlist = playlist_get_active(); + gint pos = playlist_get_position(playlist); + gchar *title = playlist_get_songtitle(playlist, pos); + + if (title != NULL) { + GtkClipboard *clip = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD); + gtk_clipboard_set_text(clip, title, -1); + gtk_clipboard_store(clip); + } + + return TRUE; + } + return FALSE; default: return FALSE; } @@ -2423,6 +2437,7 @@ g_signal_connect(mainwin_info, "right-clicked", mainwin_info_right_clicked_cb, NULL); mainwin_othertext = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->fixed, 112, 43, 153, 1, SKIN_TEXT); + ui_skinned_textbox_set_xfont(mainwin_othertext, cfg.mainwin_use_xfont, cfg.mainwin_font); mainwin_rate_text = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->fixed, 111, 43, 15, 0, SKIN_TEXT); diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/ui_main.h --- a/src/audacious/ui_main.h Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/ui_main.h Wed Sep 19 17:48:49 2007 +0300 @@ -100,7 +100,7 @@ extern GtkWidget *mainwin_jtf; extern GtkWidget *mainwin_eq, *mainwin_pl; -extern GtkWidget *mainwin_info; +extern GtkWidget *mainwin_info, *mainwin_othertext; extern GtkWidget *mainwin_stime_min, *mainwin_stime_sec; diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/ui_preferences.c --- a/src/audacious/ui_preferences.c Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/ui_preferences.c Wed Sep 19 17:48:49 2007 +0300 @@ -585,6 +585,7 @@ cfg.mainwin_font = g_strdup(gtk_font_button_get_font_name(button)); ui_skinned_textbox_set_xfont(mainwin_info, cfg.mainwin_use_xfont, cfg.mainwin_font); + ui_skinned_textbox_set_xfont(mainwin_othertext, cfg.mainwin_use_xfont, cfg.mainwin_font); } static void @@ -602,6 +603,7 @@ gboolean useit = gtk_toggle_button_get_active(button); cfg.mainwin_use_xfont = useit != FALSE ? FALSE : TRUE; ui_skinned_textbox_set_xfont(mainwin_info, cfg.mainwin_use_xfont, cfg.mainwin_font); + ui_skinned_textbox_set_xfont(mainwin_othertext, cfg.mainwin_use_xfont, cfg.mainwin_font); playlistwin_set_sinfo_font(cfg.playlist_font); if (cfg.playlist_shaded) { @@ -883,6 +885,7 @@ gtk_tree_model_get(model, &iter, PLUGIN_VIEW_COL_PLUGIN_PTR, &plugin, -1); g_return_if_fail(plugin != NULL); + g_return_if_fail(plugin->configure != NULL); plugin->configure(); } @@ -1156,6 +1159,18 @@ } static void +on_software_volume_control_toggled(GtkToggleButton * button, gpointer data) +{ + cfg.software_volume_control = gtk_toggle_button_get_active(button); +} + +static void +on_software_volume_control_realize(GtkToggleButton * button, gpointer data) +{ + gtk_toggle_button_set_active(button, cfg.software_volume_control); +} + +static void on_continue_playback_on_startup_toggled(GtkToggleButton * button, gpointer data) { cfg.resume_playback_on_startup = gtk_toggle_button_get_active(button); @@ -1890,6 +1905,8 @@ FUNC_MAP_ENTRY(on_filepopup_for_tuple_settings_clicked) FUNC_MAP_ENTRY(on_continue_playback_on_startup_realize) FUNC_MAP_ENTRY(on_continue_playback_on_startup_toggled) + FUNC_MAP_ENTRY(on_software_volume_control_realize) + FUNC_MAP_ENTRY(on_software_volume_control_toggled) /* Filepopup settings */ FUNC_MAP_ENTRY(on_filepopup_settings_ok_clicked) diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/visualization.c --- a/src/audacious/visualization.c Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/visualization.c Wed Sep 19 17:48:49 2007 +0300 @@ -446,3 +446,10 @@ else ui_vis_timeout_func(mainwin_vis, intern_vis_data); } + +void +vis_flow(FlowContext *context) +{ + input_add_vis_pcm(context->time, context->fmt, context->channels, + context->len, context->data); +} diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/visualization.h --- a/src/audacious/visualization.h Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audacious/visualization.h Wed Sep 19 17:48:49 2007 +0300 @@ -26,7 +26,7 @@ #define VISUALIZATION_H #include - +#include "flow.h" #include "plugin.h" typedef struct _VisPluginData VisPluginData; @@ -46,6 +46,7 @@ gchar *vis_stringify_enabled_list(void); void vis_enable_from_stringified_list(gchar * list); void vis_send_data(gint16 pcm_data[2][512], gint nch, gint length); +void vis_flow(FlowContext *context); extern VisPluginData vp_data; diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/volumecontrol.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/audacious/volumecontrol.c Wed Sep 19 17:48:49 2007 +0300 @@ -0,0 +1,171 @@ +/* + * Audacious + * Copyright (c) 2007 William Pitcock + * + * volumecontrol.c: High quality volume PCM padding flow. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; under version 3 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * The Audacious team does not consider modular code linking to + * Audacious or using our public API to be a derived work. + */ + +#include "output.h" +#include "iir.h" +#include "main.h" +#include "input.h" +#include "playback.h" + +#include "playlist.h" +#include "configdb.h" + +#include "effect.h" +#include "xconvert.h" + +#include "volumecontrol.h" + +#include + +typedef struct { + gint left; + gint right; +} volumecontrol_req_t; + +static volumecontrol_req_t vc_state_ = { 100, 100 }; + +#define STEREO_ADJUST(type, type2, endian) \ +do { \ + type *ptr = data; \ + for (i = 0; i < length; i += 4) \ + { \ + *ptr = type2##_TO_##endian(type2##_FROM_## endian(*ptr) * \ + lvol / 256); \ + ptr++; \ + *ptr = type2##_TO_##endian(type2##_FROM_##endian(*ptr) * \ + rvol / 256); \ + ptr++; \ + } \ +} while (0) + +#define MONO_ADJUST(type, type2, endian) \ +do { \ + type *ptr = data; \ + for (i = 0; i < length; i += 2) \ + { \ + *ptr = type2##_TO_##endian(type2##_FROM_## endian(*ptr) * \ + vol / 256); \ + ptr++; \ + } \ +} while (0) + +#define VOLUME_ADJUST(type, type2, endian) \ +do { \ + if (channels == 2) \ + STEREO_ADJUST(type, type2, endian); \ + else \ + MONO_ADJUST(type, type2, endian); \ +} while (0) + +#define STEREO_ADJUST8(type) \ +do { \ + type *ptr = data; \ + for (i = 0; i < length; i += 2) \ + { \ + *ptr = *ptr * lvol / 256; \ + ptr++; \ + *ptr = *ptr * rvol / 256; \ + ptr++; \ + } \ +} while (0) + +#define MONO_ADJUST8(type) \ +do { \ + type *ptr = data; \ + for (i = 0; i < length; i++) \ + { \ + *ptr = *ptr * vol / 256; \ + ptr++; \ + } \ +} while (0) + +#define VOLUME_ADJUST8(type) \ +do { \ + if (channels == 2) \ + STEREO_ADJUST8(type); \ + else \ + MONO_ADJUST8(type); \ +} while (0) + +void volumecontrol_pad_audio(gpointer data, gint length, AFormat fmt, + gint channels) +{ + gint i, vol, lvol, rvol; + + if (vc_state_.left == 100 && vc_state_.right == 100) + return; + + if (channels == 1 && (vc_state_.left == 100 || vc_state_.right == 100)) + return; + + lvol = pow(10, (vc_state_.left - 100) / 40.0) * 256; + rvol = pow(10, (vc_state_.right - 100) / 40.0) * 256; + vol = MAX(lvol, rvol); + + switch (fmt) + { + case FMT_S16_LE: + VOLUME_ADJUST(gint16, GINT16, LE); + break; + case FMT_U16_LE: + VOLUME_ADJUST(guint16, GUINT16, LE); + break; + case FMT_S16_BE: + VOLUME_ADJUST(gint16, GINT16, LE); + break; + case FMT_U16_BE: + VOLUME_ADJUST(guint16, GUINT16, LE); + break; + case FMT_S8: + VOLUME_ADJUST8(gint8); + break; + case FMT_U8: + VOLUME_ADJUST8(guint8); + break; + default: + g_warning("unhandled format %d.", fmt); + break; + } +} + +void +volumecontrol_get_volume_state(gint *l, gint *r) +{ + *l = vc_state_.left; + *r = vc_state_.right; +} + +void +volumecontrol_set_volume_state(gint l, gint r) +{ + vc_state_.left = l; + vc_state_.right = r; +} + +void +volumecontrol_flow(FlowContext *context) +{ + if (!cfg.software_volume_control) + return; + + volumecontrol_pad_audio(context->data, context->len, context->fmt, context->channels); +} diff -r 701de882bcc2 -r fe3a1ae77f80 src/audacious/volumecontrol.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/audacious/volumecontrol.h Wed Sep 19 17:48:49 2007 +0300 @@ -0,0 +1,34 @@ +/* + * Audacious + * Copyright (c) 2007 William Pitcock + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; under version 3 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * The Audacious team does not consider modular code linking to + * Audacious or using our public API to be a derived work. + */ + +#include + +#include "flow.h" + +#ifndef __VOLUMECONTROL_H__ +#define __VOLUMECONTROL_H__ + +void volumecontrol_pad_audio(gpointer data, gint length, AFormat fmt, + gint channels); +void volumecontrol_get_volume_state(gint *l, gint *r); +void volumecontrol_set_volume_state(gint l, gint r); +void volumecontrol_flow(FlowContext *context); + +#endif diff -r 701de882bcc2 -r fe3a1ae77f80 src/audtool/Makefile --- a/src/audtool/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/src/audtool/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,11 +1,19 @@ -include ../../mk/rules.mk -include ../../mk/init.mk -include ../../mk/objective.mk +include ../../extra.mk + +PROG = audtool -OBJECTIVE_BINS = audtool +SRCS = \ + audtool_main.c \ + audtool_handlers_general.c \ + audtool_handlers_playback.c \ + audtool_handlers_playlist.c \ + audtool_handlers_playqueue.c \ + audtool_handlers_vitals.c \ + audtool_report.c -LDFLAGS += $(AUDLDFLAGS) -LDADD = \ +include ../../buildsys.mk + +LIBS += \ $(DBUS_LIBS) \ -L../libaudclient -laudclient \ $(GTK_LIBS) \ @@ -22,17 +30,4 @@ -I.. -I../.. \ -I../intl -SOURCES = \ - audtool_main.c \ - audtool_handlers_general.c \ - audtool_handlers_playback.c \ - audtool_handlers_playlist.c \ - audtool_handlers_playqueue.c \ - audtool_handlers_vitals.c \ - audtool_report.c - -OBJECTS = ${SOURCES:.c=.o} - -audtool: $(OBJECTS) - $(CC) $(LDFLAGS) $(OBJECTS) $(LDADD) -o $@ - @printf "%10s %-20s\n" LINK $@ +CPPFLAGS += $(CFLAGS) diff -r 701de882bcc2 -r fe3a1ae77f80 src/libaudclient/Makefile --- a/src/libaudclient/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/src/libaudclient/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,20 +1,26 @@ -include ../../mk/rules.mk -include ../../mk/init.mk +include ../../extra.mk -PICLDFLAGS = $(LIBLDFLAGS) +LIB = ${LIB_PREFIX}audclient${LIB_SUFFIX} +LIB_MAJOR = 1 +LIB_MINOR = 0 + +SRCS = audctrl.c -OBJECTIVE_LIBS = libaudclient$(SHARED_SUFFIX) -OBJECTIVE_SONAME_SUFFIX = 1 -LIBAUDACIOUS_SUFFIX = 1.0.0 +INCLUDES = audctrl.h + +include ../../buildsys.mk -LIBADD = \ - $(GTK_LIBS) \ +depend-hook: + cd ../audacious; make dbus-client-bindings.h + +LIBS += \ + $(GLIB_LIBS) \ $(DBUS_LIBS) \ $(MOWGLI_LIBS) \ $(GCONF_LIBS) \ $(LIBMCS_LIBS) -CFLAGS += $(PICFLAGS) \ +CFLAGS += $(LIB_CFLAGS) \ $(MOWGLI_CFLAGS) \ $(GTK_CFLAGS) \ $(GCONF_CFLAGS) \ @@ -24,19 +30,4 @@ -I.. -I../.. \ -I../intl -SOURCES = \ - audctrl.c - -OBJECTS = ${SOURCES:.c=.o} - -HEADERS = \ - audctrl.h - -include ../../mk/objective.mk - -install-posthook: - @mv ${DESTDIR}/${LIBDIR}/libaudclient$(SHARED_SUFFIX) ${DESTDIR}/${LIBDIR}/libaudclient$(SHARED_SUFFIX).$(LIBAUDACIOUS_SUFFIX) - @ln -sf libaudclient$(SHARED_SUFFIX).$(LIBAUDACIOUS_SUFFIX) \ - ${DESTDIR}/${LIBDIR}/libaudclient$(SHARED_SUFFIX).1 - @ln -sf libaudclient$(SHARED_SUFFIX).1 \ - ${DESTDIR}/${LIBDIR}/libaudclient$(SHARED_SUFFIX) +CPPFLAGS = ${CFLAGS} diff -r 701de882bcc2 -r fe3a1ae77f80 src/libguess/Makefile --- a/src/libguess/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/src/libguess/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,14 +1,6 @@ -include ../../mk/rules.mk -include ../../mk/init.mk - -OBJECTIVE_LIBS_NOINST = libguess.a -OBJECTIVE_SONAME_SUFFIX = 0.2.0 +STATIC_LIB_NOINST = libguess.a -LDFLAGS += -Wl,-export-dynamic - -CFLAGS += $(PICFLAGS) - -SOURCES = \ +SRCS = \ guess.c \ arabic_impl.c \ cjk_impl.c \ @@ -17,6 +9,4 @@ russian_impl.c \ turkish_impl.c -OBJECTS = ${SOURCES:.c=.o} - -include ../../mk/objective.mk +include ../../buildsys.mk diff -r 701de882bcc2 -r fe3a1ae77f80 src/libid3tag/Makefile --- a/src/libid3tag/Makefile Fri Sep 14 08:10:29 2007 +0300 +++ b/src/libid3tag/Makefile Wed Sep 19 17:48:49 2007 +0300 @@ -1,21 +1,14 @@ -include ../../mk/rules.mk -include ../../mk/init.mk +include ../../extra.mk -OBJECTIVE_LIBS = libaudid3tag$(SHARED_SUFFIX) - -PICLDFLAGS = $(LIBLDFLAGS) +LIB = ${LIB_PREFIX}audid3tag${LIB_SUFFIX} +LIB_MAJOR = 1 +LIB_MINOR = 0 LIBDIR = $(plugindir) -LIBADD += $(GLIB_LIBS) +INCLUDES = id3tag.h -CFLAGS += $(PICFLAGS) \ - -I.. \ - $(GLIB_CFLAGS) -Wall - -HEADERS = id3tag.h - -SOURCES = \ +SRCS = \ compat.c \ debug.c \ file.c \ @@ -34,6 +27,9 @@ utf16.c \ util.c -OBJECTS = ${SOURCES:.c=.o} +include ../../buildsys.mk -include ../../mk/objective.mk +CPPFLAGS += -I.. $(GLIB_CFLAGS) +CFLAGS += $(LIB_CFLAGS) + +LIBS += $(GLIB_LIBS)