diff --git a/libs/sst/sst-basic-blocks b/libs/sst/sst-basic-blocks index f9a4df46..1481a2cd 160000 --- a/libs/sst/sst-basic-blocks +++ b/libs/sst/sst-basic-blocks @@ -1 +1 @@ -Subproject commit f9a4df467d9b53d8d07d25d33a610b361b46eb15 +Subproject commit 1481a2cdd25ea859917b20e1c270b433a255f2c1 diff --git a/src-ui/app/edit-screen/components/ModPane.cpp b/src-ui/app/edit-screen/components/ModPane.cpp index eb9eee16..1c702a96 100644 --- a/src-ui/app/edit-screen/components/ModPane.cpp +++ b/src-ui/app/edit-screen/components/ModPane.cpp @@ -835,29 +835,33 @@ template struct ModRow : juce::Component, HasEditor p.addCustomItem(-1, std::make_unique(editor, this)); p.addSeparator(); - auto &route =parent->routingTable.routes[index]; - - p.addItem("Additive Application", true, route.applicationMode == sst::basic_blocks::mod_matrix::ApplicationMode::ADDITIVE, - [w = juce::Component::SafePointer(this)]() { - if (!w) - return; - auto &route =w->parent->routingTable.routes[w->index]; - route.applicationMode = sst::basic_blocks::mod_matrix::ApplicationMode::ADDITIVE; - - w->pushRowUpdate(true); - w->refreshRow(); - } ); - p.addItem("Multiplicative Application", true, route.applicationMode == sst::basic_blocks::mod_matrix::ApplicationMode::MULTIPLICATIVE, - [w = juce::Component::SafePointer(this)]() { - if (!w) - return; - auto &route =w->parent->routingTable.routes[w->index]; - route.applicationMode = sst::basic_blocks::mod_matrix::ApplicationMode::MULTIPLICATIVE ; - - w->pushRowUpdate(true); - w->refreshRow(); - } ); - + auto &route = parent->routingTable.routes[index]; + + p.addItem("Additive Application", true, + route.applicationMode == sst::basic_blocks::mod_matrix::ApplicationMode::ADDITIVE, + [w = juce::Component::SafePointer(this)]() { + if (!w) + return; + auto &route = w->parent->routingTable.routes[w->index]; + route.applicationMode = + sst::basic_blocks::mod_matrix::ApplicationMode::ADDITIVE; + + w->pushRowUpdate(true); + w->refreshRow(); + }); + p.addItem("Multiplicative Application", true, + route.applicationMode == + sst::basic_blocks::mod_matrix::ApplicationMode::MULTIPLICATIVE, + [w = juce::Component::SafePointer(this)]() { + if (!w) + return; + auto &route = w->parent->routingTable.routes[w->index]; + route.applicationMode = + sst::basic_blocks::mod_matrix::ApplicationMode::MULTIPLICATIVE; + + w->pushRowUpdate(true); + w->refreshRow(); + }); p.showMenuAsync(editor->defaultPopupMenuOptions()); } diff --git a/src/json/modulation_traits.h b/src/json/modulation_traits.h index 56fcac26..43898ae6 100644 --- a/src/json/modulation_traits.h +++ b/src/json/modulation_traits.h @@ -193,7 +193,8 @@ SC_STREAMDEF(scxt::voice::modulation::Matrix::RoutingTable::Routing, SC_FROM({ {"sourceVia", t.sourceVia}, {"target", t.target}, {"curve", t.curve}, {"depth", t.depth}, {"srcLMS", t.sourceLagMS}, {"srVLMS", t.sourceViaLagMS}, - {"srcLE", t.sourceLagExp}, {"srVLE", t.sourceViaLagExp}, {"appm", t.applicationMode}}; + {"srcLE", t.sourceLagExp}, {"srVLE", t.sourceViaLagExp}, + {"appm", t.applicationMode}}; if (SC_STREAMING_FOR_IN_PROCESS) addToObject(v, "extraPayload", t.extraPayload); }