MCPcopy Create free account
hub / github.com/VCVRack/AudibleInstruments / process

Method process

src/Marbles.cpp:341–414  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

339 }
340
341 void process(const ProcessArgs& args) override {
342 // Buttons
343 if (tDejaVuTrigger.process(params[T_DEJA_VU_PARAM].getValue() <= 0.f)) {
344 t_deja_vu = !t_deja_vu;
345 }
346 if (xDejaVuTrigger.process(params[X_DEJA_VU_PARAM].getValue() <= 0.f)) {
347 x_deja_vu = !x_deja_vu;
348 }
349 if (tModeTrigger.process(params[T_MODE_PARAM].getValue() <= 0.f)) {
350 t_mode = (t_mode + 1) % 3;
351 }
352 if (xModeTrigger.process(params[X_MODE_PARAM].getValue() <= 0.f)) {
353 x_mode = (x_mode + 1) % 3;
354 }
355 if (tRangeTrigger.process(params[T_RANGE_PARAM].getValue() <= 0.f)) {
356 t_range = (t_range + 1) % 3;
357 }
358 if (xRangeTrigger.process(params[X_RANGE_PARAM].getValue() <= 0.f)) {
359 x_range = (x_range + 1) % 3;
360 }
361 if (externalTrigger.process(params[EXTERNAL_PARAM].getValue() <= 0.f)) {
362 external = !external;
363 }
364
365 // Clocks
366 bool t_gate = (inputs[T_CLOCK_INPUT].getVoltage() >= 1.7f);
367 last_t_clock = stmlib::ExtractGateFlags(last_t_clock, t_gate);
368 t_clocks[blockIndex] = last_t_clock;
369
370 bool x_gate = (inputs[X_CLOCK_INPUT].getVoltage() >= 1.7f);
371 last_xy_clock = stmlib::ExtractGateFlags(last_xy_clock, x_gate);
372 xy_clocks[blockIndex] = last_xy_clock;
373
374 // Process block
375 if (++blockIndex >= BLOCK_SIZE) {
376 blockIndex = 0;
377 stepBlock();
378 }
379
380 // Lights and outputs
381
382 lights[T_DEJA_VU_LIGHT].setBrightness(t_deja_vu);
383 lights[X_DEJA_VU_LIGHT].setBrightness(x_deja_vu);
384
385 lights[T_MODE_LIGHTS + 0].setBrightness(t_mode == 0 || t_mode == 1);
386 lights[T_MODE_LIGHTS + 1].setBrightness(t_mode == 1 || t_mode == 2);
387
388 lights[X_MODE_LIGHTS + 0].setBrightness(x_mode == 0 || x_mode == 1);
389 lights[X_MODE_LIGHTS + 1].setBrightness(x_mode == 1 || x_mode == 2);
390
391 lights[T_RANGE_LIGHTS + 0].setBrightness(t_range == 0 || t_range == 1);
392 lights[T_RANGE_LIGHTS + 1].setBrightness(t_range == 1 || t_range == 2);
393
394 lights[X_RANGE_LIGHTS + 0].setBrightness(x_range == 0 || x_range == 1);
395 lights[X_RANGE_LIGHTS + 1].setBrightness(x_range == 1 || x_range == 2);
396
397 lights[EXTERNAL_LIGHT].setBrightness(external);
398

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected