Hello community,

here is the log from the commit of package xmp for openSUSE:Factory checked in 
at 2014-12-09 09:14:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xmp (Old)
 and      /work/SRC/openSUSE:Factory/.xmp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xmp"

Changes:
--------
--- /work/SRC/openSUSE:Factory/xmp/xmp.changes  2014-10-06 22:04:52.000000000 
+0200
+++ /work/SRC/openSUSE:Factory/.xmp.new/xmp.changes     2014-12-09 
09:14:04.000000000 +0100
@@ -1,0 +2,8 @@
+Sat Dec  6 22:56:17 UTC 2014 - [email protected]
+
+- Update to new upstream release 4.0.10
+* Add AIFF file output driver
+* Add command 'h' to display help message
+* Fix sound driver deinitialization on signal
+
+-------------------------------------------------------------------

Old:
----
  xmp-4.0.9.tar.gz

New:
----
  xmp-4.0.10.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xmp.spec ++++++
--- /var/tmp/diff_new_pack.pr4HOK/_old  2014-12-09 09:14:05.000000000 +0100
+++ /var/tmp/diff_new_pack.pr4HOK/_new  2014-12-09 09:14:05.000000000 +0100
@@ -17,11 +17,11 @@
 
 
 Name:           xmp
+Version:        4.0.10
+Release:        0
 Summary:        Extended Module Player for MOD/S3M/XM/IT/etc.
 License:        GPL-2.0+
 Group:          Productivity/Multimedia/Sound/Players
-Version:        4.0.9
-Release:        0
 Url:            http://xmp.sf.net/
 
 #Git-Clone:    git://git.code.sf.net/p/xmp/xmp-cli

++++++ xmp-4.0.9.tar.gz -> xmp-4.0.10.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/CREDITS new/xmp-4.0.10/CREDITS
--- old/xmp-4.0.9/CREDITS       2014-02-22 00:49:00.000000000 +0100
+++ new/xmp-4.0.10/CREDITS      2014-11-23 00:59:43.000000000 +0100
@@ -41,6 +41,7 @@
 
 - Lorence Lombardo <[email protected]>
   * Amiga AHI driver
+  * AIFF file writer
 
 - Kevin Langman <[email protected]>
   * OS/2 port and OS/2 DART drivers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/Changelog new/xmp-4.0.10/Changelog
--- old/xmp-4.0.9/Changelog     2014-09-26 02:32:38.000000000 +0200
+++ new/xmp-4.0.10/Changelog    2014-11-30 13:29:55.000000000 +0100
@@ -1,6 +1,13 @@
 Stable versions
 ---------------
 
+4.0.10 (20141030):
+       - Add AIFF file output driver (by Lorence Lombardo)
+       - Add command 'h' to display help message (by Eugene Toder)
+       - Fix sound driver deinitialization on signal (by Eugene Toder)
+       - Adjust CoreAudio driver latency
+       - Fix missing --all-sequences in help message
+
 4.0.9 (20140926):
        - Add option '-p' to set the default pan amplitude
        - Add parameter 'default_pan' to configuration file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/INSTALL new/xmp-4.0.10/INSTALL
--- old/xmp-4.0.9/INSTALL       2014-02-22 00:49:00.000000000 +0100
+++ new/xmp-4.0.10/INSTALL      2014-11-25 22:47:29.000000000 +0100
@@ -1,15 +1,12 @@
 Requirements
 ------------
 
-- This package needs the GNU make. In BSD or SysV you may need to use
-  gmake instead of make.
-
 - Development components of the sound system to use (ALSA, Pulse Audio, etc.)
   are required to build sound drivers. Most Linux distributions provide
   these as -devel or -dev packages.
 
-- Development components of libxmp 4.1.0 or later. Libxmp is available at
-  http://xmp.sf.net.
+- Development components of libxmp 4.3.0 or later. Libxmp can be downloaded
+  from http://xmp.sf.net/.
 
 
 Building xmp
@@ -20,10 +17,9 @@
 $ ./configure
 $ make
 
-Use ./configure --with-libxmp=/some/path if libxmp is installed in a
-nonstandard place.
-
-To build on Cygwin you may need to pass --with-libxmp=/usr/local.
+You can set CFLAGS and LIBS appropriately if libraries are installed in a
+nonstandard place. Run ./configure --help for a list of configurable
+parameters.
 
 
 Installation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/build-aux/config.guess 
new/xmp-4.0.10/build-aux/config.guess
--- old/xmp-4.0.9/build-aux/config.guess        2013-08-05 12:10:38.000000000 
+0200
+++ new/xmp-4.0.10/build-aux/config.guess       2014-09-10 13:53:59.000000000 
+0200
@@ -1,10 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012, 2013 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2012-12-29'
+timestamp='2014-03-23'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -26,7 +24,7 @@
 # program.  This Exception is an additional permission under section 7
 # of the GNU General Public License, version 3 ("GPLv3").
 #
-# Originally written by Per Bothner. 
+# Originally written by Per Bothner.
 #
 # You can get the latest version of this script from:
 # 
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
@@ -52,9 +50,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-2012, 2013 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -136,6 +132,27 @@
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+       # If the system lacks a compiler, then just pick glibc.
+       # We could probably try harder.
+       LIBC=gnu
+
+       eval $set_cc_for_build
+       cat <<-EOF > $dummy.c
+       #include <features.h>
+       #if defined(__UCLIBC__)
+       LIBC=uclibc
+       #elif defined(__dietlibc__)
+       LIBC=dietlibc
+       #else
+       LIBC=gnu
+       #endif
+       EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, 
,,g'`
+       ;;
+esac
+
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -809,7 +826,7 @@
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
-    i*:MSYS*:*)
+    *:MSYS*:*)
        echo ${UNAME_MACHINE}-pc-msys
        exit ;;
     i*:windows32*:*)
