commit libopenmpt for openSUSE:Factory
Hello community,
here is the log from the commit of package libopenmpt for openSUSE:Factory checked in at 2018-05-30 11:41:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libopenmpt (Old)
and /work/SRC/openSUSE:Factory/.libopenmpt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libopenmpt"
Wed May 30 11:41:17 2018 rev:8 rq:612641 version:0.3.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/libopenmpt/libopenmpt.changes 2018-04-22 14:33:56.777329484 +0200
+++ /work/SRC/openSUSE:Factory/.libopenmpt.new/libopenmpt.changes 2018-05-30 12:31:06.558318478 +0200
@@ -1,0 +2,12 @@
+Mon May 28 10:36:46 UTC 2018 - tchvatal@suse.com
+
+- Up to 0.3.9:
+ * [Sec] Possible write near address 0 in out-of-memory situations when reading AMS files (r10149).
+ * [Bug] openmpt123: Fixed build failure in C++17 due to use of removed feature std::random_shuffle.
+ * STM: Having both Bxx and Cxx commands in a pattern imported the Bxx command incorrectly.
+ * STM: Last character of sample name was missing.
+ * Speed up reading of truncated ULT files.
+ * ULT: Portamento import was sometimes broken.
+ * The resonant filter was sometimes unstable when combining low-volume samples, low cutoff and high mixing rates.
+
+-------------------------------------------------------------------
Old:
----
libopenmpt-0.3.8+release.autotools.tar.gz
New:
----
libopenmpt-0.3.9+release.autotools.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libopenmpt.spec ++++++
--- /var/tmp/diff_new_pack.oDagCL/_old 2018-05-30 12:31:07.250303798 +0200
+++ /var/tmp/diff_new_pack.oDagCL/_new 2018-05-30 12:31:07.254303713 +0200
@@ -21,12 +21,12 @@
%define libopenmpt_modplug libopenmpt_modplug1
%bcond_without mpg123
Name: libopenmpt
-Version: 0.3.8
+Version: 0.3.9
Release: 0
Summary: C++ and C library to decode tracker music files
License: BSD-3-Clause
Group: Productivity/Multimedia/Other
-Url: https://lib.openmpt.org/libopenmpt/
+URL: https://lib.openmpt.org/libopenmpt/
Source: https://lib.openmpt.org/files/libopenmpt/src/%{name}-%{version}+release.autotools.tar.gz
Source1: baselibs.conf
# PATCH-FIX-UPSTREAM: modplug pc file needs to have full path
++++++ libopenmpt-0.3.8+release.autotools.tar.gz -> libopenmpt-0.3.9+release.autotools.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.3.8+release.autotools/common/version.cpp new/libopenmpt-0.3.9+release.autotools/common/version.cpp
--- old/libopenmpt-0.3.8+release.autotools/common/version.cpp 2018-01-01 08:31:11.000000000 +0100
+++ new/libopenmpt-0.3.9+release.autotools/common/version.cpp 2018-04-11 13:41:27.000000000 +0200
@@ -629,6 +629,13 @@
"http://www.hermannseib.com/english/vsthost.htm\n"
"\n"
#endif
+ "Storlek for all the IT compatibility hints and testcases\n"
+ "as well as the IMF, MDL, OKT and ULT loaders\n"
+ "http://schismtracker.org/\n"
+ "\n"
+ "Sergei \"x0r\" Kolzun for various hints on Scream Tracker 2 compatibility\n"
+ "https://github.com/viiri/st2play\n"
+ "\n"
"Laurent Cl\xc3\xA9vy for unofficial MO3 documentation and decompression code\n"
"https://github.com/lclevy/unmo3\n"
"\n"
@@ -716,10 +723,6 @@
"https://github.com/kazuho/picojson\n"
"\n"
#endif
- "Storlek for all the IT compatibility hints and testcases\n"
- "as well as the IMF, MDL, OKT and ULT loaders\n"
- "http://schismtracker.org/\n"
- "\n"
#ifdef MODPLUG_TRACKER
"Lennart Poettering and David Henningsson for RealtimeKit\n"
"http://git.0pointer.net/rtkit.git/\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.3.8+release.autotools/common/versionNumber.h new/libopenmpt-0.3.9+release.autotools/common/versionNumber.h
--- old/libopenmpt-0.3.8+release.autotools/common/versionNumber.h 2018-04-08 13:17:57.000000000 +0200
+++ new/libopenmpt-0.3.9+release.autotools/common/versionNumber.h 2018-04-29 08:03:48.000000000 +0200
@@ -19,7 +19,7 @@
#define VER_MAJORMAJOR 1
#define VER_MAJOR 27
#define VER_MINOR 07
-#define VER_MINORMINOR 00
+#define VER_MINORMINOR 02
//Version string. For example "1.17.02.28"
#define MPT_VERSION_STR VER_STRINGIZE(VER_MAJORMAJOR) "." VER_STRINGIZE(VER_MAJOR) "." VER_STRINGIZE(VER_MINOR) "." VER_STRINGIZE(VER_MINORMINOR)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.3.8+release.autotools/configure new/libopenmpt-0.3.9+release.autotools/configure
--- old/libopenmpt-0.3.8+release.autotools/configure 2018-04-08 13:43:11.000000000 +0200
+++ new/libopenmpt-0.3.9+release.autotools/configure 2018-04-29 08:12:57.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.3.8+release.autotools.
+# Generated by GNU Autoconf 2.69 for libopenmpt 0.3.9+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.3.8+release.autotools'
-PACKAGE_STRING='libopenmpt 0.3.8+release.autotools'
+PACKAGE_VERSION='0.3.9+release.autotools'
+PACKAGE_STRING='libopenmpt 0.3.9+release.autotools'
PACKAGE_BUGREPORT='https://bugs.openmpt.org/'
PACKAGE_URL='https://lib.openmpt.org/'
@@ -1482,7 +1482,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.3.8+release.autotools to adapt to many kinds of systems.
+\`configure' configures libopenmpt 0.3.9+release.autotools to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1553,7 +1553,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libopenmpt 0.3.8+release.autotools:";;
+ short | recursive ) echo "Configuration of libopenmpt 0.3.9+release.autotools:";;
esac
cat <<\_ACEOF
@@ -1752,7 +1752,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libopenmpt configure 0.3.8+release.autotools
+libopenmpt configure 0.3.9+release.autotools
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2151,7 +2151,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.3.8+release.autotools, which was
+It was created by libopenmpt $as_me 0.3.9+release.autotools, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3022,7 +3022,7 @@
# Define the identity of the package.
PACKAGE='libopenmpt'
- VERSION='0.3.8+release.autotools'
+ VERSION='0.3.9+release.autotools'
cat >>confdefs.h <<_ACEOF
@@ -17186,13 +17186,13 @@
-$as_echo "#define MPT_SVNURL \"https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.3.8\"" >>confdefs.h
+$as_echo "#define MPT_SVNURL \"https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.3.9\"" >>confdefs.h
-$as_echo "#define MPT_SVNVERSION \"10047\"" >>confdefs.h
+$as_echo "#define MPT_SVNVERSION \"10169\"" >>confdefs.h
-$as_echo "#define MPT_SVNDATE \"2018-04-08T11:38:47.886627Z\"" >>confdefs.h
+$as_echo "#define MPT_SVNDATE \"2018-04-29T06:08:50.600539Z\"" >>confdefs.h
$as_echo "#define MPT_PACKAGE true" >>confdefs.h
@@ -22366,7 +22366,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.3.8+release.autotools, which was
+This file was extended by libopenmpt $as_me 0.3.9+release.autotools, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -22433,7 +22433,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.3.8+release.autotools
+libopenmpt config.status 0.3.9+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.3.8+release.autotools/configure.ac new/libopenmpt-0.3.9+release.autotools/configure.ac
--- old/libopenmpt-0.3.8+release.autotools/configure.ac 2018-04-08 13:43:01.000000000 +0200
+++ new/libopenmpt-0.3.9+release.autotools/configure.ac 2018-04-29 08:12:46.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT([libopenmpt], [0.3.8+release.autotools], [https://bugs.openmpt.org/], [libopenmpt], [https://lib.openmpt.org/])
+AC_INIT([libopenmpt], [0.3.9+release.autotools], [https://bugs.openmpt.org/], [libopenmpt], [https://lib.openmpt.org/])
AC_PREREQ([2.68])
AC_CONFIG_MACRO_DIR([m4])
@@ -27,9 +27,9 @@
AC_SUBST([LIBOPENMPT_LTVER_REVISION])
AC_SUBST([LIBOPENMPT_LTVER_AGE])
-AC_DEFINE([MPT_SVNURL], ["https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.3.8"], [svn version])
-AC_DEFINE([MPT_SVNVERSION], ["10047"], [svn version])
-AC_DEFINE([MPT_SVNDATE], ["2018-04-08T11:38:47.886627Z"], [svn date])
+AC_DEFINE([MPT_SVNURL], ["https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.3.9"], [svn version])
+AC_DEFINE([MPT_SVNVERSION], ["10169"], [svn version])
+AC_DEFINE([MPT_SVNDATE], ["2018-04-29T06:08:50.600539Z"], [svn date])
AC_DEFINE([MPT_PACKAGE], [true], [is package])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.3.8+release.autotools/libopenmpt/dox/changelog.md new/libopenmpt-0.3.9+release.autotools/libopenmpt/dox/changelog.md
--- old/libopenmpt-0.3.8+release.autotools/libopenmpt/dox/changelog.md 2018-04-08 13:38:01.000000000 +0200
+++ new/libopenmpt-0.3.9+release.autotools/libopenmpt/dox/changelog.md 2018-04-29 08:08:21.000000000 +0200
@@ -5,10 +5,26 @@
For fully detailed change log, please see the source repository directly. This
is just a high-level summary.
+### libopenmpt 0.3.9 (2018-04-29)
+
+ * [**Sec**] Possible write near address 0 in out-of-memory situations when
+ reading AMS files (r10149).
+
+ * [**Bug**] openmpt123: Fixed build failure in C++17 due to use of removed
+ feature `std::random_shuffle`.
+
+ * STM: Having both Bxx and Cxx commands in a pattern imported the Bxx command
+ incorrectly.
+ * STM: Last character of sample name was missing.
+ * Speed up reading of truncated ULT files.
+ * ULT: Portamento import was sometimes broken.
+ * The resonant filter was sometimes unstable when combining low-volume
+ samples, low cutoff and high mixing rates.
+
### libopenmpt 0.3.8 (2018-04-08)
- * [**Sec**] Possible out-of-bounds memory read with IT / ITP / MO3 files
- containing pattern loops (r10028).
+ * [**Sec**] Possible out-of-bounds memory read with IT and MO3 files
+ containing many nested pattern loops (r10028).
* Keep track of active SFx macro during seeking.
* The "note cut" duplicate note action did not volume-ramp the previously
@@ -60,7 +76,6 @@
* Tighten M15 and MOD file rejection heuristics.
* J2B: Ignore frequency limits from file header. Fixes Medivo.j2b, broken
since libopenmpt-0.2.6401-beta17.
- * STM: Last character of sample name was missing.
* ParamEq plugin center frequency was not limited correctly.
* libopenmpt_ext C API was not included in the documentation.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.3.8+release.autotools/libopenmpt/libopenmpt_version.h new/libopenmpt-0.3.9+release.autotools/libopenmpt/libopenmpt_version.h
--- old/libopenmpt-0.3.8+release.autotools/libopenmpt/libopenmpt_version.h 2018-04-08 13:38:01.000000000 +0200
+++ new/libopenmpt-0.3.9+release.autotools/libopenmpt/libopenmpt_version.h 2018-04-29 08:08:21.000000000 +0200
@@ -19,7 +19,7 @@
/*! \brief libopenmpt minor version number */
#define OPENMPT_API_VERSION_MINOR 3
/*! \brief libopenmpt patch version number */
-#define OPENMPT_API_VERSION_PATCH 8
+#define OPENMPT_API_VERSION_PATCH 9
/*! \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.3.8+release.autotools/libopenmpt/libopenmpt_version.mk new/libopenmpt-0.3.9+release.autotools/libopenmpt/libopenmpt_version.mk
--- old/libopenmpt-0.3.8+release.autotools/libopenmpt/libopenmpt_version.mk 2018-04-08 13:38:01.000000000 +0200
+++ new/libopenmpt-0.3.9+release.autotools/libopenmpt/libopenmpt_version.mk 2018-04-29 08:08:21.000000000 +0200
@@ -1,8 +1,8 @@
LIBOPENMPT_VERSION_MAJOR=0
LIBOPENMPT_VERSION_MINOR=3
-LIBOPENMPT_VERSION_PATCH=8
+LIBOPENMPT_VERSION_PATCH=9
LIBOPENMPT_VERSION_PREREL=
LIBOPENMPT_LTVER_CURRENT=1
-LIBOPENMPT_LTVER_REVISION=8
+LIBOPENMPT_LTVER_REVISION=9
LIBOPENMPT_LTVER_AGE=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.3.8+release.autotools/man/openmpt123.1 new/libopenmpt-0.3.9+release.autotools/man/openmpt123.1
--- old/libopenmpt-0.3.8+release.autotools/man/openmpt123.1 2018-04-08 13:43:01.000000000 +0200
+++ new/libopenmpt-0.3.9+release.autotools/man/openmpt123.1 2018-04-29 08:12:46.000000000 +0200
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH OPENMPT123 "1" "April 2018" "openmpt123 v0.3.8" "User Commands"
+.TH OPENMPT123 "1" "April 2018" "openmpt123 v0.3.9" "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.3.8+release.autotools/openmpt123/openmpt123.cpp new/libopenmpt-0.3.9+release.autotools/openmpt123/openmpt123.cpp
--- old/libopenmpt-0.3.8+release.autotools/openmpt123/openmpt123.cpp 2018-01-01 08:31:11.000000000 +0100
+++ new/libopenmpt-0.3.9+release.autotools/openmpt123/openmpt123.cpp 2018-04-23 19:20:15.000000000 +0200
@@ -47,6 +47,7 @@
#include <iterator>
#include <limits>
#include <map>
+#include <random>
#include <set>
#include <sstream>
#include <string>
@@ -1754,18 +1755,17 @@
}
-static std::string get_random_filename(std::setstd::string & filenames) {
- // TODO: actually use a useful random distribution
- std::size_t index = std::rand() % filenames.size();
+static std::string get_random_filename( std::setstd::string & filenames, std::default_random_engine & prng ) {
+ std::size_t index = std::uniform_int_distributionstd::size_t( 0, filenames.size() - 1 )( prng );
std::setstd::string::iterator it = filenames.begin();
std::advance( it, index );
return *it;
}
-static void render_files( commandlineflags & flags, textout & log, write_buffers_interface & audio_stream ) {
+static void render_files( commandlineflags & flags, textout & log, write_buffers_interface & audio_stream, std::default_random_engine & prng ) {
if ( flags.randomize ) {
- std::random_shuffle( flags.filenames.begin(), flags.filenames.end() );
+ std::shuffle( flags.filenames.begin(), flags.filenames.end(), prng );
}
try {
while ( true ) {
@@ -1777,7 +1777,7 @@
if ( shuffle_set.empty() ) {
break;
}
- std::string filename = get_random_filename( shuffle_set );
+ std::string filename = get_random_filename( shuffle_set, prng );
try {
flags.playlist_index = std::find( flags.filenames.begin(), flags.filenames.end(), filename ) - flags.filenames.begin();
render_file( flags, filename, log, audio_stream );
@@ -2393,7 +2393,10 @@
log.writeout();
- std::srand( static_cast<unsigned int>( std::time( NULL ) ) );
+ std::random_device rd;
+ std::seed_seq seq{ rd(), static_cast<unsigned int>( std::time( NULL ) ) };
+ std::default_random_engine prng( seq );
+ std::srand( std::uniform_int_distribution<unsigned int>()( prng ) );
switch ( flags.mode ) {
case ModeProbe: {
@@ -2404,42 +2407,42 @@
} break;
case ModeInfo: {
void_audio_stream dummy;
- render_files( flags, log, dummy );
+ render_files( flags, log, dummy, prng );
} break;
case ModeUI:
case ModeBatch: {
if ( flags.use_stdout ) {
flags.apply_default_buffer_sizes();
stdout_stream_raii stdout_audio_stream;
- render_files( flags, log, stdout_audio_stream );
+ render_files( flags, log, stdout_audio_stream, prng );
} else if ( !flags.output_filename.empty() ) {
flags.apply_default_buffer_sizes();
file_audio_stream_raii file_audio_stream( flags, flags.output_filename, log );
- render_files( flags, log, file_audio_stream );
+ render_files( flags, log, file_audio_stream, prng );
#if defined( MPT_WITH_PULSEAUDIO )
} else if ( flags.driver == "pulseaudio" || flags.driver.empty() ) {
pulseaudio_stream_raii pulseaudio_stream( flags, log );
- render_files( flags, log, pulseaudio_stream );
+ render_files( flags, log, pulseaudio_stream, prng );
#endif
#if defined( MPT_WITH_SDL2 )
} else if ( flags.driver == "sdl2" || flags.driver.empty() ) {
sdl2_stream_raii sdl2_stream( flags, log );
- render_files( flags, log, sdl2_stream );
+ render_files( flags, log, sdl2_stream, prng );
#endif
#if defined( MPT_WITH_SDL )
} else if ( flags.driver == "sdl" || flags.driver.empty() ) {
sdl_stream_raii sdl_stream( flags, log );
- render_files( flags, log, sdl_stream );
+ render_files( flags, log, sdl_stream, prng );
#endif
#if defined( MPT_WITH_PORTAUDIO )
} else if ( flags.driver == "portaudio" || flags.driver.empty() ) {
portaudio_stream_raii portaudio_stream( flags, log );
- render_files( flags, log, portaudio_stream );
+ render_files( flags, log, portaudio_stream, prng );
#endif
#if defined( WIN32 )
} else if ( flags.driver == "waveout" || flags.driver.empty() ) {
waveout_stream_raii waveout_stream( flags );
- render_files( flags, log, waveout_stream );
+ render_files( flags, log, waveout_stream, prng );
#endif
} else {
if ( flags.driver.empty() ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libopenmpt-0.3.8+release.autotools/soundlib/IntMixer.h new/libopenmpt-0.3.9+release.autotools/soundlib/IntMixer.h
--- old/libopenmpt-0.3.8+release.autotools/soundlib/IntMixer.h 2017-06-12 12:57:39.000000000 +0200
+++ new/libopenmpt-0.3.9+release.autotools/soundlib/IntMixer.h 2018-04-27 01:26:02.000000000 +0200
@@ -361,8 +361,10 @@
}
}
+ // To avoid a precision loss in the state variables especially with quiet samples at low cutoff and high mix rate, we pre-amplify the sample.
+#define MIXING_FILTER_PREAMP 256
// Filter values are clipped to double the input range
-#define ClipFilter(x) Clamp
participants (1)
-
root