Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libopenmpt for openSUSE:Factory 
checked in at 2022-06-17 21:18:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libopenmpt (Old)
 and      /work/SRC/openSUSE:Factory/.libopenmpt.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libopenmpt"

Fri Jun 17 21:18:32 2022 rev:37 rq:982866 version:0.6.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/libopenmpt/libopenmpt.changes    2022-05-24 
20:30:53.270893755 +0200
+++ /work/SRC/openSUSE:Factory/.libopenmpt.new.1548/libopenmpt.changes  
2022-06-17 21:18:45.338651123 +0200
@@ -1,0 +2,7 @@
+Wed Jun 15 16:59:32 UTC 2022 - Mia Herkt <m...@0x0.st>
+
+- Update to 0.6.4
+  * Fix: Ping-pong sample loops sometimes stopped playing at the
+    end of the loop.
+
+-------------------------------------------------------------------

Old:
----
  libopenmpt-0.6.3+release.autotools.tar.gz

New:
----
  libopenmpt-0.6.4+release.autotools.tar.gz

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

Other differences:
------------------
++++++ libopenmpt.spec ++++++
--- /var/tmp/diff_new_pack.5NDqYt/_old  2022-06-17 21:18:45.902651428 +0200
+++ /var/tmp/diff_new_pack.5NDqYt/_new  2022-06-17 21:18:45.906651431 +0200
@@ -21,7 +21,7 @@
 %define libopenmpt_modplug_version 0.8.9.0
 
 Name:           libopenmpt
-Version:        0.6.3
+Version:        0.6.4
 Release:        0
 Summary:        C++ and C library to decode tracker music files
 License:        BSD-3-Clause

++++++ libopenmpt-0.6.3+release.autotools.tar.gz -> 
libopenmpt-0.6.4+release.autotools.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libopenmpt-0.6.3+release.autotools/Makefile.am 
new/libopenmpt-0.6.4+release.autotools/Makefile.am
--- old/libopenmpt-0.6.3+release.autotools/Makefile.am  2021-08-18 
18:28:21.000000000 +0200
+++ new/libopenmpt-0.6.4+release.autotools/Makefile.am  2022-05-12 
14:31:43.000000000 +0200
@@ -73,26 +73,26 @@
 libopenmpt_example_cxx_SOURCES = examples/libopenmpt_example_cxx.cpp
 endif
 
-libopenmpt_example_c_stdout_CPPFLAGS = 
-libopenmpt_example_c_probe_CPPFLAGS = 
+libopenmpt_example_c_stdout_CPPFLAGS = $(WIN32_CPPFLAGS)
+libopenmpt_example_c_probe_CPPFLAGS = $(WIN32_CPPFLAGS)
 if HAVE_PORTAUDIO
-libopenmpt_example_c_CPPFLAGS = $(PORTAUDIO_CFLAGS)
-libopenmpt_example_c_mem_CPPFLAGS = $(PORTAUDIO_CFLAGS)
-libopenmpt_example_c_unsafe_CPPFLAGS = $(PORTAUDIO_CFLAGS)
+libopenmpt_example_c_CPPFLAGS = $(WIN32_CPPFLAGS) $(PORTAUDIO_CFLAGS)
+libopenmpt_example_c_mem_CPPFLAGS = $(WIN32_CPPFLAGS) $(PORTAUDIO_CFLAGS)
+libopenmpt_example_c_unsafe_CPPFLAGS = $(WIN32_CPPFLAGS) $(PORTAUDIO_CFLAGS)
 endif
 if HAVE_PORTAUDIOCPP
-libopenmpt_example_cxx_CPPFLAGS = $(MINGWSTDTHREADS_CPPFLAGS) 
$(PORTAUDIOCPP_CFLAGS)
+libopenmpt_example_cxx_CPPFLAGS = $(WIN32_CPPFLAGS) 
$(MINGWSTDTHREADS_CPPFLAGS) $(PORTAUDIOCPP_CFLAGS)
 endif
 
