Menu

Summary of changes

Bogdan Drozdowski

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.

Related

Wiki: Home

MongoDB Logo MongoDB