2 include
"bse/bsecxxmodule.idl";
5 interface Organ : Effect {
6 Info icon =
"icons/organ.png";
7 Info authors =
"David A. Bartold";
8 Info license = _(
"GNU Lesser General Public License");
9 Info category = _(
"/Audio Sources/Organ");
10 Info blurb = _(
"DavOrgan is a versatile additive organ synthesizer");
11 IStream freq_in = Stream (_(
"Freq In"), _(
"Frequency Input"));
12 OStream audio_out = Stream (_(
"Audio Out"), _(
"Organ output"));
13 group _(
"Base Frequency") {
14 Real base_freq = Freq (_(
"Frequency"), _(
"Organ frequency in Hertz, i.e. the pitch of the base tone"),
15 BSE_KAMMER_FREQUENCY, STANDARD
":dial");
16 Int base_note = Note (_(
"Note"), _(
"Organ frequency as note, converted to Hertz according to the current musical tuning"),
17 BSE_KAMMER_NOTE, GUI);
18 Int transpose = SfiInt (_(
"Transpose"), _(
"Transposition of the frequency in semitones"),
19 0, BSE_MIN_TRANSPOSE, BSE_MAX_TRANSPOSE, 12, STANDARD
":dial:skip-default");
20 Int fine_tune = FineTune (_(
"Fine Tune"), _(
"Amount of detuning in cent (hundredth part of a semitone)"),
21 STANDARD
":dial:skip-default");
23 group _(
"Harmonics") {
24 Real harm0 = Perc (_(
"16th"), _(
"16th Harmonic"), 100.0, STANDARD
":scale");
25 Real harm1 = Perc (_(
"8th"), _(
"8th Harmonic"), 100. * 36. / 127., STANDARD
":scale");
26 Real harm2 = Perc (_(
"5 1/3rd"), _(
"5 1/3rd Harmonic"), 100. * 100. / 127., STANDARD
":scale");
27 Real harm3 = Perc (_(
"4th"), _(
"4th Harmonic"), 100. * 32. / 127., STANDARD
":scale");
28 Real harm4 = Perc (_(
"2 2/3rd"), _(
"2 2/3rd Harmonic"), 100. * 91. / 127., STANDARD
":scale");
29 Real harm5 = Perc (_(
"2nd"), _(
"2nd Harmonic"), 100. * 55. / 127., STANDARD
":scale");
31 group _(
"Instrument flavour") {
32 Bool brass = Bool (_(
"Brass Sounds"), _(
"Change the organ to sound more brassy"),
false, STANDARD);
33 Bool reed = Bool (_(
"Reed Sounds"), _(
"Add reeds sound"),
false, STANDARD);
34 Bool flute = Bool (_(
"Flute Sounds"), _(
"Add flute sounds"),
false, STANDARD);