2025-10-04
* IMYplay version 2.1
Added WAV file output support (+ DOS). [SDL](https://www.libsdl.org/) output improvements.
Parser improvements. Compatibility improvements. Security
improvements - IMYplay now drops suid permissions with the EXEC,
FILE, MIDI and the new WAV backends. Code quality updates
([SonarCloud](https://sonarcloud.io/project/overview?id=bogdro_imyplay), [Codacy](https://www.codacy.com/), [cppcheck](https://cppcheck.sourceforge.io/), [flawfinder](https://dwheeler.com/flawfinder/)). Memory management
improvements (with help from [Valgrind](https://valgrind.org/)). Updates in unit tests and
new tests (current coverage: about 52% with all backends enabled).
Other code changes, fixes and improvements. Updates
in the build system (especially for DOS). Documentation updates.
2023-09-29
* IMYplay version 2.0
Significant portability updates: IMYplay now compiles also on macOS
(as provided by [Travis CI](https://www.travis-ci.com/)) and [MinGW](https://sourceforge.net/projects/mingw/). IMYplay now compiles by default
also on Solaris/SunOS (earlier, the PC-Speaker module had to be
disabled during configuration). Added an [NSIS](https://nsis.sourceforge.io/)-based installed for the MinGW
version with SDLv2 included. Added support for [GStreamer](https://gstreamer.freedesktop.org) versions
1.x. Significant improvements in the parsers, especially the
flex-based one. Significant improvements in the configuration script.
Added more sound drivers in the [Allegro](http://sourceforge.net/p/alleg) backend. Enabled stereo
output in newer [JACK](https://jackaudio.org/) versions. Many more safety checks in the code.
Added replacement functions in case some standard ones are missing.
Printing run-time versions apart from the compile-time versions
where available. Print the error code if backend initialization or
playing a note fails. Improvements in the build system. The DOS
version can now be built with the flex-based parser. Code quality
updates. Added unit tests for all backends. Improvements in the
documentation. Version bumped to 2.0 because of the vast changes and
to accommodate for the big step in version 0.3.
2021-10-21
* IMYplay version 1.3
SDLv2 support. Improvements in the SDL backend. Fixed the MIDI
backend on 64-bit systems. Fixed the EXEC backend with a missing
parameter. Fixed uninitialized values in the JACK backend. Updates
in the build system for DOS. Other compatibility improvements.
Documentation updates and improvements. Translations rebuilt. New
unit tests.
2021-09-07
* IMYplay version 1.2.1
This is a compatibility-improvement and bugfix-only release. No new
features are added. Fixed compile errors on newer systems. Fixed
uninitialized memory usage in AO. Documentation updates. Other minor
fixes and updates.
2019-11-24
* IMYplay version 1.2
This is an important bugfix release. No new features are introduced.
Important fixes in SDL, PortAudio and JACK output system support.
Fixes in GStreamer and AO output system support. Compatibility and
portability improvements. Updated copyright and documentation. Other
small fixes.
2018-07-08
* IMYplay version 1.1
PortAudio output improvements. Small improvements in SDL & JACK
output. Fixed creating output file names. Small improvements in
the building mechanism. Added unit tests.
2016-07-29
* IMYplay version 1.0
Improved sound output quality. Improved special (MIDI, FILE, EXEC)
output file generation and command-line parsing. Constant
calculations performed just once to improve sample generation time.
Other minor fixes and improvements.
2014-11-23
* IMYplay version 0.9
Code cleanup, documentation updates. Corrected command-line parsing.
Corrected some backends' startup and shutdown. Corrected parsing
binary files. Fixed some memory leaks.
2013-04-02
* IMYplay version 0.8
Made the backends thread-safe (using allocated control structures
instead of static). Corrected PortAudio and SDL outputs.
2012-07-14
* IMYplay version 0.7
PC-speaker output support. Portability improvements. Code cleanup
(removed unnecessary includes and made other corrections for
various backends).
2011-10-06
* IMYplay version 0.6
A new, flex-generated parser for the melody files. Displaying
backend libraries' versions along with imyplay's version. Raw
file output backend. Support for LibNetBlock and LibHideIP.
2011-03-26
* IMYplay version 0.5
MIDI instrument number now selectable. Fixed some functions'
descriptions. Output sound system now selectable by command-line
and the program's name. GStreamer output. Run flawfinder, rats
and cppcheck on the code and fixed a few performance problems.
2010-06-27
* IMYplay version 0.4
Upgrade to newer autotools and gcc. Run flawfinder on the code and
changed some parts according to the result. Upgrade to gettext-0.17.
Corrected compiling for non-ANSI-C compilers.
2009-06-27
* IMYplay version 0.3
SDL, ALSA, OSS, LIBAO, PortAudiov19, PulseAudio and JACK1 support.
Fixed endianess problem of 16-bit samples. Checking if the standard
output isn't NULL before printing text in the backends.
2009-02-21
* IMYplay version 0.2
Added converting IMY files to MIDI format 1, with the command-line
option '--to-midi' (affects all the files on the command line).
Added thanks. Moved text displaying to library-dependent code.
2009-01-20
* IMYplay version 0.1
Complies to the iMelody specification (doc/imelody.txt), uses the
Allegro library, captures signals. Modular structure allows easy
adding new sound libraries in the future. Full documentation
included.