BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
00001 // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html 00002 00003 include "bse/bsecxxmodule.idl"; 00004 00005 namespace Bse { 00006 interface Effect; // FIXME: bad workaround 00007 }; 00008 00009 namespace Bse { 00010 interface Amplifier : Effect { 00011 Info icon = "icons/ampctrl.png"; 00012 Info authors = "Tim Janik"; 00013 Info license = _("GNU Lesser General Public License"); 00014 Info category = _("/Routing/Amplifier"); 00015 Info blurb = _("BseAmplifier provides input signal controlled amplification or " 00016 "attenuation. " 00017 "It supports two control inputs and two audio inputs which " 00018 "are mixed together after balance and level adjustments. " 00019 "The gain setting controls preamplification of the mixed audio " 00020 "signal. The mixed control signal, weighted by a strength " 00021 "setting, determines additional amplification, allowing for " 00022 "external sources to modulate the overall volume (tremolo). " 00023 "The mixed control signal can influence the amplification " 00024 "linearly (to amplify other control signals) or exponentially " 00025 "(to amplify audio signals). " 00026 "Finally, the master volume controls amplification of the " 00027 "resulting output signal."); 00028 IStream audio_in1 = Stream (_("Audio In1"), _("First audio input")); 00029 IStream audio_in2 = Stream (_("Audio In2"), _("Second audio input")); 00030 IStream ctrl_in1 = Stream (_("Ctrl In1"), _("First control input")); 00031 IStream ctrl_in2 = Stream (_("Ctrl In2"), _("Second control input")); 00032 OStream audio_out = Stream (_("Audio Out"), _("Amplified audio output")); 00033 group _("Audio Input") { 00034 Real alevel1 = Perc (_("Input 1 [%]"), _("Attenuate the level of audio input 1"), 100, STANDARD); 00035 Real alevel2 = Perc (_("Input 2 [%]"), _("Attenuate the level of audio input 2"), 100, STANDARD); 00036 Real abalance = Balance (_("Balance"), _("Balance audio input levels"), 0, GUI); 00037 }; 00038 group _("Control Input") { 00039 Real clevel1 = Perc (_("Input 1 [%]"), _("Attenuate the level of control input 1"), 100, STANDARD); 00040 Real clevel2 = Perc (_("Input 2 [%]"), _("Attenuate the level of control input 2"), 100, STANDARD); 00041 Real cbalance = Balance (_("Balance"), _("Balance control input levels"), 0, GUI); 00042 Bool ctrl_mul = Bool (_("Multiply Controls"), 00043 _("Switch the two control inputs to work like a chain of gain " 00044 "controls, rather than mixing them together, weighted by balance."), 00045 TRUE, STANDARD); 00046 Bool ctrl_exp = Bool (_("Exponential Control"), _("Toggle exponential and linear control response"), FALSE, STANDARD); 00047 }; 00048 group _("Output") { 00049 Real ostrength = Perc (_("Control Strength"), _("Adjust how much the control signals affect the output volume"), 100, STANDARD); 00050 Real base_level = Perc (_("Base Volume"), _("Base amplification (the control signal adds up to this)"), 0, STANDARD); 00051 Real master_volume = DBVolume (_("Master Volume"), _("Output stage amplification in decibel"), 0, MINDB, +24, STANDARD); 00052 }; 00053 group "compat" { 00054 Real audio_balance = Balance ("", "", 0, "w"); /* -> abalance (v0.5.4) */ 00055 Real ctrl_balance = Balance ("", "", 0, "w"); /* -> cbalance (v0.5.4) */ 00056 Real ctrl_strength_f = SfiReal ("", "", 1, 0, 1, 0.1, "w"); /* *100 -> ostrength (v0.5.4) */ 00057 Real master_gain_f = SfiReal ("", "", 1, 0, 1, 0.1, "w"); /* *100 -> olevel (v0.5.4) */ 00058 Real audio_gain_f = SfiReal ("", "", 0, 0, 1, 0.1, "w"); /* *100 -> base_level (v0.5.4) */ 00059 Real olevel = Perc ("", "", 100, "w"); /* -> master_volume (v0.6.2) */ 00060 }; 00061 }; 00062 00063 };