Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package fluidsynth for openSUSE:Factory 
checked in at 2022-02-09 20:38:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fluidsynth (Old)
 and      /work/SRC/openSUSE:Factory/.fluidsynth.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fluidsynth"

Wed Feb  9 20:38:23 2022 rev:64 rq:952040 version:2.2.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/fluidsynth/fluidsynth.changes    2021-11-24 
23:54:09.928540859 +0100
+++ /work/SRC/openSUSE:Factory/.fluidsynth.new.1898/fluidsynth.changes  
2022-02-09 20:38:42.946306470 +0100
@@ -1,0 +2,9 @@
+Sun Feb  6 12:52:36 UTC 2022 - Tom Mbrt <tom.m...@googlemail.com>
+
+- Update to 2.2.5
+  * Fix a build failure with CMake < 3.12
+  * OSS and MidiShare drivers are now deprecated
+  * Prevent samples accidentally having their loops disabled
+  * Fix framework installation on MacOS
+
+-------------------------------------------------------------------

Old:
----
  fluidsynth-2.2.4.tar.gz

New:
----
  fluidsynth-2.2.5.tar.gz

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

Other differences:
------------------
++++++ fluidsynth.spec ++++++
--- /var/tmp/diff_new_pack.sQhEia/_old  2022-02-09 20:38:43.614308068 +0100
+++ /var/tmp/diff_new_pack.sQhEia/_new  2022-02-09 20:38:43.622308087 +0100
@@ -18,7 +18,7 @@
 
 %define sover   3
 Name:           fluidsynth
-Version:        2.2.4
+Version:        2.2.5
 Release:        0
 Summary:        A Real-Time Software Synthesizer That Uses Soundfont(tm)
 License:        LGPL-2.1-or-later

++++++ fluidsynth-2.2.4.tar.gz -> fluidsynth-2.2.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/.azure/azure-pipelines-android.yml 
new/fluidsynth-2.2.5/.azure/azure-pipelines-android.yml
--- old/fluidsynth-2.2.4/.azure/azure-pipelines-android.yml     2021-11-21 
16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/.azure/azure-pipelines-android.yml     2022-01-23 
15:33:33.000000000 +0100
@@ -184,19 +184,19 @@
         wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 
2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg 
>/dev/null
         sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal 
main'
       displayName: 'Use recent CMake Version'
-      condition: ne(variables.CACHE_RESTORED, 'true')
+      condition: and(succeeded(), ne(variables.CACHE_RESTORED, 'true'))
       enabled: 'false'
 
     - script: |
         sudo apt-get update -y
       displayName: 'Update apt'
-      condition: ne(variables.CACHE_RESTORED, 'true')
+      condition: and(succeeded(), ne(variables.CACHE_RESTORED, 'true'))
 
     - script: |
         set -ex
         sudo -E apt-get -yq --no-install-suggests --no-install-recommends 
install gettext cmake zlib1g-dev autogen automake autoconf libtool pkg-config 
autotools-dev build-essential meson ninja-build
       displayName: 'apt-get install'
-      condition: ne(variables.CACHE_RESTORED, 'true')
+      condition: and(succeeded(), ne(variables.CACHE_RESTORED, 'true'))
 
     - script: |
         set -e
@@ -260,7 +260,7 @@
   
       displayName: 'Compile libiconv'
       workingDirectory: $(DEV)
-      condition: ne(variables.CACHE_RESTORED, 'true')
+      condition: and(succeeded(), ne(variables.CACHE_RESTORED, 'true'))
 
     - script: |
         set -ex
@@ -276,7 +276,7 @@
         popd
       displayName: 'Compile libffi'
       workingDirectory: $(DEV)
-      condition: ne(variables.CACHE_RESTORED, 'true')
+      condition: and(succeeded(), ne(variables.CACHE_RESTORED, 'true'))
 
     - script: |
         set -ex
@@ -400,7 +400,7 @@
         popd
       displayName: 'Compile gettext'
       workingDirectory: $(DEV)
-      condition: ne(variables.CACHE_RESTORED, 'true')
+      condition: and(succeeded(), ne(variables.CACHE_RESTORED, 'true'))
 
     - script: |
         set -ex
@@ -463,7 +463,7 @@
         popd
       displayName: 'Compile glib'
       workingDirectory: $(DEV)
