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-05-24 20:30:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libopenmpt (Old) and /work/SRC/openSUSE:Factory/.libopenmpt.new.2254 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libopenmpt" Tue May 24 20:30:46 2022 rev:36 rq:978626 version:0.6.3 Changes: -------- --- /work/SRC/openSUSE:Factory/libopenmpt/libopenmpt.changes 2022-04-08 00:26:38.311049724 +0200 +++ /work/SRC/openSUSE:Factory/.libopenmpt.new.2254/libopenmpt.changes 2022-05-24 20:30:53.270893755 +0200 @@ -1,0 +2,10 @@ +Mon May 16 08:11:38 UTC 2022 - Danilo Spinella <danilo.spine...@suse.com> + +- Update to 0.6.3: + * Pitch / Pan Separation and Random Variation instrument properties + were not resetting properly when seeking, potentially causing + instruments to be played e.g. at a vastly different pan position + compared to playing the module continuously. + * MED: Stereo samples were not imported correctly. + +------------------------------------------------------------------- Old: ---- libopenmpt-0.6.2+release.autotools.tar.gz New: ---- libopenmpt-0.6.3+release.autotools.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libopenmpt.spec ++++++ --- /var/tmp/diff_new_pack.upO3eT/_old 2022-05-24 20:30:53.910894326 +0200 +++ /var/tmp/diff_new_pack.upO3eT/_new 2022-05-24 20:30:53.914894330 +0200 @@ -21,7 +21,7 @@ %define libopenmpt_modplug_version 0.8.9.0 Name: libopenmpt -Version: 0.6.2 +Version: 0.6.3 Release: 0 Summary: C++ and C library to decode tracker music files License: BSD-3-Clause ++++++ libopenmpt-0.6.2+release.autotools.tar.gz -> libopenmpt-0.6.3+release.autotools.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/README.md new/libopenmpt-0.6.3+release.autotools/README.md --- old/libopenmpt-0.6.2+release.autotools/README.md 2022-01-13 16:26:57.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/README.md 2022-04-17 11:15:03.000000000 +0200 @@ -39,7 +39,7 @@ To compile the project, open `build/vsVERSIONwin7/OpenMPT.sln` (VERSION being 2017, 2019, or 2022) and hit the compile button. Other target - systems can be found in the `vs2017*`, `vs2019*`, and `vs2022` sibling + systems can be found in the `vs2017*`, `vs2019*`, and `vs2022*` sibling folders. Note that you have to build the `PluginBridge` and `PluginBridgeLegacy` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/common/mptFileIO.cpp new/libopenmpt-0.6.3+release.autotools/common/mptFileIO.cpp --- old/libopenmpt-0.6.2+release.autotools/common/mptFileIO.cpp 2021-06-05 16:24:23.000000000 +0200 +++ new/libopenmpt-0.6.3+release.autotools/common/mptFileIO.cpp 2022-04-08 10:18:59.000000000 +0200 @@ -20,6 +20,10 @@ #endif // MODPLUG_TRACKER && MPT_OS_WINDOWS #endif // MPT_ENABLE_FILEIO +#if defined(MPT_ENABLE_FILEIO) +#include <stdexcept> +#endif // MPT_ENABLE_FILEIO + #ifdef MODPLUG_TRACKER #if MPT_OS_WINDOWS #include <windows.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/common/versionNumber.h new/libopenmpt-0.6.3+release.autotools/common/versionNumber.h --- old/libopenmpt-0.6.2+release.autotools/common/versionNumber.h 2022-03-13 15:13:15.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/common/versionNumber.h 2022-04-24 15:11:47.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 03 +#define VER_MINOR 04 #define VER_MINORMINOR 00 OPENMPT_NAMESPACE_END diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/configure new/libopenmpt-0.6.3+release.autotools/configure --- old/libopenmpt-0.6.2+release.autotools/configure 2022-03-13 15:54:28.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/configure 2022-04-24 15:28:15.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.2+release.autotools. +# Generated by GNU Autoconf 2.69 for libopenmpt 0.6.3+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.2+release.autotools' -PACKAGE_STRING='libopenmpt 0.6.2+release.autotools' +PACKAGE_VERSION='0.6.3+release.autotools' +PACKAGE_STRING='libopenmpt 0.6.3+release.autotools' PACKAGE_BUGREPORT='https://bugs.openmpt.org/' PACKAGE_URL='https://lib.openmpt.org/' @@ -1472,7 +1472,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.2+release.autotools to adapt to many kinds of systems. +\`configure' configures libopenmpt 0.6.3+release.autotools to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1543,7 +1543,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libopenmpt 0.6.2+release.autotools:";; + short | recursive ) echo "Configuration of libopenmpt 0.6.3+release.autotools:";; esac cat <<\_ACEOF @@ -1729,7 +1729,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libopenmpt configure 0.6.2+release.autotools +libopenmpt configure 0.6.3+release.autotools generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2219,7 +2219,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.2+release.autotools, which was +It was created by libopenmpt $as_me 0.6.3+release.autotools, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3083,7 +3083,7 @@ # Define the identity of the package. PACKAGE='libopenmpt' - VERSION='0.6.2+release.autotools' + VERSION='0.6.3+release.autotools' cat >>confdefs.h <<_ACEOF @@ -17250,13 +17250,13 @@ -$as_echo "#define MPT_SVNURL \"https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.6.2\"" >>confdefs.h +$as_echo "#define MPT_SVNURL \"https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.6.3\"" >>confdefs.h -$as_echo "#define MPT_SVNVERSION \"17108\"" >>confdefs.h +$as_echo "#define MPT_SVNVERSION \"17274\"" >>confdefs.h -$as_echo "#define MPT_SVNDATE \"2022-03-13T14:50:28.374505Z\"" >>confdefs.h +$as_echo "#define MPT_SVNDATE \"2022-04-24T13:18:24.140099Z\"" >>confdefs.h $as_echo "#define MPT_PACKAGE true" >>confdefs.h @@ -22535,7 +22535,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.2+release.autotools, which was +This file was extended by libopenmpt $as_me 0.6.3+release.autotools, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -22593,7 +22593,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.2+release.autotools +libopenmpt config.status 0.6.3+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.2+release.autotools/configure.ac new/libopenmpt-0.6.3+release.autotools/configure.ac --- old/libopenmpt-0.6.2+release.autotools/configure.ac 2022-03-13 15:54:14.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/configure.ac 2022-04-24 15:27:20.000000000 +0200 @@ -1,4 +1,4 @@ -AC_INIT([libopenmpt], [0.6.2+release.autotools], [https://bugs.openmpt.org/], [libopenmpt], [https://lib.openmpt.org/]) +AC_INIT([libopenmpt], [0.6.3+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.2"], [svn version]) -AC_DEFINE([MPT_SVNVERSION], ["17108"], [svn version]) -AC_DEFINE([MPT_SVNDATE], ["2022-03-13T14:50:28.374505Z"], [svn date]) +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_PACKAGE], [true], [is package]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/examples/libopenmpt_example_c.c new/libopenmpt-0.6.3+release.autotools/examples/libopenmpt_example_c.c --- old/libopenmpt-0.6.2+release.autotools/examples/libopenmpt_example_c.c 2020-05-09 14:12:02.000000000 +0200 +++ new/libopenmpt-0.6.3+release.autotools/examples/libopenmpt_example_c.c 2022-03-17 07:52:54.000000000 +0100 @@ -193,6 +193,7 @@ if ( pa_initialized ) { Pa_Terminate(); pa_initialized = 0; + (void)pa_initialized; } if ( mod ) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/examples/libopenmpt_example_c_mem.c new/libopenmpt-0.6.3+release.autotools/examples/libopenmpt_example_c_mem.c --- old/libopenmpt-0.6.2+release.autotools/examples/libopenmpt_example_c_mem.c 2020-05-09 14:12:02.000000000 +0200 +++ new/libopenmpt-0.6.3+release.autotools/examples/libopenmpt_example_c_mem.c 2022-04-09 14:49:38.000000000 +0200 @@ -121,7 +121,7 @@ if ( tell_result < 0 ) { goto fail; } - if ( (unsigned long)tell_result > SIZE_MAX ) { + if ( (unsigned long)(size_t)(unsigned long)tell_result != (unsigned long)tell_result ) { goto fail; } blob->size = (size_t)tell_result; @@ -283,6 +283,7 @@ if ( pa_initialized ) { Pa_Terminate(); pa_initialized = 0; + (void)pa_initialized; } if ( mod ) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/examples/libopenmpt_example_c_probe.c new/libopenmpt-0.6.3+release.autotools/examples/libopenmpt_example_c_probe.c --- old/libopenmpt-0.6.2+release.autotools/examples/libopenmpt_example_c_probe.c 2021-02-16 10:00:28.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/examples/libopenmpt_example_c_probe.c 2022-03-17 07:52:54.000000000 +0100 @@ -80,7 +80,6 @@ #if ( LIBOPENMPT_EXAMPLE_PROBE_RESULT == LIBOPENMPT_EXAMPLE_PROBE_RESULT_BINARY ) probe_file_header_result = openmpt_probe_file_header_from_stream( OPENMPT_PROBE_FILE_HEADER_FLAGS_DEFAULT, openmpt_stream_get_file_callbacks(), file, &libopenmpt_example_logfunc, NULL, &openmpt_error_func_default, NULL, &mod_err, NULL ); probe_file_header_result_str = NULL; - result_binary = 0; switch ( probe_file_header_result ) { case OPENMPT_PROBE_FILE_HEADER_RESULT_SUCCESS: probe_file_header_result_str = "Success "; @@ -96,11 +95,13 @@ break; case OPENMPT_PROBE_FILE_HEADER_RESULT_ERROR: result_binary = 0; + (void)result_binary; fprintf( stderr, "Error: %s\n", "openmpt_probe_file_header() failed." ); goto fail; break; default: result_binary = 0; + (void)result_binary; fprintf( stderr, "Error: %s\n", "openmpt_probe_file_header() failed." ); goto fail; break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/examples/libopenmpt_example_cxx.cpp new/libopenmpt-0.6.3+release.autotools/examples/libopenmpt_example_cxx.cpp --- old/libopenmpt-0.6.2+release.autotools/examples/libopenmpt_example_cxx.cpp 2022-02-16 15:50:29.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/examples/libopenmpt_example_cxx.cpp 2022-04-09 14:30:06.000000000 +0200 @@ -36,6 +36,7 @@ #if ( defined( _WIN32 ) || defined( WIN32 ) ) && ( defined( _UNICODE ) || defined( UNICODE ) ) #if defined( __GNUC__ ) // mingw-w64 g++ does only default to special C linkage for "main", but not for "wmain" (see <https://sourceforge.net/p/mingw-w64/wiki2/Unicode%20apps/>). +extern "C" int wmain( int /*argc*/, wchar_t * /*argv*/[] ); extern "C" int wmain( int argc, wchar_t * argv[] ) { #else int wmain( int argc, wchar_t * argv[] ) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/libopenmpt/dox/changelog.md new/libopenmpt-0.6.3+release.autotools/libopenmpt/dox/changelog.md --- old/libopenmpt-0.6.2+release.autotools/libopenmpt/dox/changelog.md 2022-03-13 15:50:26.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/libopenmpt/dox/changelog.md 2022-04-24 15:18:21.000000000 +0200 @@ -5,6 +5,16 @@ For fully detailed change log, please see the source repository directly. This is just a high-level summary. +### libopenmpt 0.6.3 (2022-04-24) + + * Pitch / Pan Separation and Random Variation instrument properties were not + resetting properly when seeking, potentially causing instruments to be + played e.g. at a vastly different pan position compared to playing the + module continuously. + * MED: Stereo samples were not imported correctly. + + * zlib: Update to v1.2.12 (2022-03-27). + ### libopenmpt 0.6.2 (2022-03-13) * [**Sec**] Possible out-of-bounds write in malformed IT / XM / MPTM files diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/libopenmpt/libopenmpt_version.h new/libopenmpt-0.6.3+release.autotools/libopenmpt/libopenmpt_version.h --- old/libopenmpt-0.6.2+release.autotools/libopenmpt/libopenmpt_version.h 2022-03-13 15:50:26.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/libopenmpt/libopenmpt_version.h 2022-04-24 15:18:21.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 2 +#define OPENMPT_API_VERSION_PATCH 3 /*! \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.2+release.autotools/libopenmpt/libopenmpt_version.mk new/libopenmpt-0.6.3+release.autotools/libopenmpt/libopenmpt_version.mk --- old/libopenmpt-0.6.2+release.autotools/libopenmpt/libopenmpt_version.mk 2022-03-13 15:50:26.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/libopenmpt/libopenmpt_version.mk 2022-04-24 15:18:21.000000000 +0200 @@ -1,8 +1,8 @@ LIBOPENMPT_VERSION_MAJOR=0 LIBOPENMPT_VERSION_MINOR=6 -LIBOPENMPT_VERSION_PATCH=2 +LIBOPENMPT_VERSION_PATCH=3 LIBOPENMPT_VERSION_PREREL= LIBOPENMPT_LTVER_CURRENT=3 -LIBOPENMPT_LTVER_REVISION=2 +LIBOPENMPT_LTVER_REVISION=3 LIBOPENMPT_LTVER_AGE=3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/man/openmpt123.1 new/libopenmpt-0.6.3+release.autotools/man/openmpt123.1 --- old/libopenmpt-0.6.2+release.autotools/man/openmpt123.1 2022-03-13 15:54:14.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/man/openmpt123.1 2022-04-24 15:27:19.000000000 +0200 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.1. -.TH OPENMPT123 "1" "March 2022" "openmpt123 v0.6.2" "User Commands" +.TH OPENMPT123 "1" "April 2022" "openmpt123 v0.6.3" "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.2+release.autotools/soundlib/Load_med.cpp new/libopenmpt-0.6.3+release.autotools/soundlib/Load_med.cpp --- old/libopenmpt-0.6.2+release.autotools/soundlib/Load_med.cpp 2022-02-14 09:52:01.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/soundlib/Load_med.cpp 2022-03-17 23:10:11.000000000 +0100 @@ -764,7 +764,10 @@ if(instrOffsets[ins - 1] != 0 && file.Seek(instrOffsets[ins - 1])) { file.ReadStruct(instrHeader); - sampleChunk = file.ReadChunk(instrHeader.length); + uint32 chunkLength = instrHeader.length; + if(instrHeader.type > 0 && (instrHeader.type & MMDInstrHeader::STEREO)) + chunkLength *= 2u; + sampleChunk = file.ReadChunk(chunkLength); } const bool isSynth = instrHeader.type < 0; const size_t maskedType = static_cast<size_t>(instrHeader.type & MMDInstrHeader::TYPEMASK); @@ -916,7 +919,7 @@ sampleIO |= SampleIO::_16bit; length /= 2; } - if (instrHeader.type & MMDInstrHeader::STEREO) + if(instrHeader.type & MMDInstrHeader::STEREO) { sampleIO |= SampleIO::stereoSplit; length /= 2; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/soundlib/Load_s3m.cpp new/libopenmpt-0.6.3+release.autotools/soundlib/Load_s3m.cpp --- old/libopenmpt-0.6.2+release.autotools/soundlib/Load_s3m.cpp 2022-01-23 15:47:02.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/soundlib/Load_s3m.cpp 2022-03-17 07:53:36.000000000 +0100 @@ -524,6 +524,7 @@ // All Scream Tracker versions except for some probably early revisions of Scream Tracker 3.00 write GUS addresses. GUS support might not have existed at that point (1992). // Hence if a file claims to be written with ST3 (but not ST3.00), but has no GUS addresses, we deduce that it must be written by some other software (e.g. some PSM -> S3M conversions) isST3 = false; + MPT_UNUSED(isST3); m_modFormat.madeWithTracker = U_("Unknown"); } else if(isST3) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/soundlib/Load_stp.cpp new/libopenmpt-0.6.3+release.autotools/soundlib/Load_stp.cpp --- old/libopenmpt-0.6.2+release.autotools/soundlib/Load_stp.cpp 2022-02-14 09:52:01.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/soundlib/Load_stp.cpp 2022-03-17 07:54:01.000000000 +0100 @@ -792,6 +792,7 @@ else if(m.param & 0xF0) m.param |= 0x0F; didVolSlide = true; + MPT_UNUSED(didVolSlide); } else if(chnMem.autoTremolo) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/soundlib/ModChannel.cpp new/libopenmpt-0.6.3+release.autotools/soundlib/ModChannel.cpp --- old/libopenmpt-0.6.2+release.autotools/soundlib/ModChannel.cpp 2021-12-09 22:51:01.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/soundlib/ModChannel.cpp 2022-04-10 00:11:35.000000000 +0200 @@ -155,6 +155,28 @@ } +void ModChannel::RestorePanAndFilter() +{ + if(nRestorePanOnNewNote > 0) + { + nPan = (nRestorePanOnNewNote & 0x7FFF) - 1; + if(nRestorePanOnNewNote & 0x8000) + dwFlags.set(CHN_SURROUND); + nRestorePanOnNewNote = 0; + } + if(nRestoreResonanceOnNewNote > 0) + { + nResonance = nRestoreResonanceOnNewNote - 1; + nRestoreResonanceOnNewNote = 0; + } + if(nRestoreCutoffOnNewNote > 0) + { + nCutOff = nRestoreCutoffOnNewNote - 1; + nRestoreCutoffOnNewNote = 0; + } +} + + void ModChannel::RecalcTuningFreq(Tuning::RATIOTYPE vibratoFactor, Tuning::NOTEINDEXTYPE arpeggioSteps, const CSoundFile &sndFile) { if(!HasCustomTuning()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/soundlib/ModChannel.h new/libopenmpt-0.6.3+release.autotools/soundlib/ModChannel.h --- old/libopenmpt-0.6.2+release.autotools/soundlib/ModChannel.h 2021-12-09 22:51:01.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/soundlib/ModChannel.h 2022-04-10 00:11:35.000000000 +0200 @@ -200,6 +200,7 @@ void UpdateInstrumentVolume(const ModSample *smp, const ModInstrument *ins); void SetInstrumentPan(int32 pan, const CSoundFile &sndFile); + void RestorePanAndFilter(); void RecalcTuningFreq(Tuning::RATIOTYPE vibratoFactor, Tuning::NOTEINDEXTYPE arpeggioSteps, const CSoundFile &sndFile); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/soundlib/SampleFormats.cpp new/libopenmpt-0.6.3+release.autotools/soundlib/SampleFormats.cpp --- old/libopenmpt-0.6.2+release.autotools/soundlib/SampleFormats.cpp 2021-11-23 22:44:07.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/soundlib/SampleFormats.cpp 2022-03-25 21:41:14.000000000 +0100 @@ -1163,8 +1163,7 @@ bool CSoundFile::SaveS3ISample(SAMPLEINDEX smp, std::ostream &f) const { const ModSample &sample = Samples[smp]; - S3MSampleHeader sampleHeader; - MemsetZero(sampleHeader); + S3MSampleHeader sampleHeader{}; SmpLength length = sampleHeader.ConvertToS3M(sample); mpt::String::WriteBuf(mpt::String::nullTerminated, sampleHeader.name) = m_szNames[smp]; mpt::String::WriteBuf(mpt::String::maybeNullTerminated, sampleHeader.reserved2) = mpt::ToCharset(mpt::Charset::UTF8, Version::Current().GetOpenMPTVersionString()); @@ -1186,9 +1185,10 @@ bool CSoundFile::ReadSBISample(SAMPLEINDEX sample, FileReader &file) { file.Rewind(); - if(!file.ReadMagic("SBI\x1A") - || !file.CanRead(32 + sizeof(OPLPatch)) - || file.CanRead(64)) // Arbitrary threshold to reject files that are unlikely to be SBI files + const auto magic = file.ReadArray<char, 4>(); + if((memcmp(magic.data(), "SBI\x1A", 4) && memcmp(magic.data(), "SBI\x1D", 4)) // 1D = broken JuceOPLVSTi files + || !file.CanRead(32 + sizeof(OPLPatch)) + || file.CanRead(64)) // Arbitrary threshold to reject files that are unlikely to be SBI files return false; if(!SupportsOPL()) @@ -1751,7 +1751,6 @@ } - ///////////////////////////////////////////////////////////////////////////////////////// // AIFF File I/O diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/soundlib/Snd_fx.cpp new/libopenmpt-0.6.3+release.autotools/soundlib/Snd_fx.cpp --- old/libopenmpt-0.6.2+release.autotools/soundlib/Snd_fx.cpp 2022-02-20 00:50:28.000000000 +0100 +++ new/libopenmpt-0.6.3+release.autotools/soundlib/Snd_fx.cpp 2022-04-10 00:11:35.000000000 +0200 @@ -545,7 +545,10 @@ memory.chnSettings[nChn].vol = 0xFF; } if(chn.rowCommand.IsNote()) + { chn.nLastNote = note; + chn.RestorePanAndFilter(); + } // Update channel panning if(chn.rowCommand.IsNote() || chn.rowCommand.instr) @@ -2806,23 +2809,7 @@ CheckNNA(nChn, instr, note, false); } - if(chn.nRestorePanOnNewNote > 0) - { - chn.nPan = (chn.nRestorePanOnNewNote & 0x7FFF) - 1; - if(chn.nRestorePanOnNewNote & 0x8000) - chn.dwFlags.set(CHN_SURROUND); - chn.nRestorePanOnNewNote = 0; - } - if(chn.nRestoreResonanceOnNewNote > 0) - { - chn.nResonance = chn.nRestoreResonanceOnNewNote - 1; - chn.nRestoreResonanceOnNewNote = 0; - } - if(chn.nRestoreCutoffOnNewNote > 0) - { - chn.nCutOff = chn.nRestoreCutoffOnNewNote - 1; - chn.nRestoreCutoffOnNewNote = 0; - } + chn.RestorePanAndFilter(); } // Instrument Change ? diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/src/mpt/base/check_platform.hpp new/libopenmpt-0.6.3+release.autotools/src/mpt/base/check_platform.hpp --- old/libopenmpt-0.6.2+release.autotools/src/mpt/base/check_platform.hpp 2021-05-04 09:21:58.000000000 +0200 +++ new/libopenmpt-0.6.3+release.autotools/src/mpt/base/check_platform.hpp 2022-03-23 11:37:41.000000000 +0100 @@ -12,6 +12,7 @@ #include <limits> #include <cstddef> +#include <cstdint> namespace mpt { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.6.2+release.autotools/src/mpt/string_transcode/tests/tests_string_transcode.hpp new/libopenmpt-0.6.3+release.autotools/src/mpt/string_transcode/tests/tests_string_transcode.hpp --- old/libopenmpt-0.6.2+release.autotools/src/mpt/string_transcode/tests/tests_string_transcode.hpp 2021-08-18 18:14:39.000000000 +0200 +++ new/libopenmpt-0.6.3+release.autotools/src/mpt/string_transcode/tests/tests_string_transcode.hpp 2022-04-15 16:59:22.000000000 +0200 @@ -20,7 +20,7 @@ namespace tests { -namespace string_convert { +namespace string_transcode { #if MPT_COMPILER_CLANG #pragma clang diagnostic push @@ -233,7 +233,7 @@ #endif // !MPT_COMPILER_QUIRK_NO_WCHAR } -} // namespace string_convert +} // namespace string_transcode } // namespace tests