mirror of
https://github.com/kbeckmann/game-and-watch-retro-go.git
synced 2025-12-16 13:15:55 +01:00
965 lines
37 KiB
Plaintext
965 lines
37 KiB
Plaintext
Summary of changes between libmikmod 3.3.11 and libmikmod 3.3.12:
|
|
========================================================================
|
|
|
|
libmikmod v3.3.12 was released on ???? ??, ????.
|
|
|
|
- New configuration option to exclude module depackers (off by default.)
|
|
- Fix high cpu usage in ALSA output driver (reported by David Lindsay.)
|
|
- Add WinMM driver (drv_win) command line options for buffer size and
|
|
count (github bug #29, PR #30.)
|
|
- Merge vibrato tables/math, fix tremolo ramp down, fix IT vibrato.
|
|
(github PR #28.)
|
|
- Fix XM fine volume slide effects (was broken between libmikmod-3.1.6
|
|
and 3.1.7 - github PR #20.)
|
|
- Fix MOD retrigger (E9x) effect bug that would cause it to always
|
|
retrigger on tick 1. (github bug #21, PR #22.)
|
|
- Fix handling of FAR pattern break byte (github bug #5.)
|
|
- Add support for Mod's Grave WOW files to MOD loader (github bug #7.)
|
|
- Check M&K! and CD61 signatures in Octalyser modules (github PR #12.)
|
|
- Don't load STM samples with volume==0, fix sample offset calculation
|
|
(github bug #6.)
|
|
- Fix volume event handling for FAR modules. (github PR #14.)
|
|
- Fix GDM empty notes, fine volslide/portamento, and sample volume.
|
|
(github PR #15.)
|
|
- Fix GDM set pan position effect. (github PR #27.)
|
|
- Fix MED 9xx command in tempo mode and various BPM mode bugs (github
|
|
bug #17).
|
|
- Implement missing OctaMED effects and fix several other MED effects
|
|
(github bug #19, PR #23.)
|
|
- Add support for MED song/instrument transpose and octave wrapping.
|
|
(github bug #24, PR #25.)
|
|
- Use more accurate BPM values for 8-channel mode tempos in OctaMed
|
|
loader (github PR #26)
|
|
- Fix note tuning for 669 modules. (github PR #16.)
|
|
- DoPTEffectB, DoPTEffectD: bounds-check the jump target.
|
|
- StartEnvelope: workaround invalid envelopes with 0 pts.
|
|
- Sanity-check against bad effects in Asylum loader.
|
|
- Sanity-check that position values can't be higher than patterns in
|
|
several loaders.
|
|
- Fix access to uninitialized memory in M15, IT, STM and STMIK loaders
|
|
in case of short files.
|
|
- Refuse zero instrument and pattern numbers in STMIK loader.
|
|
- Fixed off-by-one source buffer boundary check in PP20 depacker.
|
|
- Improved sanity checks in S404 depacker to prevent out-of-bound reads.
|
|
- Added Nintendo64 output driver -- based on old work by 'dragonminded'.
|
|
- Removed support for lcc-win32 compiler.
|
|
- Several build and portability fixes/updates.
|
|
|
|
Thanks to:
|
|
- Lionel Debroux, for providing fuzz files which helped finding defects.
|
|
- Alice Rowan (Lachesis), for providing FAR, GDM, STM, and other loader
|
|
fixes.
|
|
- Victor Vieux, for providing and testing the N64 driver.
|
|
|
|
|
|
Summary of changes between libmikmod 3.3.10 and libmikmod 3.3.11:
|
|
========================================================================
|
|
|
|
libmikmod v3.3.11 was released on June 14, 2017.
|
|
|
|
- Fixed lots of possible crashes in the IT, XM, S3M, STM, STX, AMF, IMF,
|
|
GDM and MED module loaders.
|
|
- Fixed a possible endless loop in the IT loader with malformed files.
|
|
- Fixed signed integer overflow leading to crashes in the sample loader.
|
|
- Fixed a possible crash in MMCMP depacker with malformed files.
|
|
- Fixed the broken fixed-line comment reader which might possibly lead
|
|
to crashes, and also badly translated several song messages. The new
|
|
code is adapted from libopenmpt.
|
|
- Support for building the Windows version using Open Watcom compiler.
|
|
- A few minor OS/2 fixes.
|
|
- CMake updates.
|
|
- Other minor fixes/tidy-ups.
|
|
|
|
Thanks to:
|
|
- Lionel Debroux, for providing fuzz files which helped finding defects.
|
|
- Johannes Schultz (sagamusix), for allowing us to use a piece of code
|
|
from libopenmpt.
|
|
|
|
|
|
Summary of changes between libmikmod 3.3.9 and libmikmod 3.3.10:
|
|
========================================================================
|
|
|
|
libmikmod v3.3.10 was released on 31-Aug-2016.
|
|
|
|
- Fixed windows builds when UNICODE is defined. (Thanks S. Michel).
|
|
|
|
|
|
Summary of changes between libmikmod 3.3.8 and libmikmod 3.3.9:
|
|
========================================================================
|
|
|
|
libmikmod v3.3.9 was released on 12-Aug-2016.
|
|
|
|
- Amiga, AHI driver: Fixed a crash upon driver shutdown.
|
|
- Amiga: Updates. Added standalone makefiles with cross-build support.
|
|
- RAW file writer: Changed to use ansi stdio functions instead of
|
|
posix unistd, for better portability.
|
|
- Playercode: Allocate the right channel reverb buffers only if the
|
|
mixer is setup for stereo mode. (Helps with ports to memory-tight
|
|
platforms. Patch from Andrew Rossignol.)
|
|
- Fixed access to uninitialized memory in the simpleplayMEM example
|
|
program.
|
|
- Added a configuration option to exclude the hqmixer (off by default.)
|
|
- Using locale-insensitive ctype.h and casecmp functions in library.
|
|
- Configury: New --disable-alldrv option to disable all of the audio
|
|
output drivers. If additional --enable-xxx options are given, the
|
|
specified drivers will be enabled.
|
|
|
|
|
|
Summary of changes between libmikmod 3.3.7 and libmikmod 3.3.8:
|
|
========================================================================
|
|
|
|
libmikmod v3.3.8 was released on 15-Nov-2015.
|
|
|
|
- Handle the FastTracker2 pattern loop (E60) bug. Modules abusing this
|
|
bug (roadblas.xm) should play correctly now. Thanks to Eugene Toder.
|
|
- AMF loader: Fixed segmentation fault in case of bad sample offsets in
|
|
broken files. (sf.net bug #26, thanks to 'Saga' of OpenMPT project for
|
|
the report and analysis.)
|
|
- AMF loader: Fixed loading of v10 files where sample loop start and end
|
|
values must be read as 32 bits, not 16 bits. (Tested with Maelcum's
|
|
"the tribal zone" and "the way its gonna b". Noticed in OpenMPT source)
|
|
- Fixed a possible undefined behavior in the XM loader.
|
|
- Support for MMCMP, Amiga PP20 (PowerPack), STC (Stone Cracker S404)
|
|
and XPK compressed module formats, based on public domain code from
|
|
libmodplug and libxmp.
|
|
- Support for OpenBSD sndio.
|
|
- Fixed SDL output driver, so that it doesn't crash upon resetting.
|
|
- Disabled the gt2 loader until it is completed properly. (It has been
|
|
always non-functional since its introduction in v3.2.0.)
|
|
- Updated configury. The aix, hpux, bsd/sunaudio and sgi audio drivers
|
|
are now configurable and not built unconditionally. Haiku support
|
|
thanks to Jérôme Duval.
|
|
- Documentation update.
|
|
- Update DOS build for the new djgpp-2.05 release.
|
|
- Minor fix/tidy-ups.
|
|
|
|
|
|
Summary of changes between libmikmod 3.3.6 and libmikmod 3.3.7:
|
|
========================================================================
|
|
|
|
libmikmod v3.3.7 was released on 31-Aug-2014.
|
|
|
|
- Android support, thanks to Radovan Cervenka, with the OpenSL ES
|
|
driver adapted from the old libmikmod-android project.
|
|
- Support for AmigaOS and its variants like MorphOS, AROS, and a new
|
|
AHI driver thanks to Szilárd Biró.
|
|
- Build system configuration and packaging simplifications, tidy-ups.
|
|
- Several portability tweaks.
|
|
- New PSP driver. (untested. suggested by Jon Daniel, based on older
|
|
ports from pspdev.)
|
|
- Fix some OS/2 bit rot. (for nostalgia...)
|
|
|
|
|
|
Summary of changes between libmikmod 3.3.5 and libmikmod 3.3.6:
|
|
========================================================================
|
|
|
|
libmikmod v3.3.6 was released on 20-Mar-2014.
|
|
|
|
- UMX loader: Minor corrections to the container parse code with
|
|
relation to upkg file format. (for correctness' sake only...)
|
|
- ALSA and ESD drivers: Fixed a dlopen() issue.
|
|
- PulseAudio driver: Simplified its command line parser procedure,
|
|
so that it always sets server and sink to some value, NULL or
|
|
otherwise, and fix a very minor memory leak on some occasions.
|
|
- Configury, OSS driver: Removed useless check for /dev/sndstat
|
|
presence, added <soundcard.h> check to cover all our bases for
|
|
less common setups.
|
|
- Configury, NAS driver: Use the configury detected X header and
|
|
library locations when necessary, not just hardcoded /usr/X11R6/.
|
|
- Several configury and makefile clean-ups.
|
|
- Added Dreamcast driver from the old 3.2.0b2 dreamcast.es port.
|
|
|
|
|
|
Summary of changes between libmikmod 3.3.4 and libmikmod 3.3.5:
|
|
========================================================================
|
|
|
|
libmikmod v3.3.5 was released on 10-Jan-2014.
|
|
This is a minor bugfix / maintenance release.
|
|
|
|
- New PulseAudio driver for audio output, using pa_simple_* api.
|
|
- Improved ALSA driver.
|
|
- mikmod.texi: Fixed document generation using newer texinfo.
|
|
- Updates and fixes to configury (autotools) and to cmake support.
|
|
Cmake support covers more targets and options now.
|
|
- Made the aiff, wav and raw file writer drivers configurable: the
|
|
library can be configured and compiled without any audio output
|
|
drivers if so required, except for drv_nos ('nosound') of course.
|
|
- DOS (djgpp): fixed the sound blaster SB16 driver.
|
|
- Fixed a few potential sources of crash, several code clean-ups.
|
|
- Minor compilation fixes against ancient software versions.
|
|
- Merged an updated gp32 driver (it is still an untested driver...)
|
|
|
|
|
|
Summary of changes between libmikmod 3.3.3 and libmikmod 3.3.4:
|
|
========================================================================
|
|
|
|
libmikmod 3.3.4 was released on 08-Dec-2013.
|
|
|
|
- libmikmod.m4: fixed so that it works with C++ compilers.
|
|
- cmake: fixed a cpack version number issue.
|
|
- Fix CVE-2006-3879 (Secunia 21196) for Graoumf tracker (gt2) loader.
|
|
(the loader is non-functional yet but the issue was there.)
|
|
- Fix memory leaks in the Graoumf tracker (gt2) loader.
|
|
- UMX loader: Support umx music files from Unreal 1997/98 beta version.
|
|
- S3M loader: Enforce the 64000 bytes sample length limit, which has
|
|
been in effect since libmikmod-v3.1.10, only for tracker id 1, i.e.
|
|
only if setting the S3MIT_SCREAM flag during track conversion. Fixes
|
|
playback of some rare brokenly prepared files - e.g. Arena2.umx from
|
|
the unreal game community add-on level decyberduel.
|
|
- ULT loader: Fix version array size (was 1 less then its initializer.)
|
|
- ESD driver: Fix signature for esd_playstream function pointer (const)
|
|
- ALSA driver: Remove unused function pointers.
|
|
- The library is compilable using C++ compilers.
|
|
|
|
|
|
Summary of changes between libmikmod 3.3.2 and libmikmod 3.3.3:
|
|
========================================================================
|
|
|
|
libmikmod 3.3.3 was released on 15-Oct-2013.
|
|
This is a bug fix/maintenance release, with a new umx loader as the
|
|
new feature.
|
|
|
|
- New loader to load modules contained in UMX files from games like
|
|
Unreal, DeusEx, etc. (Developers: custom MREADER implementations
|
|
must respect the 'iobase' field for umx loading to work for them.
|
|
see the splayMEM example app source.)
|
|
- AIFF file writer now silently ignores and clears float output mode.
|
|
- Fixed a small memory leak in samples freeing (thanks to S. Michel.)
|
|
- Fixed calling the previous position while at position 0 resulting
|
|
in an invalid read. (noticed while running mikmod under valgrind.)
|
|
- Memory reader now fills the available bytes to destination buffer
|
|
when a short read is happening, while still returning false.
|
|
- Memory reader now respects the iobase value of the reader struct.
|
|
(doesn't change normal behavior, but may help with new features.)
|
|
- Updated simpleplayMEM example application.
|
|
- Fix return types for MREADER->Seek and MWRITER->Put to be int, and
|
|
not BOOL. (identical functionality but non-misleading.)
|
|
- Documentation fixes with relation to free()/MikMod_free().
|
|
- Marked the SIMD (SSE2/AltiVec) option as unstable in the makefiles
|
|
and configury/cmake: not recommended until it is fixed properly.
|
|
- Provided new Visual Studio 6 and Visual Studio 2005 project files.
|
|
The latter imports into newer Visual Studio versions, e.g. VS2012.
|
|
- Fixed some driver version signatures which I missed changing in the
|
|
previous release. (cosmetic change.)
|
|
|
|
|
|
Summary of changes between libmikmod 3.2.0 and libmikmod 3.3.2:
|
|
========================================================================
|
|
|
|
libmikmod 3.3.2 was released on 05-Oct-2013.
|
|
|
|
This is a serious bug fix release after the previous 3.2.0 series, with
|
|
some additional new features. All who are using libmikmod-3.2.0 (or the
|
|
interim 3.3.1-beta) must upgrade to the new libmikmod-3.3.2 version.
|
|
|
|
THANKS
|
|
|
|
- Paul Spark <sparkynz74@gmail.com> for Microsoft Visual C 6.0 fixes.
|
|
- Ozkan Sezer: many changes.
|
|
|
|
NEW FEATURES
|
|
|
|
- New CMake build system.
|
|
- Updated configury, support for cross-compilation, support for building
|
|
in a separate directory, support latest autotools.
|
|
- New SDL driver - works both with SDL-1.2.x and with SDL2, supports
|
|
floating point output if compiled against SDL2.
|
|
- New OpenAL driver, originally suggested by 'kervala', with fixes and
|
|
updates and with floating point output support.
|
|
- The multi-platform SDL and OpenAL drivers, if they are compiled, have
|
|
priority over OS-specific hw drivers for MikMod_RegisterAllDrivers().
|
|
- New windows xaudio2 driver, originally suggested by 'honza.c', with
|
|
updates, xaudio2.8 support and with floating point output support.
|
|
- ALSA driver now supports only the contemporary ALSA 1.0.x versions.
|
|
All of the ancient ALSA 0.3.x-0.4.x code were removed.
|
|
- Floating point output mode support for ALSA, OSS, Direct Sound, WinMM
|
|
drivers and for WAV file writer.
|
|
- The pipe and stdout drivers are now configurable
|
|
- Raw file-writer now has the lowest priority among the file-writers.
|
|
- GCC elf and macho symbol visibility attributes now supported.
|
|
- Windows: dllexport/dllimport attributes work properly for MinGW[-w64],
|
|
as well as windows compilers. Static builds using MSVC, LCC, etc are
|
|
now named mikmod_static.lib. When compiling against static libmikmod,
|
|
MIKMOD_STATIC should be defined so that dllimport wouldn't be assumed.
|
|
|
|
BUGFIXES
|
|
|
|
- ALSA fixes from Fedora.
|
|
- ALSA fixes for "Write error: File descriptor in bad state" crashes,
|
|
e.g. RedHat bug #915121. Now works stable.
|
|
- ESD (esound) updates from Fedora. Add esd back to configury which was
|
|
removed in 3.2.0b3, now requiring >= 0.2.18.
|
|
- Minor OSS fixes.
|
|
- The NAS driver now actually compiles.
|
|
- 64 bit detection fixes.
|
|
- Fix BOOL type use all over the source.
|
|
- Several const correctness fixes.
|
|
- Fixes for CVE-2007-6720 and CVE-2009-0179.
|
|
- mmio: memreader fixes and updates.
|
|
- Fixes for access violations introduced in 3.2.0b3.
|
|
- Fixes for broken memory allocation wrappers introduced in 3.2.0b3.
|
|
- Fix MikMod_strerror() might read beyond end of a static array.
|
|
- Fix looping volume in Player_SetVolume(), based on an old patch by
|
|
Yi-Huang Han.
|
|
- XM loader now reads songlength amount of orders from the file and
|
|
then seeks to mh->headersize+60 (sf.net bug #10.)
|
|
- Fix "unclick" code to consider loop lengths shorter than 16: fixes
|
|
crashes seen with several xm files (sf.net bug #12, mpd bug #3425.)
|
|
- Mac OS X: new standalone makefile with cross-compilation support.
|
|
- DJGPP build fixes.
|
|
- Windows: fixes/updates, win64 fully supported. MinGW[-w64] fully
|
|
supported along with MSVC and LCC. new standalone MinGW makefile with
|
|
cross-compilation support.
|
|
- SIMD (AltiVec and SSE2) option is now disabled by default. Can be
|
|
enabled by --enable-simd configury option, similarly with cmake. (the
|
|
standalone makefiles or project files are added instructions on how to
|
|
enable the feature if required.)
|
|
- Many compiler warning fixes, other small cleanups.
|
|
|
|
|
|
Summary of changes between libmikmod 3.1.11 and libmikmod 3.2.0 (Xorigad):
|
|
==========================================================================
|
|
|
|
libmikmod 3.2.0 was released on 01-June-2012.
|
|
|
|
THANKS
|
|
|
|
- Axel "awe" Wefers <awe@fruitz-of-dojo.de>, for creating the CoreAudio
|
|
driver, the new AIFF driver, and fixes for the wav output driver.
|
|
- Frank Loemker, for sending me his collection of patches for libmikmod.
|
|
- Anders F Björklund <afb@algonet.se>, for updates, fixes and tests on
|
|
Mac Platforms and rpm support.
|
|
- Ivan Shmakov, for the NAS audio driver.
|
|
- Various downstream patch writers (from Mandriva, SuSE, Red Hat/Fedora,
|
|
Debian, etc.)
|
|
- P. Martin - the macports maintainer for some patches.
|
|
- Stéphan Kochen for two patches: one to change MDRIVER fields to "const",
|
|
and the other with putting variable declarations at the start of block
|
|
(which is more C89 compliant and fixes compilation on Microsoft Visual
|
|
C++).
|
|
|
|
NEW FEATURES
|
|
|
|
- MacOS X CoreAudio driver
|
|
- Carbon support
|
|
- Loader for ASYLUM Music Format v1.0 (.amf) modules, as used in crusader
|
|
games.
|
|
- New function 'Player_QueryVoices' added, which is used to return
|
|
dynamic channel information about the module player. (Mikmod 3.2.2 uses
|
|
it for its dynamic panels).
|
|
- Mixing with floating point output. The MacOSX CoreAudio driver uses it.
|
|
Thanks goes to Anders F Björklund for implementing this.
|
|
- AIFF disk writer driver.
|
|
- RPM support. To build a rpm, download the tar.gz, and run this:
|
|
% rpmbuild -tb libmikmod-3.2.0-beta2.tar.gz
|
|
- New NAS driver (Network Audio System). Tested with nasd and NCD X
|
|
terminals.
|
|
- MREADERs now have an iobase member (previously was a static variable
|
|
in mmio.c). This permits to have many MREADERs with different iobase
|
|
base values.
|
|
- Created an example/ subdirectory, to hold programming examples.
|
|
- Added functions to read from memory (Player_LoadMem, Sample_LoadMem...)
|
|
and a memory reader in mmio.c
|
|
- renamed internal _mm_malloc function to MikMod_malloc, which is now
|
|
part of the API.
|
|
- Raw samples can now be loaded using the new Sample_LoadRaw* family of
|
|
functions for sound effects.
|
|
- PowerPC 64 support
|
|
- ALSA (Advanced Linux Sound Architecture) driver is now working with
|
|
"recent" (actually a few years back) ALSAs.
|
|
- Change MDRIVER "char *" fields to "const char *".
|
|
- Thanks to Stéphan Kochen.
|
|
- Implement a fix to the ALSA driver in MIKMOD_DYNAMIC mode so it will
|
|
allow linking against libmikmod when "-Wl,--no-undefined" is passed.
|
|
- Reported by Andrey Bondrov from Mandriva.
|
|
- The problem was that we used some snd_... identifiers indirectly in
|
|
some macro expansions.
|
|
|
|
BUGFIXES
|
|
|
|
- The sun driver now compiles on solaris (Thanks to Nicolas Gros d'Aillon
|
|
for sending me Jonathan Perkin's fix)
|
|
- The wav output driver had problems on big endian systems. Thanks to
|
|
Axel "awe" Wefers for fixing this.
|
|
- A warning reported by Stéphane LOEUILLET in libmikmod.m4 with autoconf
|
|
1.8 was fixed.
|
|
- The 'card' argument, supported by the OSS driver was not documented via
|
|
the MDRIVER->CmdLineHelp string.
|
|
- libmikmod-3.1.11-CVE-2010-2546,2971.diff (from Mandriva/Mageia).
|
|
- libmikmod-3.1.11-CVE-2009-3995,3996.diff (from Mandriva/Mageia).
|
|
- Now checking for linking against -lm (from Mandriva/Mageia).
|
|
- Modified patch of libmikmod-CVE-2009-0179.patch (from Mandriva/Mageia).
|
|
- Apply the libmikmod-CVE-2007-6720.patch (from Mandriva/Mageia).
|
|
- Implement a fix for sprintf-of-list
|
|
- sprintf(list, "%sSOMETHING", list) does not work as expected and
|
|
suffers from the
|
|
http://en.wikipedia.org/wiki/Schlemiel_the_Painter%27s_algorithm
|
|
syndrome.
|
|
- Apply a patch for non-blocking opening of the OSS driver.
|
|
(from Mandriva/Mageia).
|
|
- Fixed the prototypes of vc_callback (thanks to P. Martin).
|
|
- Cast a vc_callback parameter to "unsigned char *" instead of "char *",
|
|
because the former is what it accepts (thanks to P. Martin).
|
|
- Check for Samples' validatity in virtch_common.c (thanks to P. Martin).
|
|
- Fix compilation on MSVC.
|
|
- Thanks to Stéphan Kochen.
|
|
|
|
|
|
Summary of changes between libmikmod 3.1.10 and libmikmod 3.1.11 (Thiers):
|
|
==========================================================================
|
|
|
|
libmikmod 3.1.11 was released on 01/21/2004.
|
|
|
|
This is a small maintenance release. I know there are not many changes,
|
|
but since it has been a very long time since the last one, and meanwhile
|
|
libmikmod changed maintainer, I think it is justified.
|
|
|
|
THANKS
|
|
|
|
- Ingo Saitz, the maintainer of the mikmod packages for debian, for
|
|
bugfixes.
|
|
- Frank Loemker, for the lcc-win32 stuff and fixes for the direct sound
|
|
driver.
|
|
|
|
BUGFIXES
|
|
|
|
- Playback problems in MODs of length >128. This fixes the file beatwave.mod. Thanks
|
|
to Emmanuel Coirier for pointing this out.
|
|
- Applied debian patches:
|
|
- Fix for broken volume fadeouts of IT instruments
|
|
- Fixed configure test for pthread
|
|
- devfs support for Linux OSS
|
|
|
|
- Makefile for lcc-win32. To compile libmikmod with lcc-win32 a rather new
|
|
version is needed. I currently use version 3.7 compiled on Jan 20 2002.
|
|
A version half a year old did not work. To compile
|
|
- check that you have the lcc bin directory in the PATH
|
|
(and no other compiler bin dirs),
|
|
- change to libmikmod-3.1.11/win32,
|
|
- check Makefile.lcc for any needed changes, and
|
|
- use make -f Makefile.lcc.
|
|
|
|
- Different fixes for the direct sound driver:
|
|
- Pausing did only work for half of the buffer.
|
|
- Restarting the player did not work as the output thread was removed
|
|
in DS_PlayStop().
|
|
- Removed busy waiting for end of thread.
|
|
- Sound output is started immediately on the first call to DS_Update()
|
|
to be consistent with other non threaded drivers.
|
|
- Different small clean ups.
|
|
|
|
- In MikMod_Reset() the raw output driver driver did not use the
|
|
filename set via the cmdline.
|
|
|
|
|
|
Summary of changes between libmikmod 3.1.9 and libmikmod 3.1.10 (Arlanc):
|
|
=========================================================================
|
|
|
|
libmikmod 3.1.10 was released on 01/24/2002.
|
|
|
|
This version is yet another bugfix release. I have more contributions coming,
|
|
especially a native MacOS X driver, that will not be present in 3.1.10 but
|
|
will be in 3.1.11.
|
|
|
|
|
|
THANKS
|
|
|
|
- Most of the bugs mentioned below have been squished by ``UFO'',
|
|
Holger Jakob, Thomas Neumann, Mark Page and Juan Linietsky.
|
|
|
|
|
|
BUGFIXES
|
|
|
|
- Systematic coredumps on library initialization and calls to
|
|
MikMod_InfoDriver have been eliminated. Sorry, and thanks to Shlomi
|
|
Fish for the best fix.
|
|
|
|
- The fix for spurious effect memory for portamentos in MOD files shouldn't
|
|
have been applied to the ``porta to note'' (effect 3) effect. Fixed in this
|
|
release. In the process, the aforementioned fix was perfected, as it
|
|
broke a few modules by accident.
|
|
|
|
- IT Panbrello effect with random wave did not work.
|
|
|
|
- IT Tempo slide (T0x, T1x) was not updated accurately, and the effect memory
|
|
was not implemented. The only tempo slide command which worked accurately
|
|
was T10, which is a no-op (-:
|
|
|
|
- IT effect SC0 (cut note with no delay) is now correctly interpreted as SC1.
|
|
|
|
- XM effect 6 (porta + volume slide) didn't have memory.
|
|
|
|
- ProTracker effect F (change speed or bpm) should now be correctly handled
|
|
when its value is 32, depending on the module type (some formats will use
|
|
it as a speed value, others as a bpm value).
|
|
|
|
- XM playback stopped when reaching pattern 255 in the order list.
|
|
|
|
- Corrupted envelopes in XM instruments are detected and some repair is
|
|
attempted.
|
|
|
|
- Some valid AMF, IMF and IT modules refused to load.
|
|
|
|
- Fine volume slide effects in volume column of IT modules, when using the
|
|
effect memory (i.e. A0 and B0) were misinterpreted as AF and BF, thus
|
|
causing unwanted large slides.
|
|
|
|
- Portamento to note effect in volume column of IT modules was not rendered
|
|
correctly.
|
|
|
|
- S3M files marked as created by ScreamTracker will honour the limit of 64000
|
|
bytes (not 64KB!) for sample length and sample offset effect position.
|
|
|
|
- Loops in instrument envelopes were processed one tick too fast.
|
|
|
|
- In-song message in FAR modules were not displayed correctly.
|
|
|
|
- ProTracker effect E9 (Retrig) was not played correctly.
|
|
|
|
|
|
NEW FEATURES
|
|
|
|
- Modules which are not panning-aware (not using any panning effects and
|
|
with the tracker's default panning) use a recentered panning, so as to
|
|
sound better with headphones. Suggested by Urpo Lankinen.
|
|
|
|
- Retrigger and panning effects are now recognized in FAR modules.
|
|
|
|
- All arpeggio effects are now played in OKT modules.
|
|
|
|
- FLT8 modules (8 channel StarTrekker) are now recognized and played.
|
|
|
|
|
|
PLATFORM SPECIFIC
|
|
|
|
- The Windows DirectSound driver has been improved and will use less
|
|
resources during playback.
|
|
|
|
- The native audio driver for NetBSD and OpenBSD should work better with
|
|
recent versions of these systems, as well as with old sound cards such
|
|
as the SoundBlaster Pro.
|
|
|
|
- Mac OS X is supported, although no native sound driver is available for
|
|
it yet, thanks to Juha Kaunisto.
|
|
|
|
- Dynamically loading drivers is now supported on HP-PA systems running
|
|
under HP-UX, as well on systems using the a.out binary file format.
|
|
|
|
|
|
|
|
Summary of changes between libmikmod 3.1.8 and libmikmod 3.1.9 (Vorey):
|
|
=======================================================================
|
|
|
|
libmikmod 3.1.9 was released on 02/14/2000.
|
|
|
|
This version is a bugfix release, and was primarily considered as a public
|
|
patch for 3.1.8 (namely, version 3.1.8-a). However, due to the very important
|
|
bug fix in XM playback, among other things, it's worth being 3.1.9...
|
|
|
|
|
|
THANKS
|
|
|
|
- Many thanks to ``UFO'', Thomas Neumann, James Kehl and Vito Caputo for their
|
|
help, code and feedback.
|
|
|
|
- Special thanks to Gerd Rausch, for writing both the Linux sam9407 driver and
|
|
the associated Mikmod driver. Nice work !
|
|
|
|
- Thanks to Bastien Nocera for letting me do some tests under Linux/PPC.
|
|
|
|
|
|
BUGFIXES
|
|
|
|
- Envelopes weren't loaded correctly for IMF and XM modules. In the average
|
|
case, the first envelope point was correct, the remaining half points were
|
|
bogus, and the other half completely random. This fix is definitely worth
|
|
the upgrade.
|
|
|
|
- In MOD files, effect 0xc (set channel volume) with effect parameter 0xff was
|
|
misplayed as a note cut.
|
|
|
|
- In MOD files too, effects 0x1, 0x2 and 0x3 (portamentos) with effect
|
|
parameter 0x00 were using the command memory, but these commands do not have
|
|
effect memory for MOD files.
|
|
|
|
- The Wuzamod check for STM modules wasn't present in 3.1.8, despite what the
|
|
release notes said )-:
|
|
|
|
- Enabling the envelope (with an effect) for a sample with no associated
|
|
envelope would cause immediate coredumps. Now fixed.
|
|
|
|
- Panning was ignored in GDM modules.
|
|
|
|
- Sample rate was incorrect for STM and STX modules.
|
|
|
|
- Arpeggio memory (for IT modules) was ignored.
|
|
|
|
- Tempo slide for IT modules was not processed correctly.
|
|
|
|
- Toggling surround sound didn't have effect until the driver was reset.
|
|
|
|
|
|
NEW FEATURES
|
|
|
|
- New loader for Amiga Oktalyzer (.OKT) modules.
|
|
|
|
- UNI loader recognizes recent APlayer modules (.APUN format level 0x104).
|
|
|
|
- Due to popular request, the function Player_LoadTitleFP() has been added to
|
|
the library.
|
|
|
|
- Under Unix systems, make targets "check" and "uninstall" have been added.
|
|
However, due to a bug in automake, "make uninstall" will only work correctly
|
|
with the next release of automake (or the current CVS tree).
|
|
|
|
- New output driver for sam9407-based soundcards under Linux, featuring
|
|
hardware playback.
|
|
|
|
|
|
PLATFORM SPECIFIC
|
|
|
|
- Support for the latest Linux Ultra driver development versions (2.99) has
|
|
been added. Also, a few bugs in this driver have been fixed.
|
|
|
|
- The DirectSound driver (win32) shipped with the previous release didn't
|
|
compile. It should now - at least things are better !
|
|
|
|
- The OSS driver from 3.1.8 didn't work very well with some versions of the
|
|
Linux kernel, as well as under Linux/PPC. The problems should be gone now.
|
|
Also, the OSS driver now handles multi-soundcard configurations.
|
|
|
|
|
|
|
|
Summary of changes between libmikmod 3.1.7 and libmikmod 3.1.8 (Tence):
|
|
=======================================================================
|
|
|
|
libmikmod 3.1.8 was released on 10/25/1999.
|
|
|
|
|
|
THANKS
|
|
|
|
- Many thanks (in no particular order) to Frank Loemker, Bjornar Henden, Joshua
|
|
Shagam, Vito Caputo, Thomas Neumann, Zach Metzinger, and Kevin Langman for
|
|
their help, code and feedback.
|
|
|
|
- Special thanks to Andrew Zabolotny for his huge work on the OS/2 drivers.
|
|
The rest of your code is not lost, it will go into 3.2...
|
|
|
|
|
|
BUGFIXES (more details can be found in file ``PROBLEMS'')
|
|
|
|
- IT global volume slide effect was played too fast.
|
|
|
|
- IT effect S6x (pattern delay for x ticks) was misunderstood as SEx (pattern
|
|
delay for x rows).
|
|
|
|
- Finetune effect was not handled correctly for some XM modules.
|
|
|
|
- Software mixer incorrectly produced extra clicks in interpolated mode (fix by
|
|
Frank Loemker).
|
|
|
|
- Under Unix systems, the piped output driver (drv_pipe), as well as the output
|
|
to file drivers (drv_raw, drv_wav) had security issues if the libmikmod
|
|
application is setuid root.
|
|
|
|
- Trying to read data from a file, with the data not located at offset 0,
|
|
didn't work correctly since 3.1.5.
|
|
|
|
- Almost any text file beginning with "if" was considered as a valid module by
|
|
Player_LoadTitle(), yet hopefully rejected when trying to load it.
|
|
|
|
- AMF effect 4 and variants lacked memory.
|
|
|
|
- IT modules featuring patterns with less than 32 rows could not be loaded.
|
|
|
|
- Some samples and effects in APlayer converted modules (.apun) were not played
|
|
correctly.
|
|
|
|
- Linefeeds in the song message in IT modules weren't loaded correctly.
|
|
|
|
|
|
NEW FEATURES
|
|
|
|
- IMF effect XE (ignore envelope) implemented.
|
|
|
|
- Support for uLaw output with the OSS driver, for Linux/sparc.
|
|
|
|
- Started to modularize semaphore usage when possible. The Player_LoadTitle()
|
|
function can be used while a module is playing without causing a short pause
|
|
in playback.
|
|
|
|
- STM modules with the Wuzamod signature can now be loaded.
|
|
|
|
- More ``slightly corrupted'' XM modules can be loaded.
|
|
|
|
|
|
PLATFORM SPECIFIC
|
|
|
|
- libmikmod 3.1.7 didn't compile out of the box under IRIX (sorry !)
|
|
|
|
- The EsounD driver didn't compile under Solaris
|
|
|
|
- Solaris driver forced playback to either headphone or speaker, instead of
|
|
using the current output setting as default. This is now fixed.
|
|
|
|
- Under SunOS 4, libmikmod should compile with the non-ansi C compiler bundled
|
|
by default.
|
|
|
|
- The ALSA driver now works with ALSA 0.4.
|
|
|
|
- The OSS driver should now work with Linux/ppc.
|
|
|
|
- Under OS/2, the MMPM/2 and DART driver have been almost rewritten by Andrew
|
|
Zabolotny and work much better. And they are now somewhat configurable, too.
|
|
|
|
- libmikmod 3.1.8 should work as a DLL under win32 environments. And the
|
|
non-directX driver is now registered in MikMod_RegisterAllDrivers().
|
|
|
|
|
|
Summary of changes between libmikmod 3.1.6 and libmikmod 3.1.7 (Sauxillanges):
|
|
==============================================================================
|
|
|
|
libmikmod 3.1.7 was released on 06/28/1999.
|
|
|
|
|
|
THANKS
|
|
|
|
- Anders Bjoerklund did a terrific job of creating a Macintosh driver !
|
|
I'm proud to add the MacOS to the list of supported systems.
|
|
|
|
- Bjornar Henden provided a non-directX driver for Windows NT users. This
|
|
makes libmikmod more portable than ever. Thanks a lot !
|
|
|
|
- Simon Hosie contributed speed optimizations and bug fixes to the software
|
|
mixer. Thanks for your work !
|
|
|
|
- Timo Taipalus pointed out several severe problems and helped me to get rid
|
|
of them. Thanks for your efforts !
|
|
|
|
|
|
BUGFIXES (more details can be found in file ``PROBLEMS'')
|
|
|
|
- Very long samples were truncated when played with the normal software
|
|
mixer.
|
|
|
|
- Invalid notes using non-existent instruments caused the current note to
|
|
be retrigged instead of being ignored.
|
|
|
|
- Porta to note effects did not restart the sample envelopes.
|
|
|
|
- Note cut with non empty volume column on the same row resulted in the note
|
|
cut being ignored.
|
|
|
|
- Disabling/enabling envelopes had no effect.
|
|
|
|
- 15 instrument modules embedding a ``Music Channel BBS'' ad were rejected.
|
|
|
|
- Huge (>64Kb) sample offsets were ignored with the hiqh quality mixer.
|
|
|
|
- Delay note effect was incorrectly converted to pattern jump, and porta to
|
|
note was incorrectly converted to tremor, for GDM modules.
|
|
|
|
- Dual effect Lxx in S3M and IT was misconverted to L00 (this bug was
|
|
introduced in 3.1.5-beta2, thanks to Timo Taipalus for noticing it)
|
|
|
|
- Pitch envelope was not played accurately (IT).
|
|
|
|
- XM modules in format 1.03 couldn't be loaded.
|
|
|
|
- XM modules with the tracker name empty made the library coredump on some
|
|
platforms.
|
|
|
|
- Set finetune effect (E5x) wasn't handled correctly for XM modules.
|
|
|
|
- Fine slides (X1x,X2x) didn't play correctly for XM modules (thanks to Frank
|
|
Loemker for reporting it).
|
|
|
|
- If the MikMod_InitThreads() function was called more than once, the library
|
|
did not behave correctly.
|
|
|
|
- Sample loops were not computed correctly for Oktalyzer modules.
|
|
|
|
|
|
NEW FEATURES
|
|
|
|
- Modules can be played with a speed shift (suggested by Roope Anttinnen).
|
|
|
|
- MikMod_Init() and MikMod_Reset() have been extended to pass specific
|
|
parameters to the drivers. This makes libmikmod 3.1.7 incompatible with the
|
|
previous versions, but updated libmikmod-based players will be released soon.
|
|
The shared library version has increased (now 2.0). This number scheme is
|
|
going to be as crazy as ncurses' one...
|
|
|
|
|
|
PLATFORM SPECIFIC
|
|
|
|
- It was not possible to create a multithreaded library on FreeBSD (fix by
|
|
Roope Anttinnen).
|
|
|
|
- HP-UX driver used to reset mixer settings at initialization.
|
|
|
|
- Added MacOS support, thanks to Anders Bjoerklund.
|
|
|
|
- Solaris driver now works on Solaris/Intel edition.
|
|
|
|
|
|
|
|
Summary of changes between libmikmod 3.1.5 and libmikmod 3.1.6 (Romegier):
|
|
==========================================================================
|
|
|
|
libmikmod 3.1.6 was released on 03/24/1999.
|
|
|
|
|
|
BUGFIXES
|
|
|
|
- When the library was built thread-safe, calls to Player_SetPosition
|
|
resulted in a deadlock.
|
|
|
|
- The OSS driver was too strict and didn't allow OSS to select a different
|
|
playback frequency.
|
|
|
|
- A volume bug has been removed from the module player (thanks to Thomas
|
|
Neumann for the report).
|
|
|
|
|
|
NEW FEATURES
|
|
|
|
- Volume ramping has been ported from the high quality mixer to the regular
|
|
mixer, and is enabled when interpolated mixing is requested. You should hear
|
|
less clicks in interpolated mode from now ! (Suggested by Bjornar Henden)
|
|
|
|
- The UNI loader recognizes APlayer format 1.3 modules.
|
|
|
|
|
|
PLATFORM SPECIFIC
|
|
|
|
- The NetBSD and OpenBSD driver should work with recent NetBSD and OpenBSD
|
|
versions.
|
|
|
|
- Some Windows code has been merged. Feedback will be appreciated. Note that,
|
|
as I don't have a windows development system (and no plan to have one in the
|
|
near future), I can't test or debug the Windows part myself.
|
|
|
|
|
|
|
|
Summary of changes between libmikmod 3.1.2 and libmikmod 3.1.5 (Pradelles):
|
|
===========================================================================
|
|
|
|
libmikmod 3.1.5 was released on 03/01/1999.
|
|
|
|
|
|
THANKS
|
|
|
|
- Many thanks to Lutz Roeder and Uwe Thoma, who send me the description of
|
|
the Imago Orpheus file format (IMF), as well as some of Imago's code, which
|
|
made the creation of the IMF loader a pure C exercise (-:
|
|
|
|
- Many thanks to Claudio Matsuoka, Tobias Gloth, C. Ray C. and Ben Collver for
|
|
their contributions and bug reports.
|
|
|
|
- Also big thanks to Jan Havelka for his help in tracking and fixing bugs.
|
|
|
|
- I almost forgot to thank Cedric Hebert for pointing out the gcc 2.x
|
|
optimization options bug !
|
|
|
|
- And as a last-minute add-on, Kev Vance submitted a GDM loader.
|
|
|
|
|
|
BUGFIXES
|
|
|
|
- The OSS driver used much more memory than necessary without reason.
|
|
|
|
- Samples longer than 1 Mb were not played correctly. However, the fix now
|
|
requires that your C compiler provides a 64 bit integer type. As a result,
|
|
libmikmod will not compile anymore on AIX with old versions of xlC.
|
|
|
|
- Samples with ping pong loops could make the library segfault on some rare
|
|
conditions. This bug was also present in MikIT and in the module plugin
|
|
of winamp, which are also based on old MikMod 3 sources...
|
|
|
|
- The sample loaders will now load samples with extra information blocks in
|
|
them, and has been made more robust.
|
|
|
|
- More checks to detect empty song messages.
|
|
|
|
- The song message loading routine was bugged and could make the library
|
|
coredump.
|
|
|
|
- AMF modules in formats 1.0, 1.2 and 1.3 couldn't be loaded.
|
|
|
|
- MED loader now loads instrument names and song message if they exist.
|
|
|
|
- More check have been added to the 15 instrument MOD loader to prevent it
|
|
from hanging on non-mod files ; let me know if you still experience
|
|
problems with it.
|
|
|
|
- STM loader rejected STM created by MOD2STM ; the last pattern was never
|
|
played ; also, in some STM modules the samples were not loaded correctly.
|
|
|
|
- XM modules in format 1.02 couldn't be loaded.
|
|
|
|
- Envelope sustain loops in XM modules were not processed correctly.
|
|
|
|
- Porta to note using the command memory used sometimes an incorrect value
|
|
when playing AMF, IT, S3M and ULT modules.
|
|
|
|
- Volume slides for IT (Dxx) and XM (Axx) modules didn't continue in the
|
|
background.
|
|
|
|
- Porta down effect in the volume column of IT modules was not played
|
|
correctly.
|
|
|
|
- Problems occuring when compiling libmikmod when an older version of libmikmod
|
|
is installed are now fixed.
|
|
|
|
|
|
DOCUMENTATION FIXES
|
|
|
|
- The documentation incorrectly referred to PAN_MIDDLE instead of PAN_CENTER.
|
|
|
|
|
|
NEW FEATURES
|
|
|
|
- On platforms that support POSIX.4 threads, the library is now thread-safe.
|
|
|
|
- Depending on your system's capabilities, ALSA and EsounD driver can now
|
|
be dynamically loaded when a libmikmod application is run, so if you built
|
|
your binary with the shared ALSA or EsounD libraries (which is the default),
|
|
it will run on other systems lacking those libraries.
|
|
|
|
- New loaders for GDM (General Digital Music), IMF (Imago Orpheus) and STX
|
|
(STMIK 0.2) modules.
|
|
|
|
- UNI loader is back, for those who need to play the ``Acid Tetris'' songs.
|
|
|
|
- S3M loader correctly identifies S3M modules created by Impulse Tracker
|
|
an Imago Orpheus.
|
|
|
|
- IT effect T (slide tempo) is now implemented.
|
|
|
|
- The driver for the Linux Ultrasound project (the ancestor of ALSA) is back,
|
|
too.
|
|
|
|
- The selection of the standard or high-quality software mixer is now made at
|
|
runtime.
|
|
|
|
- New interfaces Voice_Get{Frequency,Panning,Volume} and
|
|
Player_GetChannelPeriod (this one is for x11amp's MikMod plugin).
|
|
|
|
- Due to the addition of the new driver and loaders, library version has
|
|
increased.
|
|
|
|
|
|
PLATFORM SPECIFIC
|
|
|
|
- Compiling with gcc 2.x under Linux on x86 platforms performed aggressive
|
|
optimizations which had nasty interferences with the channel volumes on
|
|
some modules. Hopefully this is now fixed, so gcc users will get the same
|
|
sound quality as egcs users.
|
|
I apologize to everyone told me of this volume problem for the time it took
|
|
me to figure out where it came from.
|
|
|
|
|
|
Previous versions of libmikmod were bundled with the MikMod player ; refer to
|
|
its ``NEWS'' file for older changes information.
|