-      condition: ne(variables.CACHE_RESTORED, 'true')
+      condition: and(succeeded(), ne(variables.CACHE_RESTORED, 'true'))
 
     - template: cmake-android.yml
       parameters:
@@ -559,7 +559,7 @@
 
       displayName: 'Create fake oboe.pc'
       workingDirectory: $(DEV)
-      condition: ne(variables.CACHE_RESTORED, 'true')
+      condition: and(succeeded(), ne(variables.CACHE_RESTORED, 'true'))
 
     - template: cmake-android.yml
       parameters:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/.azure/azure-pipelines-mac.yml 
new/fluidsynth-2.2.5/.azure/azure-pipelines-mac.yml
--- old/fluidsynth-2.2.4/.azure/azure-pipelines-mac.yml 2021-11-21 
16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/.azure/azure-pipelines-mac.yml 2022-01-23 
15:33:33.000000000 +0100
@@ -17,12 +17,15 @@
 - job: macOS
   strategy:
     matrix:
-      10_14:
-        imageName: 'macOS-10.14'
+      UnixLibs:
+        imageName: 'macos-11'
+        CMakeFlags: '-Denable-framework=0'
       10_15:
         imageName: 'macOS-10.15'
+        CMakeFlags: ''
       11_0:
         imageName: 'macos-11'
+        CMakeFlags: ''
 
   pool:
     vmImage: $(imageName)
@@ -39,11 +42,28 @@
         set -ex
         mkdir build && cd build
         export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
-        cmake -Werror=dev 
-DCMAKE_INSTALL_PREFIX=$(Build.ArtifactStagingDirectory) 
-DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=1 -DNO_GUI=1 ..
+        cmake -Werror=dev $(CMakeFlags) -DCMAKE_BUILD_TYPE=Release 
-DCMAKE_VERBOSE_MAKEFILE=1 -DNO_GUI=1 ..
         make -j3
       displayName: 'Compile fluidsynth'
     - script: |
         set -ex
-        cd build || exit -1
-        make -j3 check || exit -1
+        cd build
+        make -j3 check
       displayName: 'Execute Unittests'
+    - script: |
+        set -ex
+        cd build
+        make -j3 demo
+      displayName: 'Compile demos'
+    - script: |
+        set -ex
+        cd build
+        sudo make install
+        rm -f install_manifest.txt
+      displayName: 'Install fluidsynth to default location'
+    - script: |
+        set -ex
+        cd build
+        cmake -DCMAKE_INSTALL_PREFIX=$(Build.ArtifactStagingDirectory) ..
+        make install
+      displayName: 'Install fluidsynth to artifact dir'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/.azure/azure-pipelines-vcpkg.yml 
new/fluidsynth-2.2.5/.azure/azure-pipelines-vcpkg.yml
--- old/fluidsynth-2.2.4/.azure/azure-pipelines-vcpkg.yml       2021-11-21 
16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/.azure/azure-pipelines-vcpkg.yml       2022-01-23 
15:33:33.000000000 +0100
@@ -69,17 +69,17 @@
         # ninja --version
         cmake --version
         rm -rf C:/Strawberry/perl/bin/pkg-config*
-        choco install --svc --sdc -i pkgconfiglite &
-        chocoTask=$!
+        choco install --svc --sdc -i pkgconfiglite
+        # chocoTask=$!
         # manually update vcpkg
         cd $VCPKG_INSTALLATION_ROOT
         # git checkout master
         git remote -v
-        git fetch --unshallow --tags --prune --progress origin
+        git fetch --tags --prune --progress origin
         git checkout --force $(VCPKG_REVISION)
         sed -i 's/arm64/arm/g' ports/glib/portfile.cmake
         ./bootstrap-vcpkg.sh
-        wait $chocoTask
+        # wait $chocoTask
         which pkg-config
       displayName: 'Update vcpkg'
     - task: DownloadBuildArtifacts@0
@@ -126,6 +126,10 @@
         cmake --build build --config $(configuration) --target check 
--parallel 3
       displayName: 'Execute Unittests'
       condition: and(succeeded(), and(ne(variables['platform'], 'arm'), 
ne(variables['platform'], 'arm64')))
+    - bash: |
+        set -ex
+        cmake --build build --config $(configuration) --target demo --parallel 
3
+      displayName: 'Compile demos'
     - script: |
         @ECHO ON
         cd build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/.azure/azure-pipelines-win.yml 
