// Wavefolder with a level meter – an example custom module for the Analog Modular Simulator. module fold "Fold" hp 6 theme black { desc de "Wavefolder: faltet die Welle je nach FOLD mehrfach um – aus einem Sinus wird ein obertonreicher Klang." desc en "Wavefolder: folds the wave over itself depending on FOLD – a sine turns into a rich, buzzy tone." knob amount "FOLD" 0..1 = 0.3 knob depth "CV" 0..1 = 0.5 size s tip "CV amount" switch mode "MODE" "SIN" "TRI" = 0 in x "IN" audio in cv "CV" cv out y "OUT" audio led hot red meter level "LEVEL" process { g = 1 + 4 * clamp(amount + cv / 10 * depth, 0, 1) s = x / AUDIO * g y = (mode == 0 ? sin(s * PI / 2) : fold(s, -1, 1)) * AUDIO hot = abs(y) > 4.5 level = peak(y) } }