GUI: add an option for it
This commit is contained in:
parent
2c643aca4c
commit
4faa65a2e9
|
@ -598,7 +598,7 @@ struct MIDIMap {
|
||||||
int**** map;
|
int**** map;
|
||||||
std::vector<MIDIBind> binds;
|
std::vector<MIDIBind> binds;
|
||||||
|
|
||||||
bool noteInput, volInput, rawVolume, polyInput, directChannel, programChange, midiClock, midiTimeCode;
|
bool noteInput, volInput, rawVolume, polyInput, directChannel, programChange, midiClock, midiTimeCode, yamahaFMResponse;
|
||||||
// 0: disabled
|
// 0: disabled
|
||||||
//
|
//
|
||||||
// 1: C- C# D- D# E- F- F# G- G# A- A# B-
|
// 1: C- C# D- D# E- F- F# G- G# A- A# B-
|
||||||
|
@ -660,6 +660,7 @@ struct MIDIMap {
|
||||||
programChange(true),
|
programChange(true),
|
||||||
midiClock(false),
|
midiClock(false),
|
||||||
midiTimeCode(false),
|
midiTimeCode(false),
|
||||||
|
yamahaFMResponse(false),
|
||||||
valueInputStyle(1),
|
valueInputStyle(1),
|
||||||
valueInputControlMSB(0),
|
valueInputControlMSB(0),
|
||||||
valueInputControlLSB(0),
|
valueInputControlLSB(0),
|
||||||
|
|
|
@ -138,6 +138,7 @@ bool MIDIMap::read(String path) {
|
||||||
UNDERSTAND_OPTION(programChange) else
|
UNDERSTAND_OPTION(programChange) else
|
||||||
UNDERSTAND_OPTION(midiClock) else
|
UNDERSTAND_OPTION(midiClock) else
|
||||||
UNDERSTAND_OPTION(midiTimeCode) else
|
UNDERSTAND_OPTION(midiTimeCode) else
|
||||||
|
UNDERSTAND_OPTION(yamahaFMResponse) else
|
||||||
UNDERSTAND_OPTION(valueInputStyle) else
|
UNDERSTAND_OPTION(valueInputStyle) else
|
||||||
UNDERSTAND_OPTION(valueInputControlMSB) else
|
UNDERSTAND_OPTION(valueInputControlMSB) else
|
||||||
UNDERSTAND_OPTION(valueInputControlLSB) else
|
UNDERSTAND_OPTION(valueInputControlLSB) else
|
||||||
|
@ -203,6 +204,7 @@ bool MIDIMap::write(String path) {
|
||||||
WRITE_OPTION(programChange);
|
WRITE_OPTION(programChange);
|
||||||
WRITE_OPTION(midiClock);
|
WRITE_OPTION(midiClock);
|
||||||
WRITE_OPTION(midiTimeCode);
|
WRITE_OPTION(midiTimeCode);
|
||||||
|
WRITE_OPTION(yamahaFMResponse);
|
||||||
WRITE_OPTION(valueInputStyle);
|
WRITE_OPTION(valueInputStyle);
|
||||||
WRITE_OPTION(valueInputControlMSB);
|
WRITE_OPTION(valueInputControlMSB);
|
||||||
WRITE_OPTION(valueInputControlLSB);
|
WRITE_OPTION(valueInputControlLSB);
|
||||||
|
|
|
@ -640,6 +640,7 @@ void FurnaceGUI::drawSettings() {
|
||||||
//ImGui::Checkbox("Use raw velocity value (don't map from linear to log)",&midiMap.rawVolume);
|
//ImGui::Checkbox("Use raw velocity value (don't map from linear to log)",&midiMap.rawVolume);
|
||||||
//ImGui::Checkbox("Polyphonic/chord input",&midiMap.polyInput);
|
//ImGui::Checkbox("Polyphonic/chord input",&midiMap.polyInput);
|
||||||
ImGui::Checkbox("Map MIDI channels to direct channels",&midiMap.directChannel);
|
ImGui::Checkbox("Map MIDI channels to direct channels",&midiMap.directChannel);
|
||||||
|
ImGui::Checkbox("Map Yamaha FM voice data to instruments",&midiMap.yamahaFMResponse);
|
||||||
ImGui::Checkbox("Program change is instrument selection",&midiMap.programChange);
|
ImGui::Checkbox("Program change is instrument selection",&midiMap.programChange);
|
||||||
//ImGui::Checkbox("Listen to MIDI clock",&midiMap.midiClock);
|
//ImGui::Checkbox("Listen to MIDI clock",&midiMap.midiClock);
|
||||||
//ImGui::Checkbox("Listen to MIDI time code",&midiMap.midiTimeCode);
|
//ImGui::Checkbox("Listen to MIDI time code",&midiMap.midiTimeCode);
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
bool FurnaceGUI::parseSysEx(unsigned char* data, size_t len) {
|
bool FurnaceGUI::parseSysEx(unsigned char* data, size_t len) {
|
||||||
SafeReader reader(data,len);
|
SafeReader reader(data,len);
|
||||||
|
|
||||||
|
if (!midiMap.yamahaFMResponse) return true;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
unsigned char isSysEx=reader.readC();
|
unsigned char isSysEx=reader.readC();
|
||||||
if (isSysEx!=0xf0) {
|
if (isSysEx!=0xf0) {
|
||||||
|
|
Loading…
Reference in a new issue