MCPcopy Create free account
hub / github.com/VCVRack/Befaco / step

Method step

src/Iroi.cpp:1288–1355  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1286 }
1287
1288 void step() override {
1289 IroiVCV *iroi = dynamic_cast<IroiVCV *>(module);
1290 auto editMode = iroi ? iroi->editMode : IroiVCV::EDIT_MODE_NORMAL;
1291
1292 const bool showAlt = editMode == IroiVCV::EDIT_MODE_ALT;
1293 const bool showMod = editMode == IroiVCV::EDIT_MODE_MOD;
1294 const bool showCv = editMode == IroiVCV::EDIT_MODE_CV;
1295 const bool showRnd = editMode == IroiVCV::EDIT_MODE_RND;
1296
1297 modulationTypeWidget->visible = showAlt;
1298 filterModeParamWidget->visible = showAlt;
1299 filterPositionWidget->visible = showAlt;
1300 dissonanceWidget->visible = showAlt;
1301 echoFilterWidget->visible = showAlt;
1302 autoPanWidget->visible = showAlt;
1303
1304 filterCutoffModWidget->visible = showMod;
1305 resonanceModWidget->visible = showMod;
1306 resonatorTuneModWidget->visible = showMod;
1307 resonatorFeedbackModWidget->visible = showMod;
1308 echoDensityModWidget->visible = showMod;
1309 echoRepeatsModWidget->visible = showMod;
1310 ambienceSpacetimeModWidget->visible = showMod;
1311 ambienceDecayModWidget->visible = showMod;
1312
1313 filterCutoffCvWidget->visible = showCv;
1314 resonanceCvWidget->visible = showCv;
1315 resonatorTuneCvWidget->visible = showCv;
1316 resonatorFeedbackCvWidget->visible = showCv;
1317 echoDensityCvWidget->visible = showCv;
1318 echoRepeatsCvWidget->visible = showCv;
1319 ambienceSpacetimeCvWidget->visible = showCv;
1320 ambienceDecayCvWidget->visible = showCv;
1321
1322 filterCutoffRndWidget->visible = showRnd;
1323 resonanceRndWidget->visible = showRnd;
1324 resonatorTuneRndWidget->visible = showRnd;
1325 resonatorFeedbackRndWidget->visible = showRnd;
1326 echoDensityRndWidget->visible = showRnd;
1327 echoRepeatsRndWidget->visible = showRnd;
1328 ambienceSpacetimeRndWidget->visible = showRnd;
1329 ambienceDecayRndWidget->visible = showRnd;
1330
1331 mapButtonWidget->visible = !showAlt;
1332 clearButtonWidget->visible = showAlt;
1333
1334 if (iroi && iroi->consumePendingRandomizeAction()) {
1335 if (iroi->useNativeRackRandomisation) {
1336 randomizeAction();
1337 } else {
1338 IroiRandomizeSlewAction *h = new IroiRandomizeSlewAction;
1339 h->moduleId = iroi->id;
1340 h->oldValues = iroi->captureSlewedParamValues();
1341 h->newValues = iroi->generateRandomizedValues();
1342
1343 // Apply now so user hears the slewed randomization immediately.
1344 iroi->applyRandomizedValues(h->newValues, false);
1345

Callers

nothing calls this directly

Tested by

no test coverage detected