- Removed prototype of a function which will unlikely ever be implemented
- Fixed NULL pointer access exception thrown when a balloon is shown and system tray icon is unavailable
- Fixed UI app deadlocks which can happen when the user quickly pushes "Play" button in the MIDI player.
  Although, this kind of deadlock is possible with any MidiDriver, the probability of it is very low with all the other drivers as the waiting is performed upon application shutdown only. So, even if it's ever happened, it shouldn't harm too much.
  Test MIDI driver is a bit special. The deadlock is more difficult to reproduce as the test driver can be started via menu only and there is sufficient delay. But it might become more probable in case of UI change or making some other usage of the test driver.
- Reduced memory requirements in the lib by removing now unnecessary partial buffers
- Some things made private in Partial
- Doc update
- Bugfix in FileStream: it is now possible to open another file if the previous attempt failed
- ifstream pointer made const and redundant checks removed
- Disabled type conversion warning
- Added a proper getter for Partial::tva that fixes mt32emu_qt build
- Added method Partial::backupCache(), Partial::patchCache and Partial::cachebackup made private
- Parial table made dynamically allocated
- Added two new parameters to Synth::open() that allows to set up the maximum number of partials and polys to use
- Added two new getters Synth::getPartialCount() and Synth::getPolyCount() correspondingly
- Removed preprocessor definition MT32EMU_MAX_POLY
- Preprocessor definition MT32EMU_MAX_PARTIALS renamed to MT32EMU_DEFAULT_MAX_PARTIALS
- Updated old code which stopped to compile when MT32EMU_REDUCE_REVERB_MEMORY set to 0
- Formatting fix
- Added a comment to Synth::setReverbOutputGain() regarding the reverb dry/wet signal factor
- Added support for an internal MIDI event queue.
  It is intended to:
  - get rid of prerenderer while retaining graceful partial abortion
  - add fair emulation of the MIDI interface delays
  - extend the synth interface with the default implementation of a typical rendering loop.
- Removed dumb callbacks in ReportHandler
Code cleanup in the rendering engine:
- Partial::produceOutput() now mixes samples into the buffers in-place
- temp partial rendering buffers nuked
- other temp buffers became local and are allocated on the stack thus no longer consume memory
- DACInputMode stuff reorganised in more convenient manner
- other code cleanup
- Removed seemingly unused method MidiEventQueue::popMidiEvent()
- MidiEventQueue::dropMidiEvent() added instead
- Now reverb output gain is ignored in DACInputMode_PURE as it was before
- Added corresponding comment to DACInputMode_PURE mode to avoid confusion
- Added yet another comment regarding DACInputMode_PURE
- Nuked reverb zoo. Boss reverb is the only reverb model to use for all the modes. It is to be extended as needed when we require more features. If another reverb is desired (e.g. Freeverb), it can be easily used in conjunction with Synth::renderStreams() output.
Bit16s vs. float samples:
- added MT32EMU_USE_FLOAT_SAMPLES macro enabling to use float samples throughout the emulation
- BReverbModel now has MT32EMU_BOSS_REVERB_PRECISE_MODE macro to enable Boss right-shift-and-addition instead of simple integer multiplication
- Renamed LegacyWaveGenerator -> LA32FloatWaveGenerator