Skip to content

Commit 54f03f6

Browse files
committed
Cascade: multiply extra outputs by 10
1 parent c51514d commit 54f03f6

1 file changed

Lines changed: 30 additions & 15 deletions

File tree

src/funcgen.cpp

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -271,9 +271,12 @@ struct Funcgen : Module {
271271
float b = envelope[1].env;
272272
float c = envelope[2].env;
273273
float d = envelope[3].env;
274-
outputs[MIN_OUTPUT].setVoltage(std::min(a, std::min(b, std::min(c, d))));
275-
outputs[MAX_OUTPUT].setVoltage(std::max(a, std::max(b, std::max(c, d))));
276-
outputs[AVG_OUTPUT].setVoltage((a + b + c + d) / CHANNEL_COUNT);
274+
// outputs[MIN_OUTPUT].setVoltage(std::min(a, std::min(b, std::min(c, d))));
275+
// outputs[MAX_OUTPUT].setVoltage(std::max(a, std::max(b, std::max(c, d))));
276+
// outputs[AVG_OUTPUT].setVoltage((a + b + c + d) / CHANNEL_COUNT);
277+
outputs[MIN_OUTPUT].setVoltage(std::min(a * 10, std::min(b * 10, std::min(c * 10, d * 10))));
278+
outputs[MAX_OUTPUT].setVoltage(std::max(a * 10, std::max(b * 10, std::max(c * 10, d * 10))));
279+
outputs[AVG_OUTPUT].setVoltage((a * 10 + b * 10 + c * 10 + d * 10) / CHANNEL_COUNT);
277280
outputs[AGTB_OUTPUT].setVoltage(a > b ? 10.f : 0.f);
278281
outputs[AGTC_OUTPUT].setVoltage(a > c ? 10.f : 0.f);
279282
outputs[AGTD_OUTPUT].setVoltage(a > d ? 10.f : 0.f);
@@ -286,18 +289,30 @@ struct Funcgen : Module {
286289
outputs[DGTA_OUTPUT].setVoltage(d > a ? 10.f : 0.f);
287290
outputs[DGTB_OUTPUT].setVoltage(d > b ? 10.f : 0.f);
288291
outputs[DGTC_OUTPUT].setVoltage(d > c ? 10.f : 0.f);
289-
outputs[ABSAB_OUTPUT].setVoltage(10 - std::abs(a - b));
290-
outputs[ABSAC_OUTPUT].setVoltage(10 - std::abs(a - c));
291-
outputs[ABSAD_OUTPUT].setVoltage(10 - std::abs(a - d));
292-
outputs[ABSBC_OUTPUT].setVoltage(10 - std::abs(b - c));
293-
outputs[ABSBD_OUTPUT].setVoltage(10 - std::abs(b - d));
294-
outputs[ABSCD_OUTPUT].setVoltage(10 - std::abs(c - d));
295-
outputs[ABSBA_OUTPUT].setVoltage(std::abs(a - b));
296-
outputs[ABSCA_OUTPUT].setVoltage(std::abs(a - c));
297-
outputs[ABSCB_OUTPUT].setVoltage(std::abs(b - c));
298-
outputs[ABSDA_OUTPUT].setVoltage(std::abs(a - d));
299-
outputs[ABSDB_OUTPUT].setVoltage(std::abs(b - d));
300-
outputs[ABSDC_OUTPUT].setVoltage(std::abs(c - d));
292+
// outputs[ABSAB_OUTPUT].setVoltage(10 - std::abs(a - b));
293+
// outputs[ABSAC_OUTPUT].setVoltage(10 - std::abs(a - c));
294+
// outputs[ABSAD_OUTPUT].setVoltage(10 - std::abs(a - d));
295+
// outputs[ABSBC_OUTPUT].setVoltage(10 - std::abs(b - c));
296+
// outputs[ABSBD_OUTPUT].setVoltage(10 - std::abs(b - d));
297+
// outputs[ABSCD_OUTPUT].setVoltage(10 - std::abs(c - d));
298+
// outputs[ABSBA_OUTPUT].setVoltage(std::abs(a - b));
299+
// outputs[ABSCA_OUTPUT].setVoltage(std::abs(a - c));
300+
// outputs[ABSCB_OUTPUT].setVoltage(std::abs(b - c));
301+
// outputs[ABSDA_OUTPUT].setVoltage(std::abs(a - d));
302+
// outputs[ABSDB_OUTPUT].setVoltage(std::abs(b - d));
303+
// outputs[ABSDC_OUTPUT].setVoltage(std::abs(c - d));
304+
outputs[ABSAB_OUTPUT].setVoltage(10- std::abs(a * 10 - b * 10));
305+
outputs[ABSAC_OUTPUT].setVoltage(10 - std::abs(a * 10 - c * 10));
306+
outputs[ABSAD_OUTPUT].setVoltage(10 - std::abs(a * 10 - d * 10));
307+
outputs[ABSBC_OUTPUT].setVoltage(10 - std::abs(b * 10 - c * 10));
308+
outputs[ABSBD_OUTPUT].setVoltage(10 - std::abs(b * 10 - d * 10));
309+
outputs[ABSCD_OUTPUT].setVoltage(10 - std::abs(c * 10 - d * 10));
310+
outputs[ABSBA_OUTPUT].setVoltage(std::abs(a * 10 - b * 10));
311+
outputs[ABSCA_OUTPUT].setVoltage(std::abs(a * 10 - c * 10));
312+
outputs[ABSCB_OUTPUT].setVoltage(std::abs(b * 10 - c * 10));
313+
outputs[ABSDA_OUTPUT].setVoltage(std::abs(a * 10 - d * 10));
314+
outputs[ABSDB_OUTPUT].setVoltage(std::abs(b * 10 - d * 10));
315+
outputs[ABSDC_OUTPUT].setVoltage(std::abs(c * 10 - d * 10));
301316

302317
// find the two channels with the highest amplitude
303318
float max_a = 0.f;

0 commit comments

Comments
 (0)