Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package soundtouch for openSUSE:Factory 
checked in at 2021-12-08 22:08:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/soundtouch (Old)
 and      /work/SRC/openSUSE:Factory/.soundtouch.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "soundtouch"

Wed Dec  8 22:08:29 2021 rev:33 rq:935917 version:2.3.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/soundtouch/soundtouch.changes    2021-01-30 
13:55:49.793968807 +0100
+++ /work/SRC/openSUSE:Factory/.soundtouch.new.31177/soundtouch.changes 
2021-12-08 22:08:41.906855335 +0100
@@ -1,0 +2,22 @@
+Sun Dec  5 19:18:19 UTC 2021 - Dirk M??ller <[email protected]>
+
+- update to 2.3.1:
+  * Adjusted cmake build settings and header files that cmake installs
+  * Disable setting "SOUNDTOUCH_ALLOW_NONEXACT_SIMD_OPTIMIZATION" by default. 
The
+    original purpose of this setting was to avoid performance penalty due to
+    unaligned SIMD memory accesses in old CPUs, but that is not any more issue 
in
+    concurrent CPU SIMD implementations and having this setting enabled can 
cause
+    slight compromise in result quality.
+  * soundtouch.clear() to really clear whole processing pipeline state. Earlier
+    individual variables were left uncleared, which caused slightly different
+    result if the same audio stream were processed again after calling clear().
+  * TDstretch to align initial offset position to be in middle of correlation
+    search window. This ensures that with zero tempo change the output will be
+    same as input.
+  * Fix a bug in TDstrectch with too small initial skipFract value that
+    occurred with certain processing parameter settings: Replace assert with
+    assignment that corrects the situation.
+  * Remove OpenMP "_init_threading" workaround from Android build as it's not
+    needed with concurrent Android SDKs any more.
+
+-------------------------------------------------------------------

Old:
----
  soundtouch-2.2.tar.gz

New:
----
  2.3.1.tar.gz

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

Other differences:
------------------
++++++ soundtouch.spec ++++++
--- /var/tmp/diff_new_pack.NjhhAv/_old  2021-12-08 22:08:42.426855579 +0100
+++ /var/tmp/diff_new_pack.NjhhAv/_new  2021-12-08 22:08:42.426855579 +0100
@@ -18,13 +18,13 @@
 
 %define sover 1
 Name:           soundtouch
-Version:        2.2
+Version:        2.3.1
 Release:        0
 Summary:        Audio Processing Library
 License:        LGPL-2.1-or-later
 Group:          Productivity/Multimedia/Sound/Editors and Convertors
 URL:            https://www.surina.net/soundtouch
-Source:         
https://gitlab.com/soundtouch/soundtouch/-/archive/%{version}/%{name}-%{version}.tar.gz
+Source:         
https://codeberg.org/soundtouch/soundtouch/archive/%{version}.tar.gz
 Source1:        
https://salsa.debian.org/multimedia-team/soundtouch/raw/master/debian/soundstretch.1
 Source99:       baselibs.conf
 BuildRequires:  autoconf
@@ -70,7 +70,7 @@
 SoundTouch.
 
 %prep
-%setup -q
+%setup -q -n %{name}
 dos2unix README.html
 
 %build

++++++ soundtouch-2.2.tar.gz -> 2.3.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/.gitignore new/soundtouch/.gitignore
--- old/soundtouch-2.2/.gitignore       2020-10-15 17:23:34.000000000 +0200
+++ new/soundtouch/.gitignore   2021-09-07 17:26:53.000000000 +0200
@@ -47,3 +47,8 @@
 source/android-lib/build
 source/android-lib/.externalNativeBuild
 
+# CMake build directory
+build*
+CMakeFiles
+CMakeCache.txt
+*.cmake
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/CMakeLists.txt 
new/soundtouch/CMakeLists.txt
--- old/soundtouch-2.2/CMakeLists.txt   1970-01-01 01:00:00.000000000 +0100
+++ new/soundtouch/CMakeLists.txt       2021-09-07 17:26:53.000000000 +0200
@@ -0,0 +1,167 @@
+cmake_minimum_required(VERSION 3.1)
+project(SoundTouch VERSION 2.3.1 LANGUAGES CXX)
+
+include(GNUInstallDirs)
+
+if(MSVC)
+  set(COMPILE_DEFINITIONS /O2 /fp:fast)
+  set(COMPILE_OPTIONS )
+else()
+  set(COMPILE_OPTIONS -Ofast)
+endif()
+
+#####################
+# SoundTouch library
+
+add_library(SoundTouch
+  source/SoundTouch/AAFilter.cpp
+  source/SoundTouch/BPMDetect.cpp
+  source/SoundTouch/cpu_detect_x86.cpp
+  source/SoundTouch/FIFOSampleBuffer.cpp
+  source/SoundTouch/FIRFilter.cpp
+  source/SoundTouch/InterpolateCubic.cpp
+  source/SoundTouch/InterpolateLinear.cpp
+  source/SoundTouch/InterpolateShannon.cpp
+  source/SoundTouch/mmx_optimized.cpp
+  source/SoundTouch/PeakFinder.cpp
+  source/SoundTouch/RateTransposer.cpp
+  source/SoundTouch/SoundTouch.cpp
+  source/SoundTouch/sse_optimized.cpp
+  source/SoundTouch/TDStretch.cpp
+)
+target_include_directories(SoundTouch PUBLIC
+   $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+   $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+)
+
+target_compile_definitions(SoundTouch PRIVATE ${COMPILE_DEFINITIONS})
+target_compile_options(SoundTouch PRIVATE ${COMPILE_OPTIONS})
+
+if(BUILD_SHARED_LIBS)
+  set_target_properties(SoundTouch PROPERTIES
+    VERSION ${CMAKE_PROJECT_VERSION}
+  )
+  if(WIN32)
+    set_target_properties(SoundTouch PROPERTIES
+      WINDOWS_EXPORT_ALL_SYMBOLS TRUE
+    )
+  else()
+    set_target_properties(SoundTouch PROPERTIES
+      SOVERSION ${PROJECT_VERSION_MAJOR}
+    )
+  endif()
+endif()
+
+option(INTEGER_SAMPLES "Use integers instead of floats for samples" OFF)
+if(INTEGER_SAMPLES)
+  target_compile_definitions(SoundTouch PRIVATE SOUNDTOUCH_INTEGER_SAMPLES)
+else()
+  target_compile_definitions(SoundTouch PRIVATE SOUNDTOUCH_FLOAT_SAMPLES)
+endif()
+
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7.*|armv8.*)$")
+  set(NEON_CPU ON)
+else()
+  set(NEON_CPU OFF)
+endif()
+
+option(NEON "Use ARM Neon SIMD instructions if in ARM CPU" ON)
+if(${NEON} AND ${NEON_CPU})
+  target_compile_definitions(SoundTouch PRIVATE SOUNDTOUCH_USE_NEON)
+  target_compile_options(SoundTouch PRIVATE -mfpu=neon)
+endif()
+
+install(
+  FILES
+    include/BPMDetect.h
+    include/FIFOSampleBuffer.h
+    include/FIFOSamplePipe.h
+    include/STTypes.h
+    include/SoundTouch.h
+    include/soundtouch_config.h
+  DESTINATION
+    "${CMAKE_INSTALL_INCLUDEDIR}/soundtouch"
+)
+
+install(TARGETS SoundTouch
+  EXPORT SoundTouchTargets
+  ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+  RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+  INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
+)
+
+#######################
+# soundstretch utility
+
+option(SOUNDSTRETCH "Build soundstretch command line utility." ON)
+if(SOUNDSTRETCH)
+  add_executable(soundstretch
+    source/SoundStretch/main.cpp
+    source/SoundStretch/RunParameters.cpp
+    source/SoundStretch/WavFile.cpp
+  )
+  target_include_directories(soundstretch PUBLIC 
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
+  target_compile_definitions(soundstretch PRIVATE ${COMPILE_DEFINITIONS})
+  target_compile_options(soundstretch PRIVATE ${COMPILE_OPTIONS})
+  target_link_libraries(soundstretch PRIVATE SoundTouch)
+
+  install(TARGETS soundstretch
+    DESTINATION bin
+  )
+endif()
+
+########################
+# SoundTouchDll library
+
+option(SOUNDTOUCH_DLL "Build SoundTouchDLL C wrapper library" OFF)
+if(SOUNDTOUCH_DLL)
+  add_library(SoundTouchDLL SHARED
+    source/SoundTouchDLL/SoundTouchDLL.cpp
+    source/SoundTouchDLL/SoundTouchDLL.rc
+  )
+  set_target_properties(SoundTouch PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
+  target_compile_options(SoundTouchDLL PRIVATE ${COMPILE_OPTIONS})
+  set_target_properties(SoundTouchDLL PROPERTIES CXX_VISIBILITY_PRESET hidden)
+  target_compile_definitions(SoundTouchDLL PRIVATE DLL_EXPORTS)
+  target_include_directories(SoundTouchDLL PUBLIC 
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
+  target_link_libraries(SoundTouchDLL PRIVATE SoundTouch)
+  install(FILES source/SoundTouchDLL/SoundTouchDLL.h DESTINATION 
"${CMAKE_INSTALL_INCLUDEDIR}/soundtouch")
+  install(TARGETS SoundTouchDLL EXPORT SoundTouchTargets)
+endif()
+
+########################
+
+# pkgconfig
+set(prefix "${CMAKE_INSTALL_PREFIX}")
+set(execprefix "\${prefix}")
+set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
+set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
+set(VERSION "${CMAKE_PROJECT_VERSION}")
+configure_file(soundtouch.pc.in "${CMAKE_CURRENT_BINARY_DIR}/soundtouch.pc" 
@ONLY)
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/soundtouch.pc" DESTINATION 
"${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+
+# CMake config
+include(CMakePackageConfigHelpers)
+set(SOUNDTOUCH_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/SoundTouch")
+install(
+  EXPORT SoundTouchTargets
+  FILE SoundTouchTargets.cmake
+  NAMESPACE SoundTouch::
+  DESTINATION "${SOUNDTOUCH_INSTALL_CMAKEDIR}"
+)
+configure_package_config_file(SoundTouchConfig.cmake.in
+  "${CMAKE_CURRENT_BINARY_DIR}/SoundTouchConfig.cmake"
+  INSTALL_DESTINATION "${SOUNDTOUCH_INSTALL_CMAKEDIR}"
+)
+write_basic_package_version_file(
+  "${CMAKE_CURRENT_BINARY_DIR}/SoundTouchConfigVersion.cmake"
+  VERSION "${CMAKE_PROJECT_VERSION}"
+  COMPATIBILITY SameMajorVersion
+)
+install(
+  FILES
+    "${CMAKE_CURRENT_BINARY_DIR}/SoundTouchConfig.cmake"
+    "${CMAKE_CURRENT_BINARY_DIR}/SoundTouchConfigVersion.cmake"
+  DESTINATION "${SOUNDTOUCH_INSTALL_CMAKEDIR}"
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/COPYING.TXT new/soundtouch/COPYING.TXT
--- old/soundtouch-2.2/COPYING.TXT      2020-10-15 17:23:34.000000000 +0200
+++ new/soundtouch/COPYING.TXT  2021-09-07 17:26:53.000000000 +0200
@@ -2,7 +2,7 @@
                       Version 2.1, February 1999
 
  Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -117,7 +117,7 @@
 
   0. This License Agreement applies to any software library or other
 program which contains a notice placed by the copyright holder or
-other authoried party saying it may be distributed under the terms of
+other authorized party saying it may be distributed under the terms of
 this Lesser General Public License (also called "this License").
 Each licensee is addressed as "you".
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/README.html new/soundtouch/README.html
--- old/soundtouch-2.2/README.html      2020-10-15 17:23:34.000000000 +0200
+++ new/soundtouch/README.html  2021-09-07 17:26:53.000000000 +0200
@@ -15,8 +15,8 @@
 
 <body class="normal">
   <hr>
-  <h1>SoundTouch audio processing library v2.2</h1>
-  <p class="normal">SoundTouch library Copyright &copy; Olli Parviainen 
2001-2020</p>
+  <h1>SoundTouch audio processing library v2.3.1</h1>
+  <p class="normal">SoundTouch library Copyright &copy; Olli Parviainen 
2001-2021</p>
   <hr>
   <h2>1. Introduction </h2>
   <p>SoundTouch is an open-source audio processing library that allows
@@ -39,7 +39,7 @@
   <hr>
   <h2>2. Compiling SoundTouch</h2>
   <p>Before compiling, notice that you can choose the sample data format if 
it's
-    desirable to use floating point sample data instead of 16bit integers. See
+    desirable to use 16bit integer sample data instead of floating point 
samples. See
     section &quot;sample data format&quot; for more information.</p>
   <p>Also notice that SoundTouch can use OpenMP instructions for parallel
     computation to accelerate the runtime processing speed in multi-core 
systems,
@@ -72,15 +72,17 @@
     <li>x64 64bit: C:\Program Files (x86)\Microsoft Visual Studio
       9.0\VC\redist\amd64\Microsoft.VC90.OPENMP\vcomp90.dll</li>
   </ul>
-  <p>In Visual Studio 2008, a SP1 version may be required for these libraries. 
In
-    other VC++ versions the required library will be expectedly found in 
similar
+  <p>In other VC++ versions the required library will be expectedly found in 
similar
     &quot;redist&quot; location.</p>
   <p>Notice that as minor demonstration of a &quot;dll hell&quot; phenomenon 
both the 32-bit
     and 64-bit version of vcomp90.dll have the same filename but different 
contents,
-    thus choose the proper version to allow the program start.</p>
+    thus choose the proper version to allow the program to start.</p>
   <h3>2.2. Building in Gnu platforms</h3>
   <p>The SoundTouch library compiles in practically any platform
-    supporting GNU compiler (GCC) tools. SoundTouch requires GCC version 4.3 
or later.</p>
+    supporting GNU compiler (GCC) tools.
+  <h4>2.2.1 Compiling with autotools</h4>
+  <p>To install build prerequisites for 'autotools' tool chain:</p>
+  <pre>    sudo apt-get install automake autoconf libtool build-essential</pre>
   <p>To build and install the binaries, run the following commands in
     /soundtouch directory:</p>
   <table border="0" cellpadding="0" cellspacing="4">
@@ -127,35 +129,28 @@
       </tr>
     </tbody>
   </table>
-  <h4><b>2.2.1 Required GNU tools</b></h4>
-  <p> <span style="font-weight: bold;">Bash shell</span>, <span 
style="font-weight: bold;">GNU C++ compiler</span>,
-    <span style="font-weight: bold;">libtool</span>, <span style="font-weight: 
bold;">autoconf</span> and <span
-      style="font-weight: bold;">automake</span> tools
-    are required for compiling the SoundTouch library. These are usually
-    included with the GNU/Linux distribution, but if not, install these
-    packages first. For example, Ubuntu Linux can acquire and install
-    these with the following command:</p>
-  <pre><b>sudo apt-get install automake autoconf libtool 
build-essential</b></pre>
-  <h4><b>2.2.2 Problems with GCC compiler compatibility</b></h4>
-  <p>At the release time the SoundTouch package has been tested to
-    compile in GNU/Linux platform. However, If you have problems getting the
-    SoundTouch library compiled, try disabling optimizations that are specific 
for
-    x86 processors by running <b>./configure</b> script with switch
-  <blockquote>
-    <pre>--enable-x86-optimizations=no</pre>
-  </blockquote>
 
-  Alternatively, if you don't use GNU Configure system, edit file 
"include/STTypes.h"
-  directly and remove the following definition:<blockquote>
-    <pre>#define SOUNDTOUCH_ALLOW_X86_OPTIMIZATIONS 1</pre>
-  </blockquote>
-
-  <h4><b>2.2.3 Compiling portable Shared Library / DLL version in GNU 
environment</b></h4>
-  <p> The GNU compilation does not automatically create a shared-library 
version of
+  <b>Compiling portable Shared Library / DLL version</b>
+  <p> The GNU autotools compilation does not automatically create a 
shared-library version of
     SoundTouch (.so or .dll) that features position-independent code and 
C-language
     api that are more suitable for cross-language development than C++ 
libraries.</p>
   <p> Use script "make-gnu-dll-sh" to build a portable dynamic library version 
if such is desired.</p>
 
+  <h4><b>2.2.2 Compiling with cmake</b></h4>
+  <p>'cmake' build scripts are provided as an alternative to the autotools 
toolchain.</p>
+  <p>To install cmake build prerequisites:</p>
+  <pre>    sudo apt-get install libtool build-essential cmake</pre>
+  <p>To build:</p>
+  <pre>
+    cmake .
+    make -j
+    make install</pre>
+  <p>To compile the additional portable Shared Library / DLL version with the 
native C-language API:</p>
+  <pre>
+    cmake . -DSOUNDTOUCH_DLL=ON
+    make -j
+    make install</pre>
+
   <h3>2.3. Building in Android</h3>
   <p>Android compilation instructions are within the
     source code package, see file 
&quot;<b>source/Android-lib/README-SoundTouch-Android.html</b>&quot;
@@ -171,7 +166,7 @@
 
   <h3>2.4. Building in Mac</h3>
   <p>Install autoconf tool as instructed in <a
-      
href="http://macappstore.org/autoconf/";>http://macappstore.org/autoconf/</a>.</p>
+      
href="http://macappstore.org/autoconf/";>http://macappstore.org/autoconf/</a>, 
or alternatively the 'cmake' toolchain.</p>
   <p>Then, build as described above in section "Building in Gnu platforms".</p>
 
   <hr>
@@ -304,7 +299,8 @@
         <br>
         This shouldn't be that critical parameter. If you reduce the
         DEFAULT_SEQUENCE_MS setting by a large amount, you might wish to try a
-        smaller value on this.</li>
+        smaller value on this.
+      </li>
     </ul>
     <p>Notice that these parameters can also be set during execution time
       with functions "<strong>TDStretch::setParameters()</strong>" and 
"<strong>SoundTouch::setSetting()</strong>".</p>
@@ -415,7 +411,8 @@
       quad-core ARM of Raspberry Pi2). </p>
     <p>See an external blog article with more detailed discussion about the
       <a 
href="http://www.softwarecoven.com/parallel-computing-in-embedded-mobile-devices/";>
-        SoundTouch OpenMP optimization</a>.</p>
+        SoundTouch OpenMP optimization</a>.
+    </p>
     <p>The parallel computing support is implemented using OpenMP spec 3.0
       instructions. These instructions are supported by Visual C++ 2008 and 
later, and
       GCC v4.2 and later. Compilers that do not supporting OpenMP will ignore 
these
@@ -439,7 +436,8 @@
         </strong>settings. Set
         there &quot;<strong>OpenMP support</strong>&quot; to 
&quot;<strong>Yes</strong>&quot;. Alternatively add
         <strong>/openmp</strong> switch to command-line
-        parameters</li>
+        parameters
+      </li>
       <li><strong>GNU</strong>: Run the configure script with 
&quot;<strong>./configure
           --enable-openmp</strong>&quot; switch, then run make as usually</li>
       <li><strong>Android</strong>: Add &quot;<strong>-fopenmp</strong>&quot; 
switches to compiler &amp; linker
@@ -605,6 +603,31 @@
     <hr>
     <h2>5. Change History</h2>
     <h3>5.1. SoundTouch library Change History </h3>
+    <p><b>2.3.1:</b></p>
+    <ul>
+      <li>Adjusted cmake build settings and header files that cmake 
installs</li>
+    </ul>
+    <p><b>2.3.0:</b></p>
+    <ul>
+      <li>Disable setting "SOUNDTOUCH_ALLOW_NONEXACT_SIMD_OPTIMIZATION" by 
default. The original
+        purpose of this setting was to avoid performance penalty due to 
unaligned SIMD memory
+        accesses in old CPUs, but that is not any more issue in concurrent CPU 
SIMD implementations
+        and having this setting enabled can cause slight compromise in result 
quality.
+      </li>
+      <li>Bugfix: soundtouch.clear() to really clear whole processing pipeline 
state. Earlier
+        individual variables were left uncleared, which caused slightly 
different result if
+        the same audio stream were processed again after calling clear().
+      </li>
+      <li>Bugfix: TDstretch to align initial offset position to be in middle 
of correlation search
+        window. This ensures that with zero tempo change the output will be 
same as input.
+      </li>
+      <li>Bugfix: Fix a bug in TDstrectch with too small initial skipFract 
value that occurred
+        with certain processing parameter settings: Replace assert with 
assignment that 
+        corrects the situation.
+      </li>
+      <li>Remove OpenMP "_init_threading" workaround from Android build as 
it's not needed with concurrent
+        Android SDKs any more.</li>
+    </ul>
     <p><b>2.2:</b></p>
     <ul>
       <li>Improved source codes so that compiler can autovectorize them more 
effectively.
@@ -973,4 +996,4 @@
     <hr>
 </body>
 
-</html>
+</html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/SoundTouchConfig.cmake.in 
new/soundtouch/SoundTouchConfig.cmake.in
--- old/soundtouch-2.2/SoundTouchConfig.cmake.in        1970-01-01 
01:00:00.000000000 +0100
+++ new/soundtouch/SoundTouchConfig.cmake.in    2021-09-07 17:26:53.000000000 
+0200
@@ -0,0 +1,14 @@
+@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/SoundTouchTargets.cmake")
+
+check_required_components(SoundTouch)
+
+get_target_property(SoundTouch_LOCATION SoundTouch::SoundTouch LOCATION)
+message(STATUS "Found SoundTouch: ${SoundTouch_LOCATION}")
+
+if(@SOUNDTOUCH_DLL@)
+  check_require_components(SoundTouchDLL)
+  get_target_property(SoundTouchDLL_LOCATION SoundTouch::SoundTouchDLL 
LOCATION)
+  message(STATUS "Found SoundTouchDLL: ${SoundTouchDLL_LOCATION}")
+endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/configure.ac 
new/soundtouch/configure.ac
--- old/soundtouch-2.2/configure.ac     2020-10-15 17:23:34.000000000 +0200
+++ new/soundtouch/configure.ac 2021-09-07 17:26:53.000000000 +0200
@@ -15,7 +15,7 @@
 dnl Place - Suite 330, Boston, MA  02111-1307, USA
 # Process this file with autoconf to produce a configure script.
 
-AC_INIT([SoundTouch], [2.2], [http://www.surina.net/soundtouch])
+AC_INIT([SoundTouch], [2.3.1], [http://www.surina.net/soundtouch])
 dnl Default to libSoundTouch.so.$LIB_SONAME.0.0
 LIB_SONAME=1
 AC_SUBST(LIB_SONAME)
@@ -33,7 +33,7 @@
 
 # Compiler flags. Apply -ffast-math to allow gcc autovectorization
 # generate effective SIMD code.
-CXXFLAGS="-O3 -ffast-math"
+CXXFLAGS+=" -O3 -ffast-math"
 
 # Set AR_FLAGS to avoid build warning "ar: `u' modifier ignored since `D' is 
the default (see `U')"
 AR_FLAGS='cr'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/include/STTypes.h 
new/soundtouch/include/STTypes.h
--- old/soundtouch-2.2/include/STTypes.h        2020-10-15 17:23:34.000000000 
+0200
+++ new/soundtouch/include/STTypes.h    2021-09-07 17:26:53.000000000 +0200
@@ -121,10 +121,10 @@
 
     #endif
 
-    // If defined, allows the SIMD-optimized routines to take minor shortcuts 
-    // for improved performance. Undefine to require faithfully similar SIMD 
-    // calculations as in normal C implementation.
-    #define SOUNDTOUCH_ALLOW_NONEXACT_SIMD_OPTIMIZATION    1
+    // If defined, allows the SIMD-optimized routines to skip unevenly aligned
+    // memory offsets that can cause performance penalty in some SIMD 
implementations.
+    // Causes slight compromise in sound quality.
+    // #define SOUNDTOUCH_ALLOW_NONEXACT_SIMD_OPTIMIZATION    1
 
 
     #ifdef SOUNDTOUCH_INTEGER_SAMPLES
@@ -166,7 +166,7 @@
         #endif
     #endif
 
-};
+}
 
 // define ST_NO_EXCEPTION_HANDLING switch to disable throwing std exceptions:
 // #define ST_NO_EXCEPTION_HANDLING    1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/include/SoundTouch.h 
new/soundtouch/include/SoundTouch.h
--- old/soundtouch-2.2/include/SoundTouch.h     2020-10-15 17:23:34.000000000 
+0200
+++ new/soundtouch/include/SoundTouch.h 2021-09-07 17:26:53.000000000 +0200
@@ -72,10 +72,10 @@
 {
 
 /// Soundtouch library version string
-#define SOUNDTOUCH_VERSION          "2.2"
+#define SOUNDTOUCH_VERSION          "2.3.1"
 
 /// SoundTouch library version id
-#define SOUNDTOUCH_VERSION_ID       (20200)
+#define SOUNDTOUCH_VERSION_ID       (20301)
 
 //
 // Available setting IDs for the 'setSetting' & 'get_setting' functions:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/include/soundtouch_config.h 
new/soundtouch/include/soundtouch_config.h
--- old/soundtouch-2.2/include/soundtouch_config.h      1970-01-01 
01:00:00.000000000 +0100
+++ new/soundtouch/include/soundtouch_config.h  2021-09-07 17:26:53.000000000 
+0200
@@ -0,0 +1,3 @@
+// autotools configuration step replaces this file with a configured version.
+// this empty file stub is provided to avoid error about missing include file
+// when not using autotools build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/readme.md new/soundtouch/readme.md
--- old/soundtouch-2.2/readme.md        2020-10-15 17:23:34.000000000 +0200
+++ new/soundtouch/readme.md    2021-09-07 17:26:53.000000000 +0200
@@ -9,7 +9,7 @@
 
 Visit [SoundTouch website](https://www.surina.net/soundtouch) and see the 
[README file](README.html) for more information and audio examples.
 
-### The latest stable release is 2.2
+### The latest stable release is 2.3.1
 
 ## Example
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/source/Android-lib/jni/Android.mk 
new/soundtouch/source/Android-lib/jni/Android.mk
--- old/soundtouch-2.2/source/Android-lib/jni/Android.mk        2020-10-15 
17:23:34.000000000 +0200
+++ new/soundtouch/source/Android-lib/jni/Android.mk    2021-09-07 
17:26:53.000000000 +0200
@@ -1,18 +1,3 @@
-# Copyright (C) 2010 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
 LOCAL_PATH := $(call my-dir)
 
 include $(CLEAR_VARS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/soundtouch-2.2/source/Android-lib/jni/soundtouch-jni.cpp 
new/soundtouch/source/Android-lib/jni/soundtouch-jni.cpp
--- old/soundtouch-2.2/source/Android-lib/jni/soundtouch-jni.cpp        
2020-10-15 17:23:34.000000000 +0200
+++ new/soundtouch/source/Android-lib/jni/soundtouch-jni.cpp    2021-09-07 
17:26:53.000000000 +0200
@@ -41,7 +41,7 @@
        _errMsg = msg;
 }
 
-
+#if 0   // apparently following workaround not needed any more with concurrent 
Android SDKs
 #ifdef _OPENMP
 
 #include <pthread.h>
@@ -90,6 +90,7 @@
 }
 #endif
 
+#endif
 
 // Processes the sound file
 static void _processFile(SoundTouch *pSoundTouch, const char *inFileName, 
const char *outFileName)
@@ -162,8 +163,9 @@
     // Call example SoundTouch routine
     verStr = SoundTouch::getVersionString();
 
-    /// gomp_tls storage bug workaround - see comments in _init_threading() 
function!
-    _init_threading(false);
+    // gomp_tls storage bug workaround - see comments in _init_threading() 
function!
+    // update: apparently this is not needed any more with concurrent Android 
SDKs
+    // _init_threading(false);
 
     int threads = 0;
        #pragma omp parallel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/source/SoundTouch/InterpolateCubic.h 
new/soundtouch/source/SoundTouch/InterpolateCubic.h
--- old/soundtouch-2.2/source/SoundTouch/InterpolateCubic.h     2020-10-15 
17:23:34.000000000 +0200
+++ new/soundtouch/source/SoundTouch/InterpolateCubic.h 2021-09-07 
17:26:53.000000000 +0200
@@ -41,7 +41,6 @@
 class InterpolateCubic : public TransposerBase
 {
 protected:
-    virtual void resetRegisters();
     virtual int transposeMono(SAMPLETYPE *dest, 
                         const SAMPLETYPE *src, 
                         int &srcSamples);
@@ -57,6 +56,8 @@
 public:
     InterpolateCubic();
 
+    virtual void resetRegisters();
+
     int getLatency() const
     {
         return 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/source/SoundTouch/InterpolateLinear.h 
new/soundtouch/source/SoundTouch/InterpolateLinear.h
--- old/soundtouch-2.2/source/SoundTouch/InterpolateLinear.h    2020-10-15 
17:23:34.000000000 +0200
+++ new/soundtouch/source/SoundTouch/InterpolateLinear.h        2021-09-07 
17:26:53.000000000 +0200
@@ -45,8 +45,6 @@
     int iFract;
     int iRate;
 
-    virtual void resetRegisters();
-
     virtual int transposeMono(SAMPLETYPE *dest, 
                        const SAMPLETYPE *src, 
                        int &srcSamples);
@@ -61,6 +59,8 @@
     /// rate, larger faster rates.
     virtual void setRate(double newRate);
 
+    virtual void resetRegisters();
+
     int getLatency() const
     {
         return 0;
@@ -74,8 +74,6 @@
 protected:
     double fract;
 
-    virtual void resetRegisters();
-
     virtual int transposeMono(SAMPLETYPE *dest, 
                        const SAMPLETYPE *src, 
                        int &srcSamples);
@@ -87,6 +85,8 @@
 public:
     InterpolateLinearFloat();
 
+    virtual void resetRegisters();
+
     int getLatency() const
     {
         return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/soundtouch-2.2/source/SoundTouch/InterpolateShannon.h 
new/soundtouch/source/SoundTouch/InterpolateShannon.h
--- old/soundtouch-2.2/source/SoundTouch/InterpolateShannon.h   2020-10-15 
17:23:34.000000000 +0200
+++ new/soundtouch/source/SoundTouch/InterpolateShannon.h       2021-09-07 
17:26:53.000000000 +0200
@@ -46,7 +46,6 @@
 class InterpolateShannon : public TransposerBase
 {
 protected:
-    void resetRegisters();
     int transposeMono(SAMPLETYPE *dest, 
                         const SAMPLETYPE *src, 
                         int &srcSamples);
@@ -62,6 +61,8 @@
 public:
     InterpolateShannon();
 
+    void resetRegisters();
+
     int getLatency() const
     {
         return 3;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/source/SoundTouch/RateTransposer.cpp 
new/soundtouch/source/SoundTouch/RateTransposer.cpp
--- old/soundtouch-2.2/source/SoundTouch/RateTransposer.cpp     2020-10-15 
17:23:34.000000000 +0200
+++ new/soundtouch/source/SoundTouch/RateTransposer.cpp 2021-09-07 
17:26:53.000000000 +0200
@@ -78,6 +78,7 @@
 #ifndef SOUNDTOUCH_PREVENT_CLICK_AT_RATE_CROSSOVER
     // Disable Anti-alias filter if desirable to avoid click at rate change 
zero value crossover
     bUseAAFilter = newMode;
+    clear();
 #endif
 }
 
@@ -193,6 +194,7 @@
     outputBuffer.clear();
     midBuffer.clear();
     inputBuffer.clear();
+    pTransposer->resetRegisters();
 
     // prefill buffer to avoid losing first samples at beginning of stream
     int prefill = getLatency();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/source/SoundTouch/RateTransposer.h 
new/soundtouch/source/SoundTouch/RateTransposer.h
--- old/soundtouch-2.2/source/SoundTouch/RateTransposer.h       2020-10-15 
17:23:34.000000000 +0200
+++ new/soundtouch/source/SoundTouch/RateTransposer.h   2021-09-07 
17:26:53.000000000 +0200
@@ -59,8 +59,6 @@
     };
 
 protected:
-    virtual void resetRegisters() = 0;
-
     virtual int transposeMono(SAMPLETYPE *dest, 
                         const SAMPLETYPE *src, 
                         int &srcSamples)  = 0;
@@ -85,6 +83,8 @@
     virtual void setChannels(int channels);
     virtual int getLatency() const = 0;
 
+    virtual void resetRegisters() = 0;
+
     // static factory function
     static TransposerBase *newInstance();
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/source/SoundTouch/TDStretch.cpp 
new/soundtouch/source/SoundTouch/TDStretch.cpp
--- old/soundtouch-2.2/source/SoundTouch/TDStretch.cpp  2020-10-15 
17:23:34.000000000 +0200
+++ new/soundtouch/source/SoundTouch/TDStretch.cpp      2021-09-07 
17:26:53.000000000 +0200
@@ -92,11 +92,6 @@
     bAutoSeqSetting = true;
     bAutoSeekSetting = true;
 
-    maxnorm = 0;
-    maxnormf = 1e8;
-
-    skipFract = 0;
-
     tempo = 1.0f;
     setParameters(44100, DEFAULT_SEQUENCE_MS, DEFAULT_SEEKWINDOW_MS, 
DEFAULT_OVERLAP_MS);
     setTempo(1.0f);
@@ -223,6 +218,9 @@
     inputBuffer.clear();
     clearMidBuffer();
     isBeginning = true;
+    maxnorm = 0;
+    maxnormf = 1e8;
+    skipFract = 0;
 }
 
 
@@ -675,7 +673,7 @@
             // Adjust processing offset at beginning of track by not perform 
initial overlapping
             // and compensating that in the 'input buffer skip' calculation
             isBeginning = false;
-            int skip = (int)(tempo * overlapLength + 0.5);
+            int skip = (int)(tempo * overlapLength + 0.5 * seekLength + 0.5);
 
             #ifdef ST_SIMD_AVOID_UNALIGNED
             // in SIMD mode, round the skip amount to value corresponding to 
aligned memory address
@@ -689,7 +687,10 @@
             }
             #endif
             skipFract -= skip;
-            assert(nominalSkip >= -skipFract);
+            if (skipFract <= -nominalSkip)
+            {
+                skipFract = -nominalSkip;
+            }
         }
 
         // ... then copy sequence samples from 'inputBuffer' to output:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/source/SoundTouchDLL/SoundTouchDLL.h 
new/soundtouch/source/SoundTouchDLL/SoundTouchDLL.h
--- old/soundtouch-2.2/source/SoundTouchDLL/SoundTouchDLL.h     2020-10-15 
17:23:34.000000000 +0200
+++ new/soundtouch/source/SoundTouchDLL/SoundTouchDLL.h 2021-09-07 
17:26:53.000000000 +0200
@@ -48,7 +48,7 @@
 #else
     // GNU version
 
-    #ifdef DLL_EXPORTS
+    #if defined(DLL_EXPORTS) || defined(SoundTouchDLL_EXPORTS)
         // GCC declaration for exporting functions
         #define SOUNDTOUCHDLL_API extern "C" 
__attribute__((__visibility__("default")))
     #else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/soundtouch-2.2/source/SoundTouchDLL/SoundTouchDLL.rc 
new/soundtouch/source/SoundTouchDLL/SoundTouchDLL.rc
--- old/soundtouch-2.2/source/SoundTouchDLL/SoundTouchDLL.rc    2020-10-15 
17:23:34.000000000 +0200
+++ new/soundtouch/source/SoundTouchDLL/SoundTouchDLL.rc        2021-09-07 
17:26:53.000000000 +0200
@@ -69,12 +69,12 @@
         BEGIN
             VALUE "Comments", "SoundTouch Library licensed for 3rd party 
applications subject to LGPL license v2.1. Visit 
http://www.surina.net/soundtouch for more information about the SoundTouch 
library."
             VALUE "FileDescription", "SoundTouch Dynamic Link Library"
-            VALUE "FileVersion", "2.2.0.0"
+            VALUE "FileVersion", "2.3.1.0"
             VALUE "InternalName", "SoundTouch"
-            VALUE "LegalCopyright", "Copyright (C) Olli Parviainen 2020"
+            VALUE "LegalCopyright", "Copyright (C) Olli Parviainen 2021"
             VALUE "OriginalFilename", "SoundTouch.dll"
             VALUE "ProductName", " SoundTouch Dynamic Link Library"
-            VALUE "ProductVersion", "2.2.0.0"
+            VALUE "ProductVersion", "2.3.1.0"
         END
     END
     BLOCK "VarFileInfo"

Reply via email to