| 2381 | } |
| 2382 | |
| 2383 | void MidiController::LoadLayout(const ofxJSONElement& moduleInfo) |
| 2384 | { |
| 2385 | mModuleSaveData.LoadString("devicein", moduleInfo, "", FillMidiInput); |
| 2386 | mModuleSaveData.LoadString("deviceout", moduleInfo, "", FillMidiOutput); |
| 2387 | mModuleSaveData.LoadString("target", moduleInfo); |
| 2388 | mModuleSaveData.LoadFloat("velocitymult", moduleInfo, 1, 0, 10, K(isTextField)); |
| 2389 | mModuleSaveData.LoadBool("usechannelasvoice", moduleInfo, false); |
| 2390 | EnumMap channelMap; |
| 2391 | channelMap["any"] = (int)ChannelFilter::kAny; |
| 2392 | channelMap["01"] = (int)ChannelFilter::k1; |
| 2393 | channelMap["02"] = (int)ChannelFilter::k2; |
| 2394 | channelMap["03"] = (int)ChannelFilter::k3; |
| 2395 | channelMap["04"] = (int)ChannelFilter::k4; |
| 2396 | channelMap["05"] = (int)ChannelFilter::k5; |
| 2397 | channelMap["06"] = (int)ChannelFilter::k6; |
| 2398 | channelMap["07"] = (int)ChannelFilter::k7; |
| 2399 | channelMap["08"] = (int)ChannelFilter::k8; |
| 2400 | channelMap["09"] = (int)ChannelFilter::k9; |
| 2401 | channelMap["10"] = (int)ChannelFilter::k10; |
| 2402 | channelMap["11"] = (int)ChannelFilter::k11; |
| 2403 | channelMap["12"] = (int)ChannelFilter::k12; |
| 2404 | channelMap["13"] = (int)ChannelFilter::k13; |
| 2405 | channelMap["14"] = (int)ChannelFilter::k14; |
| 2406 | channelMap["15"] = (int)ChannelFilter::k15; |
| 2407 | channelMap["16"] = (int)ChannelFilter::k16; |
| 2408 | mModuleSaveData.LoadEnum<ChannelFilter>("channelfilter", moduleInfo, (int)ChannelFilter::kAny, nullptr, &channelMap); |
| 2409 | mModuleSaveData.LoadInt("noteoffset", moduleInfo, 0, -999, 999, K(isTextField)); |
| 2410 | mModuleSaveData.LoadFloat("pitchbendrange", moduleInfo, 2, 1, 96, K(isTextField)); |
| 2411 | mModuleSaveData.LoadInt("modwheelcc(1or74)", moduleInfo, 1, 0, 127, K(isTextField)); |
| 2412 | mModuleSaveData.LoadFloat("modwheeloffset", moduleInfo, 0, 0, 1, K(isTextField)); |
| 2413 | mModuleSaveData.LoadFloat("pressureoffset", moduleInfo, 0, 0, 1, K(isTextField)); |
| 2414 | |
| 2415 | mModuleSaveData.LoadInt("outchannel", moduleInfo, 1, 1, 16); |
| 2416 | |
| 2417 | mModuleSaveData.LoadBool("send_cc_output", moduleInfo, false); |
| 2418 | mModuleSaveData.LoadBool("negativeedge", moduleInfo, false); |
| 2419 | mModuleSaveData.LoadBool("incrementalsliders", moduleInfo, false); |
| 2420 | mModuleSaveData.LoadBool("twoway_on_change", moduleInfo, true); |
| 2421 | mModuleSaveData.LoadBool("resend_feedback_on_release", moduleInfo, false); |
| 2422 | mModuleSaveData.LoadBool("show_activity_ui_overlay", moduleInfo, true); |
| 2423 | mModuleSaveData.LoadBool("send_sysex", moduleInfo, false); |
| 2424 | |
| 2425 | mConnectionsJson = moduleInfo["connections"]; |
| 2426 | |
| 2427 | SetUpFromSaveData(); |
| 2428 | } |
| 2429 | |
| 2430 | void MidiController::SetUpFromSaveData() |
| 2431 | { |
nothing calls this directly
no test coverage detected