File: mixer.dsp

package info (click to toggle)
faust 2.79.3%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 397,496 kB
  • sloc: cpp: 278,433; ansic: 116,164; javascript: 18,529; vhdl: 14,052; sh: 13,884; java: 5,900; objc: 3,852; python: 3,222; makefile: 2,655; cs: 1,672; lisp: 1,146; ruby: 954; yacc: 586; xml: 471; lex: 247; awk: 110; tcl: 26
file content (27 lines) | stat: -rw-r--r-- 819 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
declare name      "mixer";
declare version   "1.0";
declare author    "Grame";
declare license   "BSD";
declare copyright "(c)GRAME 2006-2020";

import("stdfaust.lib");

//-------------------------------------------------
// Simple 8x2 mixer
//-------------------------------------------------

vol = component("../dynamic/volume.dsp");
pan = component("../spat/panpot.dsp");
mute = *(1 - checkbox("mute")); 
      
vumeter(i, x) = attach(x, envelop(x) : vbargraph("chan %i[2][unit:dB]", -70, +5))
with {
    envelop = abs : max ~ -(1.0/ma.SR) : max(ba.db2linear(-70)) : ba.linear2db;
};

voice(v) = vgroup("Ch %v",  mute : hgroup("[2]", vol : vumeter(v)) : pan);
stereo = hgroup("stereo out", (vol, vol : vgroup("L", vumeter(0)), vgroup("R", vumeter(1))));

process = hgroup("mixer", par(i, 8, voice(i)) :> stereo);