-libopenmpt_example_c_stdout_CFLAGS = $(WIN32_CONSOLE_CFLAGS)
-libopenmpt_example_c_probe_CFLAGS = $(WIN32_CONSOLE_CFLAGS)
+libopenmpt_example_c_stdout_CFLAGS = $(WIN32_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
+libopenmpt_example_c_probe_CFLAGS = $(WIN32_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
 if HAVE_PORTAUDIO
-libopenmpt_example_c_CFLAGS = $(WIN32_CONSOLE_CFLAGS)
-libopenmpt_example_c_mem_CFLAGS = $(WIN32_CONSOLE_CFLAGS)
-libopenmpt_example_c_unsafe_CFLAGS = $(WIN32_CONSOLE_CFLAGS)
+libopenmpt_example_c_CFLAGS = $(WIN32_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
+libopenmpt_example_c_mem_CFLAGS = $(WIN32_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
+libopenmpt_example_c_unsafe_CFLAGS = $(WIN32_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
 endif
 if HAVE_PORTAUDIOCPP
-libopenmpt_example_cxx_CXXFLAGS = $(WIN32_CONSOLE_CXXFLAGS)
+libopenmpt_example_cxx_CXXFLAGS = $(WIN32_CXXFLAGS) $(WIN32_CONSOLE_CXXFLAGS)
 endif
 
 libopenmpt_example_c_stdout_LDADD = $(lib_LTLIBRARIES)
@@ -512,10 +512,14 @@
 nobase_include_HEADERS += libopenmpt/libopenmpt_stream_callbacks_file.h
 nobase_include_HEADERS += libopenmpt/libopenmpt_ext.h
 nobase_include_HEADERS += libopenmpt/libopenmpt_ext.hpp
-libopenmpt_la_CPPFLAGS = $(MINGWSTDTHREADS_CPPFLAGS) -DLIBOPENMPT_BUILD 
-I$(srcdir)/build/svn_version -I$(srcdir)/ -I$(srcdir)/src -I$(srcdir)/common 
$(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) 
$(VORBISFILE_CFLAGS)
-libopenmpt_la_CXXFLAGS = $(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) 
$(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
-libopenmpt_la_CFLAGS = $(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) 
$(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
-libopenmpt_la_LIBADD = $(ZLIB_LIBS) $(MPG123_LIBS) $(OGG_LIBS) $(VORBIS_LIBS) 
$(VORBISFILE_LIBS) $(LIBOPENMPT_WIN32_LIBS)
+libopenmpt_la_CPPFLAGS =
+libopenmpt_la_CPPFLAGS += $(WIN32_CPPFLAGS) $(MINGWSTDTHREADS_CPPFLAGS) 
-DLIBOPENMPT_BUILD -I$(srcdir)/build/svn_version -I$(srcdir)/ -I$(srcdir)/src 
-I$(srcdir)/common $(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) 
$(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
+libopenmpt_la_CXXFLAGS =
+libopenmpt_la_CXXFLAGS += $(WIN32_CXXFLAGS) $(ZLIB_CFLAGS) $(MPG123_CFLAGS) 
$(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
+libopenmpt_la_CFLAGS =
+libopenmpt_la_CFLAGS += $(WIN32_CFLAGS) $(ZLIB_CFLAGS) $(MPG123_CFLAGS) 
$(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
+libopenmpt_la_LIBADD =
+libopenmpt_la_LIBADD += $(ZLIB_LIBS) $(MPG123_LIBS) $(OGG_LIBS) $(VORBIS_LIBS) 
$(VORBISFILE_LIBS) $(LIBOPENMPT_WIN32_LIBS)
 libopenmpt_la_SOURCES = 
 libopenmpt_la_SOURCES += build/svn_version/svn_version.h
 libopenmpt_la_SOURCES += $(MPT_FILES_SRC_MPT)
@@ -543,10 +547,14 @@
 
 if ENABLE_TESTS
 check_PROGRAMS += libopenmpttest
-libopenmpttest_CPPFLAGS = $(MINGWSTDTHREADS_CPPFLAGS) -DLIBOPENMPT_BUILD 
-DLIBOPENMPT_BUILD_TEST -I$(srcdir)/build/svn_version -I$(srcdir)/ 
-I$(srcdir)/src -I$(srcdir)/common $(ZLIB_CFLAGS) $(MPG123_CFLAGS) 
$(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
-libopenmpttest_CXXFLAGS = $(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) 
$(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS) $(WIN32_CONSOLE_CXXFLAGS)
-libopenmpttest_CFLAGS = $(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) 
$(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
-libopenmpttest_LDADD = $(ZLIB_LIBS) $(MPG123_LIBS) $(OGG_LIBS) $(VORBIS_LIBS) 
$(VORBISFILE_LIBS) $(LIBOPENMPT_WIN32_LIB)
+libopenmpttest_CPPFLAGS =
+libopenmpttest_CPPFLAGS += $(WIN32_CPPFLAGS) $(MINGWSTDTHREADS_CPPFLAGS) 
-DLIBOPENMPT_BUILD -DLIBOPENMPT_BUILD_TEST -I$(srcdir)/build/svn_version 
-I$(srcdir)/ -I$(srcdir)/src -I$(srcdir)/common $(ZLIB_CFLAGS) $(MPG123_CFLAGS) 
$(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
+libopenmpttest_CXXFLAGS =
+libopenmpttest_CXXFLAGS += $(WIN32_CXXFLAGS) $(ZLIB_CFLAGS) $(MPG123_CFLAGS) 
$(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS) $(WIN32_CONSOLE_CXXFLAGS)
+libopenmpttest_CFLAGS =
+libopenmpttest_CFLAGS += $(WIN32_CFLAGS) $(ZLIB_CFLAGS) $(MPG123_CFLAGS) 
$(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
+libopenmpttest_LDADD =
+libopenmpttest_LDADD += $(ZLIB_LIBS) $(MPG123_LIBS) $(OGG_LIBS) $(VORBIS_LIBS) 
$(VORBISFILE_LIBS) $(LIBOPENMPT_WIN32_LIBS)
 libopenmpttest_SOURCES = 
 libopenmpttest_SOURCES += libopenmpt/libopenmpt_test.cpp
 libopenmpttest_SOURCES += test/mpt_tests_base.cpp
@@ -596,8 +604,10 @@
 if ENABLE_OPENMPT123
 
 bin_PROGRAMS += bin/openmpt123
-bin_openmpt123_CPPFLAGS = $(MINGWSTDTHREADS_CPPFLAGS) -I$(srcdir)/src 
$(PORTAUDIO_CFLAGS) $(PULSEAUDIO_CFLAGS) $(SDL2_CFLAGS) $(SNDFILE_CFLAGS) 
$(FLAC_CFLAGS)
-bin_openmpt123_CXXFLAGS = $(WIN32_CONSOLE_CXXFLAGS)
+bin_openmpt123_CPPFLAGS =
+bin_openmpt123_CPPFLAGS += $(WIN32_CPPFLAGS) $(MINGWSTDTHREADS_CPPFLAGS) 
-I$(srcdir)/src $(PORTAUDIO_CFLAGS) $(PULSEAUDIO_CFLAGS) $(SDL2_CFLAGS) 
$(SNDFILE_CFLAGS) $(FLAC_CFLAGS)
+bin_openmpt123_CXXFLAGS =
+bin_openmpt123_CXXFLAGS += $(WIN32_CXXFLAGS) $(WIN32_CONSOLE_CXXFLAGS)
 bin_openmpt123_LDADD = libopenmpt.la $(PORTAUDIO_LIBS) $(PULSEAUDIO_LIBS) 
$(SDL2_LIBS) $(SNDFILE_LIBS) $(FLAC_LIBS) $(OPENMPT123_WIN32_LIBS)
 bin_openmpt123_SOURCES = 
 bin_openmpt123_SOURCES += $(MPT_FILES_SRC_MPT)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libopenmpt-0.6.3+release.autotools/Makefile.in 
new/libopenmpt-0.6.4+release.autotools/Makefile.in
--- old/libopenmpt-0.6.3+release.autotools/Makefile.in  2022-04-24 
15:28:18.000000000 +0200
+++ new/libopenmpt-0.6.4+release.autotools/Makefile.in  2022-06-12 
16:18:43.000000000 +0200
@@ -885,7 +885,7 @@
 @ENABLE_TESTS_TRUE@libopenmpttest_DEPENDENCIES =  \
 @ENABLE_TESTS_TRUE@    $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 @ENABLE_TESTS_TRUE@    $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-@ENABLE_TESTS_TRUE@    $(am__DEPENDENCIES_1)
+@ENABLE_TESTS_TRUE@    $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 libopenmpttest_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
        $(libopenmpttest_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
@@ -1604,8 +1604,11 @@
 VORBISFILE_LIBS = @VORBISFILE_LIBS@
 VORBIS_CFLAGS = @VORBIS_CFLAGS@
 VORBIS_LIBS = @VORBIS_LIBS@
+WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CONSOLE_CFLAGS = @WIN32_CONSOLE_CFLAGS@
 WIN32_CONSOLE_CXXFLAGS = @WIN32_CONSOLE_CXXFLAGS@
+WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
+WIN32_CXXFLAGS = @WIN32_CXXFLAGS@
 ZLIB_CFLAGS = @ZLIB_CFLAGS@
 ZLIB_LIBS = @ZLIB_LIBS@
 abs_builddir = @abs_builddir@
@@ -1691,18 +1694,18 @@
 @ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_mem_SOURCES = 
examples/libopenmpt_example_c_mem.c
 @ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_unsafe_SOURCES 
= examples/libopenmpt_example_c_unsafe.c
 @ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIOCPP_TRUE@libopenmpt_example_cxx_SOURCES = 
examples/libopenmpt_example_cxx.cpp
-@ENABLE_EXAMPLES_TRUE@libopenmpt_example_c_stdout_CPPFLAGS = 
-@ENABLE_EXAMPLES_TRUE@libopenmpt_example_c_probe_CPPFLAGS = 
-@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_CPPFLAGS = 
$(PORTAUDIO_CFLAGS)
-@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_mem_CPPFLAGS = 
$(PORTAUDIO_CFLAGS)
-@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_unsafe_CPPFLAGS
 = $(PORTAUDIO_CFLAGS)
-@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIOCPP_TRUE@libopenmpt_example_cxx_CPPFLAGS 
= $(MINGWSTDTHREADS_CPPFLAGS) $(PORTAUDIOCPP_CFLAGS)
-@ENABLE_EXAMPLES_TRUE@libopenmpt_example_c_stdout_CFLAGS = 
$(WIN32_CONSOLE_CFLAGS)
-@ENABLE_EXAMPLES_TRUE@libopenmpt_example_c_probe_CFLAGS = 
$(WIN32_CONSOLE_CFLAGS)
-@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_CFLAGS = 
$(WIN32_CONSOLE_CFLAGS)
-@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_mem_CFLAGS = 
$(WIN32_CONSOLE_CFLAGS)
-@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_unsafe_CFLAGS 
= $(WIN32_CONSOLE_CFLAGS)
-@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIOCPP_TRUE@libopenmpt_example_cxx_CXXFLAGS 
= $(WIN32_CONSOLE_CXXFLAGS)
+@ENABLE_EXAMPLES_TRUE@libopenmpt_example_c_stdout_CPPFLAGS = $(WIN32_CPPFLAGS)
+@ENABLE_EXAMPLES_TRUE@libopenmpt_example_c_probe_CPPFLAGS = $(WIN32_CPPFLAGS)
+@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_CPPFLAGS = 
$(WIN32_CPPFLAGS) $(PORTAUDIO_CFLAGS)
+@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_mem_CPPFLAGS = 
$(WIN32_CPPFLAGS) $(PORTAUDIO_CFLAGS)
+@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_unsafe_CPPFLAGS
 = $(WIN32_CPPFLAGS) $(PORTAUDIO_CFLAGS)
+@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIOCPP_TRUE@libopenmpt_example_cxx_CPPFLAGS 
= $(WIN32_CPPFLAGS) $(MINGWSTDTHREADS_CPPFLAGS) $(PORTAUDIOCPP_CFLAGS)
+@ENABLE_EXAMPLES_TRUE@libopenmpt_example_c_stdout_CFLAGS = $(WIN32_CFLAGS) 
$(WIN32_CONSOLE_CFLAGS)
+@ENABLE_EXAMPLES_TRUE@libopenmpt_example_c_probe_CFLAGS = $(WIN32_CFLAGS) 
$(WIN32_CONSOLE_CFLAGS)
+@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_CFLAGS = 
$(WIN32_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
+@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_mem_CFLAGS = 
$(WIN32_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
+@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_unsafe_CFLAGS 
= $(WIN32_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
+@ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIOCPP_TRUE@libopenmpt_example_cxx_CXXFLAGS 
= $(WIN32_CXXFLAGS) $(WIN32_CONSOLE_CXXFLAGS)
 @ENABLE_EXAMPLES_TRUE@libopenmpt_example_c_stdout_LDADD = $(lib_LTLIBRARIES)
 @ENABLE_EXAMPLES_TRUE@libopenmpt_example_c_probe_LDADD = $(lib_LTLIBRARIES)
 @ENABLE_EXAMPLES_TRUE@@HAVE_PORTAUDIO_TRUE@libopenmpt_example_c_LDADD = 
$(lib_LTLIBRARIES) $(PORTAUDIO_LIBS)
@@ -1952,10 +1955,18 @@
        sounddsp/DSP.h sounddsp/EQ.cpp sounddsp/EQ.h \
        sounddsp/Reverb.cpp sounddsp/Reverb.h
 libopenmpt_la_LDFLAGS = -version-info 
$(LIBOPENMPT_LTVER_CURRENT):$(LIBOPENMPT_LTVER_REVISION):$(LIBOPENMPT_LTVER_AGE)
 -no-undefined
-libopenmpt_la_CPPFLAGS = $(MINGWSTDTHREADS_CPPFLAGS) -DLIBOPENMPT_BUILD 
-I$(srcdir)/build/svn_version -I$(srcdir)/ -I$(srcdir)/src -I$(srcdir)/common 
$(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) 
$(VORBISFILE_CFLAGS)
-libopenmpt_la_CXXFLAGS = $(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) 
$(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
-libopenmpt_la_CFLAGS = $(ZLIB_CFLAGS) $(MPG123_CFLAGS) $(OGG_CFLAGS) 
$(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
-libopenmpt_la_LIBADD = $(ZLIB_LIBS) $(MPG123_LIBS) $(OGG_LIBS) $(VORBIS_LIBS) 
$(VORBISFILE_LIBS) $(LIBOPENMPT_WIN32_LIBS)
+libopenmpt_la_CPPFLAGS = $(WIN32_CPPFLAGS) $(MINGWSTDTHREADS_CPPFLAGS) \
+       -DLIBOPENMPT_BUILD -I$(srcdir)/build/svn_version -I$(srcdir)/ \
+       -I$(srcdir)/src -I$(srcdir)/common $(ZLIB_CFLAGS) \
+       $(MPG123_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) \
+       $(VORBISFILE_CFLAGS)
+libopenmpt_la_CXXFLAGS = $(WIN32_CXXFLAGS) $(ZLIB_CFLAGS) \
+       $(MPG123_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) \
+       $(VORBISFILE_CFLAGS)
+libopenmpt_la_CFLAGS = $(WIN32_CFLAGS) $(ZLIB_CFLAGS) $(MPG123_CFLAGS) \
+       $(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
+libopenmpt_la_LIBADD = $(ZLIB_LIBS) $(MPG123_LIBS) $(OGG_LIBS) \
+       $(VORBIS_LIBS) $(VORBISFILE_LIBS) $(LIBOPENMPT_WIN32_LIBS)
 libopenmpt_la_SOURCES = build/svn_version/svn_version.h \
        $(MPT_FILES_SRC_MPT) $(MPT_FILES_SRC_OPENMPT) \
        $(MPT_FILES_COMMON) $(MPT_FILES_SOUNDBASE) \
@@ -1971,10 +1982,27 @@
        libopenmpt/libopenmpt_stream_callbacks_fd.h \
        libopenmpt/libopenmpt_stream_callbacks_file.h \
        libopenmpt/libopenmpt_version.h
-@ENABLE_TESTS_TRUE@libopenmpttest_CPPFLAGS = $(MINGWSTDTHREADS_CPPFLAGS) 
-DLIBOPENMPT_BUILD -DLIBOPENMPT_BUILD_TEST -I$(srcdir)/build/svn_version 
-I$(srcdir)/ -I$(srcdir)/src -I$(srcdir)/common $(ZLIB_CFLAGS) $(MPG123_CFLAGS) 
$(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS)
-@ENABLE_TESTS_TRUE@libopenmpttest_CXXFLAGS = $(ZLIB_CFLAGS) $(MPG123_CFLAGS) 
$(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS) $(WIN32_CONSOLE_CXXFLAGS)
-@ENABLE_TESTS_TRUE@libopenmpttest_CFLAGS = $(ZLIB_CFLAGS) $(MPG123_CFLAGS) 
$(OGG_CFLAGS) $(VORBIS_CFLAGS) $(VORBISFILE_CFLAGS) $(WIN32_CONSOLE_CFLAGS)
-@ENABLE_TESTS_TRUE@libopenmpttest_LDADD = $(ZLIB_LIBS) $(MPG123_LIBS) 
$(OGG_LIBS) $(VORBIS_LIBS) $(VORBISFILE_LIBS) $(LIBOPENMPT_WIN32_LIB)
+@ENABLE_TESTS_TRUE@libopenmpttest_CPPFLAGS = $(WIN32_CPPFLAGS) \
+@ENABLE_TESTS_TRUE@    $(MINGWSTDTHREADS_CPPFLAGS) \
+@ENABLE_TESTS_TRUE@    -DLIBOPENMPT_BUILD -DLIBOPENMPT_BUILD_TEST \
+@ENABLE_TESTS_TRUE@    -I$(srcdir)/build/svn_version -I$(srcdir)/ \
+@ENABLE_TESTS_TRUE@    -I$(srcdir)/src -I$(srcdir)/common \
+@ENABLE_TESTS_TRUE@    $(ZLIB_CFLAGS) $(MPG123_CFLAGS) \
+@ENABLE_TESTS_TRUE@    $(OGG_CFLAGS) $(VORBIS_CFLAGS) \
+@ENABLE_TESTS_TRUE@    $(VORBISFILE_CFLAGS)
+@ENABLE_TESTS_TRUE@libopenmpttest_CXXFLAGS = $(WIN32_CXXFLAGS) \
+@ENABLE_TESTS_TRUE@    $(ZLIB_CFLAGS) $(MPG123_CFLAGS) \
+@ENABLE_TESTS_TRUE@    $(OGG_CFLAGS) $(VORBIS_CFLAGS) \
+@ENABLE_TESTS_TRUE@    $(VORBISFILE_CFLAGS) \
+@ENABLE_TESTS_TRUE@    $(WIN32_CONSOLE_CXXFLAGS)
+@ENABLE_TESTS_TRUE@libopenmpttest_CFLAGS = $(WIN32_CFLAGS) \
+@ENABLE_TESTS_TRUE@    $(ZLIB_CFLAGS) $(MPG123_CFLAGS) \
+@ENABLE_TESTS_TRUE@    $(OGG_CFLAGS) $(VORBIS_CFLAGS) \
+@ENABLE_TESTS_TRUE@    $(VORBISFILE_CFLAGS) \
+@ENABLE_TESTS_TRUE@    $(WIN32_CONSOLE_CFLAGS)
+@ENABLE_TESTS_TRUE@libopenmpttest_LDADD = $(ZLIB_LIBS) $(MPG123_LIBS) \
+@ENABLE_TESTS_TRUE@    $(OGG_LIBS) $(VORBIS_LIBS) \
+@ENABLE_TESTS_TRUE@    $(VORBISFILE_LIBS) $(LIBOPENMPT_WIN32_LIBS)
 #libopenmpttest_SOURCES += test/mpt_tests_crypto.cpp
 #libopenmpttest_SOURCES += test/mpt_tests_uuid_namespace.cpp
 @ENABLE_TESTS_TRUE@libopenmpttest_SOURCES =  \
@@ -2014,8 +2042,13 @@
 @ENABLE_TESTS_TRUE@    libopenmpt/libopenmpt_stream_callbacks_fd.h \
 @ENABLE_TESTS_TRUE@    libopenmpt/libopenmpt_stream_callbacks_file.h \
 @ENABLE_TESTS_TRUE@    libopenmpt/libopenmpt_version.h
-@ENABLE_OPENMPT123_TRUE@bin_openmpt123_CPPFLAGS = $(MINGWSTDTHREADS_CPPFLAGS) 
-I$(srcdir)/src $(PORTAUDIO_CFLAGS) $(PULSEAUDIO_CFLAGS) $(SDL2_CFLAGS) 
$(SNDFILE_CFLAGS) $(FLAC_CFLAGS)
-@ENABLE_OPENMPT123_TRUE@bin_openmpt123_CXXFLAGS = $(WIN32_CONSOLE_CXXFLAGS)
+@ENABLE_OPENMPT123_TRUE@bin_openmpt123_CPPFLAGS = $(WIN32_CPPFLAGS) \
+@ENABLE_OPENMPT123_TRUE@       $(MINGWSTDTHREADS_CPPFLAGS) \
+@ENABLE_OPENMPT123_TRUE@       -I$(srcdir)/src $(PORTAUDIO_CFLAGS) \
+@ENABLE_OPENMPT123_TRUE@       $(PULSEAUDIO_CFLAGS) $(SDL2_CFLAGS) \
+@ENABLE_OPENMPT123_TRUE@       $(SNDFILE_CFLAGS) $(FLAC_CFLAGS)
+@ENABLE_OPENMPT123_TRUE@bin_openmpt123_CXXFLAGS = $(WIN32_CXXFLAGS) \
+@ENABLE_OPENMPT123_TRUE@       $(WIN32_CONSOLE_CXXFLAGS)
 @ENABLE_OPENMPT123_TRUE@bin_openmpt123_LDADD = libopenmpt.la $(PORTAUDIO_LIBS) 
$(PULSEAUDIO_LIBS) $(SDL2_LIBS) $(SNDFILE_LIBS) $(FLAC_LIBS) 
$(OPENMPT123_WIN32_LIBS)
 @ENABLE_OPENMPT123_TRUE@bin_openmpt123_SOURCES = $(MPT_FILES_SRC_MPT) \
 @ENABLE_OPENMPT123_TRUE@       openmpt123/openmpt123_allegro42.hpp \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/common/BuildSettings.h 
new/libopenmpt-0.6.4+release.autotools/common/BuildSettings.h
--- old/libopenmpt-0.6.3+release.autotools/common/BuildSettings.h       
2022-02-05 17:30:01.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/common/BuildSettings.h       
2022-05-12 16:36:15.000000000 +0200
@@ -500,7 +500,9 @@
 
 // windows.h excludes
 #define NOMEMMGR          // GMEM_*, LMEM_*, GHND, LHND, associated routines
+#ifndef NOMINMAX
 #define NOMINMAX          // Macros min(a,b) and max(a,b)
+#endif
 #define NOSERVICE         // All Service Controller routines, SERVICE_ 
equates, etc.
 #define NOCOMM            // COMM driver routines
 #define NOKANJI           // Kanji support stuff.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/common/versionNumber.h 
new/libopenmpt-0.6.4+release.autotools/common/versionNumber.h
--- old/libopenmpt-0.6.3+release.autotools/common/versionNumber.h       
2022-04-24 15:11:47.000000000 +0200
+++ new/libopenmpt-0.6.4+release.autotools/common/versionNumber.h       
2022-06-12 15:32:54.000000000 +0200
@@ -17,7 +17,7 @@
 // Version definitions. The only thing that needs to be changed when changing 
version number.
 #define VER_MAJORMAJOR  1
 #define VER_MAJOR      30
-#define VER_MINOR      04
+#define VER_MINOR      05
 #define VER_MINORMINOR 00
 
 OPENMPT_NAMESPACE_END
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libopenmpt-0.6.3+release.autotools/configure 
new/libopenmpt-0.6.4+release.autotools/configure
--- old/libopenmpt-0.6.3+release.autotools/configure    2022-04-24 
15:28:15.000000000 +0200
+++ new/libopenmpt-0.6.4+release.autotools/configure    2022-06-12 
16:18:39.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libopenmpt 0.6.3+release.autotools.
+# Generated by GNU Autoconf 2.69 for libopenmpt 0.6.4+release.autotools.
 #
 # Report bugs to <https://bugs.openmpt.org/>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='libopenmpt'
 PACKAGE_TARNAME='libopenmpt'
-PACKAGE_VERSION='0.6.3+release.autotools'
-PACKAGE_STRING='libopenmpt 0.6.3+release.autotools'
+PACKAGE_VERSION='0.6.4+release.autotools'
+PACKAGE_STRING='libopenmpt 0.6.4+release.autotools'
 PACKAGE_BUGREPORT='https://bugs.openmpt.org/'
 PACKAGE_URL='https://lib.openmpt.org/'
 
@@ -712,6 +712,9 @@
 ZLIB_CFLAGS
 WIN32_CONSOLE_CFLAGS
 WIN32_CONSOLE_CXXFLAGS
+WIN32_CFLAGS
+WIN32_CXXFLAGS
+WIN32_CPPFLAGS
 OPENMPT123_WIN32_LIBS
 LIBOPENMPT_WIN32_LIBS
 CXXSTDLIB_PCLIBSPRIVATE
@@ -1472,7 +1475,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libopenmpt 0.6.3+release.autotools to adapt to many 
kinds of systems.
+\`configure' configures libopenmpt 0.6.4+release.autotools to adapt to many 
kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1543,7 +1546,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libopenmpt 
0.6.3+release.autotools:";;
+     short | recursive ) echo "Configuration of libopenmpt 
0.6.4+release.autotools:";;
    esac
   cat <<\_ACEOF
 
@@ -1729,7 +1732,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libopenmpt configure 0.6.3+release.autotools
+libopenmpt configure 0.6.4+release.autotools
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2219,7 +2222,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libopenmpt $as_me 0.6.3+release.autotools, which was
+It was created by libopenmpt $as_me 0.6.4+release.autotools, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3083,7 +3086,7 @@
 
 # Define the identity of the package.
  PACKAGE='libopenmpt'
- VERSION='0.6.3+release.autotools'
+ VERSION='0.6.4+release.autotools'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -17250,13 +17253,13 @@
 
 
 
-$as_echo "#define MPT_SVNURL 
\"https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.6.3\""; >>confdefs.h
+$as_echo "#define MPT_SVNURL 
\"https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.6.4\""; >>confdefs.h
 
 
-$as_echo "#define MPT_SVNVERSION \"17274\"" >>confdefs.h
+$as_echo "#define MPT_SVNVERSION \"17506\"" >>confdefs.h
 
 
-$as_echo "#define MPT_SVNDATE \"2022-04-24T13:18:24.140099Z\"" >>confdefs.h
+$as_echo "#define MPT_SVNDATE \"2022-06-12T13:42:37.263635Z\"" >>confdefs.h
 
 
 $as_echo "#define MPT_PACKAGE true" >>confdefs.h
@@ -17272,8 +17275,9 @@
   LIBOPENMPT_WIN32_LIBS="-lole32 -lrpcrt4"
   LIBOPENMPT_LIBS_PRIVATE_WIN32="-lole32 -lrpcrt4"
   OPENMPT123_WIN32_LIBS=-lwinmm
-  CXXFLAGS="$CXXFLAGS -municode -mthreads"
-  CFLAGS="$CFLAGS -municode -mthreads"
+  WIN32_CPPFLAGS=
+  WIN32_CXXFLAGS="-municode -mthreads"
+  WIN32_CFLAGS="-municode -mthreads"
   WIN32_CONSOLE_CXXFLAGS=-mconsole
   WIN32_CONSOLE_CFLAGS=-mconsole
   ;;
@@ -17281,6 +17285,9 @@
   LIBOPENMPT_WIN32_LIBS=
   LIBOPENMPT_LIBS_PRIVATE_WIN32=
   OPENMPT123_WIN32_LIBS=
+  WIN32_CPPFLAGS=
+  WIN32_CXXFLAGS=
+  WIN32_CFLAGS=
   WIN32_CONSOLE_CXXFLAGS=
   WIN32_CONSOLE_CFLAGS=
   ;;
@@ -17290,6 +17297,9 @@
 
 
 
+
+
+
 LIBOPENMPT_REQUIRES_PRIVATE=
 LIBOPENMPT_LIBS_PRIVATE=
 
@@ -19933,8 +19943,8 @@
 case $host_os in
  mingw32*)
 
-ac_fn_cxx_check_header_mongrel "$LINENO" "mingw.thread.h" 
"ac_cv_header_mingw_thread_h" "$ac_includes_default"
-if test "x$ac_cv_header_mingw_thread_h" = xyes; then :
+ac_fn_cxx_check_header_mongrel "$LINENO" "mingw.mutex.h" 
"ac_cv_header_mingw_mutex_h" "$ac_includes_default"
+if test "x$ac_cv_header_mingw_mutex_h" = xyes; then :
 
     have_mingwstdtthreads=1
 
@@ -22535,7 +22545,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libopenmpt $as_me 0.6.3+release.autotools, which was
+This file was extended by libopenmpt $as_me 0.6.4+release.autotools, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -22593,7 +22603,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libopenmpt config.status 0.6.3+release.autotools
+libopenmpt config.status 0.6.4+release.autotools
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libopenmpt-0.6.3+release.autotools/configure.ac 
new/libopenmpt-0.6.4+release.autotools/configure.ac
--- old/libopenmpt-0.6.3+release.autotools/configure.ac 2022-04-24 
15:27:20.000000000 +0200
+++ new/libopenmpt-0.6.4+release.autotools/configure.ac 2022-06-12 
16:18:13.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT([libopenmpt], [0.6.3+release.autotools], [https://bugs.openmpt.org/], 
[libopenmpt], [https://lib.openmpt.org/])
+AC_INIT([libopenmpt], [0.6.4+release.autotools], [https://bugs.openmpt.org/], 
[libopenmpt], [https://lib.openmpt.org/])
 AC_PREREQ([2.68])
 
 AC_CONFIG_MACRO_DIR([m4])
@@ -26,9 +26,9 @@
 AC_SUBST([LIBOPENMPT_LTVER_REVISION])
 AC_SUBST([LIBOPENMPT_LTVER_AGE])
 
-AC_DEFINE([MPT_SVNURL], 
["https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.6.3";], [svn version])
-AC_DEFINE([MPT_SVNVERSION], ["17274"], [svn version])
-AC_DEFINE([MPT_SVNDATE], ["2022-04-24T13:18:24.140099Z"], [svn date])
+AC_DEFINE([MPT_SVNURL], 
["https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.6.4";], [svn version])
+AC_DEFINE([MPT_SVNVERSION], ["17506"], [svn version])
+AC_DEFINE([MPT_SVNDATE], ["2022-06-12T13:42:37.263635Z"], [svn date])
 AC_DEFINE([MPT_PACKAGE], [true], [is package])
 
 
@@ -41,8 +41,9 @@
   LIBOPENMPT_WIN32_LIBS="-lole32 -lrpcrt4"
   LIBOPENMPT_LIBS_PRIVATE_WIN32="-lole32 -lrpcrt4"
   OPENMPT123_WIN32_LIBS=-lwinmm
-  CXXFLAGS="$CXXFLAGS -municode -mthreads"
-  CFLAGS="$CFLAGS -municode -mthreads"
+  WIN32_CPPFLAGS=
+  WIN32_CXXFLAGS="-municode -mthreads"
+  WIN32_CFLAGS="-municode -mthreads"
   WIN32_CONSOLE_CXXFLAGS=-mconsole
   WIN32_CONSOLE_CFLAGS=-mconsole
   ;;
@@ -50,12 +51,18 @@
   LIBOPENMPT_WIN32_LIBS=
   LIBOPENMPT_LIBS_PRIVATE_WIN32=
   OPENMPT123_WIN32_LIBS=
+  WIN32_CPPFLAGS=
+  WIN32_CXXFLAGS=
+  WIN32_CFLAGS=
   WIN32_CONSOLE_CXXFLAGS=
   WIN32_CONSOLE_CFLAGS=
   ;;
 esac
 AC_SUBST([LIBOPENMPT_WIN32_LIBS])
 AC_SUBST([OPENMPT123_WIN32_LIBS])
+AC_SUBST([WIN32_CPPFLAGS])
+AC_SUBST([WIN32_CXXFLAGS])
+AC_SUBST([WIN32_CFLAGS])
 AC_SUBST([WIN32_CONSOLE_CXXFLAGS])
 AC_SUBST([WIN32_CONSOLE_CFLAGS])
 
@@ -297,7 +304,7 @@
 AC_LANG_PUSH([C++])
 case $host_os in
  mingw32*)
-  AC_CHECK_HEADER([mingw.thread.h],
+  AC_CHECK_HEADER([mingw.mutex.h],
    [
     have_mingwstdtthreads=1
    ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/libopenmpt/dox/changelog.md 
new/libopenmpt-0.6.4+release.autotools/libopenmpt/dox/changelog.md
--- old/libopenmpt-0.6.3+release.autotools/libopenmpt/dox/changelog.md  
2022-04-24 15:18:21.000000000 +0200
+++ new/libopenmpt-0.6.4+release.autotools/libopenmpt/dox/changelog.md  
2022-06-12 15:42:34.000000000 +0200
@@ -5,6 +5,21 @@
 For fully detailed change log, please see the source repository directly. This
 is just a high-level summary.
 
+### libopenmpt 0.6.4 (2022-06-12)
+
+ *  [**Bug**] openmpt123: Linking failed when using Autotools build system
+    targeting MinGW.
+ *  [**Bug**] tests: Linking failed when using Autotools build system targeting
+    MinGW.
+ *  [**Bug**] examples: Linking failed when using Autotools build system
+    targeting MinGW.
+
+ *  [**Change**] Support for mingw-std-threads when building for MinGW targets
+    is now deprecated because this is not supported for GCC 11 or later (see
+    <https://github.com/meganz/mingw-std-threads/issues/79>).
+
+ *  Ping-pong sample loops sometimes stopped playing at the end of the loop.
+
 ### libopenmpt 0.6.3 (2022-04-24)
 
  *  Pitch / Pan Separation and Random Variation instrument properties were not
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/libopenmpt/dox/dependencies.md 
new/libopenmpt-0.6.4+release.autotools/libopenmpt/dox/dependencies.md
--- old/libopenmpt-0.6.3+release.autotools/libopenmpt/dox/dependencies.md       
2022-01-13 16:26:57.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/libopenmpt/dox/dependencies.md       
2022-05-25 09:06:38.000000000 +0200
@@ -23,8 +23,7 @@
      *  **GCC 8.1** or higher
      *  **Clang 7** or higher
      *  **MinGW-W64 8.1** or higher (it is recommended to preferably use
-        posix threading model as opposed to win32 threading model, or at least
-        have mingw-std-threads available otherwise)
+        posix threading model as opposed to win32 threading model)
      *  **emscripten 1.39.1** or higher
      *  **DJGPP GCC 8.1** or higher
      *  any other **C++17 compliant** compiler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/libopenmpt/libopenmpt_impl.cpp 
new/libopenmpt-0.6.4+release.autotools/libopenmpt/libopenmpt_impl.cpp
--- old/libopenmpt-0.6.3+release.autotools/libopenmpt/libopenmpt_impl.cpp       
2022-02-16 15:18:09.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/libopenmpt/libopenmpt_impl.cpp       
2022-05-25 09:15:57.000000000 +0200
@@ -87,8 +87,12 @@
 MPT_WARNING("Warning: libopenmpt built in non thread-safe mode because mutexes 
are not supported by the C++ standard library available.")
 #endif // MPT_MUTEX_NONE
 
-#if (defined(__MINGW32__) || defined(__MINGW64__)) && 
!defined(_GLIBCXX_HAS_GTHREADS) && !defined(MPT_WITH_MINGWSTDTHREADS)
-MPT_WARNING("Warning: Building libopenmpt with MinGW-w64 without std::thread 
support is not recommended and is deprecated. Please use MinGW-w64 with posix 
threading model (as opposed to win32 threading model), or build with 
mingw-std-threads.")
+#if (defined(__MINGW32__) || defined(__MINGW64__)) && 
!defined(_GLIBCXX_HAS_GTHREADS) 
+#if defined(MPT_WITH_MINGWSTDTHREADS)
+MPT_WARNING("Warning: Building with mingw-std-threads is deprecated because 
this is not supported with GCC 11 or later.")
+#else // !MINGWSTDTHREADS
+MPT_WARNING("Warning: Platform (Windows) supports multi-threading, however the 
toolchain (MinGW/GCC) does not. The resulting libopenmpt may not be 
thread-safe. This is a MinGW/GCC issue. You can avoid this warning by using a 
MinGW toolchain built with posix threading model as opposed to win32 threading 
model.")
+#endif // MINGWSTDTHREADS
 #endif // MINGW
 
 #if MPT_CLANG_AT_LEAST(5,0,0) && MPT_CLANG_BEFORE(11,0,0) && 
defined(__powerpc__) && !defined(__powerpc64__)
@@ -99,8 +103,7 @@
 
 #if defined(MPT_ASSERT_HANDLER_NEEDED) && !defined(ENABLE_TESTS)
 
-MPT_NOINLINE void AssertHandler(const mpt::source_location &loc, const char 
*expr, const char *msg)
-{
+MPT_NOINLINE void AssertHandler(const mpt::source_location &loc, const char 
*expr, const char *msg) {
        if(msg) {
                mpt::log::GlobalLogger().SendLogMessage(loc, LogError, "ASSERT",
                        MPT_USTRING("ASSERTION FAILED: ") + 
mpt::ToUnicode(mpt::CharsetSource, msg) + MPT_USTRING(" (") + 
mpt::ToUnicode(mpt::CharsetSource, expr) + MPT_USTRING(")")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/libopenmpt/libopenmpt_version.h 
new/libopenmpt-0.6.4+release.autotools/libopenmpt/libopenmpt_version.h
--- old/libopenmpt-0.6.3+release.autotools/libopenmpt/libopenmpt_version.h      
2022-04-24 15:18:21.000000000 +0200
+++ new/libopenmpt-0.6.4+release.autotools/libopenmpt/libopenmpt_version.h      
2022-06-12 15:42:34.000000000 +0200
@@ -21,7 +21,7 @@
 /*! \brief libopenmpt minor version number */
 #define OPENMPT_API_VERSION_MINOR 6
 /*! \brief libopenmpt patch version number */
-#define OPENMPT_API_VERSION_PATCH 3
+#define OPENMPT_API_VERSION_PATCH 4
 /*! \brief libopenmpt pre-release tag */
 #define OPENMPT_API_VERSION_PREREL ""
 /*! \brief libopenmpt pre-release flag */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/libopenmpt/libopenmpt_version.mk 
new/libopenmpt-0.6.4+release.autotools/libopenmpt/libopenmpt_version.mk
--- old/libopenmpt-0.6.3+release.autotools/libopenmpt/libopenmpt_version.mk     
2022-04-24 15:18:21.000000000 +0200
+++ new/libopenmpt-0.6.4+release.autotools/libopenmpt/libopenmpt_version.mk     
2022-06-12 15:42:34.000000000 +0200
@@ -1,8 +1,8 @@
 LIBOPENMPT_VERSION_MAJOR=0
 LIBOPENMPT_VERSION_MINOR=6
-LIBOPENMPT_VERSION_PATCH=3
+LIBOPENMPT_VERSION_PATCH=4
 LIBOPENMPT_VERSION_PREREL=
 
 LIBOPENMPT_LTVER_CURRENT=3
-LIBOPENMPT_LTVER_REVISION=3
+LIBOPENMPT_LTVER_REVISION=4
 LIBOPENMPT_LTVER_AGE=3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libopenmpt-0.6.3+release.autotools/man/openmpt123.1 
new/libopenmpt-0.6.4+release.autotools/man/openmpt123.1
--- old/libopenmpt-0.6.3+release.autotools/man/openmpt123.1     2022-04-24 
15:27:19.000000000 +0200
+++ new/libopenmpt-0.6.4+release.autotools/man/openmpt123.1     2022-06-12 
16:18:10.000000000 +0200
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.48.1.
-.TH OPENMPT123 "1" "April 2022" "openmpt123 v0.6.3" "User Commands"
+.TH OPENMPT123 "1" "June 2022" "openmpt123 v0.6.4" "User Commands"
 .SH NAME
 openmpt123 - command line module music player based on libopenmpt
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/openmpt123/openmpt123.cpp 
new/libopenmpt-0.6.4+release.autotools/openmpt123/openmpt123.cpp
--- old/libopenmpt-0.6.3+release.autotools/openmpt123/openmpt123.cpp    
2022-01-01 09:16:44.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/openmpt123/openmpt123.cpp    
2022-06-11 17:47:17.000000000 +0200
@@ -1057,6 +1057,7 @@
        
        if ( multiline ) {
                lines += 1;
+               // cppcheck-suppress identicalInnerCondition
                if ( flags.show_ui ) {
                        lines += 1;
                }
@@ -1174,7 +1175,7 @@
                                cpu /= ( static_cast<double>( count ) ) / 
static_cast<double>( flags.samplerate );
                                double mix = ( static_cast<double>( count ) ) / 
static_cast<double>( flags.samplerate );
                                cpu_smooth = ( 1.0 - mix ) * cpu_smooth + mix * 
cpu;
-                               sprintf( cpu_str, "%.2f%%", cpu_smooth * 100.0 
);
+                               std::snprintf( cpu_str, 64, "%.2f%%", 
cpu_smooth * 100.0 );
                        }
                }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/openmpt123/openmpt123_allegro42.hpp 
new/libopenmpt-0.6.4+release.autotools/openmpt123/openmpt123_allegro42.hpp
--- old/libopenmpt-0.6.3+release.autotools/openmpt123/openmpt123_allegro42.hpp  
2021-02-28 12:52:55.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/openmpt123/openmpt123_allegro42.hpp  
2022-05-25 08:46:40.000000000 +0200
@@ -30,7 +30,7 @@
 struct allegro42_exception : public exception {
        static std::string error_to_string() {
                try {
-                       return allegro_error ? std::string( allegro_error ) : 
std::string();
+                       return std::string( allegro_error );
                } catch ( const std::bad_alloc & ) {
                        return std::string();
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/soundlib/Fastmix.cpp 
new/libopenmpt-0.6.4+release.autotools/soundlib/Fastmix.cpp
--- old/libopenmpt-0.6.3+release.autotools/soundlib/Fastmix.cpp 2022-01-28 
20:29:41.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/soundlib/Fastmix.cpp 2022-05-17 
19:37:57.000000000 +0200
@@ -190,12 +190,21 @@
                // Part 2: Compute how many samples we can render until we 
reach the end of sample / loop boundary / etc.
 
                SamplePosition nPos = chn.position;
-               // too big increment, and/or too small loop length
-               if (nPos.GetInt() < nLoopStart)
+               const SmpLength nPosInt = nPos.GetUInt();
+               if(nPos.GetInt() < nLoopStart)
+               {
+                       // too big increment, and/or too small loop length
+                       if(nPos.IsNegative() || nInc.IsNegative())
+                               return 0;
+               } else
                {
-                       if (nPos.IsNegative() || nInc.IsNegative()) return 0;
+                       // Not testing for equality since we might be going 
backwards from the very end of the sample
+                       if(nPosInt > chn.nLength)
+                               return 0;
+                       // If going forwards and we're preceisely at the end, 
there's no point in going further
+                       if(nPosInt == chn.nLength && nInc.IsPositive())
+                               return 0;
                }
-               if (nPos.IsNegative() || nPos.GetUInt() >= chn.nLength) return 
0;
                uint32 nSmpCount = nSamples;
                SamplePosition nInv = nInc;
                if (nInc.IsNegative())
@@ -206,7 +215,6 @@
                SamplePosition incSamples = nInc * (nSamples - 1);
                int32 nPosDest = (nPos + incSamples).GetInt();
 
-               const SmpLength nPosInt = nPos.GetUInt();
                const bool isAtLoopStart = (nPosInt >= chn.nLoopStart && 
nPosInt < chn.nLoopStart + InterpolationLookaheadBufferSize);
                if(!isAtLoopStart)
                {
@@ -217,7 +225,7 @@
                bool checkDest = true;
                if(lookaheadPointer != nullptr)
                {
-                       if(nPos.GetUInt() >= lookaheadStart)
+                       if(nPosInt >= lookaheadStart)
                        {
 #if 0
                                const uint32 oldCount = nSmpCount;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/soundlib/Load_dsym.cpp 
new/libopenmpt-0.6.4+release.autotools/soundlib/Load_dsym.cpp
--- old/libopenmpt-0.6.3+release.autotools/soundlib/Load_dsym.cpp       
2022-02-14 09:52:01.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/soundlib/Load_dsym.cpp       
2022-06-04 08:47:27.000000000 +0200
@@ -245,7 +245,7 @@
                ChnSettings[chn].nPan = (((chn & 3) == 1) || ((chn & 3) == 2)) 
? 64 : 192;
        }
 
-       uint8 sampleNameLength[64];
+       uint8 sampleNameLength[64] = {};
        for(SAMPLEINDEX smp = 1; smp <= m_nSamples; smp++)
        {
                Samples[smp].Initialize(MOD_TYPE_MOD);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/soundlib/Load_mdl.cpp 
new/libopenmpt-0.6.4+release.autotools/soundlib/Load_mdl.cpp
--- old/libopenmpt-0.6.3+release.autotools/soundlib/Load_mdl.cpp        
2021-10-30 16:11:14.000000000 +0200
+++ new/libopenmpt-0.6.4+release.autotools/soundlib/Load_mdl.cpp        
2022-06-04 13:38:20.000000000 +0200
@@ -371,12 +371,10 @@
                // Almost as easy
                e2 = e1;
                p2 = p1;
-               e1 = CMD_NONE;
        } else if(e1 == e2 && e1 != CMD_S3MCMDEX)
        {
                // Digitrakker processes the effects left-to-right, so if both 
effects are the same, the
                // second essentially overrides the first.
-               e1 = CMD_NONE;
        } else if(!vol)
        {
                lostCommand |= (ModCommand::TwoRegularCommandsToMPT(e1, p1, e2, 
p2).first != CMD_NONE);
@@ -389,6 +387,7 @@
                        std::swap(e1, e2);
                        std::swap(p1, p2);
                }
+               lostCommand = true;
        }
 
        m.command = e2;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/soundlib/ModInstrument.cpp 
new/libopenmpt-0.6.4+release.autotools/soundlib/ModInstrument.cpp
--- old/libopenmpt-0.6.3+release.autotools/soundlib/ModInstrument.cpp   
2022-01-28 20:29:41.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/soundlib/ModInstrument.cpp   
2022-05-09 20:29:48.000000000 +0200
@@ -305,6 +305,25 @@
 }
 
 
+std::map<SAMPLEINDEX, int8> ModInstrument::CanConvertToDefaultNoteMap() const
+{
+       std::map<SAMPLEINDEX, int8> transposeMap;
+       for(size_t i = 0; i < std::size(NoteMap); i++)
+       {
+               if(Keyboard[i] == 0)
+                       continue;
+               if(!NoteMap[i] || NoteMap[i] == (i + 1))
+                       continue;
+
+               const int8 relativeNote = static_cast<int8>(NoteMap[i] - (i + 
NOTE_MIN));
+               if(transposeMap.count(Keyboard[i]) && transposeMap[Keyboard[i]] 
!= relativeNote)
+                       return {};
+               transposeMap[Keyboard[i]] = relativeNote;
+       }
+       return transposeMap;
+}
+
+
 void ModInstrument::Transpose(int8 amount)
 {
        for(auto &note : NoteMap)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/soundlib/ModInstrument.h 
new/libopenmpt-0.6.4+release.autotools/soundlib/ModInstrument.h
--- old/libopenmpt-0.6.3+release.autotools/soundlib/ModInstrument.h     
2022-01-28 20:29:41.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/soundlib/ModInstrument.h     
2022-05-09 20:29:48.000000000 +0200
@@ -17,6 +17,7 @@
 #include "Snd_defs.h"
 #include "openmpt/base/FlagSet.hpp"
 #include "../common/misc_util.h"
+#include <map>
 #include <set>
 
 OPENMPT_NAMESPACE_BEGIN
@@ -26,7 +27,7 @@
 // Instrument Nodes
 struct EnvelopeNode
 {
-       using tick_t = uint16 ;
+       using tick_t = uint16;
        using value_t = uint8;
 
        tick_t tick = 0;   // Envelope node position (x axis)
@@ -133,12 +134,13 @@
        // Reset note mapping (i.e. every note is mapped to itself)
        void ResetNoteMap()
        {
-               for(size_t n = 0; n < std::size(NoteMap); n++)
-               {
-                       NoteMap[n] = static_cast<uint8>(n + 1);
-               }
+               std::iota(NoteMap.begin(), NoteMap.end(), 
static_cast<uint8>(NOTE_MIN));
        }
 
+       // If the instrument has a non-default note mapping and can be 
simplified to use the default note mapping by transposing samples,
+       // the list of samples that would need to be transposed and the 
corresponding transpose values are returned - otherwise an empty map.
+       std::map<SAMPLEINDEX, int8> CanConvertToDefaultNoteMap() const;
+
        // Transpose entire note mapping by given number of semitones
        void Transpose(int8 amount);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/soundlib/Sndfile.cpp 
new/libopenmpt-0.6.4+release.autotools/soundlib/Sndfile.cpp
--- old/libopenmpt-0.6.3+release.autotools/soundlib/Sndfile.cpp 2022-01-28 
20:29:41.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/soundlib/Sndfile.cpp 2022-06-04 
19:37:54.000000000 +0200
@@ -2045,6 +2045,7 @@
                sum += i;
        }
        sum /= size();
+       MPT_ASSERT(sum > 0); // clang-analyzer false-positive 
        int64 remain = Unity * size();
        for(auto &i : *this)
        {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/soundlib/modcommand.cpp 
new/libopenmpt-0.6.4+release.autotools/soundlib/modcommand.cpp
--- old/libopenmpt-0.6.3+release.autotools/soundlib/modcommand.cpp      
2022-02-22 20:05:52.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/soundlib/modcommand.cpp      
2022-05-31 19:39:11.000000000 +0200
@@ -557,17 +557,27 @@
        {
                switch(command)
                {
-               case CMD_TONEPORTAVOL: // lacks memory -> 500 is the same as 300
-                       if(param == 0x00) command = CMD_TONEPORTAMENTO;
+                       case CMD_TONEPORTAVOL:  // lacks memory -> 500 is the 
same as 300
+                       if(param == 0x00)
+                               command = CMD_TONEPORTAMENTO;
                        break;
 
-               case CMD_VIBRATOVOL: // lacks memory -> 600 is the same as 400
-                       if(param == 0x00) command = CMD_VIBRATO;
+               case CMD_VIBRATOVOL:  // lacks memory -> 600 is the same as 400
+                       if(param == 0x00)
+                               command = CMD_VIBRATO;
                        break;
 
-               case CMD_MODCMDEX: // This would turn into "Set Active Macro", 
so let's better remove it
+               case CMD_PORTAMENTOUP:  // lacks memory -> remove
+               case CMD_PORTAMENTODOWN:
+               case CMD_VOLUMESLIDE:
+                       if(param == 0x00)
+                               command = CMD_NONE;
+                       break;
+
+               case CMD_MODCMDEX:  // This would turn into "Set Active Macro", 
so let's better remove it
                case CMD_S3MCMDEX:
-                       if((param & 0xF0) == 0xF0) command = CMD_NONE;
+                       if((param & 0xF0) == 0xF0)
+                               command = CMD_NONE;
                        break;
                }
        } // End if(oldTypeIsMOD && newTypeIsXM)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/soundlib/plugins/dmo/Gargle.cpp 
new/libopenmpt-0.6.4+release.autotools/soundlib/plugins/dmo/Gargle.cpp
--- old/libopenmpt-0.6.3+release.autotools/soundlib/plugins/dmo/Gargle.cpp      
2022-03-06 20:54:06.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/soundlib/plugins/dmo/Gargle.cpp      
2022-06-04 14:23:32.000000000 +0200
@@ -180,7 +180,7 @@
 
 uint32 Gargle::RateInHertz() const
 {
-       return mpt::saturate_round<uint32>(m_param[kGargleRate] * 999.0f) + 1;
+       return static_cast<uint32>(mpt::round(std::clamp(m_param[kGargleRate], 
0.0f, 1.0f) * 999.0f)) + 1;
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/src/mpt/audio/span.hpp 
new/libopenmpt-0.6.4+release.autotools/src/mpt/audio/span.hpp
--- old/libopenmpt-0.6.3+release.autotools/src/mpt/audio/span.hpp       
2022-03-02 11:15:42.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/src/mpt/audio/span.hpp       
2022-06-09 09:36:17.000000000 +0200
@@ -5,10 +5,9 @@
 
 
 
+#include "mpt/base/macros.hpp"
 #include "mpt/base/namespace.hpp"
 
-#include <type_traits>
-
 #include <cassert>
 #include <cstddef>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/src/mpt/base/constexpr_throw.hpp 
new/libopenmpt-0.6.4+release.autotools/src/mpt/base/constexpr_throw.hpp
--- old/libopenmpt-0.6.3+release.autotools/src/mpt/base/constexpr_throw.hpp     
2021-05-04 09:21:58.000000000 +0200
+++ new/libopenmpt-0.6.4+release.autotools/src/mpt/base/constexpr_throw.hpp     
2022-06-10 15:39:23.000000000 +0200
@@ -8,6 +8,8 @@
 #include "mpt/base/detect.hpp"
 #include "mpt/base/namespace.hpp"
 
+#include <utility>
+
 
 
 namespace mpt {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libopenmpt-0.6.3+release.autotools/src/mpt/base/detect_compiler.hpp 
new/libopenmpt-0.6.4+release.autotools/src/mpt/base/detect_compiler.hpp
--- old/libopenmpt-0.6.3+release.autotools/src/mpt/base/detect_compiler.hpp     
2022-02-16 08:47:58.000000000 +0100
+++ new/libopenmpt-0.6.4+release.autotools/src/mpt/base/detect_compiler.hpp     
2022-05-13 07:19:29.000000000 +0200
@@ -50,7 +50,9 @@
 #elif defined(_MSC_VER)
 
 #define MPT_COMPILER_MSVC 1
-#if (_MSC_VER >= 1931)
+#if (_MSC_VER >= 1932)
+#define MPT_COMPILER_MSVC_VERSION MPT_COMPILER_MAKE_VERSION2(2022, 2)
+#elif (_MSC_VER >= 1931)
 #define MPT_COMPILER_MSVC_VERSION MPT_COMPILER_MAKE_VERSION2(2022, 1)
 #elif (_MSC_VER >= 1930)
 #define MPT_COMPILER_MSVC_VERSION MPT_COMPILER_MAKE_VERSION2(2022, 0)

Reply via email to