5 Const READWRITE =
":r:w:";
6 Const STORAGE =
":r:w:S:";
7 Const STANDARD =
":r:w:S:G:";
8 Const STANDARD_RDONLY =
":r:w:S:G:ro:";
10 Const GUI_RDONLY =
":r:w:G:ro:";
11 Const GUI_READABLE =
":r:G:";
13 Const SKIP_DEFAULT =
":skip-default:";
14 Const SKIP_UNDO =
":skip-undo:";
15 Const DEFAULT = STANDARD;
17 Const MAXINT = +2147483647;
18 Const MININT = -2147483648;
19 Const MAXNUM = +9223372036854775807;
20 Const MINNUM = -9223372036854775808;
29 enum MidiControlType {
31 MIDI_CONTROL_NONE = Enum (0, _(
"None")),
33 MIDI_CONTROL_CONTINUOUS_0 = Enum (64, _(
"Bank Select"), _(
"Continuous MIDI Control #1 - Bank Select")),
34 MIDI_CONTROL_CONTINUOUS_1 = Enum (65, _(
"Modulation Depth")),
35 MIDI_CONTROL_CONTINUOUS_2 = Enum (66, _(
"Breath Control")),
36 MIDI_CONTROL_CONTINUOUS_3 = Enum (67, _(
"Continuous 3")),
37 MIDI_CONTROL_CONTINUOUS_4 = Enum (68, _(
"Foot Controller")),
38 MIDI_CONTROL_CONTINUOUS_5 = Enum (69, _(
"Portamento Time")),
39 MIDI_CONTROL_CONTINUOUS_6 = Enum (70, _(
"Data Entry")),
40 MIDI_CONTROL_CONTINUOUS_7 = Enum (71, _(
"Volume")),
41 MIDI_CONTROL_CONTINUOUS_8 = Enum (72, _(
"Balance")),
42 MIDI_CONTROL_CONTINUOUS_9 = Enum (73, _(
"Continuous 9")),
43 MIDI_CONTROL_CONTINUOUS_10 = Enum (74, _(
"Panorama")),
44 MIDI_CONTROL_CONTINUOUS_11 = Enum (75, _(
"Expression")),
45 MIDI_CONTROL_CONTINUOUS_12 = Enum (76, _(
"Effect Control 1")),
46 MIDI_CONTROL_CONTINUOUS_13 = Enum (77, _(
"Effect Control 2")),
47 MIDI_CONTROL_CONTINUOUS_14 = Enum (78, _(
"Continuous 14")),
48 MIDI_CONTROL_CONTINUOUS_15 = Enum (79, _(
"Continuous 15")),
49 MIDI_CONTROL_CONTINUOUS_16 = Enum (80, _(
"General Purpose Controller 1")),
50 MIDI_CONTROL_CONTINUOUS_17 = Enum (81, _(
"General Purpose Controller 2")),
51 MIDI_CONTROL_CONTINUOUS_18 = Enum (82, _(
"General Purpose Controller 3")),
52 MIDI_CONTROL_CONTINUOUS_19 = Enum (83, _(
"General Purpose Controller 4")),
53 MIDI_CONTROL_CONTINUOUS_20 = Enum (84, _(
"Continuous 20")),
54 MIDI_CONTROL_CONTINUOUS_21 = Enum (85, _(
"Continuous 21")),
55 MIDI_CONTROL_CONTINUOUS_22 = Enum (86, _(
"Continuous 22")),
56 MIDI_CONTROL_CONTINUOUS_23 = Enum (87, _(
"Continuous 23")),
57 MIDI_CONTROL_CONTINUOUS_24 = Enum (88, _(
"Continuous 24")),
58 MIDI_CONTROL_CONTINUOUS_25 = Enum (89, _(
"Continuous 25")),
59 MIDI_CONTROL_CONTINUOUS_26 = Enum (90, _(
"Continuous 26")),
60 MIDI_CONTROL_CONTINUOUS_27 = Enum (91, _(
"Continuous 27")),
61 MIDI_CONTROL_CONTINUOUS_28 = Enum (92, _(
"Continuous 28")),
62 MIDI_CONTROL_CONTINUOUS_29 = Enum (93, _(
"Continuous 29")),
63 MIDI_CONTROL_CONTINUOUS_30 = Enum (94, _(
"Continuous 30")),
64 MIDI_CONTROL_CONTINUOUS_31 = Enum (95, _(
"Continuous 31")),
66 MIDI_CONTROL_0 = Enum (128, _(
"Control 0 Bank Select MSB")),
67 MIDI_CONTROL_1 = Enum (129, _(
"Control 1 Modulation Depth MSB")),
68 MIDI_CONTROL_2 = Enum (130, _(
"Control 2 Breath Control MSB")),
69 MIDI_CONTROL_3 = Enum (131, _(
"control-3")),
70 MIDI_CONTROL_4 = Enum (132, _(
"Control 4 Foot Controller MSB")),
71 MIDI_CONTROL_5 = Enum (133, _(
"Control 5 Portamento Time MSB")),
72 MIDI_CONTROL_6 = Enum (134, _(
"Control 6 Data Entry MSB")),
73 MIDI_CONTROL_7 = Enum (135, _(
"Control 7 Volume MSB")),
74 MIDI_CONTROL_8 = Enum (136, _(
"Control 8 Balance MSB")),
75 MIDI_CONTROL_9 = Enum (137, _(
"control-9")),
76 MIDI_CONTROL_10 = Enum (138, _(
"Control 10 Panorama MSB")),
77 MIDI_CONTROL_11 = Enum (139, _(
"Control 11 Expression MSB")),
78 MIDI_CONTROL_12 = Enum (140, _(
"Control 12 Effect Control 1 MSB")),
79 MIDI_CONTROL_13 = Enum (141, _(
"Control 13 Effect Control 2 MSB")),
80 MIDI_CONTROL_14 = Enum (142, _(
"control-14")),
81 MIDI_CONTROL_15 = Enum (143, _(
"control-15")),
82 MIDI_CONTROL_16 = Enum (144, _(
"Control 16 General Purpose Controller 1 MSB")),
83 MIDI_CONTROL_17 = Enum (145, _(
"Control 17 General Purpose Controller 2 MSB")),
84 MIDI_CONTROL_18 = Enum (146, _(
"Control 18 General Purpose Controller 3 MSB")),
85 MIDI_CONTROL_19 = Enum (147, _(
"Control 19 General Purpose Controller 4 MSB")),
86 MIDI_CONTROL_20 = Enum (148, _(
"control-20")),
87 MIDI_CONTROL_21 = Enum (149, _(
"control-21")),
88 MIDI_CONTROL_22 = Enum (150, _(
"control-22")),
89 MIDI_CONTROL_23 = Enum (151, _(
"control-23")),
90 MIDI_CONTROL_24 = Enum (152, _(
"control-24")),
91 MIDI_CONTROL_25 = Enum (153, _(
"control-25")),
92 MIDI_CONTROL_26 = Enum (154, _(
"control-26")),
93 MIDI_CONTROL_27 = Enum (155, _(
"control-27")),
94 MIDI_CONTROL_28 = Enum (156, _(
"control-28")),
95 MIDI_CONTROL_29 = Enum (157, _(
"control-29")),
96 MIDI_CONTROL_30 = Enum (158, _(
"control-30")),
97 MIDI_CONTROL_31 = Enum (159, _(
"control-31")),
99 MIDI_CONTROL_32 = Enum (160, _(
"Control 32 Bank Select LSB")),
100 MIDI_CONTROL_33 = Enum (161, _(
"Control 33 Modulation Depth LSB")),
101 MIDI_CONTROL_34 = Enum (162, _(
"Control 34 Breath Control LSB")),
102 MIDI_CONTROL_35 = Enum (163, _(
"control-35")),
103 MIDI_CONTROL_36 = Enum (164, _(
"Control 36 Foot Controller LSB")),
104 MIDI_CONTROL_37 = Enum (165, _(
"Control 37 Portamento Time LSB")),
105 MIDI_CONTROL_38 = Enum (166, _(
"Control 38 Data Entry LSB")),
106 MIDI_CONTROL_39 = Enum (167, _(
"Control 39 Volume LSB")),
107 MIDI_CONTROL_40 = Enum (168, _(
"Control 40 Balance LSB")),
108 MIDI_CONTROL_41 = Enum (169, _(
"control-41")),
109 MIDI_CONTROL_42 = Enum (170, _(
"Control 42 Panorama LSB")),
110 MIDI_CONTROL_43 = Enum (171, _(
"Control 43 Expression LSB")),
111 MIDI_CONTROL_44 = Enum (172, _(
"Control 44 Effect Control 1 LSB")),
112 MIDI_CONTROL_45 = Enum (173, _(
"Control 45 Effect Control 2 LSB")),
113 MIDI_CONTROL_46 = Enum (174, _(
"control-46")),
114 MIDI_CONTROL_47 = Enum (175, _(
"control-47")),
115 MIDI_CONTROL_48 = Enum (176, _(
"Control 48 General Purpose Controller 1 LSB")),
116 MIDI_CONTROL_49 = Enum (177, _(
"Control 49 General Purpose Controller 2 LSB")),
117 MIDI_CONTROL_50 = Enum (178, _(
"Control 50 General Purpose Controller 3 LSB")),
118 MIDI_CONTROL_51 = Enum (179, _(
"Control 51 General Purpose Controller 4 LSB")),
119 MIDI_CONTROL_52 = Enum (180, _(
"control-52")),
120 MIDI_CONTROL_53 = Enum (181, _(
"control-53")),
121 MIDI_CONTROL_54 = Enum (182, _(
"control-54")),
122 MIDI_CONTROL_55 = Enum (183, _(
"control-55")),
123 MIDI_CONTROL_56 = Enum (184, _(
"control-56")),
124 MIDI_CONTROL_57 = Enum (185, _(
"control-57")),
125 MIDI_CONTROL_58 = Enum (186, _(
"control-58")),
126 MIDI_CONTROL_59 = Enum (187, _(
"control-59")),
127 MIDI_CONTROL_60 = Enum (188, _(
"control-60")),
128 MIDI_CONTROL_61 = Enum (189, _(
"control-61")),
129 MIDI_CONTROL_62 = Enum (190, _(
"control-62")),
130 MIDI_CONTROL_63 = Enum (191, _(
"control-63")),
132 MIDI_CONTROL_64 = Enum (192, _(
"Control 64 Damper Pedal Switch (Sustain)")),
133 MIDI_CONTROL_65 = Enum (193, _(
"Control 65 Portamento Switch")),
134 MIDI_CONTROL_66 = Enum (194, _(
"Control 66 Sustenuto Switch")),
135 MIDI_CONTROL_67 = Enum (195, _(
"Control 67 Soft Switch")),
136 MIDI_CONTROL_68 = Enum (196, _(
"Control 68 Legato Pedal Switch")),
137 MIDI_CONTROL_69 = Enum (197, _(
"Control 69 Hold Pedal Switch")),
138 MIDI_CONTROL_70 = Enum (198, _(
"Control 70 Sound Variation")),
139 MIDI_CONTROL_71 = Enum (199, _(
"Control 71 Filter Resonance (Timbre)")),
140 MIDI_CONTROL_72 = Enum (200, _(
"Control 72 Sound Release Time")),
141 MIDI_CONTROL_73 = Enum (201, _(
"Control 73 Sound Attack Time")),
142 MIDI_CONTROL_74 = Enum (202, _(
"Control 74 Sound Brightness")),
143 MIDI_CONTROL_75 = Enum (203, _(
"Control 75 Sound Decay Time")),
144 MIDI_CONTROL_76 = Enum (204, _(
"Control 76 Vibrato Rate")),
145 MIDI_CONTROL_77 = Enum (205, _(
"Control 77 Vibrato Depth")),
146 MIDI_CONTROL_78 = Enum (206, _(
"Control 78 Vibrato Delay")),
147 MIDI_CONTROL_79 = Enum (207, _(
"Control 79 Sound Control 10")),
148 MIDI_CONTROL_80 = Enum (208, _(
"Control 80 General Purpose Switch 5")),
149 MIDI_CONTROL_81 = Enum (209, _(
"Control 81 General Purpose Switch 6")),
150 MIDI_CONTROL_82 = Enum (210, _(
"Control 82 General Purpose Switch 7")),
151 MIDI_CONTROL_83 = Enum (211, _(
"Control 83 General Purpose Switch 8")),
152 MIDI_CONTROL_84 = Enum (212, _(
"Control 84 Portamento Control (Note)")),
153 MIDI_CONTROL_85 = Enum (213, _(
"control-85")),
154 MIDI_CONTROL_86 = Enum (214, _(
"control-86")),
155 MIDI_CONTROL_87 = Enum (215, _(
"control-87")),
156 MIDI_CONTROL_88 = Enum (216, _(
"control-88")),
157 MIDI_CONTROL_89 = Enum (217, _(
"control-89")),
158 MIDI_CONTROL_90 = Enum (218, _(
"control-90")),
159 MIDI_CONTROL_91 = Enum (219, _(
"Control 91 Reverb Depth")),
160 MIDI_CONTROL_92 = Enum (220, _(
"Control 92 Tremolo Depth")),
161 MIDI_CONTROL_93 = Enum (221, _(
"Control 93 Chorus Depth")),
162 MIDI_CONTROL_94 = Enum (222, _(
"Control 93 Detune Depth")),
163 MIDI_CONTROL_95 = Enum (223, _(
"Control 95 Phase Depth")),
164 MIDI_CONTROL_96 = Enum (224, _(
"Control 96 Data Increment Trigger")),
165 MIDI_CONTROL_97 = Enum (225, _(
"Control 97 Data Decrement Trigger")),
166 MIDI_CONTROL_98 = Enum (226, _(
"Control 98 Non-Registered Parameter MSB")),
167 MIDI_CONTROL_99 = Enum (227, _(
"Control 99 Non-Registered Parameter LSB")),
168 MIDI_CONTROL_100 = Enum (228, _(
"Control 100 Registered Parameter MSB")),
169 MIDI_CONTROL_101 = Enum (229, _(
"Control 101 Registered Parameter LSB")),
170 MIDI_CONTROL_102 = Enum (230, _(
"control-102")),
171 MIDI_CONTROL_103 = Enum (231, _(
"control-103")),
172 MIDI_CONTROL_104 = Enum (232, _(
"control-104")),
173 MIDI_CONTROL_105 = Enum (233, _(
"control-105")),
174 MIDI_CONTROL_106 = Enum (234, _(
"control-106")),
175 MIDI_CONTROL_107 = Enum (235, _(
"control-107")),
176 MIDI_CONTROL_108 = Enum (236, _(
"control-108")),
177 MIDI_CONTROL_109 = Enum (237, _(
"control-109")),
178 MIDI_CONTROL_110 = Enum (238, _(
"control-110")),
179 MIDI_CONTROL_111 = Enum (239, _(
"control-111")),
180 MIDI_CONTROL_112 = Enum (240, _(
"control-112")),
181 MIDI_CONTROL_113 = Enum (241, _(
"control-113")),
182 MIDI_CONTROL_114 = Enum (242, _(
"control-114")),
183 MIDI_CONTROL_115 = Enum (243, _(
"control-115")),
184 MIDI_CONTROL_116 = Enum (244, _(
"control-116")),
185 MIDI_CONTROL_117 = Enum (245, _(
"control-117")),
186 MIDI_CONTROL_118 = Enum (246, _(
"control-118")),
187 MIDI_CONTROL_119 = Enum (247, _(
"control-119")),
188 MIDI_CONTROL_120 = Enum (248, _(
"Control 120 All Sound Off ITrigger")),
189 MIDI_CONTROL_121 = Enum (249, _(
"Control 121 All Controllers Off ITrigger")),
190 MIDI_CONTROL_122 = Enum (250, _(
"Control 122 Local Control Switch")),
191 MIDI_CONTROL_123 = Enum (251, _(
"Control 123 All Notes Off ITrigger")),
192 MIDI_CONTROL_124 = Enum (252, _(
"Control 124 Omni Mode Off ITrigger")),
193 MIDI_CONTROL_125 = Enum (253, _(
"Control 125 Omni Mode On ITrigger")),
194 MIDI_CONTROL_126 = Enum (254, _(
"Control 126 Monophonic Voices Mode")),
195 MIDI_CONTROL_127 = Enum (255, _(
"Control 127 Polyphonic Mode On ITrigger")),
197 enum MidiChannelEventType {
202 MIDI_EVENT_KEY_PRESSURE,
203 MIDI_EVENT_CONTROL_CHANGE,
204 MIDI_EVENT_PROGRAM_CHANGE,
205 MIDI_EVENT_CHANNEL_PRESSURE,
206 MIDI_EVENT_PITCH_BEND,
209 MIDI_EVENT_SONG_POINTER,
210 MIDI_EVENT_SONG_SELECT,
213 MIDI_EVENT_TIMING_CLOCK,
214 MIDI_EVENT_SONG_START,
215 MIDI_EVENT_SONG_CONTINUE,
216 MIDI_EVENT_SONG_STOP,
217 MIDI_EVENT_ACTIVE_SENSING,
218 MIDI_EVENT_SYSTEM_RESET,
220 record MidiChannelEvent
222 MidiChannelEventType event_type;
223 Int channel = SfiInt (
"Channel",
"", 0, 0, 99, 1,
":readwrite");
224 Num tick_stamp = SfiNum (
"Time Stamp",
"", 0, 0, SFI_MAXNUM, 0, STANDARD);
226 Real frequency = Freq (
"Frequency",
"",
KAMMER_FREQ,
":readwrite");
227 Real velocity = SfiReal (
"Velocity",
"", 1, 0, 1.0, 0.1,
":readwrite");
229 Int control = SfiInt (
"Control Number",
"", 0, 0, 1024, 8,
":readwrite");
230 Real value = SfiReal (
"Value",
"", 0, -1, +1, 0.1,
":readwrite");
232 Int program = SfiInt (
"Program",
"", 0, 0, 0x7f, 0x10,
":readwrite");
234 Real intensity = SfiReal (
"Intensity",
"", 0, 0, 1.0, 0.1,
":readwrite");
236 Real pitch_bend = SfiReal (
"Pitch Bend",
"", 0, -1, +1, 0.1,
":readwrite");
238 Int song_pointer = SfiInt (
"Song Pointer",
"", 0, 0, 0x3fff, 0x80,
":readwrite");
240 Int song_number = SfiInt (
"Song Number",
"", 0, 0, 0x7f, 0x10,
":readwrite");
243 Int notes = Note (
"Note",
"",
KAMMER_NOTE,
":readwrite");
247 Info blurb = (
"A list of BSE items or derived types.");
250 record PropertyCandidates {
251 Info blurb = (
"A structure describing tentative property values.");
255 TypeSeq partitions = SfiSeq (
"Type Partitions",
"List of types which may logically partition the list of items by type discrimination", STANDARD);
259 Int offset = Note (
"Note Offset",
"Center/base note",
KAMMER_NOTE,
":readwrite");
260 NoteSeq notes = SfiSeq (
"Notes",
"Sequence of notes",
":readwrite");
267 Info blurb =
"BSE icon representation.";
268 Int width = SfiInt (
"Width",
"Width in pixels or 0 for no icon", 0, 0, MAXINT, 1,
":readwrite");
269 Int height = SfiInt (
"Height",
"Height in pixels or 0 for no icon", 0, 0, MAXINT, 1,
":readwrite");
270 P1xelSeq pixel_seq = SfiSeq (
"Pixels",
"Pixel array of width*height ARGB pixels",
":readwrite");
274 Int category_id = SfiInt (
"Category ID",
"", 1, 1, G_MAXINT, 1,
":readwrite");
281 sequence CategorySeq {
290 Const DEFAULT_AUTHOR =
"\357\277\271\357\277\272{{bse.idl/default-author}}\357\277\273";
291 Const DEFAULT_LICENSE =
"\357\277\271\357\277\272{{bse.idl/default-license}}\357\277\273";
292 Const USER_DATA_PATH =
"\357\277\271\357\277\272{{bse.idl/user-data-path}}\357\277\273";
293 Const DEFAULT_SAMPLE_PATH = USER_DATA_PATH
"samples";
294 Const DEFAULT_EFFECTS_PATH = USER_DATA_PATH
"effects";
295 Const DEFAULT_INSTRUMENTS_PATH = USER_DATA_PATH
"instruments";
296 Const DEFAULT_SCRIPTS_PATH = USER_DATA_PATH
"scripts";
297 Const DEFAULT_PLUGINS_PATH = USER_DATA_PATH
"plugins";
300 group _(
"Synthesis Settings") {
302 SfiInt (_(
"Latency [ms]"),
303 _(
"Processing duration between input and output of a single sample, smaller values increase CPU load"),
304 50, 1, 2000, 5, STANDARD);
305 Int synth_mixing_freq =
306 SfiInt (_(
"Synth Mixing Frequency"),
307 _(
"Synthesis mixing frequency, common values are: 22050, 44100, 48000"),
308 44100, 8000, 192000, 0, STANDARD);
309 Int synth_control_freq =
310 SfiInt (_(
"Synth Control Frequency"),
311 _(
"Frequency at which control values are evaluated, "
312 "should be much smaller than Synth Mixing Frequency to reduce CPU load"),
313 1000, 1, 192000, 0, STANDARD);
316 Bool invert_sustain = SfiBool (_(
"Invert Sustain Pedal"),
317 _(
"Invert the state of sustain (damper) pedal so on/off meanings are reversed"),
320 group _(
"Default Values") {
321 SfiString author_default =
SfiString (_(
"Default Author"), _(
"Default value for 'Author' fields"),
322 DEFAULT_AUTHOR, STANDARD);
323 SfiString license_default =
SfiString (_(
"Default License"), _(
"Default value for 'License' fields"),
324 DEFAULT_LICENSE, STANDARD);
326 group _(
"Search Paths") {
328 _(
"Search path of directories, seperated by \";\", used to find audio samples."),
329 DEFAULT_SAMPLE_PATH, STANDARD
":searchpath");
331 _(
"Search path of directories, seperated by \";\", used to find BSE effect files."),
332 DEFAULT_EFFECTS_PATH, STANDARD
":searchpath");
334 _(
"Search path of directories, seperated by \";\", used to find BSE instrument files."),
335 DEFAULT_INSTRUMENTS_PATH, STANDARD
":searchpath");
337 _(
"Search path of directories, seperated by \";\", used to find BSE scheme scripts."),
338 DEFAULT_SCRIPTS_PATH, STANDARD
":searchpath");
340 _(
"Search path of directories, seperated by \";\", used to find BSE plugins. This path "
341 "is searched for in addition to the standard BSE plugin location on this system."),
342 DEFAULT_PLUGINS_PATH, STANDARD
":searchpath");
344 _(
"Search path of directories, seperated by \";\", used to find LADSPA plugins. This "
345 "path is searched for in addition to the standard LADSPA location on this system. "
346 "LADSPA is the Linux Audio Developer's Simple Plugin API, more informations about "
347 "LADSPA plugins can be found at http://www.ladspa.org/."),
348 "", STANDARD
":searchpath");
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:88
Const KAMMER_FREQ
Kammer note, representing the kammer frequency's MIDI note value for A' or A4.
Definition: bseapi.idl:359
Const KAMMER_NOTE
Value represents unparsable/unknown notes.
Definition: bseapi.idl:358
The Sfi namespace contains utilities for synthesis.
Definition: oldidl.idl:4