Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
bseamplifier.idl
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 
3 include "bse/bsecxxmodule.idl";
4 
5 namespace Bse {
6 interface Effect; // FIXME: bad workaround
7 };
8 
9 namespace Bse {
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 "
16  "attenuation. "
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);
37  };
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."),
45  TRUE, STANDARD);
46  Bool ctrl_exp = Bool (_("Exponential Control"), _("Toggle exponential and linear control response"), FALSE, STANDARD);
47  };
48  group _("Output") {
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);
52  };
53  group "compat" {
54  Real audio_balance = Balance ("", "", 0, "w"); /* -> abalance (v0.5.4) */
55  Real ctrl_balance = Balance ("", "", 0, "w"); /* -> cbalance (v0.5.4) */
56  Real ctrl_strength_f = SfiReal ("", "", 1, 0, 1, 0.1, "w"); /* *100 -> ostrength (v0.5.4) */
57  Real master_gain_f = SfiReal ("", "", 1, 0, 1, 0.1, "w"); /* *100 -> olevel (v0.5.4) */
58  Real audio_gain_f = SfiReal ("", "", 0, 0, 1, 0.1, "w"); /* *100 -> base_level (v0.5.4) */
59  Real olevel = Perc ("", "", 100, "w"); /* -> master_volume (v0.6.2) */
60  };
61 };
62 
63 };
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:91
const char * _(const char *string)
Translate message strings in the BEAST/BSE text domain.
Definition: glib-extra.cc:1100