new/fluidsynth-2.2.5/.azure/azure-pipelines-win.yml
--- old/fluidsynth-2.2.4/.azure/azure-pipelines-win.yml 2021-11-21 
16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/.azure/azure-pipelines-win.yml 2022-01-23 
15:33:33.000000000 +0100
@@ -75,6 +75,12 @@
       displayName: 'Execute Unittests'
     - script: |
         @ECHO ON
+        SET "PATH=d:\deps\bin;%PATH%"
+        cd build || exit -1
+        cmake --build . --config Release --target demo || exit -1
+      displayName: 'Compile demos'
+    - script: |
+        @ECHO ON
         cd build
         cmake --build . --config Release --target install || exit -1
         del $(Build.ArtifactStagingDirectory)\bin\concrt*.dll
@@ -140,6 +146,12 @@
         cd build || exit -1
         cmake --build . --config $(CMAKE_CONFIG) --target check || exit -1
       displayName: 'Execute Unittests'
+    - script: |
+        @ECHO ON
+        SET "PATH=d:\deps\bin;%PATH%"
+        cd build || exit -1
+        cmake --build . --config $(CMAKE_CONFIG) --target demo || exit -1
+      displayName: 'Compile demos'
 
 - job: WindowsMinGW
   variables:
@@ -210,6 +222,15 @@
       displayName: 'Execute Unittests'
     - script: |
         @ECHO ON
+        SET "PATH=d:\deps\bin;%PATH%"
+        REM remove that path from PATH to make sure sh.exe is not found (cmake 
will complain otherwise)
+        set PATH=%PATH:C:\Program Files\Git\bin;=%
+        set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
+        cd build || exit -1
+        mingw32-make.exe -j4 demo || exit -1
+      displayName: 'Compile demos'
+    - script: |
+        @ECHO ON
         cd build
         mingw32-make.exe install || exit -1
         xcopy d:\deps\bin\libgcc_s_sjlj-1.dll 
$(Build.ArtifactStagingDirectory)\bin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/.github/workflows/linux.yml 
new/fluidsynth-2.2.5/.github/workflows/linux.yml
--- old/fluidsynth-2.2.4/.github/workflows/linux.yml    2021-11-21 
16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/.github/workflows/linux.yml    2022-01-23 
15:33:33.000000000 +0100
@@ -93,6 +93,11 @@
       # Execute tests defined by the CMake configuration.
       run: make -j`nproc` check
 
+    - name: Demo
+      working-directory: ${{github.workspace}}/build
+      shell: bash
+      run: make -j`nproc` demo
+
     - name: Install
       working-directory: ${{github.workspace}}/build
       run: make install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/.obs/workflows.yml 
new/fluidsynth-2.2.5/.obs/workflows.yml
--- old/fluidsynth-2.2.4/.obs/workflows.yml     2021-11-21 16:40:48.000000000 
+0100
+++ new/fluidsynth-2.2.5/.obs/workflows.yml     2022-01-23 15:33:33.000000000 
+0100
@@ -3,3 +3,4 @@
     - branch_package:
         source_project: home:derselbst:anmp
         source_package: fluidsynth
+        target_project: home:derselbst:anmp:github-ci
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/CMakeLists.txt 
new/fluidsynth-2.2.5/CMakeLists.txt
--- old/fluidsynth-2.2.4/CMakeLists.txt 2021-11-21 16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/CMakeLists.txt 2022-01-23 15:33:33.000000000 +0100
@@ -1,6 +1,6 @@
 # FluidSynth - A Software Synthesizer
 #
-# Copyright (C) 2003-2021 Peter Hanappe and others.
+# Copyright (C) 2003-2022 Peter Hanappe and others.
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public License
@@ -38,7 +38,7 @@
 # FluidSynth package version
 set ( FLUIDSYNTH_VERSION_MAJOR 2 )
 set ( FLUIDSYNTH_VERSION_MINOR 2 )
-set ( FLUIDSYNTH_VERSION_MICRO 4 )
+set ( FLUIDSYNTH_VERSION_MICRO 5 )
 set ( VERSION 
"${FLUIDSYNTH_VERSION_MAJOR}.${FLUIDSYNTH_VERSION_MINOR}.${FLUIDSYNTH_VERSION_MICRO}"
 )
 set ( FLUIDSYNTH_VERSION "\"${VERSION}\"" )
 
