BEAST - Free Software Audio Synthesizer and Tracker  0.10.0
bsehack.idl
Go to the documentation of this file.
1  /* file generated by make bsehack.idl */
2 // bseprocidl: type BseREADWRITE excluded from generation
3 // bseprocidl: type BseSTORAGE excluded from generation
4 // bseprocidl: type BseSTANDARD excluded from generation
5 // bseprocidl: type BseStandardRdonly excluded from generation
6 // bseprocidl: type BseGUI excluded from generation
7 // bseprocidl: type BseGuiRdonly excluded from generation
8 // bseprocidl: type BseGuiReadable excluded from generation
9 // bseprocidl: type BseSkipDefault excluded from generation
10 // bseprocidl: type BseSkipUndo excluded from generation
11 // bseprocidl: type BseDEFAULT excluded from generation
12 // bseprocidl: type BseMAXINT excluded from generation
13 // bseprocidl: type BseMININT excluded from generation
14 // bseprocidl: type BseMAXNUM excluded from generation
15 // bseprocidl: type BseMINNUM excluded from generation
16 // bseprocidl: type BseMINDB excluded from generation
17 // bseprocidl: type BseTypeSeq excluded from generation
18 // bseprocidl: type BseFloatSeq excluded from generation
19 // bseprocidl: type BseMidiControlType excluded from generation
20 // bseprocidl: type BseMidiChannelEventType excluded from generation
21 // bseprocidl: type BseMidiChannelEvent excluded from generation
22 // bseprocidl: type BseNoteSeq excluded from generation
23 // bseprocidl: type BseIt3mSeq excluded from generation
24 // bseprocidl: type BsePropertyCandidates excluded from generation
25 // bseprocidl: type BseNoteSequence excluded from generation
26 // bseprocidl: type BseP1xelSeq excluded from generation
27 // bseprocidl: type BseIc0n excluded from generation
28 // bseprocidl: type BseCategory excluded from generation
29 // bseprocidl: type BseCategorySeq excluded from generation
30 // bseprocidl: type BseDefaultAuthor excluded from generation
31 // bseprocidl: type BseDefaultLicense excluded from generation
32 // bseprocidl: type BseUserDataPath excluded from generation
33 // bseprocidl: type BseDefaultSamplePath excluded from generation
34 // bseprocidl: type BseDefaultEffectsPath excluded from generation
35 // bseprocidl: type BseDefaultInstrumentsPath excluded from generation
36 // bseprocidl: type BseDefaultScriptsPath excluded from generation
37 // bseprocidl: type BseDefaultPluginsPath excluded from generation
38 // bseprocidl: type BseGConfig excluded from generation
39 // bseprocidl: type BseCxxBase excluded from generation
40 // bseprocidl: type BseEffect excluded from generation
41 // bseprocidl: type BseProbeFeatures excluded from generation
42 // bseprocidl: type BseProbe excluded from generation
43 // bseprocidl: type BseProbeSeq excluded from generation
44 // bseprocidl: type BseProbeRequest excluded from generation
45 // bseprocidl: type BseProbeRequestSeq excluded from generation
46 // bseprocidl: type BseSourceRequestProbes excluded from generation
47 // bseprocidl: type BseSourceMassRequest excluded from generation
48 // bseprocidl: type BseSourceGetMixFreq excluded from generation
49 namespace Bse {
50  enum BiquadFilterType {
51  BIQUAD_FILTER_RESONANT_LOWPASS = Enum (1, "lowpass"),
52  BIQUAD_FILTER_RESONANT_HIGHPASS = Enum (2, "highpass"),
53  };
54 
55  enum RegistrationType {
56  REGISTER_PLUGIN = Enum (1, "plugin"),
57  REGISTER_SCRIPT = Enum (2, "script"),
58  REGISTER_DONE = Enum (256, "done"),
59  };
60 
61  enum ErrorType {
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"),
130  };
131 
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"),
305  };
306 
307  enum ProjectState {
308  PROJECT_INACTIVE = Enum (0, "inactive"),
309  PROJECT_ACTIVE = Enum (1, "active"),
310  PROJECT_PLAYING = Enum (2, "playing"),
311  };
312 
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"),
323  };
324 
325  interface Bus;
326  interface CSynth;
327  interface EditableSample;
328  interface Janitor;
329  interface MidiNotifier;
330  interface MidiSynth;
331  interface Part;
332  interface Song;
333  interface Track;
334  interface Wave;
335  interface WaveRepo;
336  interface Item {
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");
341  }
342  void clear_undo () {
343  Info help = "Call the clear-undo function of the project corresponding to this item if any.";
344  }
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");
349  }
350  SfiString get_name () {
351  Info help = "Retrieve an item's name.";
352  Out name = ("Name", "", ":flagstodo");
353  }
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");
357  }
358  Item get_parent () {
359  Info help = "Retrieve an item's parent.";
360  Out parent = ("Parent", "", ":flagstodo");
361  }
362  Item get_project () {
363  Info help = "Retrieve an item's project.";
364  Out project = ("Project", "", ":flagstodo");
365  }
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");
370  }
371  Int get_seqid () {
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");
374  }
375  SfiString get_type () {
376  Info help = "Retrieve an item's type name.";
377  Out string = ("string", "", ":flagstodo");
378  }
379  SfiString get_type_authors () {
380  Info help = "Retrieve authors of an item's type implementation.";
381  Out string = ("string", "", ":flagstodo");
382  }
383  SfiString get_type_blurb () {
384  Info help = "Retrieve an item's type description.";
385  Out string = ("string", "", ":flagstodo");
386  }
387  SfiString get_type_license () {
388  Info help = "Retrieve the license for an item's type implementation.";
389  Out string = ("string", "", ":flagstodo");
390  }
391  SfiString get_type_name () {
392  Info help = "Retrieve an item's type name.";
393  Out string = ("string", "", ":flagstodo");
394  }
395  SfiString get_uname_path () {
396  Info help = "Retrieve the project relative uname path for this item.";
397  Out uname_path = ("uname-path", "", ":flagstodo");
398  }
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");
402  }
403  Bool internal () {
404  Info help = "Check whether an item is internal, i.e. owned by another non-internal item.";
405  Out internal = ("Internal", "", FALSE, ":flagstodo");
406  }
407  void redo () {
408  Info help = "Call the redo function of the project corresponding to this item if any.";
409  }
410  void set_name (SfiString name) {
411  Info help = "Set an item's name.";
412  In name = ("Name", "", ":flagstodo");
413  }
414  void undo () {
415  Info help = "Call the undo function of the project corresponding to this item if any.";
416  }
417  void ungroup_undo () {
418  Info help = "Ends the undo grouping opened up by a previous group-undo() call.";
419  }
420  void unuse () {
421  Info help = "Decrement use count for when an item is not needed anymore.";
422  }
423  Item use () {
424  Info help = "Increment use count to keep an item alive.";
425  Out used_item = ("Item", "", ":flagstodo");
426  }
427  property Int seqid = ("Sequential ID", "", 0, 0, SFI_MAXINT, 1, ":flagstodo");
428  };
429 
430  interface Source : Item {
431  void clear_inputs () {
432  Info help = "Disconnect all module inputs.";
433  }
434  void clear_outputs () {
435  Info help = "Disconnect all module outputs.";
436  }
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");
441  }
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");
446  }
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");
451  }
452  Bool has_outputs () {
453  Info help = "Check whether a module has output channel connections.";
454  Out has_outputs = ("Has Outputs", "", FALSE, ":flagstodo");
455  }
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");
460  }
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");
465  }
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");
471  }
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");
476  }
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");
481  }
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");
486  }
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");
491  }
492  Bool is_prepared () {
493  Info help = "Check whether a source is prepared for synthesis processing.";
494  Out is_prepared = ("is-prepared", "", FALSE, ":flagstodo");
495  }
496  Int n_ichannels () {
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");
499  }
500  Int n_ochannels () {
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");
503  }
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");
508  }
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");
513  }
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");
518  }
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");
525  }
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");
532  }
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");
539  }
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");
544  }
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");
551  }
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");
558  }
559  signal probes (ProbeSeq a);
560  signal io_changed ();
561  property Real pos_x = ("Position X", "", ":flagstodo");
562  property Real pos_y = ("Position Y", "", ":flagstodo");
563  };
564 
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");
571  }
572  It3mSeq list_children () {
573  Info help = "Retrieve all immediate children of a container";
574  Out item_list = ("item-list", "", ":flagstodo");
575  }
576  signal item_added (Item a);
577  signal item_remove (Item a, Int b);
578  };
579 
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");
586  };
587 
588  interface SNet : Super {
590  };
591 
592  interface CSynth : SNet {
593  };
594 
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");
603  };
604 
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");
609  }
610  void ensure_track_links () {
611  Info help = "Ensure that each part in a song is inserted into at least one track.";
612  }
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");
617  }
618  Bus get_master_bus () {
619  Info help = "Retrieve master output bus of a song if it exists.";
620  Out bus = ("bus", "", ":flagstodo");
621  }
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");
629  }
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");
639  };
640 
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");
646  }
647  void remove_wave (Wave wave) {
648  Info help = "Remove a wave from repository";
649  In wave = ("Wave", "", ":flagstodo");
650  }
651  };
652 
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");
660  }
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");
665  }
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");
670  }
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");
675  }
676  MidiNotifier get_midi_notifier () {
677  Info help = "Retrieve the project's midi notifier object.";
678  Out midi_notifier = ("midi-notifier", "", ":flagstodo");
679  }
680  ProjectState get_state () {
681  Info help = "Retrieve the current project state.";
682  Out state = ("State", "Project playback/activation state", ":flagstodo");
683  }
684  It3mSeq get_supers () {
685  Info help = "Retrieve all supers of this project.";
686  Out super_list = ("super-list", "", ":flagstodo");
687  }
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");
691  }
692  void remove_snet (SNet snet) {
693  Info help = "Remove an existing synthesizer network from this project.";
694  In snet = ("SNet", "Synthesizer Network", ":flagstodo");
695  }
696  signal state_changed (ProjectState a);
697  property Bool dirty = ("dirty", "Whether project needs saving", FALSE, ":flagstodo");
698  };
699 
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");
707  };
708 
709  interface MidiVoiceInput : Source {
710  };
711 
712  interface PcmInput : Source {
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");
716  };
717 
718  interface Constant : Source {
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");
731  };
732 
733  interface WaveOsc : Source {
734  void request_pcm_position () {
735  Info help = "Request emission of the ::notify_pcm_position signal.";
736  }
737  void set_from_editable_sample (EditableSample esample) {
738  Info help = "Set wave to play from editable sample, bypassing undo and storage mechanisms.";
739  In esample = ("esample", "Editable Sample", ":flagstodo");
740  }
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");
747  };
748 
749  interface SubSynth : Source {
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");
767  };
768 
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");
779  };
780 
781  interface SubOPort : Source {
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");
786  };
787 
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");
793  };
794 
795  interface Wave : Source {
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");
800  }
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");
805  }
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");
809  }
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");
814  }
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");
818  };
819 
820  interface MidiVoiceSwitch : Source {
821  };
822 
823  interface MidiInput : Source {
824  property Int midi_channel = ("MIDI Channel", "Input MIDI channel, 0 uses network's default channel", 0, 0, 99, 1, ":flagstodo");
825  };
826 
827  interface LadspaModule : Source {
828  };
829 
830  interface PcmOutput : Source {
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");
834  };
835 
836  interface StandardOsc : Source {
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");
849  };
850 
851  interface MidiController : Source {
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");
857  };
858 
859  interface ContextMerger : Source {
860  };
861 
862  interface Track : ContextMerger {
863  signal changed ();
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");
871  };
872 
873  interface BiquadFilter : Source {
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");
882  };
883 
884  interface SubIPort : Source {
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");
889  };
890 
891  interface InstrumentInput : SubIPort {
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");
896  };
897 
898  interface Snooper : Source {
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");
900  };
901 
902  interface Janitor : Item {
903  SfiString get_action (Int nth_action) {
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");
907  }
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");
912  }
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");
917  }
918  SfiString get_proc_name () {
919  Info help = "Retrieve the procedure name of this janitor.";
920  Out proc_name = ("Proc Name", "", ":flagstodo");
921  }
922  SfiString get_script_name () {
923  Info help = "Retrieve the script name of this janitor.";
924  Out script_name = ("Script Name", "", ":flagstodo");
925  }
926  void kill () {
927  Info help = "Kill a currently running janitor.";
928  }
929  Int n_actions () {
930  Info help = "Retrieve number of user actions of this janitor.";
931  Out n_actions = ("N Actions", "", 0, 0, SFI_MAXINT, 1, ":flagstodo");
932  }
933  void trigger_action (SfiString action) {
934  Info help = "Trigger an installed user action of this janitor.";
935  In action = ("Action", "", ":flagstodo");
936  }
937  signal action (SfiString a, Int b);
938  signal progress (Real a);
939  signal action_changed (SfiString a, Int b);
940  signal shutdown ();
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");
946  };
947 
948  interface MidiNotifier : Item {
949  };
950 
951  interface Part : Item {
952  signal range_changed (Int a, Int b, Int c, Int d);
953  signal links_changed ();
954  property Int n_channels = ("Channels", "", 1, 1, 4132, 4, ":flagstodo");
955  property Int last_tick = ("Last Tick", "", 0, 0, SFI_MAXINT, 384, ":flagstodo");
956  };
957 
958  interface EditableSample : Item {
959  void close () {
960  Info help = "Close an opened sample.";
961  }
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");
970  }
971  Int get_length () {
972  Info help = "Return the number of values in the sample.";
973  Out length = ("length", "Number of values", 1, 0, SFI_MAXINT, 1, ":flagstodo");
974  }
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");
978  }
979  Real get_osc_freq () {
980  Info help = "Return the oscillator frequency for the sample.";
981  Out osc_freq = ("osc-freq", "Oscillator Frequency", ":flagstodo");
982  }
983  ErrorType open () {
984  Info help = "Open the sample for reading.";
985  Out error = ("Error", "", ":flagstodo");
986  }
987  signal changed ();
988  };
989 
990  interface PcmWriter : Item {
991  };
992 
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");
997  }
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");
1003  }
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");
1009  }
1010  Janitor script_janitor () {
1011  Info help = "Retrieve the connection dependant janitor object.";
1012  Out janitor = ("Janitor", "", ":flagstodo");
1013  }
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");
1023  }
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");
1027  }
1028  void script_quit () {
1029  Info help = "Exit a script succesfully (server side).";
1030  }
1031  void script_remove_action (SfiString action) {
1032  Info help = "Remove a previously installed user action from script control.";
1033  In action = ("Action", "", ":flagstodo");
1034  }
1035  void script_set_status (SfiString message) {
1036  Info help = "Alter script status message.";
1037  In message = ("Message", "", ":flagstodo");
1038  }
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");
1043  }
1044 };
Definition: bsehack.idl:898
Definition: bsehack.idl:827
Definition: bsehack.idl:823
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
signal
Definition: bsehack.idl:788
Definition: bsehack.idl:718
Definition: bsehack.idl:712
Interface for editable PCM wave samples.
Definition: bseapi.idl:785
Interface for PCM wave samples.
Definition: bseapi.idl:789
Definition: bsehack.idl:891
Definition: bsehack.idl:709
Definition: sficxx.hh:16
Interface for MIDI event notification.
Definition: bseapi.idl:797