- 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
- Prerenderer nuked
- MT32EMU_DEFAULT_MAX_PARTIALS macro became a typed constant DEFAULT_MAX_PARTIALS
- DEFAULT_MIDI_EVENT_QUEUE_SIZE constant defines the default size of the MIDI event queue
- MAX_PRERENDER_SAMPLES constant exterminated
- Artifact
- MIDI event queue is now used instead of prerenderer. playMsg() and playSysex() functions now enqueue MIDI events. playMsgNow() and playSysexNow() functions (and other related) should be considered deprecated and their use is not recommended.
- Synth now optionally emulates MIDI interface delays (controlled by MT32EMU_EMULATE_MIDI_DELAYS macro).
- SynthStateMonitor is compileable again
- PartStateWidget now iterates over active polys on its part when painting
- In mt32emu_qt, renamed: MidiEvent -> QMidiEvent, MidiEventQueue -> QMidiEventQueue to avoid name conflicts
- Bugfixes
- Added missing check for poly abortion
- Added yet another missing check for poly abortion
- Fixed MT32EMU_EMULATE_MIDI_DELAYS == 2 mode