50 enum BiquadFilterType {
51 BIQUAD_FILTER_RESONANT_LOWPASS = Enum (1,
"lowpass"),
52 BIQUAD_FILTER_RESONANT_HIGHPASS = Enum (2,
"highpass"),
55 enum RegistrationType {
56 REGISTER_PLUGIN = Enum (1,
"plugin"),
57 REGISTER_SCRIPT = Enum (2,
"script"),
58 REGISTER_DONE = Enum (256,
"done"),
62 ERROR_NONE = Enum (0,
"none"),
63 ERROR_INTERNAL = Enum (1,
"internal"),
64 ERROR_UNKNOWN = Enum (2,
"unknown"),
65 ERROR_IO = Enum (3,
"io"),
66 ERROR_PERMS = Enum (4,
"perms"),
67 ERROR_FILE_BUSY = Enum (5,
"file-busy"),
68 ERROR_FILE_EXISTS = Enum (6,
"file-exists"),
69 ERROR_FILE_EOF = Enum (7,
"file-eof"),
70 ERROR_FILE_EMPTY = Enum (8,
"file-empty"),
71 ERROR_FILE_NOT_FOUND = Enum (9,
"file-not-found"),
72 ERROR_FILE_IS_DIR = Enum (10,
"file-is-dir"),
73 ERROR_FILE_OPEN_FAILED = Enum (11,
"file-open-failed"),
74 ERROR_FILE_SEEK_FAILED = Enum (12,
"file-seek-failed"),
75 ERROR_FILE_READ_FAILED = Enum (13,
"file-read-failed"),
76 ERROR_FILE_WRITE_FAILED = Enum (14,
"file-write-failed"),
77 ERROR_MANY_FILES = Enum (15,
"many-files"),
78 ERROR_NO_FILES = Enum (16,
"no-files"),
79 ERROR_NO_SPACE = Enum (17,
"no-space"),
80 ERROR_NO_MEMORY = Enum (18,
"no-memory"),
81 ERROR_NO_HEADER = Enum (19,
"no-header"),
82 ERROR_NO_SEEK_INFO = Enum (20,
"no-seek-info"),
83 ERROR_NO_DATA = Enum (21,
"no-data"),
84 ERROR_DATA_CORRUPT = Enum (22,
"data-corrupt"),
85 ERROR_WRONG_N_CHANNELS = Enum (23,
"wrong-n-channels"),
86 ERROR_FORMAT_INVALID = Enum (24,
"format-invalid"),
87 ERROR_FORMAT_UNKNOWN = Enum (25,
"format-unknown"),
88 ERROR_DATA_UNMATCHED = Enum (26,
"data-unmatched"),
89 ERROR_TEMP = Enum (27,
"temp"),
90 ERROR_WAVE_NOT_FOUND = Enum (28,
"wave-not-found"),
91 ERROR_CODEC_FAILURE = Enum (29,
"codec-failure"),
92 ERROR_UNIMPLEMENTED = Enum (30,
"unimplemented"),
93 ERROR_INVALID_PROPERTY = Enum (31,
"invalid-property"),
94 ERROR_INVALID_MIDI_CONTROL = Enum (32,
"invalid-midi-control"),
95 ERROR_PARSE_ERROR = Enum (33,
"parse-error"),
96 ERROR_SPAWN = Enum (34,
"spawn"),
97 ERROR_DEVICE_NOT_AVAILABLE = Enum (35,
"device-not-available"),
98 ERROR_DEVICE_ASYNC = Enum (36,
"device-async"),
99 ERROR_DEVICE_BUSY = Enum (37,
"device-busy"),
100 ERROR_DEVICE_FORMAT = Enum (38,
"device-format"),
101 ERROR_DEVICE_BUFFER = Enum (39,
"device-buffer"),
102 ERROR_DEVICE_LATENCY = Enum (40,
"device-latency"),
103 ERROR_DEVICE_CHANNELS = Enum (41,
"device-channels"),
104 ERROR_DEVICE_FREQUENCY = Enum (42,
"device-frequency"),
105 ERROR_DEVICES_MISMATCH = Enum (43,
"devices-mismatch"),
106 ERROR_SOURCE_NO_SUCH_MODULE = Enum (44,
"source-no-such-module"),
107 ERROR_SOURCE_NO_SUCH_ICHANNEL = Enum (45,
"source-no-such-ichannel"),
108 ERROR_SOURCE_NO_SUCH_OCHANNEL = Enum (46,
"source-no-such-ochannel"),
109 ERROR_SOURCE_NO_SUCH_CONNECTION = Enum (47,
"source-no-such-connection"),
110 ERROR_SOURCE_PRIVATE_ICHANNEL = Enum (48,
"source-private-ichannel"),
111 ERROR_SOURCE_ICHANNEL_IN_USE = Enum (49,
"source-ichannel-in-use"),
112 ERROR_SOURCE_CHANNELS_CONNECTED = Enum (50,
"source-channels-connected"),
113 ERROR_SOURCE_CONNECTION_INVALID = Enum (51,
"source-connection-invalid"),
114 ERROR_SOURCE_PARENT_MISMATCH = Enum (52,
"source-parent-mismatch"),
115 ERROR_SOURCE_BAD_LOOPBACK = Enum (53,
"source-bad-loopback"),
116 ERROR_SOURCE_BUSY = Enum (54,
"source-busy"),
117 ERROR_SOURCE_TYPE_INVALID = Enum (55,
"source-type-invalid"),
118 ERROR_PROC_NOT_FOUND = Enum (56,
"proc-not-found"),
119 ERROR_PROC_BUSY = Enum (57,
"proc-busy"),
120 ERROR_PROC_PARAM_INVAL = Enum (58,
"proc-param-inval"),
121 ERROR_PROC_EXECUTION = Enum (59,
"proc-execution"),
122 ERROR_PROC_ABORT = Enum (60,
"proc-abort"),
123 ERROR_NO_ENTRY = Enum (61,
"no-entry"),
124 ERROR_NO_EVENT = Enum (62,
"no-event"),
125 ERROR_NO_TARGET = Enum (63,
"no-target"),
126 ERROR_NOT_OWNER = Enum (64,
"not-owner"),
127 ERROR_INVALID_OFFSET = Enum (65,
"invalid-offset"),
128 ERROR_INVALID_DURATION = Enum (66,
"invalid-duration"),
129 ERROR_INVALID_OVERLAP = Enum (67,
"invalid-overlap"),
132 enum MidiSignalType {
133 MIDI_SIGNAL_PROGRAM = Enum (1,
"program"),
134 MIDI_SIGNAL_PRESSURE = Enum (2,
"pressure"),
135 MIDI_SIGNAL_PITCH_BEND = Enum (3,
"pitch-bend"),
136 MIDI_SIGNAL_VELOCITY = Enum (4,
"velocity"),
137 MIDI_SIGNAL_FINE_TUNE = Enum (5,
"fine-tune"),
138 MIDI_SIGNAL_CONTINUOUS_0 = Enum (64,
"continuous-0"),
139 MIDI_SIGNAL_CONTINUOUS_1 = Enum (65,
"continuous-1"),
140 MIDI_SIGNAL_CONTINUOUS_2 = Enum (66,
"continuous-2"),
141 MIDI_SIGNAL_CONTINUOUS_3 = Enum (67,
"continuous-3"),
142 MIDI_SIGNAL_CONTINUOUS_4 = Enum (68,
"continuous-4"),
143 MIDI_SIGNAL_CONTINUOUS_5 = Enum (69,
"continuous-5"),
144 MIDI_SIGNAL_CONTINUOUS_6 = Enum (70,
"continuous-6"),
145 MIDI_SIGNAL_CONTINUOUS_7 = Enum (71,
"continuous-7"),
146 MIDI_SIGNAL_CONTINUOUS_8 = Enum (72,
"continuous-8"),
147 MIDI_SIGNAL_CONTINUOUS_9 = Enum (73,
"continuous-9"),
148 MIDI_SIGNAL_CONTINUOUS_10 = Enum (74,
"continuous-10"),
149 MIDI_SIGNAL_CONTINUOUS_11 = Enum (75,
"continuous-11"),
150 MIDI_SIGNAL_CONTINUOUS_12 = Enum (76,
"continuous-12"),
151 MIDI_SIGNAL_CONTINUOUS_13 = Enum (77,
"continuous-13"),
152 MIDI_SIGNAL_CONTINUOUS_14 = Enum (78,
"continuous-14"),
153 MIDI_SIGNAL_CONTINUOUS_15 = Enum (79,
"continuous-15"),
154 MIDI_SIGNAL_CONTINUOUS_16 = Enum (80,
"continuous-16"),
155 MIDI_SIGNAL_CONTINUOUS_17 = Enum (81,
"continuous-17"),
156 MIDI_SIGNAL_CONTINUOUS_18 = Enum (82,
"continuous-18"),
157 MIDI_SIGNAL_CONTINUOUS_19 = Enum (83,
"continuous-19"),
158 MIDI_SIGNAL_CONTINUOUS_20 = Enum (84,
"continuous-20"),
159 MIDI_SIGNAL_CONTINUOUS_21 = Enum (85,
"continuous-21"),
160 MIDI_SIGNAL_CONTINUOUS_22 = Enum (86,
"continuous-22"),
161 MIDI_SIGNAL_CONTINUOUS_23 = Enum (87,
"continuous-23"),
162 MIDI_SIGNAL_CONTINUOUS_24 = Enum (88,
"continuous-24"),
163 MIDI_SIGNAL_CONTINUOUS_25 = Enum (89,
"continuous-25"),
164 MIDI_SIGNAL_CONTINUOUS_26 = Enum (90,
"continuous-26"),
165 MIDI_SIGNAL_CONTINUOUS_27 = Enum (91,
"continuous-27"),
166 MIDI_SIGNAL_CONTINUOUS_28 = Enum (92,
"continuous-28"),
167 MIDI_SIGNAL_CONTINUOUS_29 = Enum (93,
"continuous-29"),
168 MIDI_SIGNAL_CONTINUOUS_30 = Enum (94,
"continuous-30"),
169 MIDI_SIGNAL_CONTINUOUS_31 = Enum (95,
"continuous-31"),
170 MIDI_SIGNAL_CONSTANT_HIGH = Enum (96,
"constant-high"),
171 MIDI_SIGNAL_CONSTANT_CENTER = Enum (97,
"constant-center"),
172 MIDI_SIGNAL_CONSTANT_LOW = Enum (98,
"constant-low"),
173 MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER = Enum (99,
"constant-negative-center"),
174 MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH = Enum (100,
"constant-negative-high"),
175 MIDI_SIGNAL_PARAMETER = Enum (101,
"parameter"),
176 MIDI_SIGNAL_NON_PARAMETER = Enum (102,
"non-parameter"),
177 MIDI_SIGNAL_CONTROL_0 = Enum (128,
"control-0"),
178 MIDI_SIGNAL_CONTROL_1 = Enum (129,
"control-1"),
179 MIDI_SIGNAL_CONTROL_2 = Enum (130,
"control-2"),
180 MIDI_SIGNAL_CONTROL_3 = Enum (131,
"control-3"),
181 MIDI_SIGNAL_CONTROL_4 = Enum (132,
"control-4"),
182 MIDI_SIGNAL_CONTROL_5 = Enum (133,
"control-5"),
183 MIDI_SIGNAL_CONTROL_6 = Enum (134,
"control-6"),
184 MIDI_SIGNAL_CONTROL_7 = Enum (135,
"control-7"),
185 MIDI_SIGNAL_CONTROL_8 = Enum (136,
"control-8"),
186 MIDI_SIGNAL_CONTROL_9 = Enum (137,
"control-9"),
187 MIDI_SIGNAL_CONTROL_10 = Enum (138,
"control-10"),
188 MIDI_SIGNAL_CONTROL_11 = Enum (139,
"control-11"),
189 MIDI_SIGNAL_CONTROL_12 = Enum (140,
"control-12"),
190 MIDI_SIGNAL_CONTROL_13 = Enum (141,
"control-13"),
191 MIDI_SIGNAL_CONTROL_14 = Enum (142,
"control-14"),
192 MIDI_SIGNAL_CONTROL_15 = Enum (143,
"control-15"),
193 MIDI_SIGNAL_CONTROL_16 = Enum (144,
"control-16"),
194 MIDI_SIGNAL_CONTROL_17 = Enum (145,
"control-17"),
195 MIDI_SIGNAL_CONTROL_18 = Enum (146,
"control-18"),
196 MIDI_SIGNAL_CONTROL_19 = Enum (147,
"control-19"),
197 MIDI_SIGNAL_CONTROL_20 = Enum (148,
"control-20"),
198 MIDI_SIGNAL_CONTROL_21 = Enum (149,
"control-21"),
199 MIDI_SIGNAL_CONTROL_22 = Enum (150,
"control-22"),
200 MIDI_SIGNAL_CONTROL_23 = Enum (151,
"control-23"),
201 MIDI_SIGNAL_CONTROL_24 = Enum (152,
"control-24"),
202 MIDI_SIGNAL_CONTROL_25 = Enum (153,
"control-25"),
203 MIDI_SIGNAL_CONTROL_26 = Enum (154,
"control-26"),
204 MIDI_SIGNAL_CONTROL_27 = Enum (155,
"control-27"),
205 MIDI_SIGNAL_CONTROL_28 = Enum (156,
"control-28"),
206 MIDI_SIGNAL_CONTROL_29 = Enum (157,
"control-29"),
207 MIDI_SIGNAL_CONTROL_30 = Enum (158,
"control-30"),
208 MIDI_SIGNAL_CONTROL_31 = Enum (159,
"control-31"),
209 MIDI_SIGNAL_CONTROL_32 = Enum (160,
"control-32"),
210 MIDI_SIGNAL_CONTROL_33 = Enum (161,
"control-33"),
211 MIDI_SIGNAL_CONTROL_34 = Enum (162,
"control-34"),
212 MIDI_SIGNAL_CONTROL_35 = Enum (163,
"control-35"),
213 MIDI_SIGNAL_CONTROL_36 = Enum (164,
"control-36"),
214 MIDI_SIGNAL_CONTROL_37 = Enum (165,
"control-37"),
215 MIDI_SIGNAL_CONTROL_38 = Enum (166,
"control-38"),
216 MIDI_SIGNAL_CONTROL_39 = Enum (167,
"control-39"),
217 MIDI_SIGNAL_CONTROL_40 = Enum (168,
"control-40"),
218 MIDI_SIGNAL_CONTROL_41 = Enum (169,
"control-41"),
219 MIDI_SIGNAL_CONTROL_42 = Enum (170,
"control-42"),
220 MIDI_SIGNAL_CONTROL_43 = Enum (171,
"control-43"),
221 MIDI_SIGNAL_CONTROL_44 = Enum (172,
"control-44"),
222 MIDI_SIGNAL_CONTROL_45 = Enum (173,
"control-45"),
223 MIDI_SIGNAL_CONTROL_46 = Enum (174,
"control-46"),
224 MIDI_SIGNAL_CONTROL_47 = Enum (175,
"control-47"),
225 MIDI_SIGNAL_CONTROL_48 = Enum (176,
"control-48"),
226 MIDI_SIGNAL_CONTROL_49 = Enum (177,
"control-49"),
227 MIDI_SIGNAL_CONTROL_50 = Enum (178,
"control-50"),
228 MIDI_SIGNAL_CONTROL_51 = Enum (179,
"control-51"),
229 MIDI_SIGNAL_CONTROL_52 = Enum (180,
"control-52"),
230 MIDI_SIGNAL_CONTROL_53 = Enum (181,
"control-53"),
231 MIDI_SIGNAL_CONTROL_54 = Enum (182,
"control-54"),
232 MIDI_SIGNAL_CONTROL_55 = Enum (183,
"control-55"),
233 MIDI_SIGNAL_CONTROL_56 = Enum (184,
"control-56"),
234 MIDI_SIGNAL_CONTROL_57 = Enum (185,
"control-57"),
235 MIDI_SIGNAL_CONTROL_58 = Enum (186,
"control-58"),
236 MIDI_SIGNAL_CONTROL_59 = Enum (187,
"control-59"),
237 MIDI_SIGNAL_CONTROL_60 = Enum (188,
"control-60"),
238 MIDI_SIGNAL_CONTROL_61 = Enum (189,
"control-61"),
239 MIDI_SIGNAL_CONTROL_62 = Enum (190,
"control-62"),
240 MIDI_SIGNAL_CONTROL_63 = Enum (191,
"control-63"),
241 MIDI_SIGNAL_CONTROL_64 = Enum (192,
"control-64"),
242 MIDI_SIGNAL_CONTROL_65 = Enum (193,
"control-65"),
243 MIDI_SIGNAL_CONTROL_66 = Enum (194,
"control-66"),
244 MIDI_SIGNAL_CONTROL_67 = Enum (195,
"control-67"),
245 MIDI_SIGNAL_CONTROL_68 = Enum (196,
"control-68"),
246 MIDI_SIGNAL_CONTROL_69 = Enum (197,
"control-69"),
247 MIDI_SIGNAL_CONTROL_70 = Enum (198,
"control-70"),
248 MIDI_SIGNAL_CONTROL_71 = Enum (199,
"control-71"),
249 MIDI_SIGNAL_CONTROL_72 = Enum (200,
"control-72"),
250 MIDI_SIGNAL_CONTROL_73 = Enum (201,
"control-73"),
251 MIDI_SIGNAL_CONTROL_74 = Enum (202,
"control-74"),
252 MIDI_SIGNAL_CONTROL_75 = Enum (203,
"control-75"),
253 MIDI_SIGNAL_CONTROL_76 = Enum (204,
"control-76"),
254 MIDI_SIGNAL_CONTROL_77 = Enum (205,
"control-77"),
255 MIDI_SIGNAL_CONTROL_78 = Enum (206,
"control-78"),
256 MIDI_SIGNAL_CONTROL_79 = Enum (207,
"control-79"),
257 MIDI_SIGNAL_CONTROL_80 = Enum (208,
"control-80"),
258 MIDI_SIGNAL_CONTROL_81 = Enum (209,
"control-81"),
259 MIDI_SIGNAL_CONTROL_82 = Enum (210,
"control-82"),
260 MIDI_SIGNAL_CONTROL_83 = Enum (211,
"control-83"),
261 MIDI_SIGNAL_CONTROL_84 = Enum (212,
"control-84"),
262 MIDI_SIGNAL_CONTROL_85 = Enum (213,
"control-85"),
263 MIDI_SIGNAL_CONTROL_86 = Enum (214,
"control-86"),
264 MIDI_SIGNAL_CONTROL_87 = Enum (215,
"control-87"),
265 MIDI_SIGNAL_CONTROL_88 = Enum (216,
"control-88"),
266 MIDI_SIGNAL_CONTROL_89 = Enum (217,
"control-89"),
267 MIDI_SIGNAL_CONTROL_90 = Enum (218,
"control-90"),
268 MIDI_SIGNAL_CONTROL_91 = Enum (219,
"control-91"),
269 MIDI_SIGNAL_CONTROL_92 = Enum (220,
"control-92"),
270 MIDI_SIGNAL_CONTROL_93 = Enum (221,
"control-93"),
271 MIDI_SIGNAL_CONTROL_94 = Enum (222,
"control-94"),
272 MIDI_SIGNAL_CONTROL_95 = Enum (223,
"control-95"),
273 MIDI_SIGNAL_CONTROL_96 = Enum (224,
"control-96"),
274 MIDI_SIGNAL_CONTROL_97 = Enum (225,
"control-97"),
275 MIDI_SIGNAL_CONTROL_98 = Enum (226,
"control-98"),
276 MIDI_SIGNAL_CONTROL_99 = Enum (227,
"control-99"),
277 MIDI_SIGNAL_CONTROL_100 = Enum (228,
"control-100"),
278 MIDI_SIGNAL_CONTROL_101 = Enum (229,
"control-101"),
279 MIDI_SIGNAL_CONTROL_102 = Enum (230,
"control-102"),
280 MIDI_SIGNAL_CONTROL_103 = Enum (231,
"control-103"),
281 MIDI_SIGNAL_CONTROL_104 = Enum (232,
"control-104"),
282 MIDI_SIGNAL_CONTROL_105 = Enum (233,
"control-105"),
283 MIDI_SIGNAL_CONTROL_106 = Enum (234,
"control-106"),
284 MIDI_SIGNAL_CONTROL_107 = Enum (235,
"control-107"),
285 MIDI_SIGNAL_CONTROL_108 = Enum (236,
"control-108"),
286 MIDI_SIGNAL_CONTROL_109 = Enum (237,
"control-109"),
287 MIDI_SIGNAL_CONTROL_110 = Enum (238,
"control-110"),
288 MIDI_SIGNAL_CONTROL_111 = Enum (239,
"control-111"),
289 MIDI_SIGNAL_CONTROL_112 = Enum (240,
"control-112"),
290 MIDI_SIGNAL_CONTROL_113 = Enum (241,
"control-113"),
291 MIDI_SIGNAL_CONTROL_114 = Enum (242,
"control-114"),
292 MIDI_SIGNAL_CONTROL_115 = Enum (243,
"control-115"),
293 MIDI_SIGNAL_CONTROL_116 = Enum (244,
"control-116"),
294 MIDI_SIGNAL_CONTROL_117 = Enum (245,
"control-117"),
295 MIDI_SIGNAL_CONTROL_118 = Enum (246,
"control-118"),
296 MIDI_SIGNAL_CONTROL_119 = Enum (247,
"control-119"),
297 MIDI_SIGNAL_CONTROL_120 = Enum (248,
"control-120"),
298 MIDI_SIGNAL_CONTROL_121 = Enum (249,
"control-121"),
299 MIDI_SIGNAL_CONTROL_122 = Enum (250,
"control-122"),
300 MIDI_SIGNAL_CONTROL_123 = Enum (251,
"control-123"),
301 MIDI_SIGNAL_CONTROL_124 = Enum (252,
"control-124"),
302 MIDI_SIGNAL_CONTROL_125 = Enum (253,
"control-125"),
303 MIDI_SIGNAL_CONTROL_126 = Enum (254,
"control-126"),
304 MIDI_SIGNAL_CONTROL_127 = Enum (255,
"control-127"),
308 PROJECT_INACTIVE = Enum (0,
"inactive"),
309 PROJECT_ACTIVE = Enum (1,
"active"),
310 PROJECT_PLAYING = Enum (2,
"playing"),
313 enum StandardOscWaveType {
314 STANDARD_OSC_SINE = Enum (1,
"Sine"),
315 STANDARD_OSC_TRIANGLE = Enum (2,
"Triangle"),
316 STANDARD_OSC_SAW_RISE = Enum (3,
"Rising Saw"),
317 STANDARD_OSC_SAW_FALL = Enum (4,
"Falling Saw"),
318 STANDARD_OSC_PEAK_RISE = Enum (5,
"Rising Peak"),
319 STANDARD_OSC_PEAK_FALL = Enum (6,
"Falling Peak"),
320 STANDARD_OSC_MOOG_SAW = Enum (7,
"Moog Saw"),
321 STANDARD_OSC_SQUARE = Enum (8,
"Square"),
322 STANDARD_OSC_PULSE = Enum (9,
"Pulse"),
327 interface EditableSample;
329 interface MidiNotifier;
337 Bool check_is_a (SfiString type_name) {
338 Info help =
"Check whether an item has a certain type.";
339 In type_name = (
"Type Name",
"",
":flagstodo");
340 Out is_a = (
"is-a",
"", FALSE,
":flagstodo");
343 Info help =
"Call the clear-undo function of the project corresponding to this item if any.";
345 Bool editable_property (SfiString property_name) {
346 Info help =
"Test whether a property is editable according to object state and property options.";
347 In property_name = (
"property-name",
"Item property name",
":flagstodo");
348 Out editable = (
"editable",
"", FALSE,
":flagstodo");
350 SfiString get_name () {
351 Info help =
"Retrieve an item's name.";
352 Out name = (
"Name",
"",
":flagstodo");
354 SfiString get_name_or_type () {
355 Info help =
"Retrieve an item's name or type if it has no name.";
356 Out name = (
"Name",
"",
":flagstodo");
359 Info help =
"Retrieve an item's parent.";
360 Out parent = (
"Parent",
"",
":flagstodo");
362 Item get_project () {
363 Info help =
"Retrieve an item's project.";
364 Out project = (
"Project",
"",
":flagstodo");
366 PropertyCandidates get_property_candidates (SfiString property_name) {
367 Info help =
"Retrieve tentative values for an item or item sequence property.";
368 In property_name = (
"property-name",
"Item property name",
":flagstodo");
369 Out candidates = (
"Candidates",
"",
":flagstodo");
372 Info help =
"Retrieve an item's sequential ID. The sequential ID depends on the item's type an it's position inbetween siblings of the same type within it's immediate container.";
373 Out seq_id = (
"Sequential ID",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
375 SfiString get_type () {
376 Info help =
"Retrieve an item's type name.";
377 Out
string = (
"string",
"",
":flagstodo");
379 SfiString get_type_authors () {
380 Info help =
"Retrieve authors of an item's type implementation.";
381 Out
string = (
"string",
"",
":flagstodo");
383 SfiString get_type_blurb () {
384 Info help =
"Retrieve an item's type description.";
385 Out
string = (
"string",
"",
":flagstodo");
387 SfiString get_type_license () {
388 Info help =
"Retrieve the license for an item's type implementation.";
389 Out
string = (
"string",
"",
":flagstodo");
391 SfiString get_type_name () {
392 Info help =
"Retrieve an item's type name.";
393 Out
string = (
"string",
"",
":flagstodo");
395 SfiString get_uname_path () {
396 Info help =
"Retrieve the project relative uname path for this item.";
397 Out uname_path = (
"uname-path",
"",
":flagstodo");
399 void group_undo (SfiString name) {
400 Info help =
"Request multiple modifying actions on an item to be grouped together as single undo operation.";
401 In name = (
"name",
"A name for the undo group to be created",
":flagstodo");
404 Info help =
"Check whether an item is internal, i.e. owned by another non-internal item.";
405 Out
internal = (
"Internal",
"", FALSE,
":flagstodo");
408 Info help =
"Call the redo function of the project corresponding to this item if any.";
410 void set_name (SfiString name) {
411 Info help =
"Set an item's name.";
412 In name = (
"Name",
"",
":flagstodo");
415 Info help =
"Call the undo function of the project corresponding to this item if any.";
417 void ungroup_undo () {
418 Info help =
"Ends the undo grouping opened up by a previous group-undo() call.";
421 Info help =
"Decrement use count for when an item is not needed anymore.";
424 Info help =
"Increment use count to keep an item alive.";
425 Out used_item = (
"Item",
"",
":flagstodo");
427 property Int seqid = (
"Sequential ID",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
430 interface Source : Item {
431 void clear_inputs () {
432 Info help =
"Disconnect all module inputs.";
434 void clear_outputs () {
435 Info help =
"Disconnect all module outputs.";
437 Int get_automation_channel (SfiString property_name) {
438 Info help =
"Get MIDI channel from an automation property.";
439 In property_name = (
"property-name",
"Item property name",
":flagstodo");
440 Out midi_channel = (
"midi-channel",
"", 0, 0, 99, 1,
":flagstodo");
442 MidiControlType get_automation_control (SfiString property_name) {
443 Info help =
"Get control type from an automation property.";
444 In property_name = (
"property-name",
"Item property name",
":flagstodo");
445 Out control_type = (
"control-type",
"",
":flagstodo");
447 Bool has_output (Int ochannel) {
448 Info help =
"Check whether a module's output channel is connected.";
449 In ochannel = (
"ochannel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
450 Out has_outputs = (
"has-outputs",
"", FALSE,
":flagstodo");
452 Bool has_outputs () {
453 Info help =
"Check whether a module has output channel connections.";
454 Out has_outputs = (
"Has Outputs",
"", FALSE,
":flagstodo");
456 SfiString ichannel_blurb (Int input_channel) {
457 Info help =
"Get input channel description.";
458 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
459 Out channel_blurb = (
"Channel Blurb",
"",
":flagstodo");
461 Int ichannel_get_n_joints (Int input_channel) {
462 Info help =
"Retrieve the number of inputs connected to an input channel.";
463 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
464 Out n_joints = (
"Number of Connections",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
466 Int ichannel_get_ochannel (Int input_channel, Int input_joint) {
467 Info help =
"Retrieve output channel of the module connected to a specific joint of an input channel.";
468 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
469 In input_joint = (
"Input Joint",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
470 Out ochannel = (
"Output Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
472 SfiString ichannel_ident (Int input_channel) {
473 Info help =
"Get canonical input channel name.";
474 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
475 Out channel_ident = (
"Channel Name",
"",
":flagstodo");
477 SfiString ichannel_label (Int input_channel) {
478 Info help =
"Get input channel name.";
479 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
480 Out channel_label = (
"Channel Name",
"",
":flagstodo");
482 Bool is_joint_ichannel (SfiString input_channel) {
483 Info help =
"Check if an input channel is a joint (multi-connect) channel.";
484 In input_channel = (
"Input Channel",
"",
":flagstodo");
485 Out is_jchannel = (
"Is Joint Channel",
"", FALSE,
":flagstodo");
487 Bool is_joint_ichannel_by_id (Int input_channel) {
488 Info help =
"Check if an input channel is a joint (multi-connect) channel.";
489 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
490 Out is_jchannel = (
"Is Joint Channel",
"", FALSE,
":flagstodo");
492 Bool is_prepared () {
493 Info help =
"Check whether a source is prepared for synthesis processing.";
494 Out is_prepared = (
"is-prepared",
"", FALSE,
":flagstodo");
497 Info help =
"Get the number of input channels of a module.";
498 Out n_channels = (
"Number of Channels",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
501 Info help =
"Get the number of output channels of a module.";
502 Out n_channels = (
"Number of Channels",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
504 SfiString ochannel_blurb (Int output_channel) {
505 Info help =
"Get output channel description.";
506 In output_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
507 Out channel_blurb = (
"Channel Blurb",
"",
":flagstodo");
509 SfiString ochannel_ident (Int output_channel) {
510 Info help =
"Get canonical output channel name.";
511 In output_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
512 Out channel_ident = (
"Channel Name",
"",
":flagstodo");
514 SfiString ochannel_label (Int output_channel) {
515 Info help =
"Get output channel name.";
516 In output_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
517 Out channel_label = (
"Channel Name",
"",
":flagstodo");
519 ErrorType set_automation (SfiString property_name, Int midi_channel, MidiControlType control_type) {
520 Info help =
"Setup automation parameters for a property.";
521 In property_name = (
"property-name",
"Item property name",
":flagstodo");
522 In midi_channel = (
"MIDI Channel",
"The MIDI Channel from which automation events should be received, 0 designates the default MIDI channel", 0, 0, 99, 1,
":flagstodo");
523 In control_type = (
"Control Type",
"The type of control events used for automation",
":flagstodo");
524 Out error = (
"Error",
"",
":flagstodo");
526 ErrorType set_input (SfiString input_channel, Source omodule, SfiString output_channel) {
527 Info help =
"Connect a module input to another module's output.";
528 In input_channel = (
"Input Channel",
"",
":flagstodo");
529 In omodule = (
"Output Module",
"",
":flagstodo");
530 In output_channel = (
"Output Channel",
"",
":flagstodo");
531 Out error = (
"Error",
"",
":flagstodo");
533 ErrorType set_input_by_id (Int input_channel, Source omodule, Int output_channel) {
534 Info help =
"Connect a module input to another module's output.";
535 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
536 In omodule = (
"Output Module",
"",
":flagstodo");
537 In output_channel = (
"Output Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
538 Out error = (
"Error",
"",
":flagstodo");
540 void set_pos (Real x_pos, Real y_pos) {
541 Info help =
"Set the x and y position of a module. In contrast to setting the position through ordinary object property setters, this function will not update the module position if the passed in arguments are sufficiently equal to the values already set on the object. As such, it does not record an extra undo step for setting properties to values they already have and if necessary turns setting of x and y positions into an atomic undo operation.";
542 In x_pos = (
"X Position",
"",
":flagstodo");
543 In y_pos = (
"Y Position",
"",
":flagstodo");
545 ErrorType unset_input (SfiString input_channel, Source omodule, SfiString output_channel) {
546 Info help =
"Disconnect a module input.";
547 In input_channel = (
"Input Channel",
"",
":flagstodo");
548 In omodule = (
"Output Module",
"",
":flagstodo");
549 In output_channel = (
"Output Channel",
"",
":flagstodo");
550 Out error = (
"Error",
"",
":flagstodo");
552 ErrorType unset_input_by_id (Int input_channel, Source omodule, Int output_channel) {
553 Info help =
"Disconnect a module input.";
554 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
555 In omodule = (
"Output Module",
"",
":flagstodo");
556 In output_channel = (
"Output Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
557 Out error = (
"Error",
"",
":flagstodo");
559 signal probes (ProbeSeq a);
561 property Real pos_x = (
"Position X",
"",
":flagstodo");
562 property Real pos_y = (
"Position Y",
"",
":flagstodo");
565 interface Container : Source {
566 Item get_item (SfiString item_type, Int seq_id) {
567 Info help =
"Retrieve a containers immediate child from it's sequential id.";
568 In item_type = (
"item-type",
"Type of the item to retrieve",
":flagstodo");
569 In seq_id = (
"seq-id",
"Sequential ID", 0, 0, SFI_MAXINT, 1,
":flagstodo");
570 Out item = (
"item",
"The item with seqid as requested",
":flagstodo");
572 It3mSeq list_children () {
573 Info help =
"Retrieve all immediate children of a container";
574 Out item_list = (
"item-list",
"",
":flagstodo");
576 signal item_added (Item a);
577 signal item_remove (Item a, Int b);
580 interface Super : Container {
581 property SfiString author = (
"Author",
"Person changing or creating this object",
":flagstodo");
582 property SfiString license = (
"License",
"Copyright license applying to this object",
":flagstodo");
583 property SfiString copyright = (
"copyright",
"",
":flagstodo");
584 property Num creation_time = (
"Creation Time",
"",
":flagstodo");
585 property Num modification_time = (
"Last modification time",
"",
":flagstodo");
588 interface SNet : Super {
592 interface CSynth : SNet {
595 interface MidiSynth : SNet {
596 property Int midi_channel = (
"MIDI Channel",
"", 1, 1, 99, 1,
":flagstodo");
597 property Int n_voices = (
"Max Voices",
"Maximum number of voices for simultaneous playback", 16, 1, 256, 1,
":flagstodo");
598 property CSynth snet = (
"Synthesizer",
"Synthesis network to be used as MIDI instrument",
":flagstodo");
599 property CSynth pnet = (
"Postprocessor",
"Synthesis network to be used as postprocessor",
":flagstodo");
600 property Real volume_f = (
"Master [float]",
"",
":flagstodo");
601 property Real volume_dB = (
"Master [dB]",
"",
":flagstodo");
602 property Int volume_perc = (
"Master [%]",
"", 100, 0, 1584, 1,
":flagstodo");
605 interface Song : SNet {
606 Bus ensure_master_bus () {
607 Info help =
"Retrieve master output bus of a song, will create one if it doesn't exist.";
608 Out bus = (
"bus",
"",
":flagstodo");
610 void ensure_track_links () {
611 Info help =
"Ensure that each part in a song is inserted into at least one track.";
613 Track find_track_for_part (Part part) {
614 Info help =
"Find a track suitable for playing notes of a given part.";
615 In part = (
"Part",
"",
":flagstodo");
616 Out track = (
"Track",
"",
":flagstodo");
618 Bus get_master_bus () {
619 Info help =
"Retrieve master output bus of a song if it exists.";
620 Out bus = (
"bus",
"",
":flagstodo");
622 void synthesize_note (Track track, Int duration, Int note, Int fine_tune, Real velocity) {
623 Info help =
"Synthesize a note on a song of an active project.";
624 In track = (
"Track",
"",
":flagstodo");
625 In duration = (
"Tick Duration",
"", 1, 1, SFI_MAXINT, 384,
":flagstodo");
626 In note = (
"Note",
"", 69, 0, 131, 12,
":flagstodo");
627 In fine_tune = (
"Fine Tune",
"Fine tune in cents per semitone", 0, -100, 100, 10,
":flagstodo");
628 In velocity = (
"Velocity",
"",
":flagstodo");
630 signal pointer_changed (Int a);
631 property Int tpqn = (
"Ticks",
"Number of ticks per quarter note", 384, 384, 384, 0,
":flagstodo");
632 property Int numerator = (
"Numerator",
"Measure numerator", 4, 1, 256, 1,
":flagstodo");
633 property Int denominator = (
"Denominator",
"Measure denominator, must be a power of 2", 4, 1, 256, 0,
":flagstodo");
634 property CSynth pnet = (
"Postprocessor",
"Synthesis network to be used as postprocessor",
":flagstodo");
635 property Bool loop_enabled = (
"loop-enabled",
"", FALSE,
":flagstodo");
636 property Int loop_left = (
"loop-left",
"", -1, -1, SFI_MAXINT, 384,
":flagstodo");
637 property Int loop_right = (
"loop-right",
"", -1, -1, SFI_MAXINT, 384,
":flagstodo");
638 property Int tick_pointer = (
"tick-pointer",
"", -1, -1, SFI_MAXINT, 384,
":flagstodo");
641 interface WaveRepo : Super {
642 ErrorType load_file (SfiString file_name) {
643 Info help =
"Load wave from file";
644 In file_name = (
"File Name",
"The file to import waves from",
":flagstodo");
645 Out error = (
"Error",
"",
":flagstodo");
647 void remove_wave (Wave wave) {
648 Info help =
"Remove a wave from repository";
649 In wave = (
"Wave",
"",
":flagstodo");
653 interface Project : Container {
654 ErrorType store_bse (Super super, SfiString file_name, Bool self_contained) {
655 Info help =
"Save supers of a project into a BSE file. If no super is specified, the project itself is stored.";
656 In super = (
"Super",
"",
":flagstodo");
657 In file_name = (
"File",
"Destination file name",
":flagstodo");
658 In self_contained = (
"Self Contained",
"Whether references to other objects (e.g. samples) should be stored or whether to include everything in a self-contained .bse file", FALSE,
":flagstodo");
659 Out error = (
"Error",
"Error indicating possible failures",
":flagstodo");
661 CSynth create_csynth (SfiString name) {
662 Info help =
"Create a synthsizer network for this project.";
663 In name = (
"Name",
"Synth network name",
":flagstodo");
664 Out csynth = (
"Synthesizer Network",
"New synth network",
":flagstodo");
666 MidiSynth create_midi_synth (SfiString name) {
667 Info help =
"Create a MIDI synthesizer network for this project.";
668 In name = (
"Name",
"MIDI synth name",
":flagstodo");
669 Out midi_synth = (
"MIDI Synthesizer",
"New MIDI synth",
":flagstodo");
671 Song create_song (SfiString name) {
672 Info help =
"Create a song for this project.";
673 In name = (
"Name",
"Song name",
":flagstodo");
674 Out song = (
"Song",
"The new song",
":flagstodo");
676 MidiNotifier get_midi_notifier () {
677 Info help =
"Retrieve the project's midi notifier object.";
678 Out midi_notifier = (
"midi-notifier",
"",
":flagstodo");
680 ProjectState get_state () {
681 Info help =
"Retrieve the current project state.";
682 Out state = (
"State",
"Project playback/activation state",
":flagstodo");
684 It3mSeq get_supers () {
685 Info help =
"Retrieve all supers of this project.";
686 Out super_list = (
"super-list",
"",
":flagstodo");
688 WaveRepo get_wave_repo () {
689 Info help =
"Ensure the project has a wave repository";
690 Out wrepo = (
"Wave Repo",
"The project's unique wave repo",
":flagstodo");
692 void remove_snet (SNet snet) {
693 Info help =
"Remove an existing synthesizer network from this project.";
694 In snet = (
"SNet",
"Synthesizer Network",
":flagstodo");
696 signal state_changed (ProjectState a);
697 property Bool dirty = (
"dirty",
"Whether project needs saving", FALSE,
":flagstodo");
700 interface Server : Container {
701 signal registration (RegistrationType a, SfiString b, SfiString c);
702 signal script_start (Janitor a);
703 signal script_error (SfiString a, SfiString b, SfiString c);
704 property Rec bse_preferences = (
"bse-preferences",
"",
":flagstodo");
705 property SfiString wave_file = (
"WAVE File",
"Name of the WAVE file used for recording BSE sound output",
":flagstodo");
706 property Bool log_messages = (
"Log Messages",
"Log messages through the log system", TRUE,
":flagstodo");
713 property Real gain_volume_f = (
"Input Gain [float]",
"",
":flagstodo");
714 property Real gain_volume_dB = (
"Input Gain [dB]",
"",
":flagstodo");
715 property Int gain_volume_perc = (
"input Gain [%]",
"", 100, 0, 1584, 1,
":flagstodo");
719 property Real value_1 = (
"Value [float]",
"Constant signal value",
":flagstodo");
720 property Real frequency_1 = (
"Frequency",
"Constant signal value interpreted as frequency value in Hertz",
":flagstodo");
721 property Int note_1 = (
"Note",
"Constant signal value as note, converted to Hertz according to the current musical tuning", 69, 0, 131, 12,
":flagstodo");
722 property Real value_2 = (
"Value [float]",
"Constant signal value",
":flagstodo");
723 property Real frequency_2 = (
"Frequency",
"Constant signal value interpreted as frequency value in Hertz",
":flagstodo");
724 property Int note_2 = (
"Note",
"Constant signal value as note, converted to Hertz according to the current musical tuning", 69, 0, 131, 12,
":flagstodo");
725 property Real value_3 = (
"Value [float]",
"Constant signal value",
":flagstodo");
726 property Real frequency_3 = (
"Frequency",
"Constant signal value interpreted as frequency value in Hertz",
":flagstodo");
727 property Int note_3 = (
"Note",
"Constant signal value as note, converted to Hertz according to the current musical tuning", 69, 0, 131, 12,
":flagstodo");
728 property Real value_4 = (
"Value [float]",
"Constant signal value",
":flagstodo");
729 property Real frequency_4 = (
"Frequency",
"Constant signal value interpreted as frequency value in Hertz",
":flagstodo");
730 property Int note_4 = (
"Note",
"Constant signal value as note, converted to Hertz according to the current musical tuning", 69, 0, 131, 12,
":flagstodo");
734 void request_pcm_position () {
735 Info help =
"Request emission of the ::notify_pcm_position signal.";
738 Info help =
"Set wave to play from editable sample, bypassing undo and storage mechanisms.";
739 In esample = (
"esample",
"Editable Sample",
":flagstodo");
741 signal notify_pcm_position (Num a, Int b);
742 property Wave wave = (
"Wave",
"Wave used as oscillator source",
":flagstodo");
743 property Int channel = (
"Channel",
"The audio channel to play, usually 1 is left, 2 is right", 1, 1, 256, 2,
":flagstodo");
744 property Real fm_perc = (
"Input Modulation [%]",
"Modulation Strength for linear frequency modulation",
":flagstodo");
745 property Bool exponential_fm = (
"Exponential FM",
"Perform exponential frequency modulation instead of linear", FALSE,
":flagstodo");
746 property Real fm_n_octaves = (
"Octaves",
"Number of octaves to be affected by exponential frequency modulation",
":flagstodo");
750 property CSynth snet = (
"Synthesizer",
"Synthesis network to use as embedded sub network",
":flagstodo");
751 property SfiString in_port_1 = (
"Input Port 1",
"Output port name to interface from",
":flagstodo");
752 property SfiString out_port_1 = (
"Output Port 1",
"Input port name to interface to",
":flagstodo");
753 property SfiString in_port_2 = (
"Input Port 2",
"Output port name to interface from",
":flagstodo");
754 property SfiString out_port_2 = (
"Output Port 2",
"Input port name to interface to",
":flagstodo");
755 property SfiString in_port_3 = (
"Input Port 3",
"Output port name to interface from",
":flagstodo");
756 property SfiString out_port_3 = (
"Output Port 3",
"Input port name to interface to",
":flagstodo");
757 property SfiString in_port_4 = (
"Input Port 4",
"Output port name to interface from",
":flagstodo");
758 property SfiString out_port_4 = (
"Output Port 4",
"Input port name to interface to",
":flagstodo");
759 property SfiString in_port_5 = (
"Input Port 5",
"Output port name to interface from",
":flagstodo");
760 property SfiString out_port_5 = (
"Output Port 5",
"Input port name to interface to",
":flagstodo");
761 property SfiString in_port_6 = (
"Input Port 6",
"Output port name to interface from",
":flagstodo");
762 property SfiString out_port_6 = (
"Output Port 6",
"Input port name to interface to",
":flagstodo");
763 property SfiString in_port_7 = (
"Input Port 7",
"Output port name to interface from",
":flagstodo");
764 property SfiString out_port_7 = (
"Output Port 7",
"Input port name to interface to",
":flagstodo");
765 property SfiString in_port_8 = (
"Input Port 8",
"Output port name to interface from",
":flagstodo");
766 property SfiString out_port_8 = (
"Output Port 8",
"Input port name to interface to",
":flagstodo");
769 interface Bus : SubSynth {
770 property It3mSeq inputs = (
"Input Signals",
"Synthesis signals (from tracks and busses) used as bus input",
":flagstodo");
771 property It3mSeq outputs = (
"Output Signals",
"Mixer busses used as output for synthesis signals",
":flagstodo");
772 property CSynth snet = (
"snet",
"",
":flagstodo");
773 property Bool mute = (
"Mute",
"Mute: turn off the bus volume", FALSE,
":flagstodo");
774 property Bool solo = (
"Solo",
"Solo: mute all other busses", FALSE,
":flagstodo");
775 property Bool sync = (
"Sync",
"Syncronize left and right volume", TRUE,
":flagstodo");
776 property Real left_volume = (
"Left Volume",
"Volume adjustment in decibel of left bus channel",
":flagstodo");
777 property Real right_volume = (
"Right Volume",
"Volume adjustment in decibel of right bus channel",
":flagstodo");
778 property Bool master_output = (
"Master Output",
"", FALSE,
":flagstodo");
782 property SfiString out_port_1 = (
"Output Port 1",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
783 property SfiString out_port_2 = (
"Output Port 2",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
784 property SfiString out_port_3 = (
"Output Port 3",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
785 property SfiString out_port_4 = (
"Output Port 4",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
789 property SfiString out_port_1 = (
"out-port-1",
"",
":flagstodo");
790 property SfiString out_port_2 = (
"out-port-2",
"",
":flagstodo");
791 property SfiString out_port_3 = (
"out-port-3",
"",
":flagstodo");
792 property SfiString out_port_4 = (
"out-port-4",
"",
":flagstodo");
796 Real chunk_get_mix_freq (Int chunk_index) {
797 Info help =
"Retrieve mixing frequency of a wave chunk.";
798 In chunk_index = (
"Chunk Index",
"Index of chunk", 0, 0, SFI_MAXINT, 1,
":flagstodo");
799 Out mix_freq = (
"mix-freq",
"",
":flagstodo");
801 Real chunk_get_osc_freq (Int chunk_index) {
802 Info help =
"Retrieve oscillating frequency of a wave chunk.";
803 In chunk_index = (
"Chunk Index",
"Index of chunk", 0, 0, SFI_MAXINT, 1,
":flagstodo");
804 Out osc_freq = (
"osc-freq",
"",
":flagstodo");
806 Int n_wave_chunks () {
807 Info help =
"Get the number of wave chunks of a wave";
808 Out n_chunks = (
"Number of Wave Chunks",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
810 EditableSample use_editable (Int chunk_index) {
811 Info help =
"Retrieve an editable sample object for a wave chunk.";
812 In chunk_index = (
"chunk-index",
"Index of chunk to edit", 0, 0, SFI_MAXINT, 1,
":flagstodo");
813 Out esample = (
"esample",
"Editable sample",
":flagstodo");
815 property Bool locator_set = (
"Locator Set",
"", FALSE,
":flagstodo");
816 property SfiString file_name = (
"File Name",
"",
":flagstodo");
817 property SfiString wave_name = (
"Wave Name",
"",
":flagstodo");
824 property Int midi_channel = (
"MIDI Channel",
"Input MIDI channel, 0 uses network's default channel", 0, 0, 99, 1,
":flagstodo");
831 property Real master_volume_f = (
"Master [float]",
"",
":flagstodo");
832 property Real master_volume_dB = (
"Master [dB]",
"",
":flagstodo");
833 property Int master_volume_perc = (
"Master [%]",
"", 100, 0, 1584, 1,
":flagstodo");
837 property StandardOscWaveType wave_form = (
"Wave",
"Oscillator wave form",
":flagstodo");
838 property Real phase = (
"Phase",
"Initial phase of the oscillator wave form (cycle offset in degree)",
":flagstodo");
839 property Real base_freq = (
"Frequency",
"Oscillator frequency in Hertz, i.e. the number of oscillator cycles per second",
":flagstodo");
840 property Int base_note = (
"Note",
"Oscillator frequency as note, converted to Hertz according to the current musical tuning", 69, 0, 131, 12,
":flagstodo");
841 property Int transpose = (
"Transpose",
"Transposition of the oscillator frequency in semitones", 0, -72, 72, 12,
":flagstodo");
842 property Int fine_tune = (
"Fine Tune",
"Amount of detuning in cent (hundredth part of a semitone)", 0, -100, 100, 10,
":flagstodo");
843 property Real fm_perc = (
"Input Modulation [%]",
"Strength of linear frequency modulation",
":flagstodo");
844 property Bool exponential_fm = (
"Exponential FM",
"Perform exponential frequency modulation instead of linear", FALSE,
":flagstodo");
845 property Real fm_n_octaves = (
"Octaves",
"Number of octaves to be affected by exponential frequency modulation",
":flagstodo");
846 property Real self_perc = (
"Self Modulation [%]",
"Strength of self modulation",
":flagstodo");
847 property Real pulse_width = (
"Pulse Width",
"Proportion of the positive component duration of the pulse wave form (Pulse has to be selected as wave form for this to take effect)",
":flagstodo");
848 property Real pulse_mod_perc = (
"Pulse Modulation [%]",
"Strength of pulse width modulation input (Pulse has to be selected as wave form for this to take effect)",
":flagstodo");
852 property Int midi_channel = (
"MIDI Channel",
"Input MIDI channel, 0 uses network's default channel", 0, 0, 99, 1,
":flagstodo");
853 property MidiSignalType control_1 = (
"Signal 1",
"",
":flagstodo");
854 property MidiSignalType control_2 = (
"Signal 2",
"",
":flagstodo");
855 property MidiSignalType control_3 = (
"Signal 3",
"",
":flagstodo");
856 property MidiSignalType control_4 = (
"Signal 4",
"",
":flagstodo");
862 interface Track : ContextMerger {
864 property Bool muted = (
"Muted",
"", FALSE,
":flagstodo");
865 property CSynth snet = (
"Synthesizer",
"Synthesis network to be used as instrument",
":flagstodo");
866 property Wave wave = (
"Wave",
"Wave to be used as instrument",
":flagstodo");
867 property Int midi_channel = (
"MIDI Channel",
"Midi channel assigned to this track, 0 uses internal per-track channel", 0, 0, 99, 1,
":flagstodo");
868 property Int n_voices = (
"Max Voices",
"Maximum number of voices for simultaneous playback", 16, 1, 256, 1,
":flagstodo");
869 property CSynth pnet = (
"Postprocessor",
"Synthesis network to be used as postprocessor",
":flagstodo");
870 property It3mSeq outputs = (
"Output Signals",
"Mixer busses used as output for this track",
":flagstodo");
874 property BiquadFilterType filter_type = (
"Filter Type",
"The filter design type",
":flagstodo");
875 property Real freq = (
"Cutoff [Hz]",
"Filter cutoff frequency in Hertz",
":flagstodo");
876 property Int note = (
"Note",
"Filter cutoff frequency as note, converted to Hertz according to the current musical tuning", 81, 0, 131, 12,
":flagstodo");
877 property Real gain = (
"Gain [dB]",
"",
":flagstodo");
878 property Real fm_perc = (
"Input Modulation [%]",
"Strength of linear frequency modulation",
":flagstodo");
879 property Bool exponential_fm = (
"Exponential FM",
"Perform exponential frequency modulation instead of linear", FALSE,
":flagstodo");
880 property Real fm_n_octaves = (
"Octaves",
"Number of octaves to be affected by exponential frequency modulation",
":flagstodo");
881 property Real gain_perc = (
"Gain Modulation [%]",
"Strength of gain modulation",
":flagstodo");
885 property SfiString in_port_1 = (
"Input Port 1",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
886 property SfiString in_port_2 = (
"Input Port 2",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
887 property SfiString in_port_3 = (
"Input Port 3",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
888 property SfiString in_port_4 = (
"Input Port 4",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
892 property SfiString in_port_1 = (
"in-port-1",
"",
":flagstodo");
893 property SfiString in_port_2 = (
"in-port-2",
"",
":flagstodo");
894 property SfiString in_port_3 = (
"in-port-3",
"",
":flagstodo");
895 property SfiString in_port_4 = (
"in-port-4",
"",
":flagstodo");
899 property Int context_id = (
"Context",
"If the snooper module is created multiple times, this is the context id, which is used to actually snoop data.", 0, 0, 65535, 1,
":flagstodo");
904 Info help =
"Retrieve an action of this janitor.";
905 In nth_action = (
"Nth Action",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
906 Out action = (
"Action",
"",
":flagstodo");
908 SfiString get_action_blurb (Int nth_action) {
909 Info help =
"Retrieve the help string of an action of this janitor.";
910 In nth_action = (
"Nth Action",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
911 Out action_blurb = (
"Action Blurb",
"",
":flagstodo");
913 SfiString get_action_name (Int nth_action) {
914 Info help =
"Retrieve the name of an action of this janitor.";
915 In nth_action = (
"Nth Action",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
916 Out action_name = (
"Action Name",
"",
":flagstodo");
919 Info help =
"Retrieve the procedure name of this janitor.";
920 Out proc_name = (
"Proc Name",
"",
":flagstodo");
923 Info help =
"Retrieve the script name of this janitor.";
924 Out script_name = (
"Script Name",
"",
":flagstodo");
927 Info help =
"Kill a currently running janitor.";
930 Info help =
"Retrieve number of user actions of this janitor.";
931 Out n_actions = (
"N Actions",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
934 Info help =
"Trigger an installed user action of this janitor.";
935 In action = (
"Action",
"",
":flagstodo");
941 property SfiString ident = (
"Script Identifier",
"",
":flagstodo");
942 property Bool connected = (
"Connected",
"", FALSE,
":flagstodo");
943 property SfiString status_message = (
"Status Message",
"",
":flagstodo");
944 property Int exit_code = (
"Exit Code",
"", 0, -256, 256, 0,
":flagstodo");
945 property SfiString exit_reason = (
"Exit Reason",
"",
":flagstodo");
951 interface Part : Item {
952 signal range_changed (Int a, Int b, Int c, Int d);
954 property Int n_channels = (
"Channels",
"", 1, 1, 4132, 4,
":flagstodo");
955 property Int last_tick = (
"Last Tick",
"", 0, 0, SFI_MAXINT, 384,
":flagstodo");
958 interface EditableSample : Item {
960 Info help =
"Close an opened sample.";
962 FloatSeq collect_stats (Int voffset, Real offset_scale, Int block_size, Int stepping, Int max_pairs) {
963 Info help =
"Collect statistics from sample blocks as (minimum, maximum) pairs.";
964 In voffset = (
"voffset",
"Offset of first stat block", 0, 0, SFI_MAXINT, 1,
":flagstodo");
965 In offset_scale = (
"offset-scale",
"Factor to scale voffset increments with",
":flagstodo");
966 In block_size = (
"block-size",
"Block size to compute stat pairs from", 0, 0, SFI_MAXINT, 1,
":flagstodo");
967 In stepping = (
"stepping",
"Stepping within a stat block", 0, 0, SFI_MAXINT, 1,
":flagstodo");
968 In max_pairs = (
"max-pairs",
"Maximum number of (min, max) pairs to collect", 1, 0, SFI_MAXINT, 1,
":flagstodo");
969 Out sample_block = (
"sample-block",
"Block of samples",
":flagstodo");
972 Info help =
"Return the number of values in the sample.";
973 Out length = (
"length",
"Number of values", 1, 0, SFI_MAXINT, 1,
":flagstodo");
975 Int get_n_channels () {
976 Info help =
"Return the number of channels in the sample.";
977 Out n_channels = (
"n-channels",
"Number of channels", 0, 0, SFI_MAXINT, 1,
":flagstodo");
979 Real get_osc_freq () {
980 Info help =
"Return the oscillator frequency for the sample.";
981 Out osc_freq = (
"osc-freq",
"Oscillator Frequency",
":flagstodo");
984 Info help =
"Open the sample for reading.";
985 Out error = (
"Error",
"",
":flagstodo");
990 interface PcmWriter : Item {
993 CategorySeq categories_match (SfiString pattern) {
994 Info help =
"List BSE categories according to a pattern match.";
995 In pattern = (
"Pattern",
"Pattern to match category, supports '*' and '?' wildcards.",
":flagstodo");
996 Out categories = (
"Categories",
"",
":flagstodo");
998 CategorySeq categories_match_typed (SfiString pattern, SfiString type) {
999 Info help =
"List BSE categories according to a pattern and type match.";
1000 In pattern = (
"Pattern",
"Pattern to match category, supports '*' and '?' wildcards.",
":flagstodo");
1001 In type = (
"Type",
"Base type for categories to conform to.",
":flagstodo");
1002 Out categories = (
"Categories",
"",
":flagstodo");
1004 void script_add_action (SfiString action, SfiString name, SfiString blurb) {
1005 Info help =
"Install a user action for script control.";
1006 In action = (
"Action",
"",
":flagstodo");
1007 In name = (
"Name",
"",
":flagstodo");
1008 In blurb = (
"Blurb",
"",
":flagstodo");
1010 Janitor script_janitor () {
1011 Info help =
"Retrieve the connection dependant janitor object.";
1012 Out janitor = (
"Janitor",
"",
":flagstodo");
1014 void script_send_message (SfiString domain, SfiString msg_type, SfiString title, SfiString primary, SfiString secondary, SfiString details, SfiString config_check) {
1015 Info help =
"Send a message from a script.";
1016 In domain = (
"domain",
"",
":flagstodo");
1017 In msg_type = (
"msg-type",
"",
":flagstodo");
1018 In title = (
"title",
"",
":flagstodo");
1019 In primary = (
"primary",
"",
":flagstodo");
1020 In secondary = (
"secondary",
"",
":flagstodo");
1021 In details = (
"details",
"",
":flagstodo");
1022 In config_check = (
"config-check",
"",
":flagstodo");
1024 void script_progress (Real progress) {
1025 Info help =
"Indicate progress (from 0.0 to 1.0 or -1 for unknown amount).";
1026 In progress = (
"Progress",
"",
":flagstodo");
1028 void script_quit () {
1029 Info help =
"Exit a script succesfully (server side).";
1031 void script_remove_action (SfiString action) {
1032 Info help =
"Remove a previously installed user action from script control.";
1033 In action = (
"Action",
"",
":flagstodo");
1035 void script_set_status (SfiString message) {
1036 Info help =
"Alter script status message.";
1037 In message = (
"Message",
"",
":flagstodo");
1039 void wave_osc_mass_seek_perc (It3mSeq wosc_seq, Real pos_perc) {
1040 Info help =
"Seek a list of wave oscillators to a pcm position given in percentage. The oscillators will seek to the given position syncronously.";
1041 In wosc_seq = (
"Wave Oscilators",
"",
":flagstodo");
1042 In pos_perc = (
"pos-perc",
"",
":flagstodo");
Definition: bsehack.idl:898
Definition: bsehack.idl:827
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:88
signal void port_unregistered()
Signal that notifies when a named output port is unregistered.
Synthesizer module for embedding (rerouting input and output) of another synthesizer network (SNet)...
Definition: bseapi.idl:643
Definition: bsehack.idl:873
Base interface type for objects that can be added to a container.
Definition: bseapi.idl:469
Definition: bsehack.idl:836
Definition: bsehack.idl:884
Definition: bsehack.idl:733
Definition: bsehack.idl:902
Source module for merging multiple synthesis contexts, used to implement polyphony.
Definition: bseapi.idl:611
Base interface type for synthesis modules with input or output streams.
Definition: bseapi.idl:576
Definition: bsehack.idl:851
Definition: bsehack.idl:830
Definition: bsehack.idl:781
Customizable synthesis (filter) network container.
Definition: bseapi.idl:639
Definition: bsehack.idl:820
Definition: bsehack.idl:788
Definition: bsehack.idl:718
Interface for editable PCM wave samples.
Definition: bseapi.idl:785
Interface for PCM wave samples.
Definition: bseapi.idl:789
Interface for MIDI event notification.
Definition: bseapi.idl:797