2019-02-13 23:22:44 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
libopenmpt: update to 0.4.3.
libopenmpt 0.4.3 (2019-02-11)
[Sec] Possible crash due to null-pointer access when doing a portamento from \
an OPL instrument to an empty instrument note map slot (r11348).
[Bug] libopenmpt did not compile on Apple platforms in C++17 mode.
IT: Various fixes for note-off + instrument number in Old Effects mode.
MO3: Import IT row highlights as written by MO3 2.4.1.2 or newer. Required \
for modules using modern tempo mode.
miniz: Update to v2.0.8 (2018-09-19).
stb_vorbis: Update to v1.15 (2019-02-07).
libopenmpt 0.4.2 (2019-01-22)
[Sec] DSM: Assertion failure during file parsing with debug STLs (r11209).
[Sec] J2B: Assertion failure during file parsing with debug STLs (r11216).
S3M: Allow volume change of OPL instruments after Note Cut.
libopenmpt 0.4.1 (2019-01-06)
[Bug] Binaries compiled for winold (Windows XP, Vista, 7, for CPUs without \
SSE2 support) did not actually work on CPUs without SSE2 support.
[Bug] libmodplug: Public symbols of the C++ API had visibility=hidden set on \
non-MSVC systems, which made them not publicly accessible.
[Bug] Project files for Windows 10 desktop builds on ARM and ARM64 \
(build/vs2017win10) were missing from Windows source package.
[Bug] MSVC project files in Windows source package lacked additional files \
required to build DLLs.
MO3: Apply playback changes based on “ModPlug-made” header flag.
minimp3: Update to commit e9df0760e94044caded36a55d70ab4152134adc5 (2018-12-23).
libopenmpt 0.4.0 (2018-12-23)
[New] libopenmpt now includes emulation of the OPL chip and thus plays OPL \
instruments in S3M, C67 and MPTM files. OPL chip emulation volume can be changed \
with the new ctl render.opl.volume_factor.
[New] libopenmpt now supports CDFM / Composer 670 module files.
[New] Autotools configure and plain Makefile now honor the variable \
CXXSTDLIB_PCLIBSPRIVATE which serves the sole purpose of listing the standard \
library (or libraries) required for static linking. The contents of this \
variable will be put in libopenmpt.pc Libs.private and used for nothing else. \
See \ref libopenmpt_c_staticlinking .
[New] foo_openmpt: foo_openmpt now also works on Windows XP.
[New] libopenmpt Emscripten builds now ship with MP3 support by default, \
based on minimp3 by Lion (github.com/lieff).
[New] libopenmpt: New ctl play.at_end can be used to change what happens \
when the song end is reached:
“fadeout”: Fades the module out for a short while. Subsequent reads \
after the fadeout will return 0 rendered frames. This is the default and \
identical to the behaviour in previous libopenmpt versions.
“continue”: Returns 0 rendered frames when the song end is reached. \
Subsequent reads will continue playing from the song start or loop start. This \
can be used for custom loop logic, such as loop auto-detection and longer \
fadeouts.
“stop”: Returns 0 rendered frames when the song end is reached. \
Subsequent reads will return 0 rendered frames.
[New] Add new metadata fields "originaltype" and \
"originaltype_long" which allow more clearly reflecting what is going \
on with converted formats like MO3 and GDM.
[New] Makefile CONFIG=emscripten now can generate WebAssembly via the \
additional option EMSCRIPTEN_TARGET=wasm.
[New] Compiling for DOS is now experimentally supported via DJGPP GCC 7.2 or \
later.
[Change] minimp3: Instead of the LGPL-2.1-licensed minimp3 by KeyJ, \
libopenmpt now uses the CC0-1.0-licensed minimp3 by Lion (github.com/lieff) as a \
fallback if libmpg123 is unavailable. The USE_MINIMP3 Makefile option is gone \
and minimp3 will be used automatically in the Makefile build system if libmpg123 \
is not available.
[Change] openmpt123: openmpt123 now rejects --output-type in --ui and \
--batch modes and also rejects --output in --render mode. These combinations of \
options really made no sense and were rather confusing.
[Change] Android NDK build system now uses libc++ (c++_shared) instead of \
GNU libstdc++ (gnustl_shared), as recommended by Android NDK r16b.
[Change] xmp-openmpt: openmpt-mpg123.dll is no longer optional and must be \
placed into the same directory as xmp-openmpt.dll.
[Change] in_openmpt: openmpt-mpg123.dll is no longer optional and must be \
placed either into the directory of the player itself or into the same directory \
as in_openmpt.dll. This is dependent on how the player loads its plugins. For \
WinAMP 5, openmpt-mpg123.dll needs to be in the directory which contains \
winamp.exe. in_openmpt.dll needs to be in the Plugins directory.
[Change] foo_openmpt: foo_openmpt is now packaged as a fb2k-component \
package for easier installation.
[Change] When building libopenmpt with MinGW-w64, it is now recommended to \
use the posix thread model (as opposed to the win32 threading model), because \
the former does support std::mutex while the latter does not. When building with \
win32 threading model with the Autotools build system, it is recommended to \
provide the mingw-std-threads package. Building libopenmpt with MinGW-w64 \
without any std::thread/std::mutex support is deprecated and support for such \
configurations will be removed in libopenmpt 0.5.
[Change] Makefile CONFIG=emscripten now has 4 EMSCRIPTEN_TARGET= settings: \
wasm generates WebAssembly, asmjs128m generates asm.js with a fixed size 128MB \
heap, asmjs generates asm.js with a fixed default size heap (as of Emscripten \
1.38.11, this amounts to 16MB), js generates JavaScript with dynamic heap growth \
and with compatibility for older VMs.
[Change] libmodplug: Update public headers to libmodplug 0.8.8.5. This adds \
support for kind-of automatic MODPLUG_EXPORT decoration on Windows.
[Regression] Support for Clang 3.4, 3.5 has been removed.
[Regression] Building with Android NDK older than NDK r16b is not supported \
any more.
[Regression] Support for Emscripten versions older than 1.38.5 has been removed.
[Regression] Support for libmpg123 older than 1.14.0 has been removed.
[Regression] Using MediaFoundation to decode MP3 samples is no longer \
supported. Use libmpg123 or minimp3 instead.
[Regression] libmodplug: Support for emulating libmodplug 0.8.7 API/ABI has \
been removed.
[Bug] xmp-openmpt: Sample rate and number of output channels were not \
applied correctly when using per-file settings.
[Bug] Internal mixer state was not initialized properly when initially \
rendering in 44100kHz stereo format.
[Bug] openmpt123: Prevent libsdl2 and libsdl from being enabled at the same \
time because they conflict with each other.
[Bug] libmodplug: Setting SNDMIX_NORESAMPLING in the C++ API always resulted \
in linear interpolation instead of nearest neighbour
IT: In Compatible Gxx mode, allow sample changes next to a tone portamento \
effect if a previous sample has already stopped playing.
IT: Fix broken volume envelopes with negative values as found in breakdwn.it \
by Elysis.
MOD: Slides and delayed notes are executed on every repetition of a row with \
row delay (fixes “ode to protracker”).
XM: If the sustain point of the panning envelope is reached before key-off, \
it is never released.
XM: Do not default recall volume / panning for delayed instrument-less notes
XM :E60 loop bug was not considered in song length calucation.
S3M: Notes without instrument number use previous note’s sample offset.
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: More accurate tempo calculation.
STM: Better support for early format revisions (no such files have been \
found in the wild, though).
STM: Last character of sample name was missing.
SFX: Work around bad conversions of the “Operation Stealth” soundtrack \
by turning pattern breaks into note stops.
IMF: Filter cutoff was upside down and the cutoff range was too small.
ParamEq plugin center frequency was not limited correctly.
Keep track of active SFx macro during seeking.
The “note cut” duplicate note action did not volume-ramp the previously \
playing sample.
A song starting with non-existing patterns could not be played.
DSM: Support restart position and 16-bit samples.
DTM: Import global volume.
MOD: Support notes in octave 2, like in FastTracker 2 (fixes DOPE.MOD).
Do not apply Amiga playback heuristics to MOD files that have clearly been \
written with a PC tracker.
MPTM: More logical release node behaviour.
Subsong search is now less thorough. It could previously find many subsongs \
that are technically correct (unplayed rows at the beginning of patterns that \
have been jumped over due to pattern breaks), but so far no real-world module \
that would require such a thorough subsong detection was found. The old \
mechanism caused way more false positives than intended with real-world modules, \
though.
Restrict the unpacked size of compressed DMF, IT, MDL and MO3 samples to \
avoid huge allocations with malformed small files.
|
2018-07-06 17:06:52 by Ryo ONODERA | Files touched by this commit (136) |
Log message:
Recursive revbump from audio/pulseaudio
|
2018-01-28 21:11:10 by Thomas Klausner | Files touched by this commit (462) |
Log message:
Bump PKGREVISION for gdbm shlib major bump
|
2017-10-01 11:37:00 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
libopenmpt: update to 0.3.1.
libopenmpt 0.3.1 (2017-09-28)
Changelog since libopenmpt 0.2.6774-beta20.
libopenmpt 0.3.1
[Bug] Windows: libopenmpt resource did not compile for release versions.
libopenmpt 0.3.0 (2017-09-27, not released)
[New] New error handling functionality in the C API, which in particular \
allows distinguishing potentially transient out-of-memory errors from parse \
errors during module loading.
[New] New API openmpt::module::get_selected_subsong() (C++) and \
openmpt_module_get_selected_subsong() (C).
[New] Faster file header probing API openmpt::probe_file_header() and \
openmpt::probe_file_header_get_recommended_size (C++), and \
openmpt_probe_file_header(), openmpt_probe_file_header_without_filesize(), \
openmpt_probe_file_header_from_stream() and \
openmpt_probe_file_header_get_recommended_size() (C).
[New] New API openmpt::could_open_probability() (C++) and \
openmpt_could_open_probability() (C). This fixes a spelling error in the old 0.2 \
API.
[New] openmpt123: openmpt123 can now open M3U, M3U8, M3UEXT, M3U8EXT and \
PLSv2 playlists via the --playlist option.
[New] openmpt123: openmpt123 now supports very fast file header probing via \
the --probe option.
[New] Libopenmpt now supports building for Windows 10 Universal (Windows \
Store 8.2) APIs with MSVC, and also for the older Windows Runtime APIs with \
MinGW-w64.
[New] New API header libopenmpt_ext.h which implements the libopenmpt \
extension APIs also for the C interface.
[New] The Reverb effect (S99 in S3M/IT/MPTM, and X99 in XM) is now \
implemented in libopenmpt.
[New] For Amiga modules, a new resampler based on the Amiga’s sound \
characteristics has been added. It can be activated by passing the \
render.resampler.emulate_amiga ctl with a value of 1. Non-Amiga modules are not \
affected by this, and setting the ctl overrides the resampler choice specified \
by OPENMPT_MODULE_RENDER_INTERPOLATIONFILTER_LENGTH or \
openmpt::module::RENDER_INTERPOLATIONFILTER_LENGTH. Support for the MOD command \
E0x (Set LED Filter) is also available when the Amiga resampler is enabled.
[Change] libopenmpt versioning changed and follows the more conventional \
major.minor.patch as well as the recommendations of the SemVer scheme now. In \
addition to the SemVer requirements, pre-1.0.0 versions will also honor API and \
ABI stability in libopenmpt (i.e. libopenmpt ignores SemVer Clause 4).
[Change] The output directories of the MSVC build system were changed to \
bin/vs2015-shared/x86-64-win7/ (and similar) layout which allows building in the \
same tree with different compiler versions without overwriting other outputs.
[Change] The emscripten build now exports libopenmpt as ‘libopenmpt’ \
instead of the default ‘Module’.
[Change] Android: The build system changed. The various Android.mk files \
have been merged into a single one which can be controlled using command line \
options.
[Change] The Makefile build system now passes std=c++11 to the compiler by \
default. Older compilers may still work if you pass STDCXX=c++0x to the make \
invocation.
[Change] The Makefile option ANCIENT=1 is gone.
[Change] The optional dependencies on libltdl or libdl are gone. They are no \
longer needed for any functionality.
[Regression] Compiling client code using the C++ API now requires a compiler \
running in C++11 mode.
[Regression] Support for GCC 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7 has been removed.
[Regression] Support for Clang 3.0, 3.1, 3.2, 3.3 has been removed.
[Regression] Support for Emscripten versions older than 1.31.0 has been removed.
[Regression] Support for Android NDK versions older than 11 has been removed.
[Regression] Visual Studio 2008, 2010, 2012, 2013 support has been removed.
[Regression] Dynamic run-time loading of libmpg123 is no longer supported. \
Libmpg123 must be linked at link-time now.
[Regression] xmp-openmpt: xmp-openmpt now requires XMPlay 3.8 or later and \
compiling xmp-openmpt requires an appropriate XMPlay SDK with XMPIN_FACE >= \
4.
[Regression] Support for libmpg123 older than 1.13.0 has been removed.
[Regression] Un4seen unmo3 support has been removed.
[Bug] C++ API: openmpt::exception did not define copy and move constructors \
or copy and move assignment operators in libopenmpt 0.2. The compiler-generated \
ones were not adequate though. libopenmpt 0.3 adds the appropriate special \
member functions. This adds the respective symbol names to the exported ABI, \
which, depending on the compiler, might or might not have been there in \
libopenmpt 0.2. The possibly resulting possible ODR violation only affects cases \
that did crash in the libopenmpt 0.2 API anyway due to memory double-free, and \
does not cause any further problems in practice for all known platforms and \
compilers.
[Bug] The C API could crash instead of failing gracefully in out-of-memory \
situations.
[Bug] The test suite could fail on MacOSX or FreeBSD in non-fatal ways when \
no locale was active.
[Bug] libopenmpt_stream_callbacks_fd.h and \
libopenmpt_stream_callbacks_file.h were missing in Windows development packages.
[Bug] libopenmpt on Windows did not properly guard against current working \
directory DLL injection attacks.
[Bug] localtime() was used to determine the version of Schism Tracker used \
to save IT and S3M files. This function is not guaranteed to be thread-safe by \
the standard and is now no longer used.
[Bug] Possible crashes with malformed IT, ITP, AMS, MDL, MED, MPTM, PSM and \
Startrekker files.
[Bug] Possible hangs with malformed DBM, MPTM and PSM files.
[Bug] Possible hangs with malformed files containing cyclic plugin routings.
[Bug] Excessive loading times with malformed ITP / truncated AMS files.
[Bug] Plugins did not work correctly when changing the sample rate between \
two render calls.
[Bug] Possible NULL-pointer dereference read during obscure out-of-memory \
situations while handling exceptions in the C API.
[Bug] libmodplug: libmodplug.pc was wrong.
[Bug] Cross-compiling libopenmpt with autotools for Windows now properly \
sets -municode and -mconsole as well as all required Windows system libraries.
[Bug] foo_openmpt: Interpolation filter and volume ramping settings were \
confused in previous versions. This version resets both to the defaults.
[Bug] libmodplug: The CSoundFile::Read function in the emulated libmodplug \
C++ API returned the wrong value, causing qmmp (and possibly other software) to \
crash.
Support for SoundTracker Pro II (STP) and Digital Tracker (DTM) modules.
Increased accuracy of the sample position and sample rate to drift less when \
playing very long samples.
Various playback improvements for IT and XM files.
Channel frequency could wrap around after some excessive portamento / down \
in some formats since libopenmpt 0.2-beta17.
Playback improvements for S3M files made with Impulse Tracker and Schism Tracker.
ParamEq plugin emulation didn’t do anything at full gain (+15dB).
All standard DMO effects are now also emulated on non-Windows and non-MSVC \
systems.
Added libopenmpt_stream_callbacks_buffer.h which adds \
openmpt_stream_callbacks support for in-memory buffers, possibly even only using \
a truncated prefix view into a bigger file which is useful for probing.
Avoid enabling some ProTracker-specific quirks for MOD files most likely \
created with ScreamTracker 3.
Tremolo effect only had half the intended strength in MOD files.
Pattern loops ending on the last row a pattern were not executed correctly \
in S3M files.
Work-around for reading MIDI macros and plugin settings in some malformed IT \
files written by old UNMO3 versions.
Improve tracker detection in IT format.
Playback fixes for 8-channel MED files
Do not set note volume to 0 on out-of-range offset in XM files.
Better import of some slide commands in SFX files.
Sample 15 in “Crew Generation” by Necros requires short loops at the \
beginning of the sample to not be ignored. Since we need to ignore them in some \
(non-ProTracker) modules, we heuristically disable the old loop sanitization \
behaviour based on the module channel count.
Both normal and percentage offset in PLM files were handled as percentage offset.
MT2 files with instruments that had both sample and plugin assignments were \
not read correctly.
Some valid FAR files were rejected erroneously.
Support for VBlank timing flag and comment field in PT36 files.
Improved accuracy of vibrato command in DIGI / DBM files.
STM: Add support for “WUZAMOD!” magic bytes and allow some slightly \
malformed STM files to load which were previously rejected.
Detect whether “hidden” patterns in the order list of SoundTracker \
modules should be taken into account or not.
Tighten heuristics for rejecting invalid 669, M15, MOD and ICE files and \
loosen them in other places to allow some valid MOD files to load.
Improvements to seeking: Channel panning was not always updated from \
instruments / samples when seeking, and out-of-range global volume was not \
applied correctly in some formats.
seek.sync_samples=1 did not apply PTM reverse offset effect and the volume \
slide part of combined volume slide + vibrato commands.
If the order list was longer than 256 items and there was a pattern break \
effect without a position jump on the last pattern of the sequence, it did not \
jump to the correct restart order.
Makefile has now explicit support for FreeBSD with no special option or \
configuration required.
openmpt123: Improved section layout in man page.
libmodplug: Added all missing C++ API symbols that are accessible via the \
public libmodplug header file.
Autotools build system now has options --disable-openmpt123, --disable-tests \
and --disable-examples which may be desireable when cross-compiling.
Windows binary packages now ship with libmpg123 included.
|
2017-09-08 04:38:46 by Ryo ONODERA | Files touched by this commit (132) |
Log message:
Recursive revbump from audio/pulseaudio-11.0
|
2017-08-14 22:26:36 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Updated libopenmpt to 0.2.8760.
libopenmpt 0.2-beta27 (2017-08-12)
[Bug] libmodplug: The CSoundFile::Read function in the emulated libmodplug \
C++ API returned the wrong value, causing qmmp (and possibly other software) to \
crash.
The ProTracker note delay quirk should not retrigger already stopped samples \
(fixes "Subi loses the Cops" by Subi).
ProTracker portamento between already stopped sample and another sample kept \
playing the old sample (fixes "anarchy-main" by Jester).
Playback fix for instruments with custom tunings and transposed note maps in \
MPTM format.
ProTracker quirk: If there is a note with a out-of-range note delay, it is \
played on the next row (with an instant portamento), unless there is a new note \
on that row.
ProTracker quirk: Apply tempo changes after the first tick of the row.
libopenmpt 0.2-beta26 (2017-07-07)
[Bug] Possible crashes with malformed PLM and PSM files.
[Bug] mktime() and localtime() were used for song date parsing. These \
functions are not guaranteed to be thread-safe by the standard. Furthermore, \
some standard library implementations are buggy and may cause the program to \
abort in out-of-memory situations. These functions are now no longer used.
Loops shorter than four sample points at the end of a sample could cause the \
sample data before the loop to become corrupted.
libopenmpt 0.2-beta25 (2017-07-02)
PT36: Enable VBlank timing as specified in file and read song comment.
M15: Loosen heuristics to allow a few more semi-damaged files to play.
MT2: If there were instruments with both sample and plugin assignments, \
sample data was not read correctly.
|
2017-05-29 14:13:22 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
Updated libopenmpt to 0.2.8190.
libopenmpt 0.2-beta24 (2017-05-22)
[Bug] localtime() was used to determine the version of Schism Tracker used \
to save IT and S3M files. This function is not guaranteed to be thread-safe by \
the standard and is now no longer used.
[Bug] Compilation with GCC 4.1 was broken since 0.2-beta20.5.
Improvements to seeking: Channel panning was not always updated from \
instruments / samples when seeking, and out-of-range global volume was not \
applied correctly in some formats.
Work-around for reading MIDI macros and plugin settings in some malformed IT \
files written by old UNMO3 versions.
Improve tracker detection in IT format.
|
2017-05-02 12:32:29 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Updated libopenmpt to 0.2.8043.
libopenmpt 0.2-beta23 (2017-04-23)
[Change] The libmpg123 binary download script on Windows now downloads \
libmpg123 1.24.0.
[Change] MSVC builds of libopenmpt will now only load known DMO plugins.
[Bug] foo_openmpt: Interpolation filter and volume ramping settings were \
confused in previous versions. This version resets both to the defaults.
|
2017-03-12 21:18:51 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Updated libopenmpt to 0.2.7774.
libopenmpt 0.2-beta22 (2017-03-11)
[Bug] Possible NULL-pointer dereference read during obscure out-of-memory \
situations while handling exceptions in the C API.
[Bug] libmodplug: libmodplug.pc was wrong.
[Bug] Cross-compiling libopenmpt with autotools for Windows now properly \
sets -municode and -mconsole as well as all required Windows system libraries.
[Bug] Excessive loading times with malformed ITP / truncated AMS files.
[Bug] libopenmpt on Windows did not properly guard against current working \
directory DLL injection attacks.
[Change] The Makefile and Autotools build system got new options USE_DLOPEN \
and --enable-dlopen respectively which are required to be set in order to load \
3rd-party libraries dynamically. Additionally, the defaults for detecting libdl \
and libltdl now also default to off with autotools. This change has been made in \
order to make the default configuration as secure as possible. Both build \
systems default to dependencies that facilitate native MO3 decoding internally \
anyway, thus there is actually no practical disadvantage with the new default \
settings at all.
[Change] Un4seen unmo3 support is now completely disabled by default in all \
configurations and build systems.
[Regression] In order to securely load libmpg123, the Windows binary \
packages only support the precise libmpg123 binary that is downloaded by the \
download_mpg123.vbs script. Other binaries might also work, but this has neither \
been tested nor is officially supported from now on.
Autotools build system now has options --disable-openmpt123, --disable-tests \
and --disable-examples which may be desireable when cross-compiling.
Windows binary packages now include a script download_mpg123.vbs which \
downloads libmpg123 and copies it to the appropriate directories relative to the \
uncompressed binary archive.
Do not set note volume to 0 on out-of-range offset in XM files.
Better import of some slide commands in SFX files.
Sample 15 in "Crew Generation" by Necros requires short loops at \
the beginning of the sample to not be ignored. Since we need to ignore them in \
some (non-ProTracker) modules, we heuristically disable the old loop \
sanitization behaviour based on the module channel count.
Both normal and percentage offset in PLM files were handled as percentage offset.
seek.sync_samples=1 did not apply PTM reverse offset effect and the volume \
slide part of combined volume slide + vibrato commands.
libopenmpt 0.2-beta21 (skipped)
Version 0.2-beta21 has been skipped in order to avoid confusion with libtool \
version of libopenmpt 0.3.0-pre.0 and 0.3.0-pre.1 development versions.
|
2017-02-20 10:55:48 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Updated libopenmpt to 0.2.7561.
libopenmpt 0.2-beta20.5 (2017-02-05)
[Bug] libmodplug: C++ API did not build with MSVC2008 in 0.2-beta20.4.
libopenmpt 0.2-beta20.4 (2017-02-05, not released)
[Bug] Possible hangs with malformed files containing cyclic plugin routings.
libmodplug: Added all missing C++ API symbols that are accessable via the \
public libmodplug header file.
Channel frequency could wrap around after some excessive portamento / down \
in some formats since libopenmpt 0.2-beta17.
Playback improvements for S3M files made with Impulse Tracker and Schism Tracker.
|