@@ -53,7 +53,7 @@
 # This is not exactly the same algorithm as the libtool one, but the results 
are the same.
 set ( LIB_VERSION_CURRENT 3 )
 set ( LIB_VERSION_AGE 0 )
-set ( LIB_VERSION_REVISION 4 )
+set ( LIB_VERSION_REVISION 5 )
 set ( LIB_VERSION_INFO
       "${LIB_VERSION_CURRENT}.${LIB_VERSION_AGE}.${LIB_VERSION_REVISION}" )
 
@@ -879,14 +879,14 @@
     list ( TRANSFORM LIBS_PRIVATE PREPEND "-l")
     list ( JOIN LIBS_PRIVATE " " LIBS_PRIVATE_JOINED )
     list ( JOIN LIBS_PRIVATE_WITH_PATH " " LIBS_PRIVATE_WITH_PATH_JOINED )
+
+    list ( JOIN PC_REQUIRES_PRIV " " PC_REQUIRES_PRIV_JOINED )
 else ()
     set ( LIBS_PRIVATE "" )
     set ( LIBS_PRIVATE_WITH_PATH "" )
     message ( DEPRECATION "Your version of CMake is old. A complete pkg-config 
file can not created. Get cmake 3.13.3 or newer." )
 endif ( CMAKE_VERSION VERSION_EQUAL "3.12.0" OR CMAKE_VERSION VERSION_GREATER 
"3.12.0" )
 
-list ( JOIN PC_REQUIRES_PRIV " " PC_REQUIRES_PRIV_JOINED )
-
 configure_file ( fluidsynth.pc.in
        ${CMAKE_BINARY_DIR}/fluidsynth.pc IMMEDIATE @ONLY )
 install ( FILES ${CMAKE_BINARY_DIR}/fluidsynth.pc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/cmake_admin/DefaultDirs.cmake 
new/fluidsynth-2.2.5/cmake_admin/DefaultDirs.cmake
--- old/fluidsynth-2.2.4/cmake_admin/DefaultDirs.cmake  2021-11-21 
16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/cmake_admin/DefaultDirs.cmake  2022-01-23 
15:33:33.000000000 +0100
@@ -11,15 +11,20 @@
 endif ( WIN32 )
 mark_as_advanced (DEFAULT_SOUNDFONT)
 
+set(FRAMEWORK_INSTALL_PREFIX "")
+if ( CMAKE_VERSION VERSION_GREATER "3.7.0" AND NOT 
CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT )
+  set(FRAMEWORK_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
+endif()
+
 # BUNDLE_INSTALL_DIR - Mac only: the directory for application bundles 
-set (BUNDLE_INSTALL_DIR "/Applications" CACHE STRING 
+set (BUNDLE_INSTALL_DIR "Applications" CACHE STRING
      "The install dir for application bundles")
 mark_as_advanced (BUNDLE_INSTALL_DIR)
-     
+
 # FRAMEWORK_INSTALL_DIR - Mac only: the directory for framework bundles
-set (FRAMEWORK_INSTALL_DIR "/Library/Frameworks" CACHE STRING 
+set (FRAMEWORK_INSTALL_DIR "Library/Frameworks" CACHE STRING
      "The install dir for framework bundles")
-mark_as_advanced (FRAMEWORK_INSTALL_DIR) 
+mark_as_advanced (FRAMEWORK_INSTALL_DIR)
 
 # BIN_INSTALL_DIR - the directory where executables will be installed
 set (BIN_INSTALL_DIR "bin" CACHE STRING "The install dir for executables")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/doc/fluidsynth-v20-devdoc.txt 
new/fluidsynth-2.2.5/doc/fluidsynth-v20-devdoc.txt
--- old/fluidsynth-2.2.4/doc/fluidsynth-v20-devdoc.txt  2021-11-21 
16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/doc/fluidsynth-v20-devdoc.txt  2022-01-23 
15:33:33.000000000 +0100
@@ -7,9 +7,9 @@
 \author Josh Green
 \author David Henningsson
 \author Tom Moebert
-\author Copyright &copy; 2003-2021 Peter Hanappe, Conrad Berh??rster, Antoine 
Schmitt, Pedro L??pez-Cabanillas, Josh Green, David Henningsson, Tom Moebert
-\version Revision 2.2.4
-\date 2021-11-21
+\author Copyright &copy; 2003-2022 Peter Hanappe, Conrad Berh??rster, Antoine 
Schmitt, Pedro L??pez-Cabanillas, Josh Green, David Henningsson, Tom Moebert
+\version Revision 2.2.5
+\date 2022-01-16
 
 All the source code examples in this document are in the public domain; you 
can use them as you please. This document is licensed under the Creative 
Commons Attribution-Share Alike 3.0 Unported License. To view a copy of this 
license, visit https://creativecommons.org/licenses/by-sa/3.0/ . The FluidSynth 
library is distributed under the GNU Lesser General Public License. A copy of 
the GNU Lesser General Public License is contained in the FluidSynth package; 
if not, visit https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt or write 
to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
MA 02110-1301 USA.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/doc/fluidsynth.1 
new/fluidsynth-2.2.5/doc/fluidsynth.1
--- old/fluidsynth-2.2.4/doc/fluidsynth.1       2021-11-21 16:40:48.000000000 
+0100
+++ new/fluidsynth-2.2.5/doc/fluidsynth.1       2022-01-23 15:33:33.000000000 
+0100
@@ -13,7 +13,7 @@
 .\" along with this program; see the file LICENSE.  If not, write to
 .\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 .\"
-.TH FluidSynth 1 "Jan 1, 2021"
+.TH FluidSynth 1 "Jan 1, 2022"
 .\" Please update the above date whenever this man page is modified.
 .\"
 .\" Some roff macros, for reference:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/src/CMakeLists.txt 
new/fluidsynth-2.2.5/src/CMakeLists.txt
--- old/fluidsynth-2.2.4/src/CMakeLists.txt     2021-11-21 16:40:48.000000000 
+0100
+++ new/fluidsynth-2.2.5/src/CMakeLists.txt     2022-01-23 15:33:33.000000000 
+0100
@@ -301,13 +301,19 @@
     PROPERTIES COMPILE_FLAGS ${LIBFLUID_CPPFLAGS} )
 endif ( LIBFLUID_CPPFLAGS )
 
-# note: by default this target creates a shared object (or dll). To build a
+# Note: by default this target creates a shared object (or dll). To build a
 # static library instead, set the option BUILD_SHARED_LIBS to FALSE.
-add_library ( libfluidsynth $<TARGET_OBJECTS:libfluidsynth-OBJ> )
+# Further note: The headers must be explicitly added here to have CMake install
+# them correctly in case of MACOSX_FRAMEWORK
+add_library ( libfluidsynth
+    $<TARGET_OBJECTS:libfluidsynth-OBJ>
+    ${public_main_HEADER}
+    ${public_HEADERS}
+)
 
 if ( MACOSX_FRAMEWORK )
-     set_property ( SOURCE ${public_HEADERS}
-         PROPERTY MACOSX_PACKAGE_LOCATION Headers/fluidsynth
+    set_source_files_properties ( ${public_HEADERS}
+         PROPERTIES MACOSX_PACKAGE_LOCATION Headers/fluidsynth
      )
     set_target_properties ( libfluidsynth
       PROPERTIES
@@ -400,8 +406,8 @@
 if ( MACOSX_FRAMEWORK )
   install ( TARGETS fluidsynth libfluidsynth
     RUNTIME DESTINATION ${BIN_INSTALL_DIR}
-    FRAMEWORK DESTINATION ${FRAMEWORK_INSTALL_DIR}
-    ARCHIVE DESTINATION ${FRAMEWORK_INSTALL_DIR}
+    FRAMEWORK DESTINATION 
"${FRAMEWORK_INSTALL_PREFIX}/${FRAMEWORK_INSTALL_DIR}"
+    ARCHIVE DESTINATION "${FRAMEWORK_INSTALL_PREFIX}/${FRAMEWORK_INSTALL_DIR}"
 )
 else ( MACOSX_FRAMEWORK )
   install ( TARGETS fluidsynth libfluidsynth
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/src/bindings/fluid_filerenderer.c 
new/fluidsynth-2.2.5/src/bindings/fluid_filerenderer.c
--- old/fluidsynth-2.2.4/src/bindings/fluid_filerenderer.c      2021-11-21 
16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/src/bindings/fluid_filerenderer.c      2022-01-23 
15:33:33.000000000 +0100
@@ -199,6 +199,7 @@
     double samplerate;
     int retval;
 #endif
+    int audio_channels;
     char *filename = NULL;
     fluid_file_renderer_t *dev;
 
@@ -233,6 +234,7 @@
     }
 
     fluid_settings_dupstr(synth->settings, "audio.file.name", &filename);
+    fluid_settings_getint(synth->settings, "synth.audio-channels", 
&audio_channels);
 
     if(filename == NULL)
     {
@@ -310,6 +312,11 @@
 
 #endif
 
+    if(audio_channels != 1)
+    {
+        FLUID_LOG(FLUID_WARN, "The file-renderer currently only supports a 
single stereo channel. You have provided %d stereo channels. Audio may sound 
strange or incomplete.", audio_channels);
+    }
+
     FLUID_FREE(filename);
     return dev;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/src/drivers/fluid_midishare.c 
new/fluidsynth-2.2.5/src/drivers/fluid_midishare.c
--- old/fluidsynth-2.2.4/src/drivers/fluid_midishare.c  2021-11-21 
16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/src/drivers/fluid_midishare.c  2022-01-23 
15:33:33.000000000 +0100
@@ -87,6 +87,17 @@
     fluid_midishare_midi_driver_t *dev;
     int i;
 
+    FLUID_LOG(FLUID_WARN,
+              "\n\n"
+              "================ MidiShare MIDI driver has been deprecated! 
=================\n"
+              "You're using the MidiShare driver. This driver is old, 
unmaintained and believed\n"
+              "to be unused. If you still need it, pls. let us know by posting 
to our\n"
+              "mailing list at fluid-...@nongnu.org - otherwise this driver 
might be removed\n"
+              "in a future release of FluidSynth!\n"
+              "================ MidiShare MIDI driver has been deprecated! 
=================\n"
+              "\n"
+    );
+
     /* not much use doing anything */
     if(handler == NULL)
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/src/drivers/fluid_oss.c 
new/fluidsynth-2.2.5/src/drivers/fluid_oss.c
--- old/fluidsynth-2.2.4/src/drivers/fluid_oss.c        2021-11-21 
16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/src/drivers/fluid_oss.c        2022-01-23 
15:33:33.000000000 +0100
@@ -123,6 +123,17 @@
     char *devname = NULL;
     int format;
 
+    FLUID_LOG(FLUID_WARN,
+              "\n\n"
+              "================= OSS audio driver has been deprecated! 
==================\n"
+              "You're using the OSS driver. This driver is old, unmaintained 
and believed\n"
+              "to be unused. If you still need it, pls. let us know by posting 
to our\n"
+              "mailing list at fluid-...@nongnu.org - otherwise this driver 
might be removed\n"
+              "in a future release of FluidSynth!\n"
+              "================= OSS audio driver has been deprecated! 
==================\n"
+              "\n"
+    );
+
     dev = FLUID_NEW(fluid_oss_audio_driver_t);
 
     if(dev == NULL)
@@ -296,6 +307,17 @@
     int realtime_prio = 0;
     int format;
 
+    FLUID_LOG(FLUID_WARN,
+              "\n\n"
+              "================= OSS audio driver has been deprecated! 
==================\n"
+              "You're using the OSS driver. This driver is old, unmaintained 
and believed\n"
+              "to be unused. If you still need it, pls. let us know by posting 
to our\n"
+              "mailing list at fluid-...@nongnu.org - otherwise this driver 
might be removed\n"
+              "in a future release of FluidSynth!\n"
+              "================= OSS audio driver has been deprecated! 
==================\n"
+              "\n"
+    );
+
     dev = FLUID_NEW(fluid_oss_audio_driver_t);
 
     if(dev == NULL)
@@ -607,6 +629,17 @@
     int realtime_prio = 0;
     char *device = NULL;
 
+    FLUID_LOG(FLUID_WARN,
+              "\n\n"
+              "================= OSS MIDI driver has been deprecated! 
==================\n"
+              "You're using the OSS driver. This driver is old, unmaintained 
and believed\n"
+              "to be unused. If you still need it, pls. let us know by posting 
to our\n"
+              "mailing list at fluid-...@nongnu.org - otherwise this driver 
might be removed\n"
+              "in a future release of FluidSynth!\n"
+              "================= OSS MIDI driver has been deprecated! 
==================\n"
+              "\n"
+    );
+
     /* not much use doing anything */
     if(handler == NULL)
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/src/fluidsynth.c 
new/fluidsynth-2.2.5/src/fluidsynth.c
--- old/fluidsynth-2.2.4/src/fluidsynth.c       2021-11-21 16:40:48.000000000 
+0100
+++ new/fluidsynth-2.2.5/src/fluidsynth.c       2022-01-23 15:33:33.000000000 
+0100
@@ -1213,7 +1213,7 @@
 print_welcome()
 {
     printf("FluidSynth runtime version %s\n"
-           "Copyright (C) 2000-2021 Peter Hanappe and others.\n"
+           "Copyright (C) 2000-2022 Peter Hanappe and others.\n"
            "Distributed under the LGPL license.\n"
            "SoundFont(R) is a registered trademark of Creative Technology 
Ltd.\n\n",
            fluid_version_str());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/src/midi/fluid_midi.c 
new/fluidsynth-2.2.5/src/midi/fluid_midi.c
--- old/fluidsynth-2.2.4/src/midi/fluid_midi.c  2021-11-21 16:40:48.000000000 
+0100
+++ new/fluidsynth-2.2.5/src/midi/fluid_midi.c  2022-01-23 15:33:33.000000000 
+0100
@@ -488,7 +488,7 @@
         if(fluid_isasciistring((char *) id) == 0)
         {
             FLUID_LOG(FLUID_ERR,
-                      "An non-ascii track header found, corrupt file");
+                      "A non-ascii track header found, corrupt file");
             return FLUID_FAILED;
 
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/src/sfloader/fluid_defsfont.c 
new/fluidsynth-2.2.5/src/sfloader/fluid_defsfont.c
--- old/fluidsynth-2.2.4/src/sfloader/fluid_defsfont.c  2021-11-21 
16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/src/sfloader/fluid_defsfont.c  2022-01-23 
15:33:33.000000000 +0100
@@ -376,6 +376,7 @@
     fluid_sample_t *sample;
     int sf3_file = (sfdata->version.major == 3);
     int sample_parsing_result = FLUID_OK;
+    int invalid_loops_were_sanitized = FALSE;
 
     /* For SF2 files, we load the sample data in one large block */
     if(!sf3_file)
@@ -404,7 +405,7 @@
         {
             /* SF3 samples get loaded individually, as most (or all) of them 
are in Ogg Vorbis format
              * anyway */
-            #pragma omp task firstprivate(sample,sfdata,defsfont) 
shared(sample_parsing_result) default(none)
+            #pragma omp task firstprivate(sample,sfdata,defsfont) 
shared(sample_parsing_result, invalid_loops_were_sanitized) default(none)
             {
                 if(fluid_defsfont_load_sampledata(defsfont, sfdata, sample) == 
FLUID_FAILED)
                 {
@@ -416,24 +417,46 @@
                 }
                 else
                 {
-                    fluid_sample_sanitize_loop(sample, (sample->end + 1) * 
sizeof(short));
+                    int modified = fluid_sample_sanitize_loop(sample, 
(sample->end + 1) * sizeof(short));
+                    if(modified)
+                    {
+                        #pragma omp critical
+                        {
+                            invalid_loops_were_sanitized = TRUE;
+                        }
+                    }
                     fluid_voice_optimize_sample(sample);
                 }
             }
         }
         else
         {
-            #pragma omp task firstprivate(sample, defsfont) default(none)
+            #pragma omp task firstprivate(sample, defsfont) 
shared(invalid_loops_were_sanitized) default(none)
             {
+                int modified;
                 /* Data pointers of SF2 samples point to large sample data 
block loaded above */
                 sample->data = defsfont->sampledata;
                 sample->data24 = defsfont->sample24data;
-                fluid_sample_sanitize_loop(sample, defsfont->samplesize);
+                modified = fluid_sample_sanitize_loop(sample, 
defsfont->samplesize);
+                if(modified)
+                {
+                    #pragma omp critical
+                    {
+                        invalid_loops_were_sanitized = TRUE;
+                    }
+                }
                 fluid_voice_optimize_sample(sample);
             }
         }
     }
 
+    if(invalid_loops_were_sanitized)
+    {
+        FLUID_LOG(FLUID_WARN,
+                  "Some invalid sample loops were sanitized! If you experience 
audible glitches, "
+                  "start fluidsynth in verbose mode for detailed 
information.");
+    }
+
     return sample_parsing_result;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/src/sfloader/fluid_sfont.c 
new/fluidsynth-2.2.5/src/sfloader/fluid_sfont.c
--- old/fluidsynth-2.2.4/src/sfloader/fluid_sfont.c     2021-11-21 
16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/src/sfloader/fluid_sfont.c     2022-01-23 
15:33:33.000000000 +0100
@@ -789,12 +789,19 @@
     if(sample->loopstart == sample->loopend)
     {
         /* Some SoundFonts disable loops by setting loopstart = loopend. While
-         * technically invalid, we decided to accept those samples anyway. Just
-         * ensure that those two pointers are within the sampledata by setting
-         * them to 0. Don't report the modification, as this change has no 
audible
-         * effect. */
-        sample->loopstart = sample->loopend = 0;
-        return FALSE;
+         * technically invalid, we decided to accept those samples anyway.
+         * Before fluidsynth 2.2.5 we've set those indices to zero, as this
+         * change was believed to be inaudible. This turned out to be an
+         * incorrect assumption, as the loop points may still be modified by
+         * loop offset modulators afterwards.
+         */
+        if(sample->loopstart != sample->start)
+        {
+            // Many soundfonts set loopstart == loopend == sample->start to 
disabled to loop.
+            // Only report cases where it's not equal to the sample->start, to 
avoid spam.
+            FLUID_LOG(FLUID_DBG, "Sample '%s': zero length loop detected: 
loopstart == loopend == '%d', sample start '%d', using it anyway",
+                    sample->name, sample->loopstart, sample->start);
+        }
     }
     else if(sample->loopstart > sample->loopend)
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fluidsynth-2.2.4/src/synth/fluid_synth.c 
new/fluidsynth-2.2.5/src/synth/fluid_synth.c
--- old/fluidsynth-2.2.4/src/synth/fluid_synth.c        2021-11-21 
16:40:48.000000000 +0100
+++ new/fluidsynth-2.2.5/src/synth/fluid_synth.c        2022-01-23 
15:33:33.000000000 +0100
@@ -2371,6 +2371,7 @@
 
     if(len < 9) // at least one byte of data should be transmitted
     {
+        FLUID_LOG(FLUID_INFO, "SysEx DT1: message too short, dropping it.");
         return FLUID_FAILED;
     }
     len_data = len - 8;
@@ -2380,8 +2381,10 @@
     {
         checksum += data[i];
     }
-    if (0x80 - (checksum & 0x7F) != data[len - 1])
+    checksum = 0x80 - (checksum & 0x7F);
+    if (checksum != data[len - 1])
     {
+        FLUID_LOG(FLUID_INFO, "SysEx DT1: dropping message on addr 0x%x due to 
incorrect checksum 0x%x. Correct checksum: 0x%x", addr, (int)data[len - 1], 
checksum);
         return FLUID_FAILED;
     }
 
@@ -2389,6 +2392,7 @@
     {
         if (len_data > 1 || (data[7] != 0 && data[7] != 0x7f))
         {
+            FLUID_LOG(FLUID_INFO, "SysEx DT1: dropping invalid mode set 
message");
             return FLUID_FAILED;
         }
         if (handled)
@@ -2419,6 +2423,7 @@
     {
         if (len_data > 1 || data[7] > 0x02)
         {
+            FLUID_LOG(FLUID_INFO, "SysEx DT1: dropping invalid rhythm part 
message");
             return FLUID_FAILED;
         }
         if (handled)
@@ -2433,6 +2438,7 @@
             synth->channel[chan]->channel_type =
                 data[7] == 0x00 ? CHANNEL_TYPE_MELODIC : CHANNEL_TYPE_DRUM;
 
+            FLUID_LOG(FLUID_DBG, "SysEx DT1: setting MIDI channel %d to type 
%d", chan, (int)synth->channel[chan]->channel_type);
             //Roland synths seem to "remember" the last instrument a channel
             //used in the selected mode. This behavior is not replicated here.
             fluid_synth_program_change(synth, chan, 0);

Reply via email to