Limit the number of processed frames to chunksize / 2 (#912)
The tg_mixer cannot process more franes,
So if it has to process more, uninitialized frames will be played, which causes strange sounds, e.g. at startup.
Closes#908
1. Omni Mode On/Off via MIDI CC: MIDI CC **124** and **125** are now handled to switch Omni Mode Off and On, respectively.
2. Mono Mode On, Poly Mode On via MIDI CC: MIDI CC **126** and **127** are now handled to switch Mono Mode On, Poly Mode On, respectively.
3. If `MIDIDumpEnabled=1` and syslog is configured, then MIDI messages are now also sent to syslog over the network. This helps to see what is going on without the need for a HDMI screen.
* fix op ordering
The ops are in reverse order in the OPMask as well
* reset OPMask after voice load
If you change a voice, Dexed enables all operator.
Do the same in MiniDexed.
* use SoundFormatSigned24_32 format instead of SoundFormatSigned16
More detailed, and not much slower.
* fix ARM_MATH_NEON defines
---------
Co-authored-by: probonopd <probonopd@users.noreply.github.com>
The MIDIi defines would also be needed in uibuttons.cpp.
Create a common midi.h with the definitions.
---------
Co-authored-by: probonopd <probonopd@users.noreply.github.com>
The PCM510x has a zero-data detect function. When the device detects continuous zero data, it enters a full analog mute condition. The PCM510x counts zero data over 1024LRCKs (21ms @ 48kHz) before setting analog mute. This caused audible artifacts. Hence we are generating an inaudibly small signal to prevent the analog mute from kicking in.
Thanks @soyersoyer
Similar to soyersoyer#5
* Simple implementation of MIDI CC 11 (Expression) as a live, MIDI only, multiplier for channel volume.
* Add config option for global MIDI CC Expression channel
Since it wraps around since a while. (Not so sure we actually want it to wrap around in some but not other places, but for now it wraps around, so we should show both arrows.)
* Move button config into uibuttons rather than userinterface.cpp
* Implementation of Bank Select buttons and MIDI buttons.
* Fix MIDI button mapping issue.
* Initial implementation of system-level, i.e. all TG, MIDI control maps
* Ensure msg only handled once by the first TG with a matching receiving MIDI channel.
* Optimise system CC handling esp when unrecognised CCs are received.
* Update in optimisation of System CC handling.