;;;; -*- coding: utf-8; fill-column: 78 -*-
changes relative to cl-meltysynth v2.0.0:
* Added SYNTH-SETTING-MAIN-VOLUME to the SYNTHESZIER-SETTINGS class.
* Minor incompatible change: removed accidentally exported symbols from the
CL-MELTYSYNTH package.
* SOUNDFOUNT->NAME (a non-existent function) is now correctly exported as
SOUNDFONT->STR
* Initial API documentation added to the wiki. It's all hand-written, terse,
and doesn't have many examples yet... but it's a start ^_^
* midi123:
* Version bumped to v1.2.1
* Added --volume argument to control the main volume. This is especially
important for certain combinations of songs and SoundFonts (for example,
Descent 2 Mission 2's song paired with the WinGroove SoundFont v1.2).
The 64-bit mixing internally keeps things from clipping up until the
final output, but we still need to give users a control so they can be
sure the final signal isn't going to be too hot.
* When not looping, an extra four seconds is added to the end of the MIDI.
This allows the tails of the instruments and reverbs to finish playing.
* The default interpolation mode is now cubic spline.
* The length of the midi file in hours/minutes/seconds is now displayed,
along with the filename and sample rate.
* The current play time is now displayed.
* More information about the loaded soundfont is displayed.
changes in cl-meltysynth v2.0.0 relative to cl-meltysynth v1.1.0:
* A 64-bit audio engine is now used internally to provide greater headroom.
* Drastically improved SoundFont loading performance.
* Selectable reverb types. There are four reverbs available: a port of
Zita-Rev1, and three Schroeder-style reverbs based on Freeverb.
* Reverb parameters can now be controlled via the API.
* Tweaked the sound of all Schroeder-style reverb units.
* The chorus unit now obeys the interpolation mode.
* The chorus and reverb units can now be turned on/off individually.
* All synthesizer settings can be accessed through the SYNTHESIZER-SETTINGS
class.
* The SYNTHESIZER and SYNTHESIZER-SETTINGS class now have dedicated
constructors that should always be used. This changes the public API in a
way that is not backwards compatible.
* midi123:
* Greatly improved performance - the block size was previously set
incorrectly.
* Removed the --block-size parameter since it was being used incorrectly.
* Added the --reverb-type parameter.
* Better PortAudio handling, buffer underruns should be fixed.
* Reverb and Chorus can now be turned off individually.
* Better command line argument checking.
* Better memory usage.
changes in cl-meltysynth v1.1.0 relative to cl-meltysynth v1.0.1:
* Support for cubic spline interpolation added
* Minor performance improvements
* Various code refactors to improve code readability
* Bumped the required CL-SDM version to 0.99.1
* Performance improvements and smarter function inlining throughout
* Optional "debugging mode" for the library
* Update dump-sf2.lisp example
* Slightly faster compilation
* midi123:
* Add --interpolation option
* Add --no-progress-bar option
changes in cl-meltysynth v1.0.1 relative to cl-meltysynth v1.0.0:
* Add MIDI-SEQ-CURRENT-TIME and MIDI-SEQ-POSITIOn functions. These allow
you to get the current play position of a MIDI-FILE-SEQUENCER.
* midi123:
* Added a progress bar to show the position while playing.
* Added a garish banner ^_^
* Added the --inst-reverb and --inst-chorus options. The new arguments
set the reverb/chorus levels on the preset/instrument regions
themselves. Some SoundFonts have these set and it can be surprising to
some people (namely me) when you pass --chorus 0 and still have chorus
coming out of your speakers. This allows more control over things.