* Sat Oct 15 2022 Илья Индиго <ilya@ilya.cf>
- Updated to 2.7.0.
* Added support for MT-32 control ROM v.2.03.
* Provided two new functions for retrieving names of all standard timbres and their
"sound groups". These also make it easier to retrieve names of custom timbres.
* 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.
* 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.
* 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.
* 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.
* Fri Jun 03 2022 Илья Индиго <ilya@ilya.cf>
- Changed mt32emu-2.6.3-name.patch for fix icons name.
* Wed Jun 01 2022 Илья Индиго <ilya@ilya.cf>
- Updated to 2.6.3.
* Removed files mt32emu-qt.desktop and mt32emu.png.
* Added patch mt32emu-2.6.3-name.patch.
* Added support for three more control ROMs: MT-32 v.2.06, v.2.07 and CM-32LN v.1.00.
* Improved CMake build script for mt32emu. Notably:
* The build script now populates the relevant library target properties, so that linking
the mt32emu target in a dependent project is sufficient for the build to succeed,
without necessity to use any extra variables.
* A complete CMake package with configuration, version and targets files is now installed
onto the target system. This package simplifies configuration of the other projects,
yet facilitates reliable builds with optional transitive library dependencies.
* Rewritten find-modules for libraries soxr and samplerate from scratch, so that they now
behave more uniformly yet can be used with added convenience.
* Updated the description of the module FindMT32EMU.cmake. It now creates the IMPORTED
target MT32Emu::mt32emu upon success, similarly to the other scripts. Note, this module
is not recommended for use with mt32emu version 2.6 and above.
* Introduced display emulation support that goes beyond the existing low-level API intended
for retrieving the synth state details. The startup banner and the SysEx checksum error
are now shown. We now also take care of the control ROM version to emulate the most
prominent quirks. Additionally, there is a limited support for displaying the emulated LCD
on narrow hardware LCDs that have width of 16 characters only.
* Fixed emulation of a TVA quirk the old-gen devices exhibit when playing a partial with
zero TVA ENV SUSTAIN LEVEL.
* Introduced support for configuring per-part volume levels that override the levels set via
MIDI messages.
* To improve portability on some systems where multiple ABIs are supported with different
calling conventions (notably 32-bit Windows), all the public C functions now declare
the C calling convention explicitly, that makes a shared library build compatible with
a project who utilises another calling convention.
* Function mt32emu_configure_midi_event_queue_sysex_storage from the C-compatible API
is now correctly exported in the declaration. Previously, it was only accessible when
building the library statically or via the plugin-like API.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* Tue Aug 17 2021 Илья Индиго <ilya@ilya.cf>
- Updated to 2.5.2.
* Fixed possible access to uninitialised rhythm timbre memory when
using MT-32 control ROM. With control ROMs 2.04 and above,
the entire rhythm timbre memory is now initialised as the real
devices do. Those timbres that do not exist in MT-32 models are
now muted. With control ROMs 1.xx, the timbres 30..59 are mapped
to 0..29 that should correspond to the behaviour of real units.
The other 4 timbres are muted to avoid undefined behaviour the
real hardware exhibits.
* Tue Aug 17 2021 Илья Индиго <ilya@ilya.cf>
- Updated to 2.5.3.
* Fixed possible access to uninitialised rhythm timbre memory when
using MT-32 control ROM. With control ROMs 2.04 and above,
the entire rhythm timbre memory is now initialised as the real
devices do. Those timbres that do not exist in MT-32 models are
now muted. With control ROMs 1.xx, the timbres 30..59 are mapped
to 0..29 that should correspond to the behaviour of real units.
The other 4 timbres are muted to avoid undefined behaviour the
real hardware exhibits.
* Wed Jul 21 2021 Илья Индиго <ilya@ilya.cf>
- Updated to 2.5.2.
* Fixed compilation of client programs written in C when the
automatic runtime version check is enabled with the preprocessor
macro MT32EMU_RUNTIME_VERSION_CHECK 2.
* Sun Jun 06 2021 Илья Индиго <ilya@ilya.cf>
- Updated to 2.5.1.
* Fixed incorrect delete statement in ROMImage dtor, affects memory
deallocations of full ROMImages created by merging partial ones.
* Mon Apr 05 2021 Илья Индиго <ilya@ilya.cf>
- Removed unnecessary dependencies from the devel package.
- Replaced Qt-frontend application to mt32emu-qt subpackage.
- Renamed source1 file from mt32emu.desktop to mt32emu-qt.desktop.
- Updated to 2.5.0.
* Added support for partial ROM images.
* Added a few API extensions to better handle ROM images.
* Added generation of pkg-config file.
* Fixed undefined behaviour that the TVP emulation code may exhibit.
* Wed Mar 03 2021 Илья Индиго <ilya@ilya.cf>
- Updated to 2.4.2.
* Added mode "Hide to tray on close".
* Added support for integration with the JACK audio kit.
* Improved the MIDI recording function.
* Sun Nov 29 2020 Илья Индиго <ilya@ilya.cf>
- Used pkgconfig wherever possible.
* Wed Oct 21 2020 Илья Индиго <ilya@ilya.cf>
- Initialization mt32emu 2.4.1.