}
}
-
MIDI::Name::MidiPatchManager& patch_manager = MIDI::Name::MidiPatchManager::instance();
MIDI::Name::MasterDeviceNames::Models::const_iterator m = patch_manager.all_models().begin();
Menu* ctl_menu = NULL;
for (ControlNameList::Controls::const_iterator c = name_list->controls().begin();
- c != name_list->controls().end(); ++c) {
+ c != name_list->controls().end();) {
const uint16_t ctl = c->second->number();
if (ctl == MIDI_CTL_MSB_BANK || ctl == MIDI_CTL_LSB_BANK) {
/* Skip bank select controllers since they're handled specially */
+ /* FIXME: If this is the last control, the last submenu might be lost */
continue;
}
} else {
add_single_channel_controller_item(ctl_items, ctl, c->second->name());
}
-
+
+ ++c;
if (++n_items == 16 || c == name_list->controls().end()) {
/* Submenu has 16 items, add it to controller menu and reset */
items.push_back(
}
}
-
/** @return channel (counted from 0) to add an event to, based on the current setting
* of the channel selector.
*/