2022-07-23:

	1.11.0 released.

	* Updated mt32emu library to version 2.7.0.
	* Updated for compatibility with the Qt framework versions 6.0 and above.
	* Added possibility to view timbre banks and select a desired instrument on each voice part.
	  The timbres are shown in a popup menu split by their "sound groups" which is displayed
	  when the user clicks on the instrument name set on the related part in the Channel Status
	  pane. (#70)
	* Added submenu "Play Demo Songs" to the "Tools" menu. When a Synth profile exists that
	  refers to one of the new-gen MT-32 ROMs, the list of demo songs contained within is shown,
	  yet a few of special items to facilitate playback control. (#84)
	* Fixed a few problems with management of the Floating Display on multi-screen systems.
	  When the application is restarted, the position of the floating window should now be
	  restored on the same screen where it was previously. Also, the window geometry is now
	  adjusted to fit into the screen when the display it is show on is switched off, and each
	  time the floating window shows up. (#94)
	* Extended the command-line interface to provide for opening one or more MIDI port(s)
	  at startup. The command "connect_midi" can be used to create ports using the system MIDI
	  driver. By using the options "jack_midi_clients" and "jack_sync_clients", JACK MIDI ports
	  can be created as long as the JACK support is compiled in. (#95)

2022-03-06:

	1.10.0 released.

	* Updated mt32emu library to version 2.6.0.
	* Improved emulation of the MT-32 display. It now behaves a lot closer to the real device.
	  The new behaviour depends on the control ROM version, so that the most prominent quirks
	  are now emulated. Additionally, the LCD shows the startup banner and the SysEx checksum
	  error. The built-in LCD font has been reworked as well to closely match the hardware one
	  yet the new appearance makes the grid of pixels visible. Clicking on the LCD now resets
	  it to the main (Master Volume) mode. (#50, #66)
	* Introduced a floating window that represents the emulated LCD and the MIDI MESSAGE LED
	  only. It is implicitly configured to be always-on-top, can be freely moved and resized.
	  Also, its opacity can be adjusted, if supported by the platform. By default, the new window
	  shows up when the main window is hidden. This behaviour can be altered in the main menu
	  / Options / Floating Display. (#50)
	* Enabled the built-in Qt support for high-dpi displays which should improve the UI look
	  on Windows systems mainly. The Qt library version 5.6 or above is required for this
	  function to work. In order to explicitly disable UI scaling, the user may set environment
	  variable QT_AUTO_SCREEN_SCALE_FACTOR to 0. (#79)
	* Changed layout of partial state LEDs in the grid to ensure that no more than 8 LED widgets
	  are placed in a column. Previously, the layout grew vertically for some configured partial
	  counts, rendered the channel status grid looking weird. Additionally, this helps the Qt
	  layout calculator to work correctly with a high-dpi UI scaling on some systems.
	* Fixed the standard MIDI file player occasionally failing to send all-sound-off sequence
	  when stopping playback; also, ensured that all played MIDI events get processed. (#80)
	* In the synth details panel, added a small button to the left of the instrument name for
	  each part, that allows to quickly mute this part. By clicking these buttons while holding
	  Ctrl/Cmd, the part can be made playing solo. Holding the Alt key while clicking allows to
	  quickly restore playback on all muted parts. Additionally, a right-click opens a popup
	  menu that provides for more functions, including a volume slider, which can be used to
	  override the current part volume level set by the received MIDI messages. The configured
	  part volume level only persists while the synth remains open. (#77)
	* A new command "reset" is now recognised if specified on the command line. It provides for
	  a simple way to restore factory defaults of the application settings of some types. (#61)

2021-05-22:

	1.9.0 released.

	* Updated mt32emu library to version 2.5.1.
	* Added support for partial bitwise ROM dumps (#56). Now, the synth can operate with
	  a pair of control ROM files and a pair of PCM ROM files, which are merged when needed.
	* Reworked ROMSelectionDialog to permit selection of multiple ROM files of each type
	  and to support known machine configurations to simplify ROM selection.
	* Added a new option to the main menu to permit a choice whether to show native system
	  file selection dialogs or internal dialogs provided by Qt. This may become in handy in
	  case the native dialogs lack some functions or exhibit unwanted behaviour otherwise.

2021-01-17:

	1.8.0 released.

	* Added mode "Hide to tray on close". When enabled, the application does not exit when the user closes the main window.
	  To exit the application, the corresponding menu items can be used in menu "Tools" and the tray icon menu.
	* Added possibility to select output device on macOS with the CoreAudio driver.
	* Reworked internal MIDI message routing and buffering in case multiple MIDI streams are attached to a single (pinned)
	  synth, so that the resulting stream supplied to the synth contains MIDI messages ordered by their timestamp frame-wise.
	  This improves the timing accuracy to the best possible extent.
	* Added support for integration with the JACK audio kit. Now the application may serve as one or more JACK clients
	  providing either a single MIDI input port, a pair of output audio ports, or a combined synth client with the input
	  and output ports. In the latter case, MIDI processing and audio rendering are performed synchronously without any
	  explicit additional latency.
	* Improved the MIDI recording function. It now allows recording from several MIDI sources simultaneously. When more
	  than one MIDI session is attached to a Synth being recording MIDI, a standard MIDI file type 1 is created subsequently
	  that contains recorded MIDI events of each session in a separate MIDI track, which may be helpful while editing
	  the MIDI file further. Additionally, improved timing of the MIDI recorder wrt. memory allocations in the MIDI thread
	  yet fixed a couple of bugs that may be revealed when a broken / unsupported MIDI event reaches the recorder,
	  or in case MIDI events are received out of order (i.e. with decreasing timestamps).
	* Added support for the two new synth properties NicePanning and NicePartialMixing introduced with mt32emu release 2.4.0.

2017-12-25:

	1.7.1 released.

	* Improved layout of partial state LEDs when maximum number of partials is set bigger than 63.
	* Fixed partial state LED widgets being not updated upon a change of Max Partials option.
	  This may also have resulted in crashes.

2017-12-25:

	1.7.0 released.

	* Replaced application icon for mt32emu-qt with a new nicer one.
	* Fixed a few minor bugs in MIDI player dialog.
	* Fixed various issues with accessing files with localised pathnames.
	* Improved timing accuracy of realtime rendering.
	* Added experimental support for Windows 9x platform. As a side effect, Qt version 4.5.3 is now supported.
	* Added new option "Max Partials" in synth configuration. It allows setting the maximum number of partials
	  playing simultaneously.

2017-07-29:

	1.6.0 released.

	* Improved a bit the LCD emulation to better match behaviour of old MT-32 units.
	* Improved synth profile handling. When a non-default synth profile is selected in the synth properties dialog,
	  it is now used during synth re-opening (provided that it is pinned or an active MIDI session persists).
	* Added support for SysEx fragments in standard MIDI files played using the internal MIDI player.
	* Added option "Nice Amp Ramp" in the Synth Properties dialog.
	* Improved "Standard MIDI file converter" dialog:
	  - PCM targets are now automatically named, the path names are based on the most recent directory specified;
	  - added possibility to quickly configure a group of MIDI files to convert to a PCM per file (with an accompanying SysEx);
	  - added "Edit PCM" button to allow renaming the currently selected PCM target;
	  - added "Add init to all" button that allows to quickly prepend a group of MIDI files with an initialisation SysEx/MIDI.
	  - Improved Drag & Drop handling:
	    - directory drops are now supported;
	    - drops outside the "Source MIDI files" list now create a group;
	    - when directories are dropped, SysEx files precede the rest within each directory;
	    - drops inside the "Source MIDI files" list are position-aware.
	* Improved "MIDI Player" dialog:
	  - dialog title now shows the name of the currently playing file or when playback is stopped, the file scheduled
	    for playing;
	  - clicking the "Play" button now ignores the currently selected item in the playlist,
	    instead, the file scheduled for playing is considered;
	  - pressing Enter or double-clicking (depends on platform) an item in the playlist still starts playback with this item;
	  - currently playing item now persists after most of playlist edits, except when it is removed from the list.
	    In this case, playback finishes after that item.
	  - Improved Drag & Drop handling:
	    - when directories are dropped, SysEx files precede the rest within each directory;
	    - drops inside the playlist are now position-aware.

2017-04-09:

	1.5.0 released.

	* Updated mt32emu library to version 2.1.0.
	* Moved sample rate conversion feature from mt32emu-qt to the libmt32emu, so it can be easily used in other applications.
	* Added an option to select the renderer type in the synth properties (preserved in the profile).

2016-10-22:

	1.4.0 released.

	* Updated mt32emu library to version 2.0.0.
	* Added support of ALSA raw MIDI ports in ALSA MIDI driver. Configuration option mt32emu-qt_WITH_ALSA_MIDI_DRIVER
	  renamed to mt32emu-qt_WITH_ALSA_MIDI_SEQUENCER for consistency, and is now set to TRUE by default on Linux systems only.
	* Added handling of fragmented SysExes in ALSA MIDI driver.
	* Improved CoreAudio driver: CoreAudioStream no longer renders data in the GUI thread, a dedicated internal AudioQueue thread is used instead.
	* Improved MIDI timing calculations. Introduced MIDI latency autodetection mode (initiated by setting MIDI latency to 0).
	* Added build option mt32emu-qt_WITH_DEBUG_WINCONSOLE. It controls whether a debugging console is shown on Windows.
	* Fixed a bug in LinearResampler that may cause incorrect output at beginning of each audio block.
	* Introduced full-featured internal resampler. The intention is to make resampling less demanding than libsamplerate requires
	  yet to reduce the processing delay libsoxr introduces. That's achieved by taking advantage of oversampled output produced
	  by analog circuit emulation engine and using efficient elliptic low-pass filter instead of FFT-based FIR.
	* Added build option mt32emu-qt_WITH_INTERNAL_RESAMPLER. It controls whether to use internal resampler or try to find an external library.
	* Added support for Qt5.
	* Improved support for 64-bit Windows.
	* Improved support for Cygwin, enabled native Windows MIDI and wave audio API.
	* Improved LCD emulation: when setting standard patches, proper sound group name is shown.
	* Introduced pause function in MIDI player for convenience.
	* Introduced a possibility to synchronously record audio output from a synth to a file along while listening.
	* About window now shows target arch and used version of Qt library.

2014-12-21:

	1.3.0 released.

	* Fixed incorrect handling of some rarely used control messages in ALSA MIDI driver.
	* Added support for using different sample rates in audio drivers using sample rate conversion.
	  It is still preferable to use default sample rate of MT-32 emulation engine and sample rate conversion
	  should only be used if a different sample rate is necessary (e.g. audio system doesn't support 32000 Hz) or deliberate.
	  For best performance, libsoxr is supported. Libsamplerate is also supported as it is widely available.
	  As a worst case, the integrated linear interpolator can be used (it's fast but the quality...).
	* Added a new combo box into the Synth Properties dialog that allows to choose analogue circuits emulation method.
	* Added CoreAudio driver for OS X. Portaudio is no longer required for OS X builds.
	* AlsaAudioDriver made more resistant to possible errors and trying to recover before giving up.
	* Incorporated MidiStreamParser class from libmt32emu. This fixes long standing issue with Windows MIDI driver
	  and MIDI-in port handler that prevented receiving SysEx fragments or multi-SysEx packets sent in a single buffer.
	  Windows MIDI driver also supports running status for short messages now. OSS MIDI and CoreMIDI drivers also improved by this.
	* AudioFileWriter now always produces .WAV files in little endian and .RAW files in big endian which corresponds to smf2wav behaviour.
	* Audio drivers for CoreAudio, ALSA and PulseAudio made compatible with big endian systems.
	* Improved command line in handling. Added new options "-profile" and "-max_sessions". Added short help regarding command line syntax.
	* Minor improvements in handling of synth profiles and ROM sets.
	* Added an option in synth properties to use alternative channel assignment automatically on opening a synth.

2014-06-09:

	1.2.0 released.

	* Updated mt32emu library to version 1.4.0.
	* Added support for reverb model compatibility settings.
	* Fixed a few minor bugs related to reverb and output gains.
	* Added two convenience buttons in synth properties dialog to allow resetting MIDI channel assignment easily.
	* Improved build:
	  - added build option mt32emu-qt_WITH_ALSA_MIDI_DRIVER to control
	    whether to use ALSA MIDI driver (if enabled, ALSA MIDI sequencer
	    ABI is used to communicate with other applications, otherwise,
	    ALSA/OSS4 raw MIDI ports and OSS sequencer ABI are available);
	  - OSS MIDI driver no longer compiles if it isn't needed.
	* Fixed a bug in Windows MME audio driver introduced in version 1.1.0:
	  resetting the synth no longer cause stopping generation of audio output.
	* When ALSA MIDI driver is used, ALSA MIDI port being listened is now displayed in the main window title.
	* Fixed inconsistent ALSA MIDI port advertisement. ALSA MIDI driver now advertises the port
	  as SND_SEQ_PORT_TYPE_MIDI_GENERIC, SND_SEQ_PORT_TYPE_MIDI_MT32 and SND_SEQ_PORT_TYPE_MIDI_SYNTHESIZER.
	* When loading PulseAudio library dynamically, a library name with the major version number appended is tried first.
	  This allows PulseAudio to be loaded without installing the corresponding dev package, which only contains a versionless link
	  to the library shared object in major Linux/GNU distributions.

2013-09-21:

	1.1.0 released.

	* Updated for compatibility with new library v.1.3.0 API. Reworked rendering engine to make use of library internal MIDI event queue.
	* Removed sysex length limit set in the internal MIDI player and converter.
	* Added reverse stereo option to the synth properties dialog.
	* Improved ClockSync class for providing better timing accuracy yet being more robust.
	* Improved timing accuracy in the "advanced timing" mode.
	* Improved QtAudioDriver. Fixed sound dropouts which may occur when using GUI.
	* MIDI player now sends "Reset all controllers" MIDI events when it stops playing.
	* MIDI file converter now removes leading silence. MIDI conversion dialog now guesses PCM output file name if the user adds MIDI file first.
	* Eliminated application hangs on Windows when the application is closed enforcedly,
	  e.g. when the user closes the application console or shuts down the system.
	* Fixed deadlock which may happen when the user quickly pushes "Play" button in the MIDI player.
	* Improved ROM configuration. Added support for default ROM search path which is a directory "roms" located
	  in the current user home directory.
	* Reworked synth visualisation in order to make our LCD model close the hardware behaviour.
	  Added emulation of the "MIDI MESSAGE" led.
	* Fixed display of timbre names which contain null characters.
	* MIDI files can now be dropped to main window and MIDI file converter dialog.
	* Main window now restores its geometry when the application starts. Fixed main window geometry when synth details panel changes visibility.
	* Overall UI layout made more compact. Other UI improvements.
	* Improved build under POSIX environment.
	* ALSA driver can now open "sysdefault" device in order to easily bypass Pulse-ALSA plugin. It can also open "plug:hw" device in exclusive mode
	  to achieve minimal latency.
	* Code refactoring.

2013-03-24:

	1.0.2 released.

	* Updated mt32emu library to version 1.2.0.

2013-02-11:

	1.0.1 released.

	* Updated mt32emu library to version 1.1.1.

2012-12-25:

	1.0.0 released.

	* Initial release.
