Browse Source

MIDI-4: Add context menu to select polyphony mode

tags/v0.6.0
Andrew Belt 7 years ago
parent
commit
f26a402e0e
1 changed files with 22 additions and 0 deletions
  1. +22
    -0
      src/Core/QuadMIDIToCVInterface.cpp

+ 22
- 0
src/Core/QuadMIDIToCVInterface.cpp View File

@@ -248,6 +248,28 @@ struct QuadMIDIToCVInterfaceWidget : ModuleWidget {
midiWidget->midiIO = &module->midiInput;
addChild(midiWidget);
}

void appendContextMenu(Menu *menu) override {
QuadMIDIToCVInterface *module = dynamic_cast<QuadMIDIToCVInterface*>(this->module);

struct PolyphonyItem : MenuItem {
QuadMIDIToCVInterface *module;
QuadMIDIToCVInterface::PolyMode polyMode;
void onAction(EventAction &e) override {
module->polyMode = polyMode;
}
};

menu->addChild(MenuEntry::create());
menu->addChild(MenuLabel::create("Polyphony mode"));
std::vector<std::string> polyModeNames = {"Rotate", "Reset", "Reassign", "Unison"};
for (int i = 0; i < QuadMIDIToCVInterface::NUM_MODES; i++) {
PolyphonyItem *item = MenuItem::create<PolyphonyItem>(polyModeNames[i], CHECKMARK(module->polyMode == i));
item->module = module;
item->polyMode = (QuadMIDIToCVInterface::PolyMode) i;
menu->addChild(item);
}
}
};




Loading…
Cancel
Save