3 include
"bse/bsecxxmodule.idl";
10 interface Amplifier : Effect {
11 Info icon =
"icons/ampctrl.png";
12 Info authors =
"Tim Janik";
13 Info license = _(
"GNU Lesser General Public License");
14 Info category = _(
"/Routing/Amplifier");
15 Info blurb = _(
"BseAmplifier provides input signal controlled amplification or "
17 "It supports two control inputs and two audio inputs which "
18 "are mixed together after balance and level adjustments. "
19 "The gain setting controls preamplification of the mixed audio "
20 "signal. The mixed control signal, weighted by a strength "
21 "setting, determines additional amplification, allowing for "
22 "external sources to modulate the overall volume (tremolo). "
23 "The mixed control signal can influence the amplification "
24 "linearly (to amplify other control signals) or exponentially "
25 "(to amplify audio signals). "
26 "Finally, the master volume controls amplification of the "
27 "resulting output signal.");
28 IStream audio_in1 = Stream (_(
"Audio In1"), _(
"First audio input"));
29 IStream audio_in2 = Stream (_(
"Audio In2"), _(
"Second audio input"));
30 IStream ctrl_in1 = Stream (_(
"Ctrl In1"), _(
"First control input"));
31 IStream ctrl_in2 = Stream (_(
"Ctrl In2"), _(
"Second control input"));
32 OStream audio_out = Stream (_(
"Audio Out"), _(
"Amplified audio output"));
33 group _(
"Audio Input") {
34 Real alevel1 = Perc (_(
"Input 1 [%]"), _(
"Attenuate the level of audio input 1"), 100, STANDARD);
35 Real alevel2 = Perc (_(
"Input 2 [%]"), _(
"Attenuate the level of audio input 2"), 100, STANDARD);
36 Real abalance = Balance (_(
"Balance"), _(
"Balance audio input levels"), 0, GUI);
38 group _(
"Control Input") {
39 Real clevel1 = Perc (_(
"Input 1 [%]"), _(
"Attenuate the level of control input 1"), 100, STANDARD);
40 Real clevel2 = Perc (_(
"Input 2 [%]"), _(
"Attenuate the level of control input 2"), 100, STANDARD);
41 Real cbalance = Balance (_(
"Balance"), _(
"Balance control input levels"), 0, GUI);
42 Bool ctrl_mul = Bool (_(
"Multiply Controls"),
43 _(
"Switch the two control inputs to work like a chain of gain "
44 "controls, rather than mixing them together, weighted by balance."),
46 Bool ctrl_exp = Bool (_(
"Exponential Control"), _(
"Toggle exponential and linear control response"), FALSE, STANDARD);
49 Real ostrength = Perc (_(
"Control Strength"), _(
"Adjust how much the control signals affect the output volume"), 100, STANDARD);
50 Real base_level = Perc (_(
"Base Volume"), _(
"Base amplification (the control signal adds up to this)"), 0, STANDARD);
51 Real master_volume = DBVolume (_(
"Master Volume"), _(
"Output stage amplification in decibel"), 0, MINDB, +24, STANDARD);
54 Real audio_balance = Balance (
"",
"", 0,
"w");
55 Real ctrl_balance = Balance (
"",
"", 0,
"w");
56 Real ctrl_strength_f = SfiReal (
"",
"", 1, 0, 1, 0.1,
"w");
57 Real master_gain_f = SfiReal (
"",
"", 1, 0, 1, 0.1,
"w");
58 Real audio_gain_f = SfiReal (
"",
"", 0, 0, 1, 0.1,
"w");
59 Real olevel = Perc (
"",
"", 100,
"w");