apply volExp on velocity input - PLEASE READ

DivDispatch::mapVelocity() now takes a float instead of an unsigned char
This commit is contained in:
tildearrow 2023-12-16 19:52:37 -05:00
parent 99dd85bcb4
commit 51b385a1ef
18 changed files with 39 additions and 24 deletions

View file

@ -423,6 +423,7 @@ class DivEngine {
bool midiOutProgramChange;
int midiOutMode;
int midiOutTimeRate;
float midiVolExp;
int softLockCount;
int subticks, ticks, curRow, curOrder, prevRow, prevOrder, remainingLoops, totalLoops, lastLoopPos, exportLoopCount, nextSpeed, elapsedBars, elapsedBeats, curSpeed;
size_t curSubSongIndex;
@ -1184,6 +1185,9 @@ class DivEngine {
// set MIDI direct channel map
void setMidiDirect(bool value);
// set MIDI volume curve exponent
void setMidiVolExp(float value);
// set MIDI input callback
// if the specified function returns -2, note feedback will be inhibited.
void setMidiCallback(std::function<int(const TAMidiMessage&)> what);
@ -1261,6 +1265,7 @@ class DivEngine {
midiOutProgramChange(false),
midiOutMode(DIV_MIDI_MODE_NOTE),
midiOutTimeRate(0),
midiVolExp(2.0f), // General MIDI standard
softLockCount(0),
subticks(0),
ticks(0),