Hello community, here is the log from the commit of package fluidsynth for openSUSE:Factory checked in at 2012-09-23 08:04:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fluidsynth (Old) and /work/SRC/openSUSE:Factory/.fluidsynth.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fluidsynth", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/fluidsynth/fluidsynth.changes 2012-06-05 15:30:31.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.fluidsynth.new/fluidsynth.changes 2012-09-23 08:04:10.000000000 +0200 @@ -1,0 +2,11 @@ +Fri Sep 21 22:50:34 UTC 2012 - [email protected] + +- Update to version 1.1.6: + + Handle MIDI End of track events. + + Prevent broken rendering after an voice overflow. + + Enable long arguments where available. + + Windows: Install fluidsynth.pc (pkg-config spec). + + Mac OS X Lion: Fix build failure. + + Linux: Prevent libdbus crash. + +------------------------------------------------------------------- Old: ---- fluidsynth-1.1.5.tar.bz2 New: ---- fluidsynth-1.1.6.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fluidsynth.spec ++++++ --- /var/tmp/diff_new_pack.84GH94/_old 2012-09-23 08:04:14.000000000 +0200 +++ /var/tmp/diff_new_pack.84GH94/_new 2012-09-23 08:04:14.000000000 +0200 @@ -16,16 +16,15 @@ # - Name: fluidsynth -Version: 1.1.5 -Release: 1 +Version: 1.1.6 +Release: 0 # Obsoletes: iiwusynth # Provides: iiwusynth -License: LGPL-2.1+ Summary: A Real-Time Software Synthesizer That Uses Soundfont(tm) -Url: http://www.fluidsynth.org/ +License: LGPL-2.1+ Group: Productivity/Multimedia/Sound/Midi +Url: http://www.fluidsynth.org/ Source: http://downloads.sourceforge.net/project/fluidsynth/fluidsynth-%{version}/%{name}-%{version}.tar.bz2 # PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch1: fluidsynth-fix-build-lash.diff @@ -47,7 +46,6 @@ audio device. It can also play MIDI files. %package devel -License: LGPL-2.1+ Summary: Development package for the fluidsynth library Group: Development/Libraries/C and C++ Requires: glibc-devel @@ -59,7 +57,6 @@ fluidsynth library. %package -n libfluidsynth1 -License: LGPL-2.1+ Summary: Library for Fluidsynth Group: System/Libraries ++++++ fluidsynth-1.1.5.tar.bz2 -> fluidsynth-1.1.6.tar.bz2 ++++++ ++++ 19268 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/AUTHORS new/fluidsynth-1.1.6/AUTHORS --- old/fluidsynth-1.1.5/AUTHORS 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/AUTHORS 2012-08-16 06:01:13.000000000 +0200 @@ -72,7 +72,7 @@ to make iiwusynth independent from any library for maximum portability. -* David Henningsson added code for fast rendering of MIDI files, +* David Henningsson added code for fast rendering of MIDI files, rewrote the thread safety for 1.1.2, and fixed many bugs. * The midi device uses code from jMax's alsarawmidi.c file and from @@ -112,6 +112,9 @@ * Pedro Lopez-Cabanillas wrote the CoreMIDI driver for MacOSX, the CMake based build system, revised the doxygen documentation, sequencer examples, fixes. +* Matt Giuca improved the midi player by letting it load midi files from RAM, + and by making it handle EOT events. + * Growing list of individuals who contributed bug fixes, corrections and minor features: Nicolas Boulicault for ALSA sequencer midi.portname setting. Werner Schweer diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/CMakeLists.txt new/fluidsynth-1.1.6/CMakeLists.txt --- old/fluidsynth-1.1.5/CMakeLists.txt 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/CMakeLists.txt 2012-08-16 06:01:13.000000000 +0200 @@ -29,7 +29,7 @@ # FluidSynth package version set ( FLUIDSYNTH_VERSION_MAJOR 1 ) set ( FLUIDSYNTH_VERSION_MINOR 1 ) -set ( FLUIDSYNTH_VERSION_MICRO 5 ) +set ( FLUIDSYNTH_VERSION_MICRO 6 ) set ( VERSION "${FLUIDSYNTH_VERSION_MAJOR}.${FLUIDSYNTH_VERSION_MINOR}.${FLUIDSYNTH_VERSION_MICRO}" ) set ( FLUIDSYNTH_VERSION "\"${VERSION}\"" ) @@ -44,7 +44,7 @@ # This is not exactly the same algorithm as the libtool one, but the results are the same. set ( LIB_VERSION_CURRENT 1 ) set ( LIB_VERSION_AGE 5 ) -set ( LIB_VERSION_REVISION 1 ) +set ( LIB_VERSION_REVISION 2 ) set ( LIB_VERSION_INFO "${LIB_VERSION_CURRENT}.${LIB_VERSION_AGE}.${LIB_VERSION_REVISION}" ) @@ -121,6 +121,7 @@ check_include_file ( limits.h HAVE_LIMITS_H ) check_include_file ( pthread.h HAVE_PTHREAD_H ) check_include_file ( signal.h HAVE_SIGNAL_H ) +check_include_file ( getopt.h HAVE_GETOPT_H ) include ( TestInline ) include ( TestVLA ) include ( TestBigEndian ) @@ -264,6 +265,11 @@ "Choose the build type, options: Debug Release RelWithDebInfo" FORCE ) endif ( enable-debug ) +if ( NOT CMAKE_BUILD_TYPE ) + set ( CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING + "Choose the build type, options: Debug Release RelWithDebInfo" FORCE ) +endif ( NOT CMAKE_BUILD_TYPE ) + unset ( ENABLE_DEBUG CACHE ) unset ( DEBUG CACHE ) if ( CMAKE_BUILD_TYPE MATCHES "Debug" ) @@ -398,22 +404,22 @@ add_subdirectory ( include ) add_subdirectory ( doc ) +# pkg-config support +set ( prefix "${CMAKE_INSTALL_PREFIX}" ) +set ( exec_prefix "\${prefix}" ) +set ( libdir "\${exec_prefix}/${LIB_INSTALL_DIR}${LIB_SUFFIX}" ) +set ( includedir "\${prefix}/${INCLUDE_INSTALL_DIR}" ) +configure_file ( fluidsynth.pc.in + ${CMAKE_BINARY_DIR}/fluidsynth.pc IMMEDIATE @ONLY ) +install ( FILES ${CMAKE_BINARY_DIR}/fluidsynth.pc + DESTINATION ${LIB_INSTALL_DIR}${LIB_SUFFIX}/pkgconfig ) + # Extra targets for Unix build environments if ( UNIX ) # RPM spec configure_file ( fluidsynth.spec.in ${CMAKE_BINARY_DIR}/fluidsynth.spec IMMEDIATE @ONLY ) - # pkg-config support - set ( prefix "${CMAKE_INSTALL_PREFIX}" ) - set ( exec_prefix "\${prefix}" ) - set ( libdir "\${exec_prefix}/${LIB_INSTALL_DIR}${LIB_SUFFIX}" ) - set ( includedir "\${prefix}/${INCLUDE_INSTALL_DIR}" ) - configure_file ( fluidsynth.pc.in - ${CMAKE_BINARY_DIR}/fluidsynth.pc IMMEDIATE @ONLY ) - install ( FILES ${CMAKE_BINARY_DIR}/fluidsynth.pc - DESTINATION ${LIB_INSTALL_DIR}${LIB_SUFFIX}/pkgconfig ) - # uninstall custom target configure_file ( "${CMAKE_SOURCE_DIR}/cmake_admin/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/cmake_admin/report.cmake new/fluidsynth-1.1.6/cmake_admin/report.cmake --- old/fluidsynth-1.1.5/cmake_admin/report.cmake 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/cmake_admin/report.cmake 2012-08-16 06:01:13.000000000 +0200 @@ -1,6 +1,8 @@ message( "\n**************************************************************\n" "Summary:" ) +message( "Build type: " ${CMAKE_BUILD_TYPE} ) + if ( LIBSNDFILE_SUPPORT ) if ( LIBSNDFILE_HASVORBIS ) message ( "libsndfile: yes (with ogg vorbis support)" ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/compile new/fluidsynth-1.1.6/compile --- old/fluidsynth-1.1.5/compile 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/compile 2012-08-16 06:01:13.000000000 +0200 @@ -1,10 +1,10 @@ #! /bin/sh -# Wrapper for compilers which do not understand `-c -o'. +# Wrapper for compilers which do not understand '-c -o'. -scriptversion=2009-10-06.20; # UTC +scriptversion=2012-01-04.17; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software -# Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free +# Software Foundation, Inc. # Written by Tom Tromey <[email protected]>. # # This program is free software; you can redistribute it and/or modify @@ -29,21 +29,186 @@ # bugs to <[email protected]> or send patches to # <[email protected]>. +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l*) + lib=${1#-l} + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + set x "$@" "$dir/$lib.dll.lib" + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + set x "$@" "$dir/$lib.lib" + break + fi + done + IFS=$save_IFS + + test "$found" != yes && set x "$@" "$lib.lib" + shift + ;; + -L*) + func_file_conv "${1#-L}" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + case $1 in '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] -Wrapper for compilers which do not understand `-c -o'. -Remove `-o dest.o' from ARGS, run PROGRAM with the remaining +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the -right script to run: please start by reading the file `INSTALL'. +right script to run: please start by reading the file 'INSTALL'. Report bugs to <[email protected]>. EOF @@ -53,11 +218,13 @@ echo "compile $scriptversion" exit $? ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; esac ofile= cfile= -eat= for arg do @@ -66,8 +233,8 @@ else case $1 in -o) - # configure might choose to run compile as `compile cc -o foo foo.c'. - # So we strip `-o arg' only if arg is an object. + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) @@ -94,10 +261,10 @@ done if test -z "$ofile" || test -z "$cfile"; then - # If no `-o' option was seen then we might have been invoked from a + # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no - # `.c' file was seen then we are probably linking. That is also + # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi @@ -106,7 +273,7 @@ cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. -# Note: use `[/\\:.-]' here to ensure that we don't use the same name +# Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/configure.ac new/fluidsynth-1.1.6/configure.ac --- old/fluidsynth-1.1.5/configure.ac 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/configure.ac 2012-08-16 06:01:13.000000000 +0200 @@ -8,7 +8,7 @@ FLUIDSYNTH_VERSION_MAJOR=1 FLUIDSYNTH_VERSION_MINOR=1 -FLUIDSYNTH_VERSION_MICRO=5 +FLUIDSYNTH_VERSION_MICRO=6 FLUIDSYNTH_VERSION=$FLUIDSYNTH_VERSION_MAJOR.$FLUIDSYNTH_VERSION_MINOR.$FLUIDSYNTH_VERSION_MICRO AC_SUBST(FLUIDSYNTH_VERSION_MAJOR) @@ -29,7 +29,7 @@ dnl if any interfaces have been removed/changed (compatibility broken): lt_age=0 m4_define([lt_current], [6]) -m4_define([lt_revision], [1]) +m4_define([lt_revision], [2]) m4_define([lt_age], [5]) LT_VERSION_INFO="lt_current:lt_revision:lt_age" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/doc/fluidsynth-v10-devdoc.xml new/fluidsynth-1.1.6/doc/fluidsynth-v10-devdoc.xml --- old/fluidsynth-1.1.5/doc/fluidsynth-v10-devdoc.xml 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/doc/fluidsynth-v10-devdoc.xml 2012-08-16 06:01:13.000000000 +0200 @@ -129,7 +129,7 @@ numbers (double floats), and integers. You can change the values of a setting using the <function>fluid_settings_setstr</function>, <function>fluid_settings_setnum</function>, and - <function>fluid_synth_setint</function> functions. For example: + <function>fluid_settings_setint</function> functions. For example: <programlisting> #include <fluidsynth.h> @@ -138,7 +138,7 @@ { fluid_settings_t* settings = new_fluid_settings(); - fluid_synth_setint(settings, "synth.polyphony", 128); + fluid_settings_setint(settings, "synth.polyphony", 128); delete_fluid_settings(settings); return 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/doc/fluidsynth-v11-devdoc.txt new/fluidsynth-1.1.6/doc/fluidsynth-v11-devdoc.txt --- old/fluidsynth-1.1.5/doc/fluidsynth-v11-devdoc.txt 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/doc/fluidsynth-v11-devdoc.txt 2012-08-16 06:01:13.000000000 +0200 @@ -20,6 +20,7 @@ - \ref Disclaimer - \ref Introduction +- \ref NewIn1_1_6 - \ref NewIn1_1_5 - \ref NewIn1_1_4 - \ref NewIn1_1_3 @@ -62,6 +63,19 @@ - FluidSynth is open source, in active development. For more details, take a look at http://www.fluidsynth.org +\section NewIn1_1_6 Whats new in 1.1.6? + +Changes in FluidSynth 1.1.6 concerning developers: + +- The player will not continue to the next song until all EOT (end of track events) have been reached. +- Enable long arguments on all platforms where getopt.h is available +- Windows: Fluidsynth.pc (pkg-config spec) is now installed. +- Mac OS X Lion: A build failure was fixed. + +- For a full list of bug fixes, see + http://sourceforge.net/apps/trac/fluidsynth/wiki/ChangeLog1_1_6 + + \section NewIn1_1_5 Whats new in 1.1.5? Changes in FluidSynth 1.1.5 concerning developers: @@ -189,7 +203,7 @@ int main(int argc, char** argv) { fluid_settings_t* settings = new_fluid_settings(); - fluid_synth_setint(settings, "synth.polyphony", 128); + fluid_settings_setint(settings, "synth.polyphony", 128); /* ... */ delete_fluid_settings(settings); return 0; @@ -1455,11 +1469,11 @@ const char MIDIFILE[] = { 0x4d, 0x54, 0x68, 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x01, 0x01, 0xe0, 0x4d, 0x54, - 0x72, 0x6b, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x90, + 0x72, 0x6b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x90, 0x3c, 0x64, 0x87, 0x40, 0x80, 0x3c, 0x7f, 0x00, 0x90, 0x43, 0x64, 0x87, 0x40, 0x80, 0x43, 0x7f, 0x00, 0x90, 0x48, 0x64, 0x87, 0x40, 0x80, 0x48, - 0x7f, 0x00, 0xff, 0x2f, 0x00, + 0x7f, 0x83, 0x60, 0xff, 0x2f, 0x00 }; int main(int argc, char** argv) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/src/bindings/fluid_rtkit.c new/fluidsynth-1.1.6/src/bindings/fluid_rtkit.c --- old/fluidsynth-1.1.5/src/bindings/fluid_rtkit.c 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/src/bindings/fluid_rtkit.c 2012-08-16 06:01:13.000000000 +0200 @@ -335,6 +335,9 @@ long long max_rttime; struct rlimit old_limit, new_limit; + if (!dbus_threads_init_default()) + return -ENOMEM; + /* Initialize system bus connection */ dbus_error_init(&error); conn = dbus_bus_get_private(DBUS_BUS_SYSTEM, &error); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/src/config.cmake new/fluidsynth-1.1.6/src/config.cmake --- old/fluidsynth-1.1.5/src/config.cmake 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/src/config.cmake 2012-08-16 06:01:13.000000000 +0200 @@ -127,6 +127,9 @@ /* Define to 1 if you have the <windows.h> header file. */ #cmakedefine HAVE_WINDOWS_H @HAVE_WINDOWS_H@ +/* Define to 1 if you have the <getopt.h> header file. */ +#cmakedefine HAVE_GETOPT_H @HAVE_GETOPT_H@ + /* Define to enable JACK driver */ #cmakedefine JACK_SUPPORT @JACK_SUPPORT@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/src/drivers/fluid_coreaudio.c new/fluidsynth-1.1.6/src/drivers/fluid_coreaudio.c --- old/fluidsynth-1.1.5/src/drivers/fluid_coreaudio.c 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/src/drivers/fluid_coreaudio.c 2012-08-16 06:01:13.000000000 +0200 @@ -35,6 +35,7 @@ #if COREAUDIO_SUPPORT #include <CoreServices/CoreServices.h> #include <CoreAudio/CoreAudioTypes.h> +#include <CoreAudio/AudioHardware.h> #include <AudioUnit/AudioUnit.h> /* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/src/drivers/fluid_oss.c new/fluidsynth-1.1.6/src/drivers/fluid_oss.c --- old/fluidsynth-1.1.5/src/drivers/fluid_oss.c 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/src/drivers/fluid_oss.c 2012-08-16 06:01:13.000000000 +0200 @@ -45,7 +45,7 @@ #define BUFFER_LENGTH 512 // Build issue on some systems (OSS 4.0)? -#ifndef SOUND_PCM_WRITE_CHANNELS +#ifdef SNDCTL_DSP_CHANNELS #define SOUND_PCM_WRITE_CHANNELS SNDCTL_DSP_CHANNELS #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/src/fluidsynth.c new/fluidsynth-1.1.6/src/fluidsynth.c --- old/fluidsynth-1.1.5/src/fluidsynth.c 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/src/fluidsynth.c 2012-08-16 06:01:13.000000000 +0200 @@ -30,6 +30,9 @@ #if !defined(WIN32) && !defined(MACINTOSH) #define _GNU_SOURCE +#endif + +#if defined(HAVE_GETOPT_H) #include <getopt.h> #endif @@ -66,14 +69,13 @@ /* * support for the getopt function */ -#if !defined(WIN32) && !defined(MACINTOSH) +#if defined(HAVE_GETOPT_H) #define GETOPT_SUPPORT 1 int getopt(int argc, char * const argv[], const char *optstring); extern char *optarg; extern int optind, opterr, optopt; #endif - /* Process a command line option -o setting=value, for example: -o synth.polyhony=16 */ void process_o_cmd_line_option(fluid_settings_t* settings, char* optarg) { @@ -825,7 +827,7 @@ print_welcome() { printf("FluidSynth version %s\n" - "Copyright (C) 2000-2011 Peter Hanappe and others.\n" + "Copyright (C) 2000-2012 Peter Hanappe and others.\n" "Distributed under the LGPL license.\n" "SoundFont(R) is a registered trademark of E-mu Systems, Inc.\n\n", FLUIDSYNTH_VERSION); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/src/midi/fluid_midi.c new/fluidsynth-1.1.6/src/midi/fluid_midi.c --- old/fluidsynth-1.1.5/src/midi/fluid_midi.c 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/src/midi/fluid_midi.c 2012-08-16 06:01:13.000000000 +0200 @@ -585,6 +585,16 @@ break; } mf->eot = 1; + evt = new_fluid_midi_event(); + if (evt == NULL) { + FLUID_LOG(FLUID_ERR, "Out of memory"); + result = FLUID_FAILED; + break; + } + evt->dtime = mf->dtime; + evt->type = MIDI_EOT; + fluid_track_add_event(track, evt); + mf->dtime = 0; break; case MIDI_SET_TEMPO: @@ -1204,12 +1214,15 @@ track->ticks += event->dtime; - if (event->type != MIDI_SET_TEMPO) { + if (!player || event->type == MIDI_EOT) { + } + else if (event->type == MIDI_SET_TEMPO) { + fluid_player_set_midi_tempo(player, event->param1); + } + else { if (player->playback_callback) player->playback_callback(player->playback_userdata, event); - } - else if (player) - fluid_player_set_midi_tempo(player, event->param1); + } fluid_track_next_event(track); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/fluidsynth-1.1.5/src/synth/fluid_voice.c new/fluidsynth-1.1.6/src/synth/fluid_voice.c --- old/fluidsynth-1.1.5/src/synth/fluid_voice.c 2011-09-04 09:38:58.000000000 +0200 +++ new/fluidsynth-1.1.6/src/synth/fluid_voice.c 2012-08-16 06:01:13.000000000 +0200 @@ -143,6 +143,38 @@ } /* + * Swaps the current rvoice with the current overflow_rvoice + */ +static void fluid_voice_swap_rvoice(fluid_voice_t* voice) +{ + fluid_rvoice_t* rtemp = voice->rvoice; + int ctemp = voice->can_access_rvoice; + voice->rvoice = voice->overflow_rvoice; + voice->can_access_rvoice = voice->can_access_overflow_rvoice; + voice->overflow_rvoice = rtemp; + voice->can_access_overflow_rvoice = ctemp; +} + +static void fluid_voice_initialize_rvoice(fluid_voice_t* voice) +{ + FLUID_MEMSET(voice->rvoice, 0, sizeof(fluid_rvoice_t)); + + /* The 'sustain' and 'finished' segments of the volume / modulation + * envelope are constant. They are never affected by any modulator + * or generator. Therefore it is enough to initialize them once + * during the lifetime of the synth. + */ + fluid_voice_update_volenv(voice, FLUID_VOICE_ENVSUSTAIN, + 0xffffffff, 1.0f, 0.0f, -1.0f, 2.0f); + fluid_voice_update_volenv(voice, FLUID_VOICE_ENVFINISHED, + 0xffffffff, 0.0f, 0.0f, -1.0f, 1.0f); + fluid_voice_update_modenv(voice, FLUID_VOICE_ENVSUSTAIN, + 0xffffffff, 1.0f, 0.0f, -1.0f, 2.0f); + fluid_voice_update_modenv(voice, FLUID_VOICE_ENVFINISHED, + 0xffffffff, 0.0f, 0.0f, -1.0f, 1.0f); +} + +/* * new_fluid_voice */ fluid_voice_t* @@ -162,10 +194,6 @@ FLUID_FREE(voice); return NULL; } - FLUID_MEMSET(voice->rvoice, 0, sizeof(fluid_rvoice_t)); - FLUID_MEMSET(voice->overflow_rvoice, 0, sizeof(fluid_rvoice_t)); - voice->can_access_rvoice = 1; - voice->can_access_overflow_rvoice = 1; voice->status = FLUID_VOICE_CLEAN; voice->chan = NO_CHANNEL; @@ -173,21 +201,15 @@ voice->vel = 0; voice->channel = NULL; voice->sample = NULL; - fluid_voice_set_output_rate(voice, output_rate); - /* The 'sustain' and 'finished' segments of the volume / modulation - * envelope are constant. They are never affected by any modulator - * or generator. Therefore it is enough to initialize them once - * during the lifetime of the synth. - */ - fluid_voice_update_volenv(voice, FLUID_VOICE_ENVSUSTAIN, - 0xffffffff, 1.0f, 0.0f, -1.0f, 2.0f); - fluid_voice_update_volenv(voice, FLUID_VOICE_ENVFINISHED, - 0xffffffff, 0.0f, 0.0f, -1.0f, 1.0f); - fluid_voice_update_modenv(voice, FLUID_VOICE_ENVSUSTAIN, - 0xffffffff, 1.0f, 0.0f, -1.0f, 2.0f); - fluid_voice_update_modenv(voice, FLUID_VOICE_ENVFINISHED, - 0xffffffff, 0.0f, 0.0f, -1.0f, 1.0f); + /* Initialize both the rvoice and overflow_rvoice */ + voice->can_access_rvoice = 1; + voice->can_access_overflow_rvoice = 1; + fluid_voice_initialize_rvoice(voice); + fluid_voice_swap_rvoice(voice); + fluid_voice_initialize_rvoice(voice); + + fluid_voice_set_output_rate(voice, output_rate); return voice; } @@ -211,19 +233,6 @@ return FLUID_OK; } -/* - * Swaps the current rvoice with the current overflow_rvoice - */ -static void fluid_voice_swap_rvoice(fluid_voice_t* voice) -{ - fluid_rvoice_t* rtemp = voice->rvoice; - int ctemp = voice->can_access_rvoice; - voice->rvoice = voice->overflow_rvoice; - voice->can_access_rvoice = voice->can_access_overflow_rvoice; - voice->overflow_rvoice = rtemp; - voice->can_access_overflow_rvoice = ctemp; -} - /* fluid_voice_init * * Initialize the synthesis process -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