@@ -857,21 +874,21 @@
        exit ;;
     *:GNU:*:*)
        # the GNU system
-       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo 
${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo 
${UNAME_RELEASE}|sed -e 's,/.*$,,'`
        exit ;;
     *:GNU/*:*:*)
        # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' 
| tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' 
| tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
        exit ;;
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-minix
        exit ;;
     aarch64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     aarch64_be:Linux:*:*)
        UNAME_MACHINE=aarch64_be
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     alpha:Linux:*:*)
        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -884,59 +901,54 @@
          EV68*) UNAME_MACHINE=alphaev68 ;;
        esac
        objdump --private-headers /bin/sh | grep -q ld.so.1
-       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+       if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
+    arc:Linux:*:* | arceb:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     arm*:Linux:*:*)
        eval $set_cc_for_build
        if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
            | grep -q __ARM_EABI__
        then
-           echo ${UNAME_MACHINE}-unknown-linux-gnu
+           echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        else
            if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
                | grep -q __ARM_PCS_VFP
            then
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+               echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
            else
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+               echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
            fi
        fi
        exit ;;
     avr32*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     cris:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-gnu
+       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
     crisv32:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-gnu
+       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
     frv:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     hexagon:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     i*86:Linux:*:*)
-       LIBC=gnu
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #ifdef __dietlibc__
-       LIBC=dietlibc
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-       echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+       echo ${UNAME_MACHINE}-pc-linux-${LIBC}
        exit ;;
     ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     m32r*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     m68*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
        eval $set_cc_for_build
@@ -955,54 +967,63 @@
        #endif
 EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
        ;;
-    or32:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+    openrisc*:Linux:*:*)
+       echo or1k-unknown-linux-${LIBC}
+       exit ;;
+    or32:Linux:*:* | or1k*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     padre:Linux:*:*)
-       echo sparc-unknown-linux-gnu
+       echo sparc-unknown-linux-${LIBC}
        exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-gnu
+       echo hppa64-unknown-linux-${LIBC}
        exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
        # Look for CPU level
        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-         PA7*) echo hppa1.1-unknown-linux-gnu ;;
-         PA8*) echo hppa2.0-unknown-linux-gnu ;;
-         *)    echo hppa-unknown-linux-gnu ;;
+         PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+         PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+         *)    echo hppa-unknown-linux-${LIBC} ;;
        esac
        exit ;;
     ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-gnu
+       echo powerpc64-unknown-linux-${LIBC}
        exit ;;
     ppc:Linux:*:*)
-       echo powerpc-unknown-linux-gnu
+       echo powerpc-unknown-linux-${LIBC}
+       exit ;;
+    ppc64le:Linux:*:*)
+       echo powerpc64le-unknown-linux-${LIBC}
+       exit ;;
+    ppcle:Linux:*:*)
+       echo powerpcle-unknown-linux-${LIBC}
        exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-ibm-linux
+       echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
        exit ;;
     sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     tile*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     vax:Linux:*:*)
-       echo ${UNAME_MACHINE}-dec-linux-gnu
+       echo ${UNAME_MACHINE}-dec-linux-${LIBC}
        exit ;;
     x86_64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     xtensa*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     i*86:DYNIX/ptx:4*:*)
        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1235,19 +1256,31 @@
        exit ;;
     *:Darwin:*:*)
        UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-       case $UNAME_PROCESSOR in
-           i386)
-               eval $set_cc_for_build
-               if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-                 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo 
'#endif') | \
-                     (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-                     grep IS_64BIT_ARCH >/dev/null
-                 then
-                     UNAME_PROCESSOR="x86_64"
-                 fi
-               fi ;;
-           unknown) UNAME_PROCESSOR=powerpc ;;
-       esac
+       eval $set_cc_for_build
+       if test "$UNAME_PROCESSOR" = unknown ; then
+           UNAME_PROCESSOR=powerpc
+       fi
+       if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+           if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+               if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') 
| \
+                   (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+                   grep IS_64BIT_ARCH >/dev/null
+               then
+                   case $UNAME_PROCESSOR in
+                       i386) UNAME_PROCESSOR=x86_64 ;;
+                       powerpc) UNAME_PROCESSOR=powerpc64 ;;
+                   esac
+               fi
+           fi
+       elif test "$UNAME_PROCESSOR" = i386 ; then
+           # Avoid executing cc on OS X 10.9, as it ships with a stub
+           # that puts up a graphical alert prompting to install
+           # developer tools.  Any system running Mac OS X 10.7 or
+           # later (Darwin 11 and later) is required to have a 64-bit
+           # processor. This is not true of the ARM version of Darwin
+           # that Apple uses in portable devices.
+           UNAME_PROCESSOR=x86_64
+       fi
        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
        exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
@@ -1338,154 +1371,6 @@
        exit ;;
 esac
 
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-       "4"
-#else
-       ""
-#endif
-       ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-       printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-       printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-       { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-       echo c1-convex-bsd
-       exit ;;
-    c2*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-       exit ;;
-    c34*)
-       echo c34-convex-bsd
-       exit ;;
-    c38*)
-       echo c38-convex-bsd
-       exit ;;
-    c4*)
-       echo c4-convex-bsd
-       exit ;;
-    esac
-fi
-
 cat >&2 <<EOF
 $0: unable to guess system type
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/build-aux/config.sub 
new/xmp-4.0.10/build-aux/config.sub
--- old/xmp-4.0.9/build-aux/config.sub  2013-08-05 12:10:38.000000000 +0200
+++ new/xmp-4.0.10/build-aux/config.sub 2014-09-10 13:53:59.000000000 +0200
@@ -1,10 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012, 2013 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2012-12-29'
+timestamp='2014-07-28'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -70,9 +68,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-2012, 2013 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -256,12 +252,12 @@
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | 
alpha64pca5[67] \
        | am33_2.0 \
-       | arc \
+       | arc | arceb \
        | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
        | avr | avr32 \
        | be32 | be64 \
        | bfin \
-       | c4x | clipper \
+       | c4x | c8051 | clipper \
        | d10v | d30v | dlx | dsp16xx \
        | epiphany \
        | fido | fr30 | frv \
@@ -269,6 +265,7 @@
        | hexagon \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
+       | k1om \
        | le32 | le64 \
        | lm32 \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
@@ -286,20 +283,22 @@
        | mips64vr5900 | mips64vr5900el \
        | mipsisa32 | mipsisa32el \
        | mipsisa32r2 | mipsisa32r2el \
+       | mipsisa32r6 | mipsisa32r6el \
        | mipsisa64 | mipsisa64el \
        | mipsisa64r2 | mipsisa64r2el \
+       | mipsisa64r6 | mipsisa64r6el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipsr5900 | mipsr5900el \
        | mipstx39 | mipstx39el \
        | mn10200 | mn10300 \
        | moxie \
        | mt \
        | msp430 \
        | nds32 | nds32le | nds32be \
-       | nios | nios2 \
+       | nios | nios2 | nios2eb | nios2el \
        | ns16k | ns32k \
-       | open8 \
-       | or32 \
+       | open8 | or1k | or1knd | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
@@ -327,7 +326,7 @@
        c6x)
                basic_machine=tic6x-unknown
                ;;
-       m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+       m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
                basic_machine=$basic_machine-unknown
                os=-none
                ;;
@@ -369,13 +368,13 @@
        | aarch64-* | aarch64_be-* \
        | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
        | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
        | be32-* | be64-* \
        | bfin-* | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* \
-       | clipper-* | craynv-* | cydra-* \
+       | c8051-* | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
        | elxsi-* \
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -384,6 +383,7 @@
        | hexagon-* \
        | i*86-* | i860-* | i960-* | ia64-* \
        | ip2k-* | iq2000-* \
+       | k1om-* \
        | le32-* | le64-* \
        | lm32-* \
        | m32c-* | m32r-* | m32rle-* \
@@ -403,18 +403,22 @@
        | mips64vr5900-* | mips64vr5900el-* \
        | mipsisa32-* | mipsisa32el-* \
        | mipsisa32r2-* | mipsisa32r2el-* \
+       | mipsisa32r6-* | mipsisa32r6el-* \
        | mipsisa64-* | mipsisa64el-* \
        | mipsisa64r2-* | mipsisa64r2el-* \
+       | mipsisa64r6-* | mipsisa64r6el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipsr5900-* | mipsr5900el-* \
        | mipstx39-* | mipstx39el-* \
        | mmix-* \
        | mt-* \
        | msp430-* \
        | nds32-* | nds32le-* | nds32be-* \
-       | nios-* | nios2-* \
+       | nios-* | nios2-* | nios2eb-* | nios2el-* \
        | none-* | np1-* | ns16k-* | ns32k-* \
        | open8-* \
+       | or1k*-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -796,7 +800,7 @@
                os=-mingw64
                ;;
        mingw32)
-               basic_machine=i386-pc
+               basic_machine=i686-pc
                os=-mingw32
                ;;
        mingw32ce)
@@ -824,6 +828,10 @@
                basic_machine=powerpc-unknown
                os=-morphos
                ;;
+       moxiebox)
+               basic_machine=moxie-unknown
+               os=-moxiebox
+               ;;
        msdos)
                basic_machine=i386-pc
                os=-msdos
@@ -832,7 +840,7 @@
                basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
                ;;
        msys)
-               basic_machine=i386-pc
+               basic_machine=i686-pc
                os=-msys
                ;;
        mvs)
@@ -1354,7 +1362,7 @@
        -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
              | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | 
-sunos[34]*\
              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | 
-solaris* \
-             | -sym* | -kopensolaris* \
+             | -sym* | -kopensolaris* | -plan9* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
              | -aos* | -aros* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
@@ -1369,14 +1377,14 @@
              | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* 
\
              | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
              | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-             | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
              | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
              | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | 
-tirtos*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1500,9 +1508,6 @@
        -aros*)
                os=-aros
                ;;
-       -kaos*)
-               os=-kaos
-               ;;
        -zvmoe)
                os=-zvmoe
                ;;
@@ -1551,6 +1556,9 @@
        c4x-* | tic4x-*)
                os=-coff
                ;;
+       c8051-*)
+               os=-elf
+               ;;
        hexagon-*)
                os=-elf
                ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/configure new/xmp-4.0.10/configure
--- old/xmp-4.0.9/configure     2014-08-09 14:16:34.000000000 +0200
+++ new/xmp-4.0.10/configure    2014-11-25 22:48:44.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xmp 4.0.9.
+# Generated by GNU Autoconf 2.69 for xmp 4.0.10.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -577,8 +577,8 @@
 # Identity of this package.
 PACKAGE_NAME='xmp'
 PACKAGE_TARNAME='xmp'
-PACKAGE_VERSION='4.0.9'
-PACKAGE_STRING='xmp 4.0.9'
+PACKAGE_VERSION='4.0.10'
+PACKAGE_STRING='xmp 4.0.10'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -667,10 +667,6 @@
 PKG_CONFIG_LIBDIR
 PKG_CONFIG_PATH
 PKG_CONFIG
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-AM_DEFAULT_V
-AM_V
 am__fastdepCXX_FALSE
 am__fastdepCXX_TRUE
 CXXDEPMODE
@@ -727,6 +723,10 @@
 build_cpu
 build
 LD_VERSCRIPT
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
 target_alias
 host_alias
 build_alias
@@ -768,11 +768,11 @@
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+enable_silent_rules
 enable_oss
 enable_alsa
 enable_pulseaudio
 enable_dependency_tracking
-enable_silent_rules
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1335,7 +1335,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures xmp 4.0.9 to adapt to many kinds of systems.
+\`configure' configures xmp 4.0.10 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1405,7 +1405,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xmp 4.0.9:";;
+     short | recursive ) echo "Configuration of xmp 4.0.10:";;
    esac
   cat <<\_ACEOF
 
@@ -1413,6 +1413,8 @@
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-silent-rules   less verbose build output (undo: "make V=1")
+  --disable-silent-rules  verbose build output (undo: "make V=0")
   --disable-oss           don't compile OSS support
   --disable-alsa          don't compile ALSA support
   --enable-pulseaudio     compile PulseAudio support
@@ -1420,8 +1422,6 @@
                           do not reject slow dependency extractors
   --disable-dependency-tracking
                           speeds up one-time build
-  --enable-silent-rules   less verbose build output (undo: "make V=1")
-  --disable-silent-rules  verbose build output (undo: "make V=0")
 
 Some influential environment variables:
   CC          C compiler command
@@ -1515,7 +1515,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xmp configure 4.0.9
+xmp configure 4.0.10
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1872,7 +1872,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by xmp $as_me 4.0.9, which was
+It was created by xmp $as_me 4.0.10, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2220,6 +2220,45 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=0;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports 
nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+       @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 
$am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
 ac_aux_dir=
 for ac_dir in build-aux "$srcdir"/build-aux; do
   if test -f "$ac_dir/install-sh"; then
@@ -3886,45 +3925,6 @@
 fi
 
 
-# Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
-  enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in # (((
-  yes) AM_DEFAULT_VERBOSITY=0;;
-   no) AM_DEFAULT_VERBOSITY=1;;
-    *) AM_DEFAULT_VERBOSITY=1;;
-esac
-am_make=${MAKE-make}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports 
nested variables" >&5
-$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
-if ${am_cv_make_support_nested_variables+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if $as_echo 'TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
-       @$(TRUE)
-.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
-  am_cv_make_support_nested_variables=yes
-else
-  am_cv_make_support_nested_variables=no
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 
$am_cv_make_support_nested_variables" >&5
-$as_echo "$am_cv_make_support_nested_variables" >&6; }
-if test $am_cv_make_support_nested_variables = yes; then
-    AM_V='$(V)'
-  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
-  AM_V=$AM_DEFAULT_VERBOSITY
-  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AM_BACKSLASH='\'
-
 if test "`cd $srcdir && pwd`" != "`pwd`"; then
   # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
   # is not polluted with repeated "-I."
@@ -3947,7 +3947,7 @@
 
 # Define the identity of the package.
  PACKAGE='xmp'
- VERSION='4.0.9'
+ VERSION='4.0.10'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5685,11 +5685,18 @@
 
   ;;
 darwin*)
-  ac_fn_c_check_header_mongrel "$LINENO" "CoreAudio/CoreAudio.h" 
"ac_cv_header_CoreAudio_CoreAudio_h" "$ac_includes_default"
-if test "x$ac_cv_header_CoreAudio_CoreAudio_h" = xyes; then :
+  for ac_header in AudioUnit/AudioComponent.h CoreAudio/CoreAudio.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" 
"$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
 
 fi
 
+done
 
   if test "${ac_cv_header_CoreAudio_CoreAudio_h}" = "yes"; then
     $as_echo "#define SOUND_COREAUDIO 1" >>confdefs.h
@@ -6699,7 +6706,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xmp $as_me 4.0.9, which was
+This file was extended by xmp $as_me 4.0.10, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6756,7 +6763,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-xmp config.status 4.0.9
+xmp config.status 4.0.10
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/configure.ac new/xmp-4.0.10/configure.ac
--- old/xmp-4.0.9/configure.ac  2014-08-09 14:16:27.000000000 +0200
+++ new/xmp-4.0.10/configure.ac 2014-11-25 22:47:29.000000000 +0100
@@ -1,4 +1,5 @@
-AC_INIT([xmp], [4.0.9])
+AC_INIT([xmp], [4.0.10])
+AM_SILENT_RULES([yes])
 AC_CONFIG_AUX_DIR([build-aux])
 0>confdefs.h
 
@@ -137,7 +138,7 @@
   AM_CONDITIONAL([SOUND_AHI], [true])
   ;;
 darwin*)
-  AC_CHECK_HEADER(CoreAudio/CoreAudio.h)
+  AC_CHECK_HEADERS(AudioUnit/AudioComponent.h CoreAudio/CoreAudio.h)
   if test "${ac_cv_header_CoreAudio_CoreAudio_h}" = "yes"; then
     AC_DEFINE(SOUND_COREAUDIO)
     AM_CONDITIONAL([SOUND_COREAUDIO], [true])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/src/Makefile.am 
new/xmp-4.0.10/src/Makefile.am
--- old/xmp-4.0.9/src/Makefile.am       2014-02-22 00:49:00.000000000 +0100
+++ new/xmp-4.0.10/src/Makefile.am      2014-11-22 23:29:40.000000000 +0100
@@ -9,7 +9,7 @@
 xmp_SOURCES = \
        commands.c common.h getopt.h list.h getopt.c getopt1.c info.c main.c \
        options.c read_config.c sound.c sound.h sound_file.c sound_null.c \
-       sound_wav.c terminal.c
+       sound_wav.c sound_aiff.c terminal.c
 xmp_LDADD   = ${libxmp_LIBS}
 xmp_LDFLAGS = ${XMP_DARWIN_LDFLAGS}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/src/Makefile.in 
new/xmp-4.0.10/src/Makefile.in
--- old/xmp-4.0.9/src/Makefile.in       2014-08-09 14:16:34.000000000 +0200
+++ new/xmp-4.0.10/src/Makefile.in      2014-11-25 22:48:44.000000000 +0100
@@ -120,11 +120,12 @@
 PROGRAMS = $(bin_PROGRAMS)
 am__xmp_SOURCES_DIST = commands.c common.h getopt.h list.h getopt.c \
        getopt1.c info.c main.c options.c read_config.c sound.c \
-       sound.h sound_file.c sound_null.c sound_wav.c terminal.c \
-       sound_oss.c sound_alsa.c sound_pulseaudio.c sound_ahi.c \
-       sound_coreaudio.c sound_sndio.c sound_bsd.c sound_netbsd.c \
-       sound_solaris.c sound_hpux.c sound_aix.c sound_sgi.c \
-       sound_qnx.c sound_alsa05.c sound_win32.c sound_beos.cpp
+       sound.h sound_file.c sound_null.c sound_wav.c sound_aiff.c \
+       terminal.c sound_oss.c sound_alsa.c sound_pulseaudio.c \
+       sound_ahi.c sound_coreaudio.c sound_sndio.c sound_bsd.c \
+       sound_netbsd.c sound_solaris.c sound_hpux.c sound_aix.c \
+       sound_sgi.c sound_qnx.c sound_alsa05.c sound_win32.c \
+       sound_beos.cpp
 @SOUND_OSS_TRUE@am__objects_1 = sound_oss.$(OBJEXT)
 @SOUND_ALSA_TRUE@am__objects_2 = sound_alsa.$(OBJEXT)
 @SOUND_PULSEAUDIO_TRUE@am__objects_3 = sound_pulseaudio.$(OBJEXT)
@@ -144,13 +145,13 @@
 am_xmp_OBJECTS = commands.$(OBJEXT) getopt.$(OBJEXT) getopt1.$(OBJEXT) \
        info.$(OBJEXT) main.$(OBJEXT) options.$(OBJEXT) \
        read_config.$(OBJEXT) sound.$(OBJEXT) sound_file.$(OBJEXT) \
-       sound_null.$(OBJEXT) sound_wav.$(OBJEXT) terminal.$(OBJEXT) \
-       $(am__objects_1) $(am__objects_2) $(am__objects_3) \
-       $(am__objects_4) $(am__objects_5) $(am__objects_6) \
-       $(am__objects_7) $(am__objects_8) $(am__objects_9) \
-       $(am__objects_10) $(am__objects_11) $(am__objects_12) \
-       $(am__objects_13) $(am__objects_14) $(am__objects_15) \
-       $(am__objects_16)
+       sound_null.$(OBJEXT) sound_wav.$(OBJEXT) sound_aiff.$(OBJEXT) \
+       terminal.$(OBJEXT) $(am__objects_1) $(am__objects_2) \
+       $(am__objects_3) $(am__objects_4) $(am__objects_5) \
+       $(am__objects_6) $(am__objects_7) $(am__objects_8) \
+       $(am__objects_9) $(am__objects_10) $(am__objects_11) \
+       $(am__objects_12) $(am__objects_13) $(am__objects_14) \
+       $(am__objects_15) $(am__objects_16)
 xmp_OBJECTS = $(am_xmp_OBJECTS)
 am__DEPENDENCIES_1 =
 @SOUND_ALSA_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
@@ -376,7 +377,7 @@
 AM_CFLAGS = -Wall
 xmp_SOURCES = commands.c common.h getopt.h list.h getopt.c getopt1.c \
        info.c main.c options.c read_config.c sound.c sound.h \
-       sound_file.c sound_null.c sound_wav.c terminal.c \
+       sound_file.c sound_null.c sound_wav.c sound_aiff.c terminal.c \
        $(am__append_1) $(am__append_2) $(am__append_4) \
        $(am__append_6) $(am__append_7) $(am__append_8) \
        $(am__append_10) $(am__append_11) $(am__append_12) \
@@ -490,6 +491,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read_config.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sound.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sound_ahi.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sound_aiff.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sound_aix.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sound_alsa.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sound_alsa05.Po@am__quote@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/src/commands.c 
new/xmp-4.0.10/src/commands.c
--- old/xmp-4.0.9/src/commands.c        2014-07-15 01:14:57.000000000 +0200
+++ new/xmp-4.0.10/src/commands.c       2014-11-25 22:47:29.000000000 +0100
@@ -216,14 +216,15 @@
                }
                break; }
        case '?':
+       case 'c':
        case 'i':
        case 'I':
        case 'S':
        case 'm':
                ctl->display = cmd;
                break;
-       case 'c':
-               ctl->display = cmd;
+       case 'h':
+               ctl->display = '?';
                break;
        case '>':
                change_sequence(handle, mi, ctl, 1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/src/info.c new/xmp-4.0.10/src/info.c
--- old/xmp-4.0.9/src/info.c    2014-07-15 01:14:57.000000000 +0200
+++ new/xmp-4.0.10/src/info.c   2014-11-25 22:47:29.000000000 +0100
@@ -24,9 +24,9 @@
 "    b, Left     Return to previous order\n"
 "    n, Up       Advance to next module\n"
 "    p, Down     Return to previous module\n"
+"    h, ?        Display available commands\n"
 "    1 - 0       Mute/unmute channels\n"
 "      !         Unmute all channels\n"
-"      ?         Display available commands\n"
 "      Z         Display current sequence\n"
 "      z         Toggle subsong explorer mode\n"
 "      l         Toggle loop mode\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/src/main.c new/xmp-4.0.10/src/main.c
--- old/xmp-4.0.9/src/main.c    2014-08-16 15:13:35.000000000 +0200
+++ new/xmp-4.0.10/src/main.c   2014-11-25 22:47:29.000000000 +0100
@@ -57,7 +57,11 @@
        signal(SIGFPE, SIG_DFL);
        signal(SIGSEGV, SIG_DFL);
 
-       sound->deinit();
+       /* Don't deinit from signal handler
+        * (https://github.com/cmatsuoka/xmp-cli/issues/5)
+        * sound->deinit();
+        */
+
        reset_tty();
 
        signal(sig, SIG_DFL);
@@ -278,6 +282,8 @@
                    opt.interp == XMP_INTERP_SPLINE ? "cubic spline 
interpolated " : "",
                    opt.format & XMP_FORMAT_MONO ? "mono" : "stereo",
                    opt.dsp & XMP_DSP_LOWPASS ? "" : " (no filter)");
+
+               report("Press 'h' for help\n\n");
        }
 
        if (opt.probeonly) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/src/options.c new/xmp-4.0.10/src/options.c
--- old/xmp-4.0.9/src/options.c 2014-08-16 15:13:35.000000000 +0200
+++ new/xmp-4.0.10/src/options.c        2014-11-24 22:06:49.000000000 +0100
@@ -76,7 +76,7 @@
 "   -s --start num         Start from the specified order\n"
 "   -t --time num          Maximum playing time in seconds\n"
 "   --vblank               Force vblank timing in Amiga modules\n"
-"   -Z                     Play all sequences (subsongs) in module\n"
+"   -Z --all-sequences     Play all sequences (subsongs) in module\n"
 "   -z --sequence num      Play the specified sequence (0=main)\n" 
 "\nMixer options:\n"
 "   -a --amplify {0|1|2|3} Amplification factor: 0=Normal, 1=x2, 2=x4, 3=x8\n"
@@ -238,6 +238,9 @@
                        if (strlen(optarg) >= 4 &&
                            !strcasecmp(optarg + strlen(optarg) - 4, ".wav")) {
                                options->driver_id = "wav";
+                       } else if (strlen(optarg) >= 5 &&
+                           !strcasecmp(optarg + strlen(optarg) - 5, ".aiff")) {
+                               options->driver_id = "aiff";
                        } else {
                                options->driver_id = "file";
                        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/src/sound.c new/xmp-4.0.10/src/sound.c
--- old/xmp-4.0.9/src/sound.c   2014-02-22 00:49:00.000000000 +0100
+++ new/xmp-4.0.10/src/sound.c  2014-11-22 23:29:04.000000000 +0100
@@ -12,6 +12,7 @@
 
 extern struct sound_driver sound_null;
 extern struct sound_driver sound_wav;
+extern struct sound_driver sound_aiff;
 extern struct sound_driver sound_file;
 extern struct sound_driver sound_qnx;
 extern struct sound_driver sound_alsa05;
@@ -88,6 +89,7 @@
        register_sound_driver(&sound_qnx);
 #endif
        register_sound_driver(&sound_wav);
+       register_sound_driver(&sound_aiff);
        register_sound_driver(&sound_file);
        register_sound_driver(&sound_null);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/src/sound_aiff.c 
new/xmp-4.0.10/src/sound_aiff.c
--- old/xmp-4.0.9/src/sound_aiff.c      1970-01-01 01:00:00.000000000 +0100
+++ new/xmp-4.0.10/src/sound_aiff.c     2014-11-23 01:08:39.000000000 +0100
@@ -0,0 +1,166 @@
+/* Amiga AIFF driver for Extended Module Player
+ * Copyright (C) 2014 Lorence Lombardo
+ *
+ * This file is part of the Extended Module Player and is distributed
+ * under the terms of the GNU General Public License. See the COPYING
+ * file for more information.
+ */  
+    
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+#include "sound.h"
+
+typedef struct {
+       /* Exponent, bit #15 is sign bit for mantissa */
+       unsigned short exponent;
+
+       /* 64 bit mantissa */
+       unsigned long mantissa[2];
+} extended;
+
+
+static int fd;
+static int channels;
+static int bits;
+static int swap_endian;
+static long size;
+
+
+static void ulong2extended(unsigned long in, extended *ex) 
+{
+       int exponent = 31 + 16383;
+
+       while (!(in & 0x80000000)) {
+               exponent--;
+               in <<= 1;
+       }
+
+       ex->exponent = exponent;
+       ex->mantissa[0] = in;
+       ex->mantissa[1] = 0;
+}
+
+static inline void write8(int fd, unsigned char c)
+{
+       write(fd, &c, 1);
+}
+
+static void write32b(int fd, unsigned long w)
+{
+       write8(fd, (w & 0xff000000) >> 24);
+       write8(fd, (w & 0x00ff0000) >> 16);
+       write8(fd, (w & 0x0000ff00) >> 8);
+       write8(fd,  w & 0x000000ff);
+}
+
+static int init(struct options *options) 
+{
+       char hed[54] = {
+               'F', 'O', 'R', 'M', 0, 0, 0, 0,
+               'A', 'I', 'F', 'F',
+
+               /* COMM chunk */ 
+               'C', 'O', 'M', 'M', 0, 0, 0, 18,
+               0, 0,                           /* channels */ 
+               0, 0, 0, 0,                     /* frames */ 
+               0, 0,                           /* bits */ 
+               0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   /* rate (extended format) */ 
+                   
+               /* SSND chunk */ 
+               'S', 'S', 'N', 'D', 0, 0, 0, 0,
+               0, 0, 0, 0,                     /* offset */ 
+               0, 0, 0, 0                      /* block size */  
+       };
+       extended ex;
+
+       swap_endian = !is_big_endian();
+       channels = options->format & XMP_FORMAT_MONO ? 1 : 2;
+       bits = options->format & XMP_FORMAT_8BIT ? 8 : 16;
+       size = 0;
+
+       ulong2extended(options->rate, &ex);
+       hed[21] = channels;
+       hed[27] = bits;
+       hed[28] = (ex.exponent & 0xff00) >> 8;
+       hed[29] =  ex.exponent & 0x00ff;
+       hed[30] = (ex.mantissa[0] & 0xff000000) >> 24;
+       hed[31] = (ex.mantissa[0] & 0x00ff0000) >> 16;
+       hed[32] = (ex.mantissa[0] & 0x0000ff00) >> 8;
+       hed[33] =  ex.mantissa[0] & 0x000000ff;
+
+       if (options->out_file == NULL) {
+               options->out_file = "out.aiff";
+       }
+
+       if (strcmp(options->out_file, "-")) {
+               fd = open(options->out_file, O_WRONLY|O_CREAT|O_TRUNC, 0644);
+               if (fd < 0)
+                       return -1;
+       } else {
+               fd = 1;
+       }
+
+       write(fd, hed, 54);
+       
+       return 0;
+}
+
+static void play(void *b, int len) 
+{
+       if (swap_endian && bits == 16) {
+               convert_endian(b, len);
+       }
+       write(fd, b, len);
+       size += len;
+}
+
+static void deinit(void) 
+{
+       unsigned long tmp;
+
+       if (size > 54) {
+               lseek(fd, 4, SEEK_SET);         /* FORM chunk size */
+               tmp = size - 8;
+               write32b(fd, tmp);
+
+               lseek(fd, 22, SEEK_SET);        /* COMM frames */
+               tmp = (size - 54) / (bits / 8) / channels;
+               write32b(fd, tmp);
+
+               lseek(fd, 42, SEEK_SET);        /* SSND chunk size */
+               tmp = size - 48;                /* minus header + 8 */
+               write32b(fd, tmp);
+       }
+
+       if (fd > 0) {
+               close(fd);
+       }
+}
+
+static void flush(void) 
+{
+}
+
+static void onpause(void) 
+{
+}
+
+static void onresume(void) 
+{
+}
+
+struct sound_driver sound_aiff = {
+       "aiff",
+       "AIFF writer",
+       NULL,
+       init,
+       deinit,
+       play,
+       flush,
+       onpause,
+       onresume 
+};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/src/sound_coreaudio.c 
new/xmp-4.0.10/src/sound_coreaudio.c
--- old/xmp-4.0.9/src/sound_coreaudio.c 2014-02-22 00:49:00.000000000 +0100
+++ new/xmp-4.0.10/src/sound_coreaudio.c        2014-11-25 22:47:29.000000000 
+0100
@@ -15,6 +15,14 @@
 
 static AudioUnit au;
 
+#ifndef HAVE_AUDIOUNIT_AUDIOCOMPONENT_H
+#define AudioComponent Component
+#define        AudioComponentDescription ComponentDescription
+#define AudioComponentFindNext FindNextComponent
+#define AudioComponentInstanceNew OpenAComponent
+#define AudioComponentInstanceDispose CloseComponent
+#endif
+
 /*
  * CoreAudio helpers by Timothy J. Wood from mplayer/libao
  * The player fills a ring buffer, OSX retrieves data from the buffer
@@ -121,15 +129,20 @@
 static int init(struct options *options)
 {
        AudioStreamBasicDescription ad;
-       Component comp;
-       ComponentDescription cd;
+       AudioComponent comp;
+       AudioComponentDescription cd;
        AURenderCallbackStruct rc;
-       OSStatus err;
+       OSStatus status;
        UInt32 size, max_frames;
-       //char **parm = options->driver_parm;
+       int latency = 250;
+       char **parm = options->driver_parm;
+
+       parm_init(parm);
+       chkparm1("buffer", latency = strtoul(token, NULL, 0));
+       parm_end();
 
-       //parm_init(parm);
-       //parm_end();
+       if (latency < 20)
+               latency = 20;
 
        ad.mSampleRate = options->rate;
        ad.mFormatID = kAudioFormatLinearPCM;
@@ -160,48 +173,30 @@
        cd.componentFlags = 0;
        cd.componentFlagsMask = 0;
 
-       if ((comp = FindNextComponent(NULL, &cd)) == NULL) {
-               fprintf(stderr, "error: FindNextComponent\n");
-               return -1;
-       }
-
-       if ((err = OpenAComponent(comp, &au))) {
-               fprintf(stderr, "error: OpenAComponent (%d)\n", (int)err);
-               return -1;
-       }
+       if ((comp = AudioComponentFindNext(NULL, &cd)) == NULL)
+               goto err;
 
-       if ((err = AudioUnitInitialize(au))) {
-               fprintf(stderr, "error: AudioUnitInitialize (%d)\n", (int)err);
-               return -1;
-       }
+       if ((status = AudioComponentInstanceNew(comp, &au)))
+               goto err1;
 
-       if ((err = AudioUnitSetProperty(au, kAudioUnitProperty_StreamFormat,
-                       kAudioUnitScope_Input, 0, &ad, sizeof(ad)))) {
-               fprintf(stderr, "error: AudioUnitSetProperty: StreamFormat 
(%d)\n", (int)err);
-               fprintf(stderr, "mSampleRate = %lf\n", ad.mSampleRate);
-               fprintf(stderr, "mFormatID = 0x%x\n", (unsigned)ad.mFormatID);
-               fprintf(stderr, "mFormatFlags = 0x%x\n", 
(unsigned)ad.mFormatFlags);
-               fprintf(stderr, "mChannelsPerFrame = %d\n", 
(int)ad.mChannelsPerFrame);
-               fprintf(stderr, "mBitsPerChannel = %d\n", 
(int)ad.mBitsPerChannel);
-               fprintf(stderr, "mBytesPerFrame = %d\n", 
(int)ad.mBytesPerFrame);
-               fprintf(stderr, "mBytesPerPacket = %d\n", 
(int)ad.mBytesPerPacket);
-               fprintf(stderr, "mFramesPerPacket = %d\n", 
(int)ad.mFramesPerPacket);
+       if ((status = AudioUnitInitialize(au)))
+               goto err1;
 
-               return -1;
-       }
+       if ((status = AudioUnitSetProperty(au, kAudioUnitProperty_StreamFormat,
+                       kAudioUnitScope_Input, 0, &ad, sizeof(ad))))
+               goto err1;
 
        size = sizeof(UInt32);
-        if ((err = AudioUnitGetProperty(au, kAudioDevicePropertyBufferSize,
-                       kAudioUnitScope_Input, 0, &max_frames, &size))) {
-               fprintf(stderr, "error: AudioUnitGetProperty: BufferSize 
(%d)\n", (int)err);
-               return -1;
-       }
+        if ((status = AudioUnitGetProperty(au, kAudioDevicePropertyBufferSize,
+                       kAudioUnitScope_Input, 0, &max_frames, &size)))
+               goto err1;
 
        chunk_size = max_frames;
-        num_chunks = (options->rate * ad.mBytesPerFrame + chunk_size - 1) /
-                                                               chunk_size;
+        num_chunks = (options->rate * ad.mBytesPerFrame * latency / 1000
+                                               + chunk_size - 1) / chunk_size;
         buffer_len = (num_chunks + 1) * chunk_size;
-        buffer = calloc(num_chunks + 1, chunk_size);
+       if ((buffer = calloc(num_chunks + 1, chunk_size)) == NULL)
+               goto err;
 
        rc.inputProc = render_proc;
        rc.inputProcRefCon = 0;
@@ -210,13 +205,19 @@
         buf_write_pos = 0;
        paused = 1;
 
-       if ((err = AudioUnitSetProperty(au, 
kAudioUnitProperty_SetRenderCallback,
-                       kAudioUnitScope_Input, 0, &rc, sizeof(rc)))) {
-               fprintf(stderr, "error: AudioUnitSetProperty: SetRenderCallback 
(%d)\n", (int)err);
-               return -1;
-       }
+       if ((status = AudioUnitSetProperty(au,
+                       kAudioUnitProperty_SetRenderCallback,
+                       kAudioUnitScope_Input, 0, &rc, sizeof(rc))))
+               goto err2;
        
        return 0;
+
+    err2:
+       free(buffer);
+    err1:
+       fprintf(stderr, "initialization error: %d\n", (int)status);
+    err:
+       return -1;
 }
 
 
@@ -250,7 +251,7 @@
 {
         AudioOutputUnitStop(au);
        AudioUnitUninitialize(au);
-       CloseComponent(au);
+       AudioComponentInstanceDispose(au);
        free(buffer);
 }
 
@@ -260,15 +261,17 @@
 
 static void onpause(void)
 {
+        AudioOutputUnitStop(au);
 }
 
 static void onresume(void)
 {
+       AudioOutputUnitStart(au);
 }
 
 struct sound_driver sound_coreaudio = {
        "coreaudio",
-       "CoreAudio",
+       "CoreAudio sound output",
        NULL,
        init,
        deinit,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/src/sound_pulseaudio.c 
new/xmp-4.0.10/src/sound_pulseaudio.c
--- old/xmp-4.0.9/src/sound_pulseaudio.c        2014-02-22 00:49:00.000000000 
+0100
+++ new/xmp-4.0.10/src/sound_pulseaudio.c       2014-11-25 22:47:29.000000000 
+0100
@@ -85,7 +85,7 @@
 
 struct sound_driver sound_pulseaudio = {
        "pulseaudio",
-       "PulseAudio",
+       "PulseAudio sound output",
        NULL,
        init,
        deinit,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/src/sound_win32.c 
new/xmp-4.0.10/src/sound_win32.c
--- old/xmp-4.0.9/src/sound_win32.c     2014-03-24 20:22:26.000000000 +0100
+++ new/xmp-4.0.10/src/sound_win32.c    2014-11-25 22:47:29.000000000 +0100
@@ -174,7 +174,7 @@
 
 struct sound_driver sound_win32 = {
        "win32",
-       "Windows WinMM",
+       "Windows WinMM sound output",
        help,
        init,
        deinit,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xmp-4.0.9/src/xmp.1 new/xmp-4.0.10/src/xmp.1
--- old/xmp-4.0.9/src/xmp.1     2014-09-26 02:32:04.000000000 +0200
+++ new/xmp-4.0.10/src/xmp.1    2014-11-25 22:47:29.000000000 +0100
@@ -1,4 +1,4 @@
-.TH "XMP" "1" "Version 4\&.0\&.9" "Sep 2014" "Extended Module Player" 
+.TH "XMP" "1" "Version 4\&.0\&.10" "Nov 2014" "Extended Module Player" 
 .PP 
 .SH "NAME" 
 xmp - Extended Module Player
@@ -179,6 +179,10 @@
 .IP "\fB\-D\fP \fIbuffer=size\fP" 
 Set the size in bytes of the audio buffer\&. Default value is 32 Kb\&.
 .PP
+CoreAudio driver options:
+.IP "\fB\-D\fP \fIbuffer=value\fP" 
+Set buffer size in ms\&. Default value is 250.
+.PP 
 HP-UX and Solaris driver options:
 .IP "\fB\-D\fP \fIgain=value\fP" 
 Set the audio gain\&. Valid values range from 0 to 255\&.
@@ -208,7 +212,7 @@
 Mute/unmute channels 1 to 10\&.
 .IP "\fB!\fP" 
 Unmute all channels\&.
-.IP "\fB?\fP" 
+.IP "\fBh\fP, \fB?\fP" 
 Display available commands\&.
 .IP "\fBZ\fP" 
 Display current sequence\&.

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to