60 enum BiquadFilterType {
61 BIQUAD_FILTER_RESONANT_LOWPASS = Enum (1,
"lowpass"),
62 BIQUAD_FILTER_RESONANT_HIGHPASS = Enum (2,
"highpass"),
65 enum RegistrationType {
66 REGISTER_PLUGIN = Enum (1,
"plugin"),
67 REGISTER_SCRIPT = Enum (2,
"script"),
68 REGISTER_DONE = Enum (256,
"done"),
72 ERROR_NONE = Enum (0,
"none"),
73 ERROR_INTERNAL = Enum (1,
"internal"),
74 ERROR_UNKNOWN = Enum (2,
"unknown"),
75 ERROR_IO = Enum (3,
"io"),
76 ERROR_PERMS = Enum (4,
"perms"),
77 ERROR_FILE_BUSY = Enum (5,
"file-busy"),
78 ERROR_FILE_EXISTS = Enum (6,
"file-exists"),
79 ERROR_FILE_EOF = Enum (7,
"file-eof"),
80 ERROR_FILE_EMPTY = Enum (8,
"file-empty"),
81 ERROR_FILE_NOT_FOUND = Enum (9,
"file-not-found"),
82 ERROR_FILE_IS_DIR = Enum (10,
"file-is-dir"),
83 ERROR_FILE_OPEN_FAILED = Enum (11,
"file-open-failed"),
84 ERROR_FILE_SEEK_FAILED = Enum (12,
"file-seek-failed"),
85 ERROR_FILE_READ_FAILED = Enum (13,
"file-read-failed"),
86 ERROR_FILE_WRITE_FAILED = Enum (14,
"file-write-failed"),
87 ERROR_MANY_FILES = Enum (15,
"many-files"),
88 ERROR_NO_FILES = Enum (16,
"no-files"),
89 ERROR_NO_SPACE = Enum (17,
"no-space"),
90 ERROR_NO_MEMORY = Enum (18,
"no-memory"),
91 ERROR_NO_HEADER = Enum (19,
"no-header"),
92 ERROR_NO_SEEK_INFO = Enum (20,
"no-seek-info"),
93 ERROR_NO_DATA = Enum (21,
"no-data"),
94 ERROR_DATA_CORRUPT = Enum (22,
"data-corrupt"),
95 ERROR_WRONG_N_CHANNELS = Enum (23,
"wrong-n-channels"),
96 ERROR_FORMAT_INVALID = Enum (24,
"format-invalid"),
97 ERROR_FORMAT_UNKNOWN = Enum (25,
"format-unknown"),
98 ERROR_DATA_UNMATCHED = Enum (26,
"data-unmatched"),
99 ERROR_TEMP = Enum (27,
"temp"),
100 ERROR_WAVE_NOT_FOUND = Enum (28,
"wave-not-found"),
101 ERROR_CODEC_FAILURE = Enum (29,
"codec-failure"),
102 ERROR_UNIMPLEMENTED = Enum (30,
"unimplemented"),
103 ERROR_INVALID_PROPERTY = Enum (31,
"invalid-property"),
104 ERROR_INVALID_MIDI_CONTROL = Enum (32,
"invalid-midi-control"),
105 ERROR_PARSE_ERROR = Enum (33,
"parse-error"),
106 ERROR_SPAWN = Enum (34,
"spawn"),
107 ERROR_DEVICE_NOT_AVAILABLE = Enum (35,
"device-not-available"),
108 ERROR_DEVICE_ASYNC = Enum (36,
"device-async"),
109 ERROR_DEVICE_BUSY = Enum (37,
"device-busy"),
110 ERROR_DEVICE_FORMAT = Enum (38,
"device-format"),
111 ERROR_DEVICE_BUFFER = Enum (39,
"device-buffer"),
112 ERROR_DEVICE_LATENCY = Enum (40,
"device-latency"),
113 ERROR_DEVICE_CHANNELS = Enum (41,
"device-channels"),
114 ERROR_DEVICE_FREQUENCY = Enum (42,
"device-frequency"),
115 ERROR_DEVICES_MISMATCH = Enum (43,
"devices-mismatch"),
116 ERROR_SOURCE_NO_SUCH_MODULE = Enum (44,
"source-no-such-module"),
117 ERROR_SOURCE_NO_SUCH_ICHANNEL = Enum (45,
"source-no-such-ichannel"),
118 ERROR_SOURCE_NO_SUCH_OCHANNEL = Enum (46,
"source-no-such-ochannel"),
119 ERROR_SOURCE_NO_SUCH_CONNECTION = Enum (47,
"source-no-such-connection"),
120 ERROR_SOURCE_PRIVATE_ICHANNEL = Enum (48,
"source-private-ichannel"),
121 ERROR_SOURCE_ICHANNEL_IN_USE = Enum (49,
"source-ichannel-in-use"),
122 ERROR_SOURCE_CHANNELS_CONNECTED = Enum (50,
"source-channels-connected"),
123 ERROR_SOURCE_CONNECTION_INVALID = Enum (51,
"source-connection-invalid"),
124 ERROR_SOURCE_PARENT_MISMATCH = Enum (52,
"source-parent-mismatch"),
125 ERROR_SOURCE_BAD_LOOPBACK = Enum (53,
"source-bad-loopback"),
126 ERROR_SOURCE_BUSY = Enum (54,
"source-busy"),
127 ERROR_SOURCE_TYPE_INVALID = Enum (55,
"source-type-invalid"),
128 ERROR_PROC_NOT_FOUND = Enum (56,
"proc-not-found"),
129 ERROR_PROC_BUSY = Enum (57,
"proc-busy"),
130 ERROR_PROC_PARAM_INVAL = Enum (58,
"proc-param-inval"),
131 ERROR_PROC_EXECUTION = Enum (59,
"proc-execution"),
132 ERROR_PROC_ABORT = Enum (60,
"proc-abort"),
133 ERROR_NO_ENTRY = Enum (61,
"no-entry"),
134 ERROR_NO_EVENT = Enum (62,
"no-event"),
135 ERROR_NO_TARGET = Enum (63,
"no-target"),
136 ERROR_NOT_OWNER = Enum (64,
"not-owner"),
137 ERROR_INVALID_OFFSET = Enum (65,
"invalid-offset"),
138 ERROR_INVALID_DURATION = Enum (66,
"invalid-duration"),
139 ERROR_INVALID_OVERLAP = Enum (67,
"invalid-overlap"),
142 enum MidiSignalType {
143 MIDI_SIGNAL_PROGRAM = Enum (1,
"program"),
144 MIDI_SIGNAL_PRESSURE = Enum (2,
"pressure"),
145 MIDI_SIGNAL_PITCH_BEND = Enum (3,
"pitch-bend"),
146 MIDI_SIGNAL_VELOCITY = Enum (4,
"velocity"),
147 MIDI_SIGNAL_FINE_TUNE = Enum (5,
"fine-tune"),
148 MIDI_SIGNAL_CONTINUOUS_0 = Enum (64,
"continuous-0"),
149 MIDI_SIGNAL_CONTINUOUS_1 = Enum (65,
"continuous-1"),
150 MIDI_SIGNAL_CONTINUOUS_2 = Enum (66,
"continuous-2"),
151 MIDI_SIGNAL_CONTINUOUS_3 = Enum (67,
"continuous-3"),
152 MIDI_SIGNAL_CONTINUOUS_4 = Enum (68,
"continuous-4"),
153 MIDI_SIGNAL_CONTINUOUS_5 = Enum (69,
"continuous-5"),
154 MIDI_SIGNAL_CONTINUOUS_6 = Enum (70,
"continuous-6"),
155 MIDI_SIGNAL_CONTINUOUS_7 = Enum (71,
"continuous-7"),
156 MIDI_SIGNAL_CONTINUOUS_8 = Enum (72,
"continuous-8"),
157 MIDI_SIGNAL_CONTINUOUS_9 = Enum (73,
"continuous-9"),
158 MIDI_SIGNAL_CONTINUOUS_10 = Enum (74,
"continuous-10"),
159 MIDI_SIGNAL_CONTINUOUS_11 = Enum (75,
"continuous-11"),
160 MIDI_SIGNAL_CONTINUOUS_12 = Enum (76,
"continuous-12"),
161 MIDI_SIGNAL_CONTINUOUS_13 = Enum (77,
"continuous-13"),
162 MIDI_SIGNAL_CONTINUOUS_14 = Enum (78,
"continuous-14"),
163 MIDI_SIGNAL_CONTINUOUS_15 = Enum (79,
"continuous-15"),
164 MIDI_SIGNAL_CONTINUOUS_16 = Enum (80,
"continuous-16"),
165 MIDI_SIGNAL_CONTINUOUS_17 = Enum (81,
"continuous-17"),
166 MIDI_SIGNAL_CONTINUOUS_18 = Enum (82,
"continuous-18"),
167 MIDI_SIGNAL_CONTINUOUS_19 = Enum (83,
"continuous-19"),
168 MIDI_SIGNAL_CONTINUOUS_20 = Enum (84,
"continuous-20"),
169 MIDI_SIGNAL_CONTINUOUS_21 = Enum (85,
"continuous-21"),
170 MIDI_SIGNAL_CONTINUOUS_22 = Enum (86,
"continuous-22"),
171 MIDI_SIGNAL_CONTINUOUS_23 = Enum (87,
"continuous-23"),
172 MIDI_SIGNAL_CONTINUOUS_24 = Enum (88,
"continuous-24"),
173 MIDI_SIGNAL_CONTINUOUS_25 = Enum (89,
"continuous-25"),
174 MIDI_SIGNAL_CONTINUOUS_26 = Enum (90,
"continuous-26"),
175 MIDI_SIGNAL_CONTINUOUS_27 = Enum (91,
"continuous-27"),
176 MIDI_SIGNAL_CONTINUOUS_28 = Enum (92,
"continuous-28"),
177 MIDI_SIGNAL_CONTINUOUS_29 = Enum (93,
"continuous-29"),
178 MIDI_SIGNAL_CONTINUOUS_30 = Enum (94,
"continuous-30"),
179 MIDI_SIGNAL_CONTINUOUS_31 = Enum (95,
"continuous-31"),
180 MIDI_SIGNAL_CONSTANT_HIGH = Enum (96,
"constant-high"),
181 MIDI_SIGNAL_CONSTANT_CENTER = Enum (97,
"constant-center"),
182 MIDI_SIGNAL_CONSTANT_LOW = Enum (98,
"constant-low"),
183 MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER = Enum (99,
"constant-negative-center"),
184 MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH = Enum (100,
"constant-negative-high"),
185 MIDI_SIGNAL_PARAMETER = Enum (101,
"parameter"),
186 MIDI_SIGNAL_NON_PARAMETER = Enum (102,
"non-parameter"),
187 MIDI_SIGNAL_CONTROL_0 = Enum (128,
"control-0"),
188 MIDI_SIGNAL_CONTROL_1 = Enum (129,
"control-1"),
189 MIDI_SIGNAL_CONTROL_2 = Enum (130,
"control-2"),
190 MIDI_SIGNAL_CONTROL_3 = Enum (131,
"control-3"),
191 MIDI_SIGNAL_CONTROL_4 = Enum (132,
"control-4"),
192 MIDI_SIGNAL_CONTROL_5 = Enum (133,
"control-5"),
193 MIDI_SIGNAL_CONTROL_6 = Enum (134,
"control-6"),
194 MIDI_SIGNAL_CONTROL_7 = Enum (135,
"control-7"),
195 MIDI_SIGNAL_CONTROL_8 = Enum (136,
"control-8"),
196 MIDI_SIGNAL_CONTROL_9 = Enum (137,
"control-9"),
197 MIDI_SIGNAL_CONTROL_10 = Enum (138,
"control-10"),
198 MIDI_SIGNAL_CONTROL_11 = Enum (139,
"control-11"),
199 MIDI_SIGNAL_CONTROL_12 = Enum (140,
"control-12"),
200 MIDI_SIGNAL_CONTROL_13 = Enum (141,
"control-13"),
201 MIDI_SIGNAL_CONTROL_14 = Enum (142,
"control-14"),
202 MIDI_SIGNAL_CONTROL_15 = Enum (143,
"control-15"),
203 MIDI_SIGNAL_CONTROL_16 = Enum (144,
"control-16"),
204 MIDI_SIGNAL_CONTROL_17 = Enum (145,
"control-17"),
205 MIDI_SIGNAL_CONTROL_18 = Enum (146,
"control-18"),
206 MIDI_SIGNAL_CONTROL_19 = Enum (147,
"control-19"),
207 MIDI_SIGNAL_CONTROL_20 = Enum (148,
"control-20"),
208 MIDI_SIGNAL_CONTROL_21 = Enum (149,
"control-21"),
209 MIDI_SIGNAL_CONTROL_22 = Enum (150,
"control-22"),
210 MIDI_SIGNAL_CONTROL_23 = Enum (151,
"control-23"),
211 MIDI_SIGNAL_CONTROL_24 = Enum (152,
"control-24"),
212 MIDI_SIGNAL_CONTROL_25 = Enum (153,
"control-25"),
213 MIDI_SIGNAL_CONTROL_26 = Enum (154,
"control-26"),
214 MIDI_SIGNAL_CONTROL_27 = Enum (155,
"control-27"),
215 MIDI_SIGNAL_CONTROL_28 = Enum (156,
"control-28"),
216 MIDI_SIGNAL_CONTROL_29 = Enum (157,
"control-29"),
217 MIDI_SIGNAL_CONTROL_30 = Enum (158,
"control-30"),
218 MIDI_SIGNAL_CONTROL_31 = Enum (159,
"control-31"),
219 MIDI_SIGNAL_CONTROL_32 = Enum (160,
"control-32"),
220 MIDI_SIGNAL_CONTROL_33 = Enum (161,
"control-33"),
221 MIDI_SIGNAL_CONTROL_34 = Enum (162,
"control-34"),
222 MIDI_SIGNAL_CONTROL_35 = Enum (163,
"control-35"),
223 MIDI_SIGNAL_CONTROL_36 = Enum (164,
"control-36"),
224 MIDI_SIGNAL_CONTROL_37 = Enum (165,
"control-37"),
225 MIDI_SIGNAL_CONTROL_38 = Enum (166,
"control-38"),
226 MIDI_SIGNAL_CONTROL_39 = Enum (167,
"control-39"),
227 MIDI_SIGNAL_CONTROL_40 = Enum (168,
"control-40"),
228 MIDI_SIGNAL_CONTROL_41 = Enum (169,
"control-41"),
229 MIDI_SIGNAL_CONTROL_42 = Enum (170,
"control-42"),
230 MIDI_SIGNAL_CONTROL_43 = Enum (171,
"control-43"),
231 MIDI_SIGNAL_CONTROL_44 = Enum (172,
"control-44"),
232 MIDI_SIGNAL_CONTROL_45 = Enum (173,
"control-45"),
233 MIDI_SIGNAL_CONTROL_46 = Enum (174,
"control-46"),
234 MIDI_SIGNAL_CONTROL_47 = Enum (175,
"control-47"),
235 MIDI_SIGNAL_CONTROL_48 = Enum (176,
"control-48"),
236 MIDI_SIGNAL_CONTROL_49 = Enum (177,
"control-49"),
237 MIDI_SIGNAL_CONTROL_50 = Enum (178,
"control-50"),
238 MIDI_SIGNAL_CONTROL_51 = Enum (179,
"control-51"),
239 MIDI_SIGNAL_CONTROL_52 = Enum (180,
"control-52"),
240 MIDI_SIGNAL_CONTROL_53 = Enum (181,
"control-53"),
241 MIDI_SIGNAL_CONTROL_54 = Enum (182,
"control-54"),
242 MIDI_SIGNAL_CONTROL_55 = Enum (183,
"control-55"),
243 MIDI_SIGNAL_CONTROL_56 = Enum (184,
"control-56"),
244 MIDI_SIGNAL_CONTROL_57 = Enum (185,
"control-57"),
245 MIDI_SIGNAL_CONTROL_58 = Enum (186,
"control-58"),
246 MIDI_SIGNAL_CONTROL_59 = Enum (187,
"control-59"),
247 MIDI_SIGNAL_CONTROL_60 = Enum (188,
"control-60"),
248 MIDI_SIGNAL_CONTROL_61 = Enum (189,
"control-61"),
249 MIDI_SIGNAL_CONTROL_62 = Enum (190,
"control-62"),
250 MIDI_SIGNAL_CONTROL_63 = Enum (191,
"control-63"),
251 MIDI_SIGNAL_CONTROL_64 = Enum (192,
"control-64"),
252 MIDI_SIGNAL_CONTROL_65 = Enum (193,
"control-65"),
253 MIDI_SIGNAL_CONTROL_66 = Enum (194,
"control-66"),
254 MIDI_SIGNAL_CONTROL_67 = Enum (195,
"control-67"),
255 MIDI_SIGNAL_CONTROL_68 = Enum (196,
"control-68"),
256 MIDI_SIGNAL_CONTROL_69 = Enum (197,
"control-69"),
257 MIDI_SIGNAL_CONTROL_70 = Enum (198,
"control-70"),
258 MIDI_SIGNAL_CONTROL_71 = Enum (199,
"control-71"),
259 MIDI_SIGNAL_CONTROL_72 = Enum (200,
"control-72"),
260 MIDI_SIGNAL_CONTROL_73 = Enum (201,
"control-73"),
261 MIDI_SIGNAL_CONTROL_74 = Enum (202,
"control-74"),
262 MIDI_SIGNAL_CONTROL_75 = Enum (203,
"control-75"),
263 MIDI_SIGNAL_CONTROL_76 = Enum (204,
"control-76"),
264 MIDI_SIGNAL_CONTROL_77 = Enum (205,
"control-77"),
265 MIDI_SIGNAL_CONTROL_78 = Enum (206,
"control-78"),
266 MIDI_SIGNAL_CONTROL_79 = Enum (207,
"control-79"),
267 MIDI_SIGNAL_CONTROL_80 = Enum (208,
"control-80"),
268 MIDI_SIGNAL_CONTROL_81 = Enum (209,
"control-81"),
269 MIDI_SIGNAL_CONTROL_82 = Enum (210,
"control-82"),
270 MIDI_SIGNAL_CONTROL_83 = Enum (211,
"control-83"),
271 MIDI_SIGNAL_CONTROL_84 = Enum (212,
"control-84"),
272 MIDI_SIGNAL_CONTROL_85 = Enum (213,
"control-85"),
273 MIDI_SIGNAL_CONTROL_86 = Enum (214,
"control-86"),
274 MIDI_SIGNAL_CONTROL_87 = Enum (215,
"control-87"),
275 MIDI_SIGNAL_CONTROL_88 = Enum (216,
"control-88"),
276 MIDI_SIGNAL_CONTROL_89 = Enum (217,
"control-89"),
277 MIDI_SIGNAL_CONTROL_90 = Enum (218,
"control-90"),
278 MIDI_SIGNAL_CONTROL_91 = Enum (219,
"control-91"),
279 MIDI_SIGNAL_CONTROL_92 = Enum (220,
"control-92"),
280 MIDI_SIGNAL_CONTROL_93 = Enum (221,
"control-93"),
281 MIDI_SIGNAL_CONTROL_94 = Enum (222,
"control-94"),
282 MIDI_SIGNAL_CONTROL_95 = Enum (223,
"control-95"),
283 MIDI_SIGNAL_CONTROL_96 = Enum (224,
"control-96"),
284 MIDI_SIGNAL_CONTROL_97 = Enum (225,
"control-97"),
285 MIDI_SIGNAL_CONTROL_98 = Enum (226,
"control-98"),
286 MIDI_SIGNAL_CONTROL_99 = Enum (227,
"control-99"),
287 MIDI_SIGNAL_CONTROL_100 = Enum (228,
"control-100"),
288 MIDI_SIGNAL_CONTROL_101 = Enum (229,
"control-101"),
289 MIDI_SIGNAL_CONTROL_102 = Enum (230,
"control-102"),
290 MIDI_SIGNAL_CONTROL_103 = Enum (231,
"control-103"),
291 MIDI_SIGNAL_CONTROL_104 = Enum (232,
"control-104"),
292 MIDI_SIGNAL_CONTROL_105 = Enum (233,
"control-105"),
293 MIDI_SIGNAL_CONTROL_106 = Enum (234,
"control-106"),
294 MIDI_SIGNAL_CONTROL_107 = Enum (235,
"control-107"),
295 MIDI_SIGNAL_CONTROL_108 = Enum (236,
"control-108"),
296 MIDI_SIGNAL_CONTROL_109 = Enum (237,
"control-109"),
297 MIDI_SIGNAL_CONTROL_110 = Enum (238,
"control-110"),
298 MIDI_SIGNAL_CONTROL_111 = Enum (239,
"control-111"),
299 MIDI_SIGNAL_CONTROL_112 = Enum (240,
"control-112"),
300 MIDI_SIGNAL_CONTROL_113 = Enum (241,
"control-113"),
301 MIDI_SIGNAL_CONTROL_114 = Enum (242,
"control-114"),
302 MIDI_SIGNAL_CONTROL_115 = Enum (243,
"control-115"),
303 MIDI_SIGNAL_CONTROL_116 = Enum (244,
"control-116"),
304 MIDI_SIGNAL_CONTROL_117 = Enum (245,
"control-117"),
305 MIDI_SIGNAL_CONTROL_118 = Enum (246,
"control-118"),
306 MIDI_SIGNAL_CONTROL_119 = Enum (247,
"control-119"),
307 MIDI_SIGNAL_CONTROL_120 = Enum (248,
"control-120"),
308 MIDI_SIGNAL_CONTROL_121 = Enum (249,
"control-121"),
309 MIDI_SIGNAL_CONTROL_122 = Enum (250,
"control-122"),
310 MIDI_SIGNAL_CONTROL_123 = Enum (251,
"control-123"),
311 MIDI_SIGNAL_CONTROL_124 = Enum (252,
"control-124"),
312 MIDI_SIGNAL_CONTROL_125 = Enum (253,
"control-125"),
313 MIDI_SIGNAL_CONTROL_126 = Enum (254,
"control-126"),
314 MIDI_SIGNAL_CONTROL_127 = Enum (255,
"control-127"),
318 PROJECT_INACTIVE = Enum (0,
"inactive"),
319 PROJECT_ACTIVE = Enum (1,
"active"),
320 PROJECT_PLAYING = Enum (2,
"playing"),
323 enum StandardOscWaveType {
324 STANDARD_OSC_SINE = Enum (1,
"Sine"),
325 STANDARD_OSC_TRIANGLE = Enum (2,
"Triangle"),
326 STANDARD_OSC_SAW_RISE = Enum (3,
"Rising Saw"),
327 STANDARD_OSC_SAW_FALL = Enum (4,
"Falling Saw"),
328 STANDARD_OSC_PEAK_RISE = Enum (5,
"Rising Peak"),
329 STANDARD_OSC_PEAK_FALL = Enum (6,
"Falling Peak"),
330 STANDARD_OSC_MOOG_SAW = Enum (7,
"Moog Saw"),
331 STANDARD_OSC_SQUARE = Enum (8,
"Square"),
332 STANDARD_OSC_PULSE = Enum (9,
"Pulse"),
337 interface DataPocket;
338 interface EditableSample;
340 interface MidiNotifier;
349 void add_parasite (SfiString path, Rec parasite) {
350 Info help =
"Add a new parasite to an item.";
351 In path = (
"Path",
"",
":flagstodo");
352 In parasite = (
"Parasite",
"",
":flagstodo");
354 Bool check_is_a (SfiString type_name) {
355 Info help =
"Check whether an item has a certain type.";
356 In type_name = (
"Type Name",
"",
":flagstodo");
357 Out is_a = (
"is-a",
"", FALSE,
":flagstodo");
360 Info help =
"Call the clear-undo function of the project corresponding to this item if any.";
362 Bool editable_property (SfiString property_name) {
363 Info help =
"Test whether a property is editable according to object state and property options.";
364 In property_name = (
"property-name",
"Item property name",
":flagstodo");
365 Out editable = (
"editable",
"", FALSE,
":flagstodo");
368 Info help =
"Get the current icon of an item.";
369 Out icon = (
"icon",
"",
":flagstodo");
371 SfiString get_name () {
372 Info help =
"Retrieve an item's name.";
373 Out name = (
"Name",
"",
":flagstodo");
375 SfiString get_name_or_type () {
376 Info help =
"Retrieve an item's name or type if it has no name.";
377 Out name = (
"Name",
"",
":flagstodo");
379 Rec get_parasite (SfiString path) {
380 Info help =
"Retrieve a parasite from an item.";
381 In path = (
"Path",
"",
":flagstodo");
382 Out parasite = (
"Parasite",
"",
":flagstodo");
385 Info help =
"Retrieve an item's parent.";
386 Out parent = (
"Parent",
"",
":flagstodo");
388 Item get_project () {
389 Info help =
"Retrieve an item's project.";
390 Out project = (
"Project",
"",
":flagstodo");
392 PropertyCandidates get_property_candidates (SfiString property_name) {
393 Info help =
"Retrieve tentative values for an item or item sequence property.";
394 In property_name = (
"property-name",
"Item property name",
":flagstodo");
395 Out candidates = (
"Candidates",
"",
":flagstodo");
398 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.";
399 Out seq_id = (
"Sequential ID",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
401 SfiString get_type () {
402 Info help =
"Retrieve an item's type name.";
403 Out
string = (
"string",
"",
":flagstodo");
405 SfiString get_type_authors () {
406 Info help =
"Retrieve authors of an item's type implementation.";
407 Out
string = (
"string",
"",
":flagstodo");
409 SfiString get_type_blurb () {
410 Info help =
"Retrieve an item's type description.";
411 Out
string = (
"string",
"",
":flagstodo");
413 SfiString get_type_license () {
414 Info help =
"Retrieve the license for an item's type implementation.";
415 Out
string = (
"string",
"",
":flagstodo");
417 SfiString get_type_name () {
418 Info help =
"Retrieve an item's type name.";
419 Out
string = (
"string",
"",
":flagstodo");
421 SfiString get_uname_path () {
422 Info help =
"Retrieve the project relative uname path for this item.";
423 Out uname_path = (
"uname-path",
"",
":flagstodo");
425 void group_undo (SfiString name) {
426 Info help =
"Request multiple modifying actions on an item to be grouped together as single undo operation.";
427 In name = (
"name",
"A name for the undo group to be created",
":flagstodo");
430 Info help =
"Check whether an item is internal, i.e. owned by another non-internal item.";
431 Out
internal = (
"Internal",
"", FALSE,
":flagstodo");
433 StringSeq list_parasites (SfiString path) {
434 Info help =
"List parasites within a parasite path segment.";
435 In path = (
"Path",
"",
":flagstodo");
436 Out paths = (
"Parasite Paths",
"",
":flagstodo");
439 Info help =
"Call the redo function of the project corresponding to this item if any.";
442 Info help =
"Call the redo-depth function of the project corresponding to this item if any.";
443 Out redo_depth = (
"redo-depth",
"Number of times redo can be called", 0, 0, SFI_MAXINT, 1,
":flagstodo");
445 void set_name (SfiString name) {
446 Info help =
"Set an item's name.";
447 In name = (
"Name",
"",
":flagstodo");
449 void set_parasite (SfiString path, Rec parasite) {
450 Info help =
"Set or change a parasite on an item.";
451 In path = (
"Path",
"",
":flagstodo");
452 In parasite = (
"Parasite",
"",
":flagstodo");
455 Info help =
"Call the undo function of the project corresponding to this item if any.";
458 Info help =
"Call the undo-depth function of the project corresponding to this item if any.";
459 Out undo_depth = (
"undo-depth",
"Number of times undo can be called", 0, 0, SFI_MAXINT, 1,
":flagstodo");
461 void ungroup_undo () {
462 Info help =
"Ends the undo grouping opened up by a previous group-undo() call.";
465 Info help =
"Decrement use count for when an item is not needed anymore.";
468 Info help =
"Increment use count to keep an item alive.";
469 Out used_item = (
"Item",
"",
":flagstodo");
471 signal parasites_added (SfiString a);
472 signal parasite_changed (SfiString a);
473 property Int seqid = (
"Sequential ID",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
476 interface MidiNotifier : Item {
479 interface Source : Item {
480 void clear_inputs () {
481 Info help =
"Disconnect all module inputs.";
483 void clear_outputs () {
484 Info help =
"Disconnect all module outputs.";
486 Int get_automation_channel (SfiString property_name) {
487 Info help =
"Get MIDI channel from an automation property.";
488 In property_name = (
"property-name",
"Item property name",
":flagstodo");
489 Out midi_channel = (
"midi-channel",
"", 0, 0, 99, 1,
":flagstodo");
491 MidiControlType get_automation_control (SfiString property_name) {
492 Info help =
"Get control type from an automation property.";
493 In property_name = (
"property-name",
"Item property name",
":flagstodo");
494 Out control_type = (
"control-type",
"",
":flagstodo");
496 Bool has_output (Int ochannel) {
497 Info help =
"Check whether a module's output channel is connected.";
498 In ochannel = (
"ochannel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
499 Out has_outputs = (
"has-outputs",
"", FALSE,
":flagstodo");
501 Bool has_outputs () {
502 Info help =
"Check whether a module has output channel connections.";
503 Out has_outputs = (
"Has Outputs",
"", FALSE,
":flagstodo");
505 SfiString ichannel_blurb (Int input_channel) {
506 Info help =
"Get input channel description.";
507 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
508 Out channel_blurb = (
"Channel Blurb",
"",
":flagstodo");
510 Int ichannel_get_n_joints (Int input_channel) {
511 Info help =
"Retrieve the number of inputs connected to an input channel.";
512 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
513 Out n_joints = (
"Number of Connections",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
515 Int ichannel_get_ochannel (Int input_channel, Int input_joint) {
516 Info help =
"Retrieve output channel of the module connected to a specific joint of an input channel.";
517 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
518 In input_joint = (
"Input Joint",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
519 Out ochannel = (
"Output Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
521 SfiString ichannel_ident (Int input_channel) {
522 Info help =
"Get canonical input channel name.";
523 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
524 Out channel_ident = (
"Channel Name",
"",
":flagstodo");
526 SfiString ichannel_label (Int input_channel) {
527 Info help =
"Get input channel name.";
528 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
529 Out channel_label = (
"Channel Name",
"",
":flagstodo");
531 Bool is_joint_ichannel (SfiString input_channel) {
532 Info help =
"Check if an input channel is a joint (multi-connect) channel.";
533 In input_channel = (
"Input Channel",
"",
":flagstodo");
534 Out is_jchannel = (
"Is Joint Channel",
"", FALSE,
":flagstodo");
536 Bool is_joint_ichannel_by_id (Int input_channel) {
537 Info help =
"Check if an input channel is a joint (multi-connect) channel.";
538 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
539 Out is_jchannel = (
"Is Joint Channel",
"", FALSE,
":flagstodo");
541 Bool is_prepared () {
542 Info help =
"Check whether a source is prepared for synthesis processing.";
543 Out is_prepared = (
"is-prepared",
"", FALSE,
":flagstodo");
546 Info help =
"Get the number of input channels of a module.";
547 Out n_channels = (
"Number of Channels",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
550 Info help =
"Get the number of output channels of a module.";
551 Out n_channels = (
"Number of Channels",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
553 SfiString ochannel_blurb (Int output_channel) {
554 Info help =
"Get output channel description.";
555 In output_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
556 Out channel_blurb = (
"Channel Blurb",
"",
":flagstodo");
558 SfiString ochannel_ident (Int output_channel) {
559 Info help =
"Get canonical output channel name.";
560 In output_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
561 Out channel_ident = (
"Channel Name",
"",
":flagstodo");
563 SfiString ochannel_label (Int output_channel) {
564 Info help =
"Get output channel name.";
565 In output_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
566 Out channel_label = (
"Channel Name",
"",
":flagstodo");
568 ErrorType set_automation (SfiString property_name, Int midi_channel, MidiControlType control_type) {
569 Info help =
"Setup automation parameters for a property.";
570 In property_name = (
"property-name",
"Item property name",
":flagstodo");
571 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");
572 In control_type = (
"Control Type",
"The type of control events used for automation",
":flagstodo");
573 Out error = (
"Error",
"",
":flagstodo");
575 ErrorType set_input (SfiString input_channel, Source omodule, SfiString output_channel) {
576 Info help =
"Connect a module input to another module's output.";
577 In input_channel = (
"Input Channel",
"",
":flagstodo");
578 In omodule = (
"Output Module",
"",
":flagstodo");
579 In output_channel = (
"Output Channel",
"",
":flagstodo");
580 Out error = (
"Error",
"",
":flagstodo");
582 ErrorType set_input_by_id (Int input_channel, Source omodule, Int output_channel) {
583 Info help =
"Connect a module input to another module's output.";
584 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
585 In omodule = (
"Output Module",
"",
":flagstodo");
586 In output_channel = (
"Output Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
587 Out error = (
"Error",
"",
":flagstodo");
589 void set_pos (Real x_pos, Real y_pos) {
590 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.";
591 In x_pos = (
"X Position",
"",
":flagstodo");
592 In y_pos = (
"Y Position",
"",
":flagstodo");
594 ErrorType unset_input (SfiString input_channel, Source omodule, SfiString output_channel) {
595 Info help =
"Disconnect a module input.";
596 In input_channel = (
"Input Channel",
"",
":flagstodo");
597 In omodule = (
"Output Module",
"",
":flagstodo");
598 In output_channel = (
"Output Channel",
"",
":flagstodo");
599 Out error = (
"Error",
"",
":flagstodo");
601 ErrorType unset_input_by_id (Int input_channel, Source omodule, Int output_channel) {
602 Info help =
"Disconnect a module input.";
603 In input_channel = (
"Input Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
604 In omodule = (
"Output Module",
"",
":flagstodo");
605 In output_channel = (
"Output Channel",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
606 Out error = (
"Error",
"",
":flagstodo");
608 signal probes (ProbeSeq a);
610 property Real pos_x = (
"Position X",
"",
":flagstodo");
611 property Real pos_y = (
"Position Y",
"",
":flagstodo");
615 property Real value_1 = (
"Value [float]",
"Constant signal value",
":flagstodo");
616 property Real frequency_1 = (
"Frequency",
"Constant signal value interpreted as frequency value in Hertz",
":flagstodo");
617 property Int note_1 = (
"Note",
"Constant signal value as note, converted to Hertz according to the current musical tuning", 69, 0, 131, 12,
":flagstodo");
618 property Real value_2 = (
"Value [float]",
"Constant signal value",
":flagstodo");
619 property Real frequency_2 = (
"Frequency",
"Constant signal value interpreted as frequency value in Hertz",
":flagstodo");
620 property Int note_2 = (
"Note",
"Constant signal value as note, converted to Hertz according to the current musical tuning", 69, 0, 131, 12,
":flagstodo");
621 property Real value_3 = (
"Value [float]",
"Constant signal value",
":flagstodo");
622 property Real frequency_3 = (
"Frequency",
"Constant signal value interpreted as frequency value in Hertz",
":flagstodo");
623 property Int note_3 = (
"Note",
"Constant signal value as note, converted to Hertz according to the current musical tuning", 69, 0, 131, 12,
":flagstodo");
624 property Real value_4 = (
"Value [float]",
"Constant signal value",
":flagstodo");
625 property Real frequency_4 = (
"Frequency",
"Constant signal value interpreted as frequency value in Hertz",
":flagstodo");
626 property Int note_4 = (
"Note",
"Constant signal value as note, converted to Hertz according to the current musical tuning", 69, 0, 131, 12,
":flagstodo");
630 property SfiString in_port_1 = (
"Input Port 1",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
631 property SfiString in_port_2 = (
"Input Port 2",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
632 property SfiString in_port_3 = (
"Input Port 3",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
633 property SfiString in_port_4 = (
"Input Port 4",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
637 property SfiString in_port_1 = (
"in-port-1",
"",
":flagstodo");
638 property SfiString in_port_2 = (
"in-port-2",
"",
":flagstodo");
639 property SfiString in_port_3 = (
"in-port-3",
"",
":flagstodo");
640 property SfiString in_port_4 = (
"in-port-4",
"",
":flagstodo");
644 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");
648 property StandardOscWaveType wave_form = (
"Wave",
"Oscillator wave form",
":flagstodo");
649 property Real phase = (
"Phase",
"Initial phase of the oscillator wave form (cycle offset in degree)",
":flagstodo");
650 property Real base_freq = (
"Frequency",
"Oscillator frequency in Hertz, i.e. the number of oscillator cycles per second",
":flagstodo");
651 property Int base_note = (
"Note",
"Oscillator frequency as note, converted to Hertz according to the current musical tuning", 69, 0, 131, 12,
":flagstodo");
652 property Int transpose = (
"Transpose",
"Transposition of the oscillator frequency in semitones", 0, -72, 72, 12,
":flagstodo");
653 property Int fine_tune = (
"Fine Tune",
"Amount of detuning in cent (hundredth part of a semitone)", 0, -100, 100, 10,
":flagstodo");
654 property Real fm_perc = (
"Input Modulation [%]",
"Strength of linear frequency modulation",
":flagstodo");
655 property Bool exponential_fm = (
"Exponential FM",
"Perform exponential frequency modulation instead of linear", FALSE,
":flagstodo");
656 property Real fm_n_octaves = (
"Octaves",
"Number of octaves to be affected by exponential frequency modulation",
":flagstodo");
657 property Real self_perc = (
"Self Modulation [%]",
"Strength of self modulation",
":flagstodo");
658 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");
659 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");
664 Info help =
"Retrieve a containers immediate child from it's sequential id.";
665 In item_type = (
"item-type",
"Type of the item to retrieve",
":flagstodo");
666 In seq_id = (
"seq-id",
"Sequential ID", 0, 0, SFI_MAXINT, 1,
":flagstodo");
667 Out item = (
"item",
"The item with seqid as requested",
":flagstodo");
669 ItemSeq list_children () {
670 Info help =
"Retrieve all immediate children of a container";
671 Out item_list = (
"item-list",
"",
":flagstodo");
673 signal item_added (Item a);
674 signal item_remove (Item a, Int b);
677 interface Super : Container {
678 property SfiString author = (
"Author",
"Person changing or creating this object",
":flagstodo");
679 property SfiString license = (
"License",
"Copyright license applying to this object",
":flagstodo");
680 property SfiString copyright = (
"copyright",
"",
":flagstodo");
681 property Num creation_time = (
"Creation Time",
"",
":flagstodo");
682 property Num modification_time = (
"Last modification time",
"",
":flagstodo");
685 interface SNet : Super {
686 ErrorType can_create_source (SfiString module_type) {
687 Info help =
"Check whether inserting a new module into a synthesis network is possible";
688 In module_type = (
"Module Type",
"",
":flagstodo");
689 Out error = (
"Error",
"",
":flagstodo");
691 Source create_source (SfiString module_type) {
692 Info help =
"Insert a new module into a synthesis network";
693 In module_type = (
"Module Type",
"",
":flagstodo");
694 Out module = (
"New Module",
"",
":flagstodo");
696 ErrorType remove_source (Source module) {
697 Info help =
"Remove an existing module from its synthesis network";
698 In module = (
"Module",
"",
":flagstodo");
699 Out error = (
"Error",
"",
":flagstodo");
701 signal port_unregistered ();
702 property Bool auto_activate = (
"Auto Activate",
"Automatic activation only needs to be enabled for synthesis networks that don't use virtual ports for their input and output", FALSE,
":flagstodo");
705 interface CSynth : SNet {
708 interface Song : SNet {
709 Bus ensure_master_bus () {
710 Info help =
"Retrieve master output bus of a song, will create one if it doesn't exist.";
711 Out bus = (
"bus",
"",
":flagstodo");
713 void ensure_track_links () {
714 Info help =
"Ensure that each part in a song is inserted into at least one track.";
716 Track find_track_for_part (Part part) {
717 Info help =
"Find a track suitable for playing notes of a given part.";
718 In part = (
"Part",
"",
":flagstodo");
719 Out track = (
"Track",
"",
":flagstodo");
721 Bus get_master_bus () {
722 Info help =
"Retrieve master output bus of a song if it exists.";
723 Out bus = (
"bus",
"",
":flagstodo");
725 void synthesize_note (Track track, Int duration, Int note, Int fine_tune, Real velocity) {
726 Info help =
"Synthesize a note on a song of an active project.";
727 In track = (
"Track",
"",
":flagstodo");
728 In duration = (
"Tick Duration",
"", 1, 1, SFI_MAXINT, 384,
":flagstodo");
729 In note = (
"Note",
"", 69, 0, 131, 12,
":flagstodo");
730 In fine_tune = (
"Fine Tune",
"Fine tune in cents per semitone", 0, -100, 100, 10,
":flagstodo");
731 In velocity = (
"Velocity",
"",
":flagstodo");
733 signal pointer_changed (Int a);
734 property MusicalTuningType musical_tuning = (
"Musical Tuning",
"The tuning system which specifies the tones or pitches to be used. Due to the psychoacoustic properties of tones, various pitch combinations can sound "natural
" or "pleasing
" when used in combination, the musical tuning system defines the number and spacing of frequency values applied.",
":flagstodo");
735 property Int tpqn = (
"Ticks",
"Number of ticks per quarter note", 384, 384, 384, 0,
":flagstodo");
736 property Int numerator = (
"Numerator",
"Measure numerator", 4, 1, 256, 1,
":flagstodo");
737 property Int denominator = (
"Denominator",
"Measure denominator, must be a power of 2", 4, 1, 256, 0,
":flagstodo");
738 property CSynth pnet = (
"Postprocessor",
"Synthesis network to be used as postprocessor",
":flagstodo");
739 property Bool auto_activate = (
"auto-activate",
"", TRUE,
":flagstodo");
740 property Bool loop_enabled = (
"loop-enabled",
"", FALSE,
":flagstodo");
741 property Int loop_left = (
"loop-left",
"", -1, -1, SFI_MAXINT, 384,
":flagstodo");
742 property Int loop_right = (
"loop-right",
"", -1, -1, SFI_MAXINT, 384,
":flagstodo");
743 property Int tick_pointer = (
"tick-pointer",
"", -1, -1, SFI_MAXINT, 384,
":flagstodo");
746 interface MidiSynth : SNet {
747 property Int midi_channel = (
"MIDI Channel",
"", 1, 1, 99, 1,
":flagstodo");
748 property Int n_voices = (
"Max Voices",
"Maximum number of voices for simultaneous playback", 16, 1, 256, 1,
":flagstodo");
749 property CSynth snet = (
"Synthesizer",
"Synthesis network to be used as MIDI instrument",
":flagstodo");
750 property CSynth pnet = (
"Postprocessor",
"Synthesis network to be used as postprocessor",
":flagstodo");
751 property Real volume_f = (
"Master [float]",
"",
":flagstodo");
752 property Real volume_dB = (
"Master [dB]",
"",
":flagstodo");
753 property Int volume_perc = (
"Master [%]",
"", 100, 0, 1584, 1,
":flagstodo");
754 property Bool auto_activate = (
"auto-activate",
"", TRUE,
":flagstodo");
757 interface WaveRepo : Super {
758 ErrorType load_file (SfiString file_name) {
759 Info help =
"Load wave from file";
760 In file_name = (
"File Name",
"The file to import waves from",
":flagstodo");
761 Out error = (
"Error",
"",
":flagstodo");
763 void remove_wave (Wave wave) {
764 Info help =
"Remove a wave from repository";
765 In wave = (
"Wave",
"",
":flagstodo");
769 interface Server : Container {
770 signal registration (RegistrationType a, SfiString b, SfiString c);
771 signal script_start (Janitor a);
772 signal script_error (SfiString a, SfiString b, SfiString c);
773 property Rec bse_preferences = (
"bse-preferences",
"",
":flagstodo");
774 property SfiString wave_file = (
"WAVE File",
"Name of the WAVE file used for recording BSE sound output",
":flagstodo");
775 property Bool log_messages = (
"Log Messages",
"Log messages through the log system", TRUE,
":flagstodo");
778 interface Project : Container {
779 ErrorType store_bse (Super super, SfiString file_name, Bool self_contained) {
780 Info help =
"Save supers of a project into a BSE file. If no super is specified, the project itself is stored.";
781 In super = (
"Super",
"",
":flagstodo");
782 In file_name = (
"File",
"Destination file name",
":flagstodo");
783 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");
784 Out error = (
"Error",
"Error indicating possible failures",
":flagstodo");
786 CSynth create_csynth (SfiString name) {
787 Info help =
"Create a synthsizer network for this project.";
788 In name = (
"Name",
"Synth network name",
":flagstodo");
789 Out csynth = (
"Synthesizer Network",
"New synth network",
":flagstodo");
791 MidiSynth create_midi_synth (SfiString name) {
792 Info help =
"Create a MIDI synthesizer network for this project.";
793 In name = (
"Name",
"MIDI synth name",
":flagstodo");
794 Out midi_synth = (
"MIDI Synthesizer",
"New MIDI synth",
":flagstodo");
796 Song create_song (SfiString name) {
797 Info help =
"Create a song for this project.";
798 In name = (
"Name",
"Song name",
":flagstodo");
799 Out song = (
"Song",
"The new song",
":flagstodo");
801 Item find_item (SfiString uname_path) {
802 Info help =
"Find an item within a project, given its uname path.";
803 In uname_path = (
"uname-path",
"",
":flagstodo");
804 Out item = (
"item",
"",
":flagstodo");
806 DataPocket get_data_pocket (SfiString name) {
807 Info help =
"Retrieve a specifically named data pocket for this project";
808 In name = (
"Name",
"Name of the data pocket",
":flagstodo");
809 Out data_pocket = (
"Data Pocket",
"The data pocket",
":flagstodo");
811 MidiNotifier get_midi_notifier () {
812 Info help =
"Retrieve the project's midi notifier object.";
813 Out midi_notifier = (
"midi-notifier",
"",
":flagstodo");
815 ProjectState get_state () {
816 Info help =
"Retrieve the current project state.";
817 Out state = (
"State",
"Project playback/activation state",
":flagstodo");
819 ItemSeq get_supers () {
820 Info help =
"Retrieve all supers of this project.";
821 Out super_list = (
"super-list",
"",
":flagstodo");
823 WaveRepo get_wave_repo () {
824 Info help =
"Ensure the project has a wave repository";
825 Out wrepo = (
"Wave Repo",
"The project's unique wave repo",
":flagstodo");
827 StringSeq list_uname_paths (SfiString item_type) {
828 Info help =
"List uname paths for all items of a specified type within this project. By their uname paths, items are uniquely identifyable within a project.";
829 In item_type = (
"item-type",
"",
":flagstodo");
830 Out uname_paths = (
"Uname Paths",
"",
":flagstodo");
832 ItemSeq match_items_by_uname (SfiString item_type, SfiString uname) {
833 Info help =
"Retrieve all items of a specific type within a project with matching uname";
834 In item_type = (
"item-type",
"",
":flagstodo");
835 In uname = (
"uname",
"",
":flagstodo");
836 Out item_list = (
"Item List",
"",
":flagstodo");
838 void remove_snet (SNet snet) {
839 Info help =
"Remove an existing synthesizer network from this project.";
840 In snet = (
"SNet",
"Synthesizer Network",
":flagstodo");
842 signal state_changed (ProjectState a);
843 property Bool dirty = (
"dirty",
"Whether project needs saving", FALSE,
":flagstodo");
846 interface SubSynth : Source {
847 property CSynth snet = (
"Synthesizer",
"Synthesis network to use as embedded sub network",
":flagstodo");
848 property SfiString in_port_1 = (
"Input Port 1",
"Output port name to interface from",
":flagstodo");
849 property SfiString out_port_1 = (
"Output Port 1",
"Input port name to interface to",
":flagstodo");
850 property SfiString in_port_2 = (
"Input Port 2",
"Output port name to interface from",
":flagstodo");
851 property SfiString out_port_2 = (
"Output Port 2",
"Input port name to interface to",
":flagstodo");
852 property SfiString in_port_3 = (
"Input Port 3",
"Output port name to interface from",
":flagstodo");
853 property SfiString out_port_3 = (
"Output Port 3",
"Input port name to interface to",
":flagstodo");
854 property SfiString in_port_4 = (
"Input Port 4",
"Output port name to interface from",
":flagstodo");
855 property SfiString out_port_4 = (
"Output Port 4",
"Input port name to interface to",
":flagstodo");
856 property SfiString in_port_5 = (
"Input Port 5",
"Output port name to interface from",
":flagstodo");
857 property SfiString out_port_5 = (
"Output Port 5",
"Input port name to interface to",
":flagstodo");
858 property SfiString in_port_6 = (
"Input Port 6",
"Output port name to interface from",
":flagstodo");
859 property SfiString out_port_6 = (
"Output Port 6",
"Input port name to interface to",
":flagstodo");
860 property SfiString in_port_7 = (
"Input Port 7",
"Output port name to interface from",
":flagstodo");
861 property SfiString out_port_7 = (
"Output Port 7",
"Input port name to interface to",
":flagstodo");
862 property SfiString in_port_8 = (
"Input Port 8",
"Output port name to interface from",
":flagstodo");
863 property SfiString out_port_8 = (
"Output Port 8",
"Input port name to interface to",
":flagstodo");
866 interface Bus : SubSynth {
867 ErrorType connect_bus (Bus bus) {
868 Info help =
"Add a bus to the input list of a bus.";
869 In bus = (
"bus",
"",
":flagstodo");
870 Out error = (
"error",
"",
":flagstodo");
872 ErrorType connect_track (Track track) {
873 Info help =
"Add a track to the input list of a bus.";
874 In track = (
"track",
"",
":flagstodo");
875 Out error = (
"error",
"",
":flagstodo");
877 ErrorType disconnect_bus (Bus bus) {
878 Info help =
"Remove a bus from the input list of a bus.";
879 In bus = (
"bus",
"",
":flagstodo");
880 Out error = (
"error",
"",
":flagstodo");
882 ErrorType disconnect_track (Track track) {
883 Info help =
"Remove a track from the input list of a bus.";
884 In track = (
"track",
"",
":flagstodo");
885 Out error = (
"error",
"",
":flagstodo");
887 property ItemSeq inputs = (
"Input Signals",
"Synthesis signals (from tracks and busses) used as bus input",
":flagstodo");
888 property ItemSeq outputs = (
"Output Signals",
"Mixer busses used as output for synthesis signals",
":flagstodo");
889 property CSynth snet = (
"snet",
"",
":flagstodo");
890 property Bool mute = (
"Mute",
"Mute: turn off the bus volume", FALSE,
":flagstodo");
891 property Bool solo = (
"Solo",
"Solo: mute all other busses", FALSE,
":flagstodo");
892 property Bool sync = (
"Sync",
"Syncronize left and right volume", TRUE,
":flagstodo");
893 property Real left_volume = (
"Left Volume",
"Volume adjustment in decibel of left bus channel",
":flagstodo");
894 property Real right_volume = (
"Right Volume",
"Volume adjustment in decibel of right bus channel",
":flagstodo");
895 property Bool master_output = (
"Master Output",
"", FALSE,
":flagstodo");
899 property Real master_volume_f = (
"Master [float]",
"",
":flagstodo");
900 property Real master_volume_dB = (
"Master [dB]",
"",
":flagstodo");
901 property Int master_volume_perc = (
"Master [%]",
"", 100, 0, 1584, 1,
":flagstodo");
911 property BiquadFilterType filter_type = (
"Filter Type",
"The filter design type",
":flagstodo");
912 property Real freq = (
"Cutoff [Hz]",
"Filter cutoff frequency in Hertz",
":flagstodo");
913 property Int note = (
"Note",
"Filter cutoff frequency as note, converted to Hertz according to the current musical tuning", 81, 0, 131, 12,
":flagstodo");
914 property Real gain = (
"Gain [dB]",
"",
":flagstodo");
915 property Real fm_perc = (
"Input Modulation [%]",
"Strength of linear frequency modulation",
":flagstodo");
916 property Bool exponential_fm = (
"Exponential FM",
"Perform exponential frequency modulation instead of linear", FALSE,
":flagstodo");
917 property Real fm_n_octaves = (
"Octaves",
"Number of octaves to be affected by exponential frequency modulation",
":flagstodo");
918 property Real gain_perc = (
"Gain Modulation [%]",
"Strength of gain modulation",
":flagstodo");
922 property Real gain_volume_f = (
"Input Gain [float]",
"",
":flagstodo");
923 property Real gain_volume_dB = (
"Input Gain [dB]",
"",
":flagstodo");
924 property Int gain_volume_perc = (
"input Gain [%]",
"", 100, 0, 1584, 1,
":flagstodo");
930 interface Track : ContextMerger {
931 TrackPartSeq list_parts () {
932 Info help =
"List parts scheduled in a track, sorted by tick.";
933 Out part_list = (
"Part List",
"",
":flagstodo");
935 ItemSeq list_parts_uniq () {
936 Info help =
"List all parts contained in a track.";
937 Out part_list = (
"Part List",
"",
":flagstodo");
939 void remove_link (Int
id) {
940 Info help =
"Remove a specific part link by ID from a track.";
941 In
id = (
"Link ID",
"", 0, 0, SFI_MAXINT, 384,
":flagstodo");
944 property Bool muted = (
"Muted",
"", FALSE,
":flagstodo");
945 property CSynth snet = (
"Synthesizer",
"Synthesis network to be used as instrument",
":flagstodo");
946 property Wave wave = (
"Wave",
"Wave to be used as instrument",
":flagstodo");
947 property Int midi_channel = (
"MIDI Channel",
"Midi channel assigned to this track, 0 uses internal per-track channel", 0, 0, 99, 1,
":flagstodo");
948 property Int n_voices = (
"Max Voices",
"Maximum number of voices for simultaneous playback", 16, 1, 256, 1,
":flagstodo");
949 property CSynth pnet = (
"Postprocessor",
"Synthesis network to be used as postprocessor",
":flagstodo");
950 property ItemSeq outputs = (
"Output Signals",
"Mixer busses used as output for this track",
":flagstodo");
954 property SfiString out_port_1 = (
"Output Port 1",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
955 property SfiString out_port_2 = (
"Output Port 2",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
956 property SfiString out_port_3 = (
"Output Port 3",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
957 property SfiString out_port_4 = (
"Output Port 4",
"The port name is a unique name to establish input<->output port relationships",
":flagstodo");
961 property SfiString out_port_1 = (
"out-port-1",
"",
":flagstodo");
962 property SfiString out_port_2 = (
"out-port-2",
"",
":flagstodo");
963 property SfiString out_port_3 = (
"out-port-3",
"",
":flagstodo");
964 property SfiString out_port_4 = (
"out-port-4",
"",
":flagstodo");
968 void request_pcm_position () {
969 Info help =
"Request emission of the ::notify_pcm_position signal.";
972 Info help =
"Set wave to play from editable sample, bypassing undo and storage mechanisms.";
973 In esample = (
"esample",
"Editable Sample",
":flagstodo");
975 signal notify_pcm_position (Num a, Int b);
976 property Wave wave = (
"Wave",
"Wave used as oscillator source",
":flagstodo");
977 property Int channel = (
"Channel",
"The audio channel to play, usually 1 is left, 2 is right", 1, 1, 256, 2,
":flagstodo");
978 property Real fm_perc = (
"Input Modulation [%]",
"Modulation Strength for linear frequency modulation",
":flagstodo");
979 property Bool exponential_fm = (
"Exponential FM",
"Perform exponential frequency modulation instead of linear", FALSE,
":flagstodo");
980 property Real fm_n_octaves = (
"Octaves",
"Number of octaves to be affected by exponential frequency modulation",
":flagstodo");
984 property Int midi_channel = (
"MIDI Channel",
"Input MIDI channel, 0 uses network's default channel", 0, 0, 99, 1,
":flagstodo");
985 property MidiSignalType control_1 = (
"Signal 1",
"",
":flagstodo");
986 property MidiSignalType control_2 = (
"Signal 2",
"",
":flagstodo");
987 property MidiSignalType control_3 = (
"Signal 3",
"",
":flagstodo");
988 property MidiSignalType control_4 = (
"Signal 4",
"",
":flagstodo");
995 Real chunk_get_mix_freq (Int chunk_index) {
996 Info help =
"Retrieve mixing frequency of a wave chunk.";
997 In chunk_index = (
"Chunk Index",
"Index of chunk", 0, 0, SFI_MAXINT, 1,
":flagstodo");
998 Out mix_freq = (
"mix-freq",
"",
":flagstodo");
1000 Real chunk_get_osc_freq (Int chunk_index) {
1001 Info help =
"Retrieve oscillating frequency of a wave chunk.";
1002 In chunk_index = (
"Chunk Index",
"Index of chunk", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1003 Out osc_freq = (
"osc-freq",
"",
":flagstodo");
1005 ErrorType load_wave (SfiString file_name, SfiString wave_name) {
1006 Info help =
"Load sample chunks from a wave file";
1007 In file_name = (
"File Name",
"The wave file to read wave chunks from",
":flagstodo");
1008 In wave_name = (
"Wave Name",
"The name of the wave to read wave chunks from",
":flagstodo");
1009 Out error = (
"Error",
"BSE error type",
":flagstodo");
1011 Int n_wave_chunks () {
1012 Info help =
"Get the number of wave chunks of a wave";
1013 Out n_chunks = (
"Number of Wave Chunks",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1015 EditableSample use_editable (Int chunk_index) {
1016 Info help =
"Retrieve an editable sample object for a wave chunk.";
1017 In chunk_index = (
"chunk-index",
"Index of chunk to edit", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1018 Out esample = (
"esample",
"Editable sample",
":flagstodo");
1020 property Bool locator_set = (
"Locator Set",
"", FALSE,
":flagstodo");
1021 property SfiString file_name = (
"File Name",
"",
":flagstodo");
1022 property SfiString wave_name = (
"Wave Name",
"",
":flagstodo");
1026 property Int midi_channel = (
"MIDI Channel",
"Input MIDI channel, 0 uses network's default channel", 0, 0, 99, 1,
":flagstodo");
1031 Info help =
"Close an opened sample.";
1033 FloatSeq collect_stats (Int voffset, Real offset_scale, Int block_size, Int stepping, Int max_pairs) {
1034 Info help =
"Collect statistics from sample blocks as (minimum, maximum) pairs.";
1035 In voffset = (
"voffset",
"Offset of first stat block", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1036 In offset_scale = (
"offset-scale",
"Factor to scale voffset increments with",
":flagstodo");
1037 In block_size = (
"block-size",
"Block size to compute stat pairs from", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1038 In stepping = (
"stepping",
"Stepping within a stat block", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1039 In max_pairs = (
"max-pairs",
"Maximum number of (min, max) pairs to collect", 1, 0, SFI_MAXINT, 1,
":flagstodo");
1040 Out sample_block = (
"sample-block",
"Block of samples",
":flagstodo");
1043 Info help =
"Return the number of values in the sample.";
1044 Out length = (
"length",
"Number of values", 1, 0, SFI_MAXINT, 1,
":flagstodo");
1046 Int get_n_channels () {
1047 Info help =
"Return the number of channels in the sample.";
1048 Out n_channels = (
"n-channels",
"Number of channels", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1050 Real get_osc_freq () {
1051 Info help =
"Return the oscillator frequency for the sample.";
1052 Out osc_freq = (
"osc-freq",
"Oscillator Frequency",
":flagstodo");
1055 Info help =
"Open the sample for reading.";
1056 Out error = (
"Error",
"",
":flagstodo");
1058 FloatSeq read_samples (Int voffset) {
1059 Info help =
"Read a set of samples from a specific offset.";
1060 In voffset = (
"voffset",
"Value offset", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1061 Out sample_block = (
"sample-block",
"Block of samples",
":flagstodo");
1068 Info help =
"Retrieve an action of this janitor.";
1069 In nth_action = (
"Nth Action",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1070 Out action = (
"Action",
"",
":flagstodo");
1072 SfiString get_action_blurb (Int nth_action) {
1073 Info help =
"Retrieve the help string of an action of this janitor.";
1074 In nth_action = (
"Nth Action",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1075 Out action_blurb = (
"Action Blurb",
"",
":flagstodo");
1077 SfiString get_action_name (Int nth_action) {
1078 Info help =
"Retrieve the name of an action of this janitor.";
1079 In nth_action = (
"Nth Action",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1080 Out action_name = (
"Action Name",
"",
":flagstodo");
1083 Info help =
"Retrieve the procedure name of this janitor.";
1084 Out proc_name = (
"Proc Name",
"",
":flagstodo");
1087 Info help =
"Retrieve the script name of this janitor.";
1088 Out script_name = (
"Script Name",
"",
":flagstodo");
1091 Info help =
"Kill a currently running janitor.";
1094 Info help =
"Retrieve number of user actions of this janitor.";
1095 Out n_actions = (
"N Actions",
"", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1097 void trigger_action (
SfiString action) {
1098 Info help =
"Trigger an installed user action of this janitor.";
1099 In action = (
"Action",
"",
":flagstodo");
1102 signal progress (Real a);
1105 property SfiString ident = (
"Script Identifier",
"",
":flagstodo");
1106 property Bool connected = (
"Connected",
"", FALSE,
":flagstodo");
1107 property SfiString status_message = (
"Status Message",
"",
":flagstodo");
1108 property Int exit_code = (
"Exit Code",
"", 0, -256, 256, 0,
":flagstodo");
1109 property SfiString exit_reason = (
"Exit Reason",
"",
":flagstodo");
1115 interface Part : Item {
1116 signal range_changed (Int a, Int b, Int c, Int d);
1118 property Int n_channels = (
"Channels",
"", 1, 1, 4132, 4,
":flagstodo");
1119 property Int last_tick = (
"Last Tick",
"", 0, 0, SFI_MAXINT, 384,
":flagstodo");
1123 Int create_entry () {
1124 Info help =
"Create a new entry in a data pocket. Entries have a unique ID which is required to set values in a data pocket.";
1125 Out entry_id = (
"Entry ID",
"The unique pocket entry ID", 1, 1, SFI_MAXINT, 1,
":flagstodo");
1127 ErrorType delete_entry (Int entry_id) {
1128 Info help =
"Delete an existing entry from a data pocket";
1129 In entry_id = (
"Entry ID",
"The unique pocket entry ID", 1, 1, SFI_MAXINT, 1,
":flagstodo");
1130 Out error = (
"Error",
"BSE error code",
":flagstodo");
1132 Real get_float (Int entry_id,
SfiString name) {
1133 Info help =
"Retrieve a previously set floating point value from a data pocket entry.";
1134 In entry_id = (
"Entry ID",
"The unique pocket entry ID", 1, 1, SFI_MAXINT, 1,
":flagstodo");
1135 In name = (
"Name",
"Name for the value",
":flagstodo");
1136 Out number = (
"Number",
"The value stored in the data pocket entry",
":flagstodo");
1138 Int get_int (Int entry_id,
SfiString name) {
1139 Info help =
"Retrieve a previously set integer value from a data pocket entry.";
1140 In entry_id = (
"Entry ID",
"The unique pocket entry ID", 1, 1, SFI_MAXINT, 1,
":flagstodo");
1141 In name = (
"Name",
"Name for the value",
":flagstodo");
1142 Out number = (
"Number",
"The value stored in the data pocket entry", 0, SFI_MININT, SFI_MAXINT, 1,
":flagstodo");
1144 Int get_n_entries () {
1145 Info help =
"Retrieve the number of entries created in a data pocket.";
1146 Out n_entries = (
"N Entries",
"The number of entries in use", 1, 0, SFI_MAXINT, 1,
":flagstodo");
1148 Int get_nth_entry_id (Int entry_index) {
1149 Info help =
"Retrieve the ID of an entry in the data pocket by sequential index.";
1150 In entry_index = (
"Entry Index",
"index into number of entries present", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1151 Out entry_id = (
"Entry ID",
"The unique pocket entry ID (or 0 if there's no such entry)", 0, 0, SFI_MAXINT, 1,
":flagstodo");
1154 Info help =
"Retrieve a previously set object reference from a data pocket entry.";
1155 In entry_id = (
"Entry ID",
"The unique pocket entry ID", 1, 1, SFI_MAXINT, 1,
":flagstodo");
1156 In name = (
"Name",
"Name for the value",
":flagstodo");
1157 Out item = (
"Item",
"The value stored in the data pocket entry",
":flagstodo");
1160 Info help =
"Retrieve a previously set string from a data pocket entry.";
1161 In entry_id = (
"Entry ID",
"The unique pocket entry ID", 1, 1, SFI_MAXINT, 1,
":flagstodo");
1162 In name = (
"Name",
"Name for the value",
":flagstodo");
1163 Out
string = (
"String",
"The value stored in the data pocket entry",
":flagstodo");
1165 ErrorType set_float (Int entry_id,
SfiString name, Real number) {
1166 Info help =
"Set a named floating point value in a data pocket entry. Names are required to distinguish different values from each other when accessing values in a data pocket.";
1167 In entry_id = (
"Entry ID",
"The unique pocket entry ID", 1, 1, SFI_MAXINT, 1,
":flagstodo");
1168 In name = (
"Name",
"Name for the value",
":flagstodo");
1169 In number = (
"Number",
"The value to store in the data pocket entry",
":flagstodo");
1170 Out error = (
"Error",
"BSE error code",
":flagstodo");
1172 ErrorType set_int (Int entry_id,
SfiString name, Int number) {
1173 Info help =
"Set a named integer value in a data pocket entry. Names are required to distinguish different values from each other when accessing values in a data pocket.";
1174 In entry_id = (
"Entry ID",
"The unique pocket entry ID", 1, 1, SFI_MAXINT, 1,
":flagstodo");
1175 In name = (
"Name",
"Name for the value",
":flagstodo");
1176 In number = (
"Number",
"The value to store in the data pocket entry", 0, SFI_MININT, SFI_MAXINT, 1,
":flagstodo");
1177 Out error = (
"Error",
"BSE error code",
":flagstodo");
1179 ErrorType set_object (Int entry_id,
SfiString name,
Item item) {
1180 Info help =
"Set a named object reference in a data pocket entry. Object references stored in a data pocket must exist within the same project that the data pocket belongs to";
1181 In entry_id = (
"Entry ID",
"The unique pocket entry ID", 1, 1, SFI_MAXINT, 1,
":flagstodo");
1182 In name = (
"Name",
"Name for the value",
":flagstodo");
1183 In item = (
"Item",
"The value to store in the data pocket entry",
":flagstodo");
1184 Out error = (
"Error",
"BSE error code",
":flagstodo");
1187 Info help =
"Set a named string in a data pocket entry.";
1188 In entry_id = (
"Entry ID",
"The unique pocket entry ID", 1, 1, SFI_MAXINT, 1,
":flagstodo");
1189 In name = (
"Name",
"Name for the value",
":flagstodo");
1190 In
string = (
"String",
"The value to store in the data pocket entry",
":flagstodo");
1191 Out error = (
"Error",
"BSE error code",
":flagstodo");
1193 signal entry_added (Int a);
1194 signal entry_removed (Int a);
1195 signal entry_changed (Int a);
1198 Category category_from_id (Int category_id) {
1199 Info help =
"Find a BSE category from it's unique ID.";
1200 In category_id = (
"Category ID",
"", 1, 1, SFI_MAXINT, 1,
":flagstodo");
1201 Out category = (
"Category",
"",
":flagstodo");
1203 CategorySeq categories_match (SfiString pattern) {
1204 Info help =
"List BSE categories according to a pattern match.";
1205 In pattern = (
"Pattern",
"Pattern to match category, supports '*' and '?' wildcards.",
":flagstodo");
1206 Out categories = (
"Categories",
"",
":flagstodo");
1208 CategorySeq categories_match_method (SfiString pattern, SfiString type) {
1209 Info help =
"List BSE categories according to a pattern, of type procedure and applying to a certain object type.";
1210 In pattern = (
"Pattern",
"Pattern to match category, supports '*' and '?' wildcards.",
":flagstodo");
1211 In type = (
"Type",
"Object base type for methods to conform to.",
":flagstodo");
1212 Out categories = (
"Categories",
"",
":flagstodo");
1214 CategorySeq categories_match_typed (SfiString pattern, SfiString type) {
1215 Info help =
"List BSE categories according to a pattern and type match.";
1216 In pattern = (
"Pattern",
"Pattern to match category, supports '*' and '?' wildcards.",
":flagstodo");
1217 In type = (
"Type",
"Base type for categories to conform to.",
":flagstodo");
1218 Out categories = (
"Categories",
"",
":flagstodo");
1220 NoteDescription note_describe (MusicalTuningType musical_tuning, Int note, Int fine_tune) {
1221 Info help =
"Describe a note, providing information about its octave, semitone, frequency, etc.";
1222 In musical_tuning = (
"Musical Tuning",
"",
":flagstodo");
1223 In note = (
"Note",
"", 69, 0, 131, 12,
":flagstodo");
1224 In fine_tune = (
"Fine Tune",
"", 0, -100, 100, 10,
":flagstodo");
1225 Out note_description = (
"Note Description",
"",
":flagstodo");
1227 NoteDescription note_describe_from_freq (MusicalTuningType musical_tuning, Real freq) {
1228 Info help =
"Describe a note, given its frequency.";
1229 In musical_tuning = (
"Musical Tuning",
"",
":flagstodo");
1230 In freq = (
"Frequency",
"",
":flagstodo");
1231 Out note_description = (
"Note Description",
"",
":flagstodo");
1233 NoteDescription note_construct (MusicalTuningType musical_tuning, Int semitone, Int octave, Int fine_tune) {
1234 Info help =
"Describe a note, given its semitone, octave and fine tune.";
1235 In musical_tuning = (
"Musical Tuning",
"",
":flagstodo");
1236 In semitone = (
"semitone",
"", 9, 0, 11, 1,
":flagstodo");
1237 In octave = (
"octave",
"", 1, -4, 6, 2,
":flagstodo");
1238 In fine_tune = (
"Fine Tune",
"", 0, -100, 100, 10,
":flagstodo");
1239 Out note_description = (
"Note Description",
"",
":flagstodo");
1241 NoteDescription note_from_string (MusicalTuningType musical_tuning, SfiString name) {
1242 Info help =
"Describe a note, given its name and octave offset.";
1243 In musical_tuning = (
"Musical Tuning",
"",
":flagstodo");
1244 In name = (
"Name",
"",
":flagstodo");
1245 Out note_description = (
"Note Description",
"",
":flagstodo");
1247 Int note_from_freq (MusicalTuningType musical_tuning, Real frequency) {
1248 Info help =
"Retrieve the note of a certain frequency.";
1249 In musical_tuning = (
"Musical Tuning",
"",
":flagstodo");
1250 In frequency = (
"Frequency",
"",
":flagstodo");
1251 Out note = (
"Note",
"", 69, 0, 131, 12,
":flagstodo");
1253 Real note_to_freq (MusicalTuningType musical_tuning, Int note, Int fine_tune) {
1254 Info help =
"Retrieve the frequency of a certain note.";
1255 In musical_tuning = (
"Musical Tuning",
"",
":flagstodo");
1256 In note = (
"Note",
"", 69, 0, 131, 12,
":flagstodo");
1257 In fine_tune = (
"Fine Tune",
"", 0, -100, 100, 10,
":flagstodo");
1258 Out frequency = (
"Frequency",
"",
":flagstodo");
1260 SampleFileInfo sample_file_info (SfiString file_name) {
1261 Info help =
"Load sample file info from file";
1262 In file_name = (
"File Name",
"The file to load info from",
":flagstodo");
1263 Out sample_file_info = (
"sample-file-info",
"",
":flagstodo");
1265 void script_add_action (SfiString action, SfiString name, SfiString blurb) {
1266 Info help =
"Install a user action for script control.";
1267 In action = (
"Action",
"",
":flagstodo");
1268 In name = (
"Name",
"",
":flagstodo");
1269 In blurb = (
"Blurb",
"",
":flagstodo");
1271 Janitor script_janitor () {
1272 Info help =
"Retrieve the connection dependant janitor object.";
1273 Out janitor = (
"Janitor",
"",
":flagstodo");
1275 void script_send_message (SfiString domain, SfiString msg_type, SfiString title, SfiString primary, SfiString secondary, SfiString details, SfiString config_check) {
1276 Info help =
"Send a message from a script.";
1277 In domain = (
"domain",
"",
":flagstodo");
1278 In msg_type = (
"msg-type",
"",
":flagstodo");
1279 In title = (
"title",
"",
":flagstodo");
1280 In primary = (
"primary",
"",
":flagstodo");
1281 In secondary = (
"secondary",
"",
":flagstodo");
1282 In details = (
"details",
"",
":flagstodo");
1283 In config_check = (
"config-check",
"",
":flagstodo");
1285 void script_progress (Real progress) {
1286 Info help =
"Indicate progress (from 0.0 to 1.0 or -1 for unknown amount).";
1287 In progress = (
"Progress",
"",
":flagstodo");
1289 void script_quit () {
1290 Info help =
"Exit a script succesfully (server side).";
1292 void script_remove_action (SfiString action) {
1293 Info help =
"Remove a previously installed user action from script control.";
1294 In action = (
"Action",
"",
":flagstodo");
1296 void script_set_status (SfiString message) {
1297 Info help =
"Alter script status message.";
1298 In message = (
"Message",
"",
":flagstodo");
1300 void wave_osc_mass_seek_perc (ItemSeq wosc_seq, Real pos_perc) {
1301 Info help =
"Seek a list of wave oscillators to a pcm position given in percentage. The oscillators will seek to the given position syncronously.";
1302 In wosc_seq = (
"Wave Oscilators",
"",
":flagstodo");
1303 In pos_perc = (
"pos-perc",
"",
":flagstodo");
1305 Real string_extract_number (SfiString
string, SfiString format, Real aux_base, Real dflt) {
1306 Info help =
"Retrieve numbers from a string.";
1307 In
string = (
"string",
"",
":flagstodo");
1308 In format = (
"format",
"",
":flagstodo");
1309 In aux_base = (
"aux-base",
"",
":flagstodo");
1310 In dflt = (
"dflt",
"",
":flagstodo");
1311 Out number = (
"number",
"",
":flagstodo");
1313 SfiString type_authors (SfiString type) {
1314 Info help =
"Retrieve the authors who implemented a specific type.";
1315 In type = (
"type",
"",
":flagstodo");
1316 Out
string = (
"string",
"",
":flagstodo");
1318 SfiString type_blurb (SfiString type) {
1319 Info help =
"Retrieve the description of a specific type.";
1320 In type = (
"type",
"",
":flagstodo");
1321 Out
string = (
"string",
"",
":flagstodo");
1323 SfiString type_license (SfiString type) {
1324 Info help =
"Retrieve the license of a type impementation.";
1325 In type = (
"type",
"",
":flagstodo");
1326 Out
string = (
"string",
"",
":flagstodo");
1328 SfiString type_options (SfiString type) {
1329 Info help =
"Retrieve the options of a specific type.";
1330 In type = (
"type",
"",
":flagstodo");
1331 Out
string = (
"string",
"",
":flagstodo");
Definition: bsehack.idl:643
Definition: bsehack.idl:907
Definition: bsehack.idl:1122
Interface for writing PCM wave data.
Definition: bseapi.idl:637
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:67
Definition: bsehack.idl:910
Base interface type for containers of Item derived types.
Definition: bseapi.idl:431
Base interface type for objects that can be added to a container.
Definition: bseapi.idl:346
Definition: bsehack.idl:647
Definition: bsehack.idl:629
Definition: bsehack.idl:967
Definition: bsehack.idl:1066
Source module for merging multiple synthesis contexts, used to implement polyphony.
Definition: bseapi.idl:427
Base interface type for synthesis modules with input or output streams.
Definition: bseapi.idl:422
Definition: bsehack.idl:983
Definition: bsehack.idl:898
Definition: bsehack.idl:953
Definition: bsehack.idl:904
Definition: bsehack.idl:960
Definition: bsehack.idl:614
Definition: bsebasics.genidl.hh:548
Interface for editable PCM wave samples.
Definition: bseapi.idl:570
Interface for PCM wave samples.
Definition: bseapi.idl:574