commit 67b001ae1655c6a10b37289ecd8d91447d1479bf
parent d64abad05b931fabd36c404a7c25615d55370690
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date: Tue, 27 Aug 2024 22:29:22 +0200
add sendMultiParameter helper function
Diffstat:
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/source/xtLib/xtMidiTypes.h b/source/xtLib/xtMidiTypes.h
@@ -208,5 +208,4 @@ namespace xt
return _index < g_tableCount;
}
}
-
}
diff --git a/source/xtLib/xtState.cpp b/source/xtLib/xtState.cpp
@@ -622,6 +622,15 @@ namespace xt
static_cast<uint8_t>(p >> 7), static_cast<uint8_t>(p & 0x7f), _value, 0xf7});
}
+ void State::sendMultiParameter(const uint8_t _instrument, MultiParameter _param, const uint8_t _value)
+ {
+ const SysEx sysex{0xf0, wLib::IdWaldorf, IdMw2, wLib::IdDeviceOmni, static_cast<uint8_t>(SysexCommand::MultiParameterChange),
+ _instrument, static_cast<uint8_t>(static_cast<uint8_t>(_param) - static_cast<uint8_t>(MultiParameter::Inst0First)), _value, 0xf7};
+
+ Responses responses;
+ receive(responses, sysex, Origin::External);
+ }
+
void State::sendSysex(const std::initializer_list<uint8_t>& _data) const
{
synthLib::SMidiEvent e(synthLib::MidiEventSource::Internal);
diff --git a/source/xtLib/xtState.h b/source/xtLib/xtState.h
@@ -173,6 +173,7 @@ namespace xt
void requestMulti(LocationH _buf, uint8_t _location) const;
void sendMulti(const std::vector<uint8_t>& _multiData) const;
void sendGlobalParameter(GlobalParameter _param, uint8_t _value);
+ void sendMultiParameter(uint8_t _instrument, MultiParameter _param, uint8_t _value);
void sendSysex(const std::initializer_list<uint8_t>& _data) const;
void sendSysex(const SysEx& _data) const;