BEAST/BSE - Better Audio System and Sound Engine  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bsecore.genidl.hh
Go to the documentation of this file.
1 
2 /*-------- begin ../sfi/sfidl generated code --------*/
3 
4 
5 
6 #include <bse/bsecxxplugin.hh>
7 
8 
9 /* enum prototypes */
10 namespace Bse {
11 #define BSE_TYPE_MUSICAL_TUNING_TYPE BSE_CXX_DECLARED_ENUM_TYPE (Bse, MusicalTuningType)
12 #define BSE_TYPE_MIDI_SIGNAL_TYPE BSE_CXX_DECLARED_ENUM_TYPE (Bse, MidiSignalType)
13 #define BSE_TYPE_MIDI_CONTROL_TYPE BSE_CXX_DECLARED_ENUM_TYPE (Bse, MidiControlType)
14 #define BSE_TYPE_MIDI_CHANNEL_EVENT_TYPE BSE_CXX_DECLARED_ENUM_TYPE (Bse, MidiChannelEventType)
15 #define BSE_TYPE_MSG_TYPE BSE_CXX_DECLARED_ENUM_TYPE (Bse, MsgType)
16 #define BSE_TYPE_THREAD_STATE BSE_CXX_DECLARED_ENUM_TYPE (Bse, ThreadState)
17 
18 
19 /* choice prototypes */
20 static SfiChoiceValues MusicalTuningType_choice_values();
21 static SfiChoiceValues MidiSignalType_choice_values();
22 static SfiChoiceValues MidiControlType_choice_values();
23 static SfiChoiceValues MidiChannelEventType_choice_values();
24 static SfiChoiceValues MsgType_choice_values();
25 static SfiChoiceValues ThreadState_choice_values();
26 
27 
28 /* record prototypes */
29 class MidiChannelEvent;
30 typedef Sfi::RecordHandle<MidiChannelEvent> MidiChannelEventHandle;
31 #define BSE_TYPE_MIDI_CHANNEL_EVENT BSE_CXX_DECLARED_RECORD_TYPE (Bse, MidiChannelEvent)
32 class PropertyCandidates;
33 typedef Sfi::RecordHandle<PropertyCandidates> PropertyCandidatesHandle;
34 #define BSE_TYPE_PROPERTY_CANDIDATES BSE_CXX_DECLARED_RECORD_TYPE (Bse, PropertyCandidates)
35 class PartNote;
36 typedef Sfi::RecordHandle<PartNote> PartNoteHandle;
37 #define BSE_TYPE_PART_NOTE BSE_CXX_DECLARED_RECORD_TYPE (Bse, PartNote)
38 class PartControl;
39 typedef Sfi::RecordHandle<PartControl> PartControlHandle;
40 #define BSE_TYPE_PART_CONTROL BSE_CXX_DECLARED_RECORD_TYPE (Bse, PartControl)
41 class NoteDescription;
42 typedef Sfi::RecordHandle<NoteDescription> NoteDescriptionHandle;
43 #define BSE_TYPE_NOTE_DESCRIPTION BSE_CXX_DECLARED_RECORD_TYPE (Bse, NoteDescription)
44 class NoteSequence;
45 typedef Sfi::RecordHandle<NoteSequence> NoteSequenceHandle;
46 #define BSE_TYPE_NOTE_SEQUENCE BSE_CXX_DECLARED_RECORD_TYPE (Bse, NoteSequence)
47 class Icon;
48 typedef Sfi::RecordHandle<Icon> IconHandle;
49 #define BSE_TYPE_ICON BSE_CXX_DECLARED_RECORD_TYPE (Bse, Icon)
50 class Category;
51 typedef Sfi::RecordHandle<Category> CategoryHandle;
52 #define BSE_TYPE_CATEGORY BSE_CXX_DECLARED_RECORD_TYPE (Bse, Category)
53 class Dot;
54 typedef Sfi::RecordHandle<Dot> DotHandle;
55 #define BSE_TYPE_DOT BSE_CXX_DECLARED_RECORD_TYPE (Bse, Dot)
56 class PartLink;
57 typedef Sfi::RecordHandle<PartLink> PartLinkHandle;
58 #define BSE_TYPE_PART_LINK BSE_CXX_DECLARED_RECORD_TYPE (Bse, PartLink)
59 class TrackPart;
60 typedef Sfi::RecordHandle<TrackPart> TrackPartHandle;
61 #define BSE_TYPE_TRACK_PART BSE_CXX_DECLARED_RECORD_TYPE (Bse, TrackPart)
62 class SongTiming;
63 typedef Sfi::RecordHandle<SongTiming> SongTimingHandle;
64 #define BSE_TYPE_SONG_TIMING BSE_CXX_DECLARED_RECORD_TYPE (Bse, SongTiming)
65 class SampleFileInfo;
66 typedef Sfi::RecordHandle<SampleFileInfo> SampleFileInfoHandle;
67 #define BSE_TYPE_SAMPLE_FILE_INFO BSE_CXX_DECLARED_RECORD_TYPE (Bse, SampleFileInfo)
68 class Message;
69 typedef Sfi::RecordHandle<Message> MessageHandle;
70 #define BSE_TYPE_MESSAGE BSE_CXX_DECLARED_RECORD_TYPE (Bse, Message)
71 class ThreadInfo;
72 typedef Sfi::RecordHandle<ThreadInfo> ThreadInfoHandle;
73 #define BSE_TYPE_THREAD_INFO BSE_CXX_DECLARED_RECORD_TYPE (Bse, ThreadInfo)
74 class ThreadTotals;
75 typedef Sfi::RecordHandle<ThreadTotals> ThreadTotalsHandle;
76 #define BSE_TYPE_THREAD_TOTALS BSE_CXX_DECLARED_RECORD_TYPE (Bse, ThreadTotals)
77 class GConfig;
78 typedef Sfi::RecordHandle<GConfig> GConfigHandle;
79 #define BSE_TYPE_GCONFIG BSE_CXX_DECLARED_RECORD_TYPE (Bse, GConfig)
80 
81 
82 /* sequence prototypes */
83 class IntSeq;
84 #define BSE_TYPE_INT_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, IntSeq)
85 class TypeSeq;
86 #define BSE_TYPE_TYPE_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, TypeSeq)
87 class StringSeq;
88 #define BSE_TYPE_STRING_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, StringSeq)
89 class FloatSeq;
90 #define BSE_TYPE_FLOAT_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, FloatSeq)
91 class NoteSeq;
92 #define BSE_TYPE_NOTE_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, NoteSeq)
93 class ItemSeq;
94 #define BSE_TYPE_ITEM_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, ItemSeq)
95 class PartNoteSeq;
96 #define BSE_TYPE_PART_NOTE_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, PartNoteSeq)
97 class PartControlSeq;
98 #define BSE_TYPE_PART_CONTROL_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, PartControlSeq)
99 class PixelSeq;
100 #define BSE_TYPE_PIXEL_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, PixelSeq)
101 class CategorySeq;
102 #define BSE_TYPE_CATEGORY_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, CategorySeq)
103 class DotSeq;
104 #define BSE_TYPE_DOT_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, DotSeq)
105 class PartLinkSeq;
106 #define BSE_TYPE_PART_LINK_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, PartLinkSeq)
107 class TrackPartSeq;
108 #define BSE_TYPE_TRACK_PART_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, TrackPartSeq)
109 class ThreadInfoSeq;
110 #define BSE_TYPE_THREAD_INFO_SEQ BSE_CXX_DECLARED_SEQUENCE_TYPE (Bse, ThreadInfoSeq)
111 
112 
113 /* class prototypes */
114 
115 
116 /* enum definitions */
117 enum MusicalTuningType {
118  MUSICAL_TUNING_12_TET = 1,
119  MUSICAL_TUNING_7_TET = 2,
120  MUSICAL_TUNING_5_TET = 3,
121  MUSICAL_TUNING_DIATONIC_SCALE = 4,
122  MUSICAL_TUNING_INDIAN_SCALE = 5,
123  MUSICAL_TUNING_PYTHAGOREAN_TUNING = 6,
124  MUSICAL_TUNING_PENTATONIC_5_LIMIT = 7,
125  MUSICAL_TUNING_PENTATONIC_BLUES = 8,
126  MUSICAL_TUNING_PENTATONIC_GOGO = 9,
127  MUSICAL_TUNING_QUARTER_COMMA_MEANTONE = 10,
128  MUSICAL_TUNING_SILBERMANN_SORGE = 11,
129  MUSICAL_TUNING_WERCKMEISTER_3 = 12,
130  MUSICAL_TUNING_WERCKMEISTER_4 = 13,
131  MUSICAL_TUNING_WERCKMEISTER_5 = 14,
132  MUSICAL_TUNING_WERCKMEISTER_6 = 15,
133  MUSICAL_TUNING_KIRNBERGER_3 = 16,
134  MUSICAL_TUNING_YOUNG = 17,
135 };
136 enum MidiSignalType {
137  MIDI_SIGNAL_PROGRAM = 1,
138  MIDI_SIGNAL_PRESSURE = 2,
139  MIDI_SIGNAL_PITCH_BEND = 3,
140  MIDI_SIGNAL_VELOCITY = 4,
141  MIDI_SIGNAL_FINE_TUNE = 5,
142  MIDI_SIGNAL_CONTINUOUS_0 = 64,
143  MIDI_SIGNAL_CONTINUOUS_1 = 65,
144  MIDI_SIGNAL_CONTINUOUS_2 = 66,
145  MIDI_SIGNAL_CONTINUOUS_3 = 67,
146  MIDI_SIGNAL_CONTINUOUS_4 = 68,
147  MIDI_SIGNAL_CONTINUOUS_5 = 69,
148  MIDI_SIGNAL_CONTINUOUS_6 = 70,
149  MIDI_SIGNAL_CONTINUOUS_7 = 71,
150  MIDI_SIGNAL_CONTINUOUS_8 = 72,
151  MIDI_SIGNAL_CONTINUOUS_9 = 73,
152  MIDI_SIGNAL_CONTINUOUS_10 = 74,
153  MIDI_SIGNAL_CONTINUOUS_11 = 75,
154  MIDI_SIGNAL_CONTINUOUS_12 = 76,
155  MIDI_SIGNAL_CONTINUOUS_13 = 77,
156  MIDI_SIGNAL_CONTINUOUS_14 = 78,
157  MIDI_SIGNAL_CONTINUOUS_15 = 79,
158  MIDI_SIGNAL_CONTINUOUS_16 = 80,
159  MIDI_SIGNAL_CONTINUOUS_17 = 81,
160  MIDI_SIGNAL_CONTINUOUS_18 = 82,
161  MIDI_SIGNAL_CONTINUOUS_19 = 83,
162  MIDI_SIGNAL_CONTINUOUS_20 = 84,
163  MIDI_SIGNAL_CONTINUOUS_21 = 85,
164  MIDI_SIGNAL_CONTINUOUS_22 = 86,
165  MIDI_SIGNAL_CONTINUOUS_23 = 87,
166  MIDI_SIGNAL_CONTINUOUS_24 = 88,
167  MIDI_SIGNAL_CONTINUOUS_25 = 89,
168  MIDI_SIGNAL_CONTINUOUS_26 = 90,
169  MIDI_SIGNAL_CONTINUOUS_27 = 91,
170  MIDI_SIGNAL_CONTINUOUS_28 = 92,
171  MIDI_SIGNAL_CONTINUOUS_29 = 93,
172  MIDI_SIGNAL_CONTINUOUS_30 = 94,
173  MIDI_SIGNAL_CONTINUOUS_31 = 95,
174  MIDI_SIGNAL_CONSTANT_HIGH = 96,
175  MIDI_SIGNAL_CONSTANT_CENTER = 97,
176  MIDI_SIGNAL_CONSTANT_LOW = 98,
177  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER = 99,
178  MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH = 100,
179  MIDI_SIGNAL_PARAMETER = 101,
180  MIDI_SIGNAL_NON_PARAMETER = 102,
181  MIDI_SIGNAL_CONTROL_0 = 128,
182  MIDI_SIGNAL_CONTROL_1 = 129,
183  MIDI_SIGNAL_CONTROL_2 = 130,
184  MIDI_SIGNAL_CONTROL_3 = 131,
185  MIDI_SIGNAL_CONTROL_4 = 132,
186  MIDI_SIGNAL_CONTROL_5 = 133,
187  MIDI_SIGNAL_CONTROL_6 = 134,
188  MIDI_SIGNAL_CONTROL_7 = 135,
189  MIDI_SIGNAL_CONTROL_8 = 136,
190  MIDI_SIGNAL_CONTROL_9 = 137,
191  MIDI_SIGNAL_CONTROL_10 = 138,
192  MIDI_SIGNAL_CONTROL_11 = 139,
193  MIDI_SIGNAL_CONTROL_12 = 140,
194  MIDI_SIGNAL_CONTROL_13 = 141,
195  MIDI_SIGNAL_CONTROL_14 = 142,
196  MIDI_SIGNAL_CONTROL_15 = 143,
197  MIDI_SIGNAL_CONTROL_16 = 144,
198  MIDI_SIGNAL_CONTROL_17 = 145,
199  MIDI_SIGNAL_CONTROL_18 = 146,
200  MIDI_SIGNAL_CONTROL_19 = 147,
201  MIDI_SIGNAL_CONTROL_20 = 148,
202  MIDI_SIGNAL_CONTROL_21 = 149,
203  MIDI_SIGNAL_CONTROL_22 = 150,
204  MIDI_SIGNAL_CONTROL_23 = 151,
205  MIDI_SIGNAL_CONTROL_24 = 152,
206  MIDI_SIGNAL_CONTROL_25 = 153,
207  MIDI_SIGNAL_CONTROL_26 = 154,
208  MIDI_SIGNAL_CONTROL_27 = 155,
209  MIDI_SIGNAL_CONTROL_28 = 156,
210  MIDI_SIGNAL_CONTROL_29 = 157,
211  MIDI_SIGNAL_CONTROL_30 = 158,
212  MIDI_SIGNAL_CONTROL_31 = 159,
213  MIDI_SIGNAL_CONTROL_32 = 160,
214  MIDI_SIGNAL_CONTROL_33 = 161,
215  MIDI_SIGNAL_CONTROL_34 = 162,
216  MIDI_SIGNAL_CONTROL_35 = 163,
217  MIDI_SIGNAL_CONTROL_36 = 164,
218  MIDI_SIGNAL_CONTROL_37 = 165,
219  MIDI_SIGNAL_CONTROL_38 = 166,
220  MIDI_SIGNAL_CONTROL_39 = 167,
221  MIDI_SIGNAL_CONTROL_40 = 168,
222  MIDI_SIGNAL_CONTROL_41 = 169,
223  MIDI_SIGNAL_CONTROL_42 = 170,
224  MIDI_SIGNAL_CONTROL_43 = 171,
225  MIDI_SIGNAL_CONTROL_44 = 172,
226  MIDI_SIGNAL_CONTROL_45 = 173,
227  MIDI_SIGNAL_CONTROL_46 = 174,
228  MIDI_SIGNAL_CONTROL_47 = 175,
229  MIDI_SIGNAL_CONTROL_48 = 176,
230  MIDI_SIGNAL_CONTROL_49 = 177,
231  MIDI_SIGNAL_CONTROL_50 = 178,
232  MIDI_SIGNAL_CONTROL_51 = 179,
233  MIDI_SIGNAL_CONTROL_52 = 180,
234  MIDI_SIGNAL_CONTROL_53 = 181,
235  MIDI_SIGNAL_CONTROL_54 = 182,
236  MIDI_SIGNAL_CONTROL_55 = 183,
237  MIDI_SIGNAL_CONTROL_56 = 184,
238  MIDI_SIGNAL_CONTROL_57 = 185,
239  MIDI_SIGNAL_CONTROL_58 = 186,
240  MIDI_SIGNAL_CONTROL_59 = 187,
241  MIDI_SIGNAL_CONTROL_60 = 188,
242  MIDI_SIGNAL_CONTROL_61 = 189,
243  MIDI_SIGNAL_CONTROL_62 = 190,
244  MIDI_SIGNAL_CONTROL_63 = 191,
245  MIDI_SIGNAL_CONTROL_64 = 192,
246  MIDI_SIGNAL_CONTROL_65 = 193,
247  MIDI_SIGNAL_CONTROL_66 = 194,
248  MIDI_SIGNAL_CONTROL_67 = 195,
249  MIDI_SIGNAL_CONTROL_68 = 196,
250  MIDI_SIGNAL_CONTROL_69 = 197,
251  MIDI_SIGNAL_CONTROL_70 = 198,
252  MIDI_SIGNAL_CONTROL_71 = 199,
253  MIDI_SIGNAL_CONTROL_72 = 200,
254  MIDI_SIGNAL_CONTROL_73 = 201,
255  MIDI_SIGNAL_CONTROL_74 = 202,
256  MIDI_SIGNAL_CONTROL_75 = 203,
257  MIDI_SIGNAL_CONTROL_76 = 204,
258  MIDI_SIGNAL_CONTROL_77 = 205,
259  MIDI_SIGNAL_CONTROL_78 = 206,
260  MIDI_SIGNAL_CONTROL_79 = 207,
261  MIDI_SIGNAL_CONTROL_80 = 208,
262  MIDI_SIGNAL_CONTROL_81 = 209,
263  MIDI_SIGNAL_CONTROL_82 = 210,
264  MIDI_SIGNAL_CONTROL_83 = 211,
265  MIDI_SIGNAL_CONTROL_84 = 212,
266  MIDI_SIGNAL_CONTROL_85 = 213,
267  MIDI_SIGNAL_CONTROL_86 = 214,
268  MIDI_SIGNAL_CONTROL_87 = 215,
269  MIDI_SIGNAL_CONTROL_88 = 216,
270  MIDI_SIGNAL_CONTROL_89 = 217,
271  MIDI_SIGNAL_CONTROL_90 = 218,
272  MIDI_SIGNAL_CONTROL_91 = 219,
273  MIDI_SIGNAL_CONTROL_92 = 220,
274  MIDI_SIGNAL_CONTROL_93 = 221,
275  MIDI_SIGNAL_CONTROL_94 = 222,
276  MIDI_SIGNAL_CONTROL_95 = 223,
277  MIDI_SIGNAL_CONTROL_96 = 224,
278  MIDI_SIGNAL_CONTROL_97 = 225,
279  MIDI_SIGNAL_CONTROL_98 = 226,
280  MIDI_SIGNAL_CONTROL_99 = 227,
281  MIDI_SIGNAL_CONTROL_100 = 228,
282  MIDI_SIGNAL_CONTROL_101 = 229,
283  MIDI_SIGNAL_CONTROL_102 = 230,
284  MIDI_SIGNAL_CONTROL_103 = 231,
285  MIDI_SIGNAL_CONTROL_104 = 232,
286  MIDI_SIGNAL_CONTROL_105 = 233,
287  MIDI_SIGNAL_CONTROL_106 = 234,
288  MIDI_SIGNAL_CONTROL_107 = 235,
289  MIDI_SIGNAL_CONTROL_108 = 236,
290  MIDI_SIGNAL_CONTROL_109 = 237,
291  MIDI_SIGNAL_CONTROL_110 = 238,
292  MIDI_SIGNAL_CONTROL_111 = 239,
293  MIDI_SIGNAL_CONTROL_112 = 240,
294  MIDI_SIGNAL_CONTROL_113 = 241,
295  MIDI_SIGNAL_CONTROL_114 = 242,
296  MIDI_SIGNAL_CONTROL_115 = 243,
297  MIDI_SIGNAL_CONTROL_116 = 244,
298  MIDI_SIGNAL_CONTROL_117 = 245,
299  MIDI_SIGNAL_CONTROL_118 = 246,
300  MIDI_SIGNAL_CONTROL_119 = 247,
301  MIDI_SIGNAL_CONTROL_120 = 248,
302  MIDI_SIGNAL_CONTROL_121 = 249,
303  MIDI_SIGNAL_CONTROL_122 = 250,
304  MIDI_SIGNAL_CONTROL_123 = 251,
305  MIDI_SIGNAL_CONTROL_124 = 252,
306  MIDI_SIGNAL_CONTROL_125 = 253,
307  MIDI_SIGNAL_CONTROL_126 = 254,
308  MIDI_SIGNAL_CONTROL_127 = 255,
309 };
310 enum MidiControlType {
311  MIDI_CONTROL_NONE = 0,
312  MIDI_CONTROL_CONTINUOUS_0 = 64,
313  MIDI_CONTROL_CONTINUOUS_1 = 65,
314  MIDI_CONTROL_CONTINUOUS_2 = 66,
315  MIDI_CONTROL_CONTINUOUS_3 = 67,
316  MIDI_CONTROL_CONTINUOUS_4 = 68,
317  MIDI_CONTROL_CONTINUOUS_5 = 69,
318  MIDI_CONTROL_CONTINUOUS_6 = 70,
319  MIDI_CONTROL_CONTINUOUS_7 = 71,
320  MIDI_CONTROL_CONTINUOUS_8 = 72,
321  MIDI_CONTROL_CONTINUOUS_9 = 73,
322  MIDI_CONTROL_CONTINUOUS_10 = 74,
323  MIDI_CONTROL_CONTINUOUS_11 = 75,
324  MIDI_CONTROL_CONTINUOUS_12 = 76,
325  MIDI_CONTROL_CONTINUOUS_13 = 77,
326  MIDI_CONTROL_CONTINUOUS_14 = 78,
327  MIDI_CONTROL_CONTINUOUS_15 = 79,
328  MIDI_CONTROL_CONTINUOUS_16 = 80,
329  MIDI_CONTROL_CONTINUOUS_17 = 81,
330  MIDI_CONTROL_CONTINUOUS_18 = 82,
331  MIDI_CONTROL_CONTINUOUS_19 = 83,
332  MIDI_CONTROL_CONTINUOUS_20 = 84,
333  MIDI_CONTROL_CONTINUOUS_21 = 85,
334  MIDI_CONTROL_CONTINUOUS_22 = 86,
335  MIDI_CONTROL_CONTINUOUS_23 = 87,
336  MIDI_CONTROL_CONTINUOUS_24 = 88,
337  MIDI_CONTROL_CONTINUOUS_25 = 89,
338  MIDI_CONTROL_CONTINUOUS_26 = 90,
339  MIDI_CONTROL_CONTINUOUS_27 = 91,
340  MIDI_CONTROL_CONTINUOUS_28 = 92,
341  MIDI_CONTROL_CONTINUOUS_29 = 93,
342  MIDI_CONTROL_CONTINUOUS_30 = 94,
343  MIDI_CONTROL_CONTINUOUS_31 = 95,
344  MIDI_CONTROL_0 = 128,
345  MIDI_CONTROL_1 = 129,
346  MIDI_CONTROL_2 = 130,
347  MIDI_CONTROL_3 = 131,
348  MIDI_CONTROL_4 = 132,
349  MIDI_CONTROL_5 = 133,
350  MIDI_CONTROL_6 = 134,
351  MIDI_CONTROL_7 = 135,
352  MIDI_CONTROL_8 = 136,
353  MIDI_CONTROL_9 = 137,
354  MIDI_CONTROL_10 = 138,
355  MIDI_CONTROL_11 = 139,
356  MIDI_CONTROL_12 = 140,
357  MIDI_CONTROL_13 = 141,
358  MIDI_CONTROL_14 = 142,
359  MIDI_CONTROL_15 = 143,
360  MIDI_CONTROL_16 = 144,
361  MIDI_CONTROL_17 = 145,
362  MIDI_CONTROL_18 = 146,
363  MIDI_CONTROL_19 = 147,
364  MIDI_CONTROL_20 = 148,
365  MIDI_CONTROL_21 = 149,
366  MIDI_CONTROL_22 = 150,
367  MIDI_CONTROL_23 = 151,
368  MIDI_CONTROL_24 = 152,
369  MIDI_CONTROL_25 = 153,
370  MIDI_CONTROL_26 = 154,
371  MIDI_CONTROL_27 = 155,
372  MIDI_CONTROL_28 = 156,
373  MIDI_CONTROL_29 = 157,
374  MIDI_CONTROL_30 = 158,
375  MIDI_CONTROL_31 = 159,
376  MIDI_CONTROL_32 = 160,
377  MIDI_CONTROL_33 = 161,
378  MIDI_CONTROL_34 = 162,
379  MIDI_CONTROL_35 = 163,
380  MIDI_CONTROL_36 = 164,
381  MIDI_CONTROL_37 = 165,
382  MIDI_CONTROL_38 = 166,
383  MIDI_CONTROL_39 = 167,
384  MIDI_CONTROL_40 = 168,
385  MIDI_CONTROL_41 = 169,
386  MIDI_CONTROL_42 = 170,
387  MIDI_CONTROL_43 = 171,
388  MIDI_CONTROL_44 = 172,
389  MIDI_CONTROL_45 = 173,
390  MIDI_CONTROL_46 = 174,
391  MIDI_CONTROL_47 = 175,
392  MIDI_CONTROL_48 = 176,
393  MIDI_CONTROL_49 = 177,
394  MIDI_CONTROL_50 = 178,
395  MIDI_CONTROL_51 = 179,
396  MIDI_CONTROL_52 = 180,
397  MIDI_CONTROL_53 = 181,
398  MIDI_CONTROL_54 = 182,
399  MIDI_CONTROL_55 = 183,
400  MIDI_CONTROL_56 = 184,
401  MIDI_CONTROL_57 = 185,
402  MIDI_CONTROL_58 = 186,
403  MIDI_CONTROL_59 = 187,
404  MIDI_CONTROL_60 = 188,
405  MIDI_CONTROL_61 = 189,
406  MIDI_CONTROL_62 = 190,
407  MIDI_CONTROL_63 = 191,
408  MIDI_CONTROL_64 = 192,
409  MIDI_CONTROL_65 = 193,
410  MIDI_CONTROL_66 = 194,
411  MIDI_CONTROL_67 = 195,
412  MIDI_CONTROL_68 = 196,
413  MIDI_CONTROL_69 = 197,
414  MIDI_CONTROL_70 = 198,
415  MIDI_CONTROL_71 = 199,
416  MIDI_CONTROL_72 = 200,
417  MIDI_CONTROL_73 = 201,
418  MIDI_CONTROL_74 = 202,
419  MIDI_CONTROL_75 = 203,
420  MIDI_CONTROL_76 = 204,
421  MIDI_CONTROL_77 = 205,
422  MIDI_CONTROL_78 = 206,
423  MIDI_CONTROL_79 = 207,
424  MIDI_CONTROL_80 = 208,
425  MIDI_CONTROL_81 = 209,
426  MIDI_CONTROL_82 = 210,
427  MIDI_CONTROL_83 = 211,
428  MIDI_CONTROL_84 = 212,
429  MIDI_CONTROL_85 = 213,
430  MIDI_CONTROL_86 = 214,
431  MIDI_CONTROL_87 = 215,
432  MIDI_CONTROL_88 = 216,
433  MIDI_CONTROL_89 = 217,
434  MIDI_CONTROL_90 = 218,
435  MIDI_CONTROL_91 = 219,
436  MIDI_CONTROL_92 = 220,
437  MIDI_CONTROL_93 = 221,
438  MIDI_CONTROL_94 = 222,
439  MIDI_CONTROL_95 = 223,
440  MIDI_CONTROL_96 = 224,
441  MIDI_CONTROL_97 = 225,
442  MIDI_CONTROL_98 = 226,
443  MIDI_CONTROL_99 = 227,
444  MIDI_CONTROL_100 = 228,
445  MIDI_CONTROL_101 = 229,
446  MIDI_CONTROL_102 = 230,
447  MIDI_CONTROL_103 = 231,
448  MIDI_CONTROL_104 = 232,
449  MIDI_CONTROL_105 = 233,
450  MIDI_CONTROL_106 = 234,
451  MIDI_CONTROL_107 = 235,
452  MIDI_CONTROL_108 = 236,
453  MIDI_CONTROL_109 = 237,
454  MIDI_CONTROL_110 = 238,
455  MIDI_CONTROL_111 = 239,
456  MIDI_CONTROL_112 = 240,
457  MIDI_CONTROL_113 = 241,
458  MIDI_CONTROL_114 = 242,
459  MIDI_CONTROL_115 = 243,
460  MIDI_CONTROL_116 = 244,
461  MIDI_CONTROL_117 = 245,
462  MIDI_CONTROL_118 = 246,
463  MIDI_CONTROL_119 = 247,
464  MIDI_CONTROL_120 = 248,
465  MIDI_CONTROL_121 = 249,
466  MIDI_CONTROL_122 = 250,
467  MIDI_CONTROL_123 = 251,
468  MIDI_CONTROL_124 = 252,
469  MIDI_CONTROL_125 = 253,
470  MIDI_CONTROL_126 = 254,
471  MIDI_CONTROL_127 = 255,
472 };
473 enum MidiChannelEventType {
474  MIDI_EVENT_NONE = 0,
475  MIDI_EVENT_NOTE_OFF = 1,
476  MIDI_EVENT_NOTE_ON = 2,
477  MIDI_EVENT_KEY_PRESSURE = 3,
478  MIDI_EVENT_CONTROL_CHANGE = 4,
479  MIDI_EVENT_PROGRAM_CHANGE = 5,
480  MIDI_EVENT_CHANNEL_PRESSURE = 6,
481  MIDI_EVENT_PITCH_BEND = 7,
482  MIDI_EVENT_SYS_EX = 8,
483  MIDI_EVENT_SONG_POINTER = 9,
484  MIDI_EVENT_SONG_SELECT = 10,
485  MIDI_EVENT_TUNE = 11,
486  MIDI_EVENT_TIMING_CLOCK = 12,
487  MIDI_EVENT_SONG_START = 13,
488  MIDI_EVENT_SONG_CONTINUE = 14,
489  MIDI_EVENT_SONG_STOP = 15,
490  MIDI_EVENT_ACTIVE_SENSING = 16,
491  MIDI_EVENT_SYSTEM_RESET = 17,
492 };
493 enum MsgType {
494  MSG_NONE = 0,
495  MSG_ALWAYS = 1,
496  MSG_ERROR = 2,
497  MSG_WARNING = 3,
498  MSG_SCRIPT = 4,
499  MSG_INFO = 5,
500  MSG_DIAG = 6,
501  MSG_DEBUG = 7,
502 };
503 enum ThreadState {
504  THREAD_STATE_UNKNOWN = 0,
505  THREAD_STATE_RUNNING = 1,
506  THREAD_STATE_SLEEPING = 2,
507  THREAD_STATE_DISKWAIT = 3,
508  THREAD_STATE_TRACED = 4,
509  THREAD_STATE_PAGING = 5,
510  THREAD_STATE_ZOMBIE = 6,
511  THREAD_STATE_DEAD = 7,
512 };
513 
514 
515 /* sequence definitions */
516 class IntSeq : public Sfi::Sequence< Sfi::Int > {
517 public:
518  IntSeq (unsigned int n = 0) : Sfi::Sequence< Sfi::Int > (n) {}
519  static inline ::Bse::IntSeq from_seq (SfiSeq *seq);
520  static inline SfiSeq *to_seq (const ::Bse::IntSeq & seq);
521  static inline ::Bse::IntSeq value_get_boxed (const GValue *value);
522  static inline void value_set_boxed (GValue *value, const ::Bse::IntSeq & self);
523  static inline const char* options () { return ""; }
524  static inline const char* blurb () { return ""; }
525  static inline const char* authors () { return ""; }
526  static inline const char* license () { return ""; }
527  static inline const char* type_name () { return "BseIntSeq"; }
528  static inline GParamSpec* get_element ();
529 };
530 
531 class TypeSeq : public Sfi::Sequence< Sfi::String > {
532 public:
533  TypeSeq (unsigned int n = 0) : Sfi::Sequence< Sfi::String > (n) {}
534  static inline ::Bse::TypeSeq from_seq (SfiSeq *seq);
535  static inline SfiSeq *to_seq (const ::Bse::TypeSeq & seq);
536  static inline ::Bse::TypeSeq value_get_boxed (const GValue *value);
537  static inline void value_set_boxed (GValue *value, const ::Bse::TypeSeq & self);
538  static inline const char* options () { return ""; }
539  static inline const char* blurb () { return ""; }
540  static inline const char* authors () { return ""; }
541  static inline const char* license () { return ""; }
542  static inline const char* type_name () { return "BseTypeSeq"; }
543  static inline GParamSpec* get_element ();
544 };
545 
546 class StringSeq : public Sfi::Sequence< Sfi::String > {
547 public:
548  StringSeq (unsigned int n = 0) : Sfi::Sequence< Sfi::String > (n) {}
549  static inline ::Bse::StringSeq from_seq (SfiSeq *seq);
550  static inline SfiSeq *to_seq (const ::Bse::StringSeq & seq);
551  static inline ::Bse::StringSeq value_get_boxed (const GValue *value);
552  static inline void value_set_boxed (GValue *value, const ::Bse::StringSeq & self);
553  static inline const char* options () { return ""; }
554  static inline const char* blurb () { return ""; }
555  static inline const char* authors () { return ""; }
556  static inline const char* license () { return ""; }
557  static inline const char* type_name () { return "BseStringSeq"; }
558  static inline GParamSpec* get_element ();
559 };
560 
561 class FloatSeq : public Sfi::Sequence< Sfi::Real > {
562 public:
563  FloatSeq (unsigned int n = 0) : Sfi::Sequence< Sfi::Real > (n) {}
564  static inline ::Bse::FloatSeq from_seq (SfiSeq *seq);
565  static inline SfiSeq *to_seq (const ::Bse::FloatSeq & seq);
566  static inline ::Bse::FloatSeq value_get_boxed (const GValue *value);
567  static inline void value_set_boxed (GValue *value, const ::Bse::FloatSeq & self);
568  static inline const char* options () { return ""; }
569  static inline const char* blurb () { return ""; }
570  static inline const char* authors () { return ""; }
571  static inline const char* license () { return ""; }
572  static inline const char* type_name () { return "BseFloatSeq"; }
573  static inline GParamSpec* get_element ();
574 };
575 
576 class NoteSeq : public Sfi::Sequence< Sfi::Int > {
577 public:
578  NoteSeq (unsigned int n = 0) : Sfi::Sequence< Sfi::Int > (n) {}
579  static inline ::Bse::NoteSeq from_seq (SfiSeq *seq);
580  static inline SfiSeq *to_seq (const ::Bse::NoteSeq & seq);
581  static inline ::Bse::NoteSeq value_get_boxed (const GValue *value);
582  static inline void value_set_boxed (GValue *value, const ::Bse::NoteSeq & self);
583  static inline const char* options () { return ""; }
584  static inline const char* blurb () { return ""; }
585  static inline const char* authors () { return ""; }
586  static inline const char* license () { return ""; }
587  static inline const char* type_name () { return "BseNoteSeq"; }
588  static inline GParamSpec* get_element ();
589 };
590 
591 class ItemSeq : public Sfi::Sequence< BseItem* > {
592 public:
593  ItemSeq (unsigned int n = 0) : Sfi::Sequence< BseItem* > (n) {}
594  static inline ::Bse::ItemSeq from_seq (SfiSeq *seq);
595  static inline SfiSeq *to_seq (const ::Bse::ItemSeq & seq);
596  static inline ::Bse::ItemSeq value_get_boxed (const GValue *value);
597  static inline void value_set_boxed (GValue *value, const ::Bse::ItemSeq & self);
598  static inline const char* options () { return ""; }
599  static inline const char* blurb () { return "A list of BSE items or derived types."; }
600  static inline const char* authors () { return ""; }
601  static inline const char* license () { return ""; }
602  static inline const char* type_name () { return "BseItemSeq"; }
603  static inline GParamSpec* get_element ();
604 };
605 
606 class PartNoteSeq : public Sfi::Sequence< ::Bse::PartNoteHandle > {
607 public:
608  PartNoteSeq (unsigned int n = 0) : Sfi::Sequence< ::Bse::PartNoteHandle > (n) {}
609  static inline ::Bse::PartNoteSeq from_seq (SfiSeq *seq);
610  static inline SfiSeq *to_seq (const ::Bse::PartNoteSeq & seq);
611  static inline ::Bse::PartNoteSeq value_get_boxed (const GValue *value);
612  static inline void value_set_boxed (GValue *value, const ::Bse::PartNoteSeq & self);
613  static inline const char* options () { return ""; }
614  static inline const char* blurb () { return "A list of part notes"; }
615  static inline const char* authors () { return ""; }
616  static inline const char* license () { return ""; }
617  static inline const char* type_name () { return "BsePartNoteSeq"; }
618  static inline GParamSpec* get_element ();
619 };
620 
621 class PartControlSeq : public Sfi::Sequence< ::Bse::PartControlHandle > {
622 public:
623  PartControlSeq (unsigned int n = 0) : Sfi::Sequence< ::Bse::PartControlHandle > (n) {}
624  static inline ::Bse::PartControlSeq from_seq (SfiSeq *seq);
625  static inline SfiSeq *to_seq (const ::Bse::PartControlSeq & seq);
626  static inline ::Bse::PartControlSeq value_get_boxed (const GValue *value);
627  static inline void value_set_boxed (GValue *value, const ::Bse::PartControlSeq & self);
628  static inline const char* options () { return ""; }
629  static inline const char* blurb () { return "A list of part control events"; }
630  static inline const char* authors () { return ""; }
631  static inline const char* license () { return ""; }
632  static inline const char* type_name () { return "BsePartControlSeq"; }
633  static inline GParamSpec* get_element ();
634 };
635 
636 class PixelSeq : public Sfi::Sequence< Sfi::Int > {
637 public:
638  PixelSeq (unsigned int n = 0) : Sfi::Sequence< Sfi::Int > (n) {}
639  static inline ::Bse::PixelSeq from_seq (SfiSeq *seq);
640  static inline SfiSeq *to_seq (const ::Bse::PixelSeq & seq);
641  static inline ::Bse::PixelSeq value_get_boxed (const GValue *value);
642  static inline void value_set_boxed (GValue *value, const ::Bse::PixelSeq & self);
643  static inline const char* options () { return ""; }
644  static inline const char* blurb () { return ""; }
645  static inline const char* authors () { return ""; }
646  static inline const char* license () { return ""; }
647  static inline const char* type_name () { return "BsePixelSeq"; }
648  static inline GParamSpec* get_element ();
649 };
650 
651 class CategorySeq : public Sfi::Sequence< ::Bse::CategoryHandle > {
652 public:
653  CategorySeq (unsigned int n = 0) : Sfi::Sequence< ::Bse::CategoryHandle > (n) {}
654  static inline ::Bse::CategorySeq from_seq (SfiSeq *seq);
655  static inline SfiSeq *to_seq (const ::Bse::CategorySeq & seq);
656  static inline ::Bse::CategorySeq value_get_boxed (const GValue *value);
657  static inline void value_set_boxed (GValue *value, const ::Bse::CategorySeq & self);
658  static inline const char* options () { return ""; }
659  static inline const char* blurb () { return ""; }
660  static inline const char* authors () { return ""; }
661  static inline const char* license () { return ""; }
662  static inline const char* type_name () { return "BseCategorySeq"; }
663  static inline GParamSpec* get_element ();
664 };
665 
666 class DotSeq : public Sfi::Sequence< ::Bse::DotHandle > {
667 public:
668  DotSeq (unsigned int n = 0) : Sfi::Sequence< ::Bse::DotHandle > (n) {}
669  static inline ::Bse::DotSeq from_seq (SfiSeq *seq);
670  static inline SfiSeq *to_seq (const ::Bse::DotSeq & seq);
671  static inline ::Bse::DotSeq value_get_boxed (const GValue *value);
672  static inline void value_set_boxed (GValue *value, const ::Bse::DotSeq & self);
673  static inline const char* options () { return ""; }
674  static inline const char* blurb () { return ""; }
675  static inline const char* authors () { return ""; }
676  static inline const char* license () { return ""; }
677  static inline const char* type_name () { return "BseDotSeq"; }
678  static inline GParamSpec* get_element ();
679 };
680 
681 class PartLinkSeq : public Sfi::Sequence< ::Bse::PartLinkHandle > {
682 public:
683  PartLinkSeq (unsigned int n = 0) : Sfi::Sequence< ::Bse::PartLinkHandle > (n) {}
684  static inline ::Bse::PartLinkSeq from_seq (SfiSeq *seq);
685  static inline SfiSeq *to_seq (const ::Bse::PartLinkSeq & seq);
686  static inline ::Bse::PartLinkSeq value_get_boxed (const GValue *value);
687  static inline void value_set_boxed (GValue *value, const ::Bse::PartLinkSeq & self);
688  static inline const char* options () { return ""; }
689  static inline const char* blurb () { return ""; }
690  static inline const char* authors () { return ""; }
691  static inline const char* license () { return ""; }
692  static inline const char* type_name () { return "BsePartLinkSeq"; }
693  static inline GParamSpec* get_element ();
694 };
695 
696 class TrackPartSeq : public Sfi::Sequence< ::Bse::TrackPartHandle > {
697 public:
698  TrackPartSeq (unsigned int n = 0) : Sfi::Sequence< ::Bse::TrackPartHandle > (n) {}
699  static inline ::Bse::TrackPartSeq from_seq (SfiSeq *seq);
700  static inline SfiSeq *to_seq (const ::Bse::TrackPartSeq & seq);
701  static inline ::Bse::TrackPartSeq value_get_boxed (const GValue *value);
702  static inline void value_set_boxed (GValue *value, const ::Bse::TrackPartSeq & self);
703  static inline const char* options () { return ""; }
704  static inline const char* blurb () { return ""; }
705  static inline const char* authors () { return ""; }
706  static inline const char* license () { return ""; }
707  static inline const char* type_name () { return "BseTrackPartSeq"; }
708  static inline GParamSpec* get_element ();
709 };
710 
711 class ThreadInfoSeq : public Sfi::Sequence< ::Bse::ThreadInfoHandle > {
712 public:
713  ThreadInfoSeq (unsigned int n = 0) : Sfi::Sequence< ::Bse::ThreadInfoHandle > (n) {}
714  static inline ::Bse::ThreadInfoSeq from_seq (SfiSeq *seq);
715  static inline SfiSeq *to_seq (const ::Bse::ThreadInfoSeq & seq);
716  static inline ::Bse::ThreadInfoSeq value_get_boxed (const GValue *value);
717  static inline void value_set_boxed (GValue *value, const ::Bse::ThreadInfoSeq & self);
718  static inline const char* options () { return ""; }
719  static inline const char* blurb () { return ""; }
720  static inline const char* authors () { return ""; }
721  static inline const char* license () { return ""; }
722  static inline const char* type_name () { return "BseThreadInfoSeq"; }
723  static inline GParamSpec* get_element ();
724 };
725 
726 
727 
728 /* record definitions */
729 class MidiChannelEvent : public ::Sfi::GNewable {
730 public:
731  ::Bse::MidiChannelEventType event_type;
732  Sfi::Int channel;
733  Sfi::Num tick_stamp;
734  Sfi::Real frequency;
735  Sfi::Real velocity;
736  Sfi::Int control;
737  Sfi::Real value;
738  Sfi::Int program;
739  Sfi::Real intensity;
740  Sfi::Real pitch_bend;
741  Sfi::Int song_pointer;
742  Sfi::Int song_number;
743  static inline ::Bse::MidiChannelEventHandle from_rec (SfiRec *rec);
744  static inline SfiRec *to_rec (const ::Bse::MidiChannelEventHandle & ptr);
745  static inline ::Bse::MidiChannelEventHandle value_get_boxed (const GValue *value);
746  static inline void value_set_boxed (GValue *value, const ::Bse::MidiChannelEventHandle & self);
747  static inline const char* options () { return ""; }
748  static inline const char* blurb () { return ""; }
749  static inline const char* authors () { return ""; }
750  static inline const char* license () { return ""; }
751  static inline const char* type_name () { return "BseMidiChannelEvent"; }
752  static inline SfiRecFields get_fields ();
753 };
754 
755 class PropertyCandidates : public ::Sfi::GNewable {
756 public:
757  Sfi::String label;
758  Sfi::String tooltip;
759  ::Bse::ItemSeq items;
760  ::Bse::TypeSeq partitions;
761  static inline ::Bse::PropertyCandidatesHandle from_rec (SfiRec *rec);
762  static inline SfiRec *to_rec (const ::Bse::PropertyCandidatesHandle & ptr);
763  static inline ::Bse::PropertyCandidatesHandle value_get_boxed (const GValue *value);
764  static inline void value_set_boxed (GValue *value, const ::Bse::PropertyCandidatesHandle & self);
765  static inline const char* options () { return ""; }
766  static inline const char* blurb () { return "A strcuture describing tentative property values."; }
767  static inline const char* authors () { return ""; }
768  static inline const char* license () { return ""; }
769  static inline const char* type_name () { return "BsePropertyCandidates"; }
770  static inline SfiRecFields get_fields ();
771 };
772 
773 class PartNote : public ::Sfi::GNewable {
774 public:
775  Sfi::Int id;
776  Sfi::Int channel;
777  Sfi::Int tick;
778  Sfi::Int duration;
779  Sfi::Int note;
780  Sfi::Int fine_tune;
781  Sfi::Real velocity;
782  bool selected;
783  static inline ::Bse::PartNoteHandle from_rec (SfiRec *rec);
784  static inline SfiRec *to_rec (const ::Bse::PartNoteHandle & ptr);
785  static inline ::Bse::PartNoteHandle value_get_boxed (const GValue *value);
786  static inline void value_set_boxed (GValue *value, const ::Bse::PartNoteHandle & self);
787  static inline const char* options () { return ""; }
788  static inline const char* blurb () { return "Part specific note representation"; }
789  static inline const char* authors () { return ""; }
790  static inline const char* license () { return ""; }
791  static inline const char* type_name () { return "BsePartNote"; }
792  static inline SfiRecFields get_fields ();
793 };
794 
795 class PartControl : public ::Sfi::GNewable {
796 public:
797  Sfi::Int id;
798  Sfi::Int tick;
799  ::Bse::MidiSignalType control_type;
800  Sfi::Real value;
801  bool selected;
802  static inline ::Bse::PartControlHandle from_rec (SfiRec *rec);
803  static inline SfiRec *to_rec (const ::Bse::PartControlHandle & ptr);
804  static inline ::Bse::PartControlHandle value_get_boxed (const GValue *value);
805  static inline void value_set_boxed (GValue *value, const ::Bse::PartControlHandle & self);
806  static inline const char* options () { return ""; }
807  static inline const char* blurb () { return "Part specific control event representation"; }
808  static inline const char* authors () { return ""; }
809  static inline const char* license () { return ""; }
810  static inline const char* type_name () { return "BsePartControl"; }
811  static inline SfiRecFields get_fields ();
812 };
813 
814 class NoteDescription : public ::Sfi::GNewable {
815 public:
816  ::Bse::MusicalTuningType musical_tuning;
817  Sfi::Int note;
818  Sfi::Int octave;
819  Sfi::Real freq;
820  Sfi::Int fine_tune;
821  Sfi::Int semitone;
822  bool upshift;
823  Sfi::Int letter;
824  Sfi::String name;
825  Sfi::Int max_fine_tune;
826  Sfi::Int kammer_note;
827  static inline ::Bse::NoteDescriptionHandle from_rec (SfiRec *rec);
828  static inline SfiRec *to_rec (const ::Bse::NoteDescriptionHandle & ptr);
829  static inline ::Bse::NoteDescriptionHandle value_get_boxed (const GValue *value);
830  static inline void value_set_boxed (GValue *value, const ::Bse::NoteDescriptionHandle & self);
831  static inline const char* options () { return ""; }
832  static inline const char* blurb () { return "A note description provides all necessary details about a specific note. Various procedures exist to retrieve a note description; given different key values. The max_fine_tune and kammer_note fields are constants, which are provided for compatibility reasons and will vanish in future APIs."; }
833  static inline const char* authors () { return ""; }
834  static inline const char* license () { return ""; }
835  static inline const char* type_name () { return "BseNoteDescription"; }
836  static inline SfiRecFields get_fields ();
837 };
838 
839 class NoteSequence : public ::Sfi::GNewable {
840 public:
841  Sfi::Int offset;
842  ::Bse::NoteSeq notes;
843  static inline ::Bse::NoteSequenceHandle from_rec (SfiRec *rec);
844  static inline SfiRec *to_rec (const ::Bse::NoteSequenceHandle & ptr);
845  static inline ::Bse::NoteSequenceHandle value_get_boxed (const GValue *value);
846  static inline void value_set_boxed (GValue *value, const ::Bse::NoteSequenceHandle & self);
847  static inline const char* options () { return ""; }
848  static inline const char* blurb () { return ""; }
849  static inline const char* authors () { return ""; }
850  static inline const char* license () { return ""; }
851  static inline const char* type_name () { return "BseNoteSequence"; }
852  static inline SfiRecFields get_fields ();
853 };
854 
855 class Icon : public ::Sfi::GNewable {
856 public:
857  Sfi::Int width;
858  Sfi::Int height;
859  ::Bse::PixelSeq pixel_seq;
860  static inline ::Bse::IconHandle from_rec (SfiRec *rec);
861  static inline SfiRec *to_rec (const ::Bse::IconHandle & ptr);
862  static inline ::Bse::IconHandle value_get_boxed (const GValue *value);
863  static inline void value_set_boxed (GValue *value, const ::Bse::IconHandle & self);
864  static inline const char* options () { return ""; }
865  static inline const char* blurb () { return "BSE icon representation."; }
866  static inline const char* authors () { return ""; }
867  static inline const char* license () { return ""; }
868  static inline const char* type_name () { return "BseIcon"; }
869  static inline SfiRecFields get_fields ();
870 };
871 
872 class Category : public ::Sfi::GNewable {
873 public:
874  Sfi::Int category_id;
875  Sfi::String category;
876  Sfi::Int mindex;
877  Sfi::Int lindex;
878  Sfi::String type;
879  ::Bse::IconHandle icon;
880  static inline ::Bse::CategoryHandle from_rec (SfiRec *rec);
881  static inline SfiRec *to_rec (const ::Bse::CategoryHandle & ptr);
882  static inline ::Bse::CategoryHandle value_get_boxed (const GValue *value);
883  static inline void value_set_boxed (GValue *value, const ::Bse::CategoryHandle & self);
884  static inline const char* options () { return ""; }
885  static inline const char* blurb () { return ""; }
886  static inline const char* authors () { return ""; }
887  static inline const char* license () { return ""; }
888  static inline const char* type_name () { return "BseCategory"; }
889  static inline SfiRecFields get_fields ();
890 };
891 
892 class Dot : public ::Sfi::GNewable {
893 public:
894  Sfi::Real x;
895  Sfi::Real y;
896  static inline ::Bse::DotHandle from_rec (SfiRec *rec);
897  static inline SfiRec *to_rec (const ::Bse::DotHandle & ptr);
898  static inline ::Bse::DotHandle value_get_boxed (const GValue *value);
899  static inline void value_set_boxed (GValue *value, const ::Bse::DotHandle & self);
900  static inline const char* options () { return ""; }
901  static inline const char* blurb () { return ""; }
902  static inline const char* authors () { return ""; }
903  static inline const char* license () { return ""; }
904  static inline const char* type_name () { return "BseDot"; }
905  static inline SfiRecFields get_fields ();
906 };
907 
908 class PartLink : public ::Sfi::GNewable {
909 public:
910  BseTrack* track;
911  Sfi::Int tick;
912  BsePart* part;
913  Sfi::Int duration;
914  static inline ::Bse::PartLinkHandle from_rec (SfiRec *rec);
915  static inline SfiRec *to_rec (const ::Bse::PartLinkHandle & ptr);
916  static inline ::Bse::PartLinkHandle value_get_boxed (const GValue *value);
917  static inline void value_set_boxed (GValue *value, const ::Bse::PartLinkHandle & self);
918  static inline const char* options () { return ""; }
919  static inline const char* blurb () { return ""; }
920  static inline const char* authors () { return ""; }
921  static inline const char* license () { return ""; }
922  static inline const char* type_name () { return "BsePartLink"; }
923  static inline SfiRecFields get_fields ();
924 };
925 
926 class TrackPart : public ::Sfi::GNewable {
927 public:
928  Sfi::Int tick;
929  BsePart* part;
930  Sfi::Int duration;
931  static inline ::Bse::TrackPartHandle from_rec (SfiRec *rec);
932  static inline SfiRec *to_rec (const ::Bse::TrackPartHandle & ptr);
933  static inline ::Bse::TrackPartHandle value_get_boxed (const GValue *value);
934  static inline void value_set_boxed (GValue *value, const ::Bse::TrackPartHandle & self);
935  static inline const char* options () { return ""; }
936  static inline const char* blurb () { return ""; }
937  static inline const char* authors () { return ""; }
938  static inline const char* license () { return ""; }
939  static inline const char* type_name () { return "BseTrackPart"; }
940  static inline SfiRecFields get_fields ();
941 };
942 
943 class SongTiming : public ::Sfi::GNewable {
944 public:
945  Sfi::Int tick;
946  Sfi::Real bpm;
947  Sfi::Int numerator;
948  Sfi::Int denominator;
949  Sfi::Int tpqn;
950  Sfi::Int tpt;
951  Sfi::Real stamp_ticks;
952  static inline ::Bse::SongTimingHandle from_rec (SfiRec *rec);
953  static inline SfiRec *to_rec (const ::Bse::SongTimingHandle & ptr);
954  static inline ::Bse::SongTimingHandle value_get_boxed (const GValue *value);
955  static inline void value_set_boxed (GValue *value, const ::Bse::SongTimingHandle & self);
956  static inline const char* options () { return ""; }
957  static inline const char* blurb () { return ""; }
958  static inline const char* authors () { return ""; }
959  static inline const char* license () { return ""; }
960  static inline const char* type_name () { return "BseSongTiming"; }
961  static inline SfiRecFields get_fields ();
962 };
963 
964 class SampleFileInfo : public ::Sfi::GNewable {
965 public:
966  Sfi::String file;
967  Sfi::Int size;
968  Sfi::Num mtime;
969  Sfi::String loader;
970  ::Bse::StringSeq waves;
971  Sfi::Int error;
972  static inline ::Bse::SampleFileInfoHandle from_rec (SfiRec *rec);
973  static inline SfiRec *to_rec (const ::Bse::SampleFileInfoHandle & ptr);
974  static inline ::Bse::SampleFileInfoHandle value_get_boxed (const GValue *value);
975  static inline void value_set_boxed (GValue *value, const ::Bse::SampleFileInfoHandle & self);
976  static inline const char* options () { return ""; }
977  static inline const char* blurb () { return ""; }
978  static inline const char* authors () { return ""; }
979  static inline const char* license () { return ""; }
980  static inline const char* type_name () { return "BseSampleFileInfo"; }
981  static inline SfiRecFields get_fields ();
982 };
983 
984 class Message : public ::Sfi::GNewable {
985 public:
986  Sfi::String log_domain;
987  ::Bse::MsgType type;
988  Sfi::String ident;
989  Sfi::String label;
990  Sfi::String title;
991  Sfi::String primary;
992  Sfi::String secondary;
993  Sfi::String details;
994  Sfi::String config_check;
995  BseJanitor* janitor;
996  Sfi::String process;
997  Sfi::Int pid;
998  static inline ::Bse::MessageHandle from_rec (SfiRec *rec);
999  static inline SfiRec *to_rec (const ::Bse::MessageHandle & ptr);
1000  static inline ::Bse::MessageHandle value_get_boxed (const GValue *value);
1001  static inline void value_set_boxed (GValue *value, const ::Bse::MessageHandle & self);
1002  static inline const char* options () { return ""; }
1003  static inline const char* blurb () { return ""; }
1004  static inline const char* authors () { return ""; }
1005  static inline const char* license () { return ""; }
1006  static inline const char* type_name () { return "BseMessage"; }
1007  static inline SfiRecFields get_fields ();
1008 };
1009 
1010 class ThreadInfo : public ::Sfi::GNewable {
1011 public:
1012  Sfi::String name;
1013  ::Bse::ThreadState state;
1014  Sfi::Int thread_id;
1015  Sfi::Int priority;
1016  Sfi::Int processor;
1017  Sfi::Int utime;
1018  Sfi::Int stime;
1019  Sfi::Int cutime;
1020  Sfi::Int cstime;
1021  static inline ::Bse::ThreadInfoHandle from_rec (SfiRec *rec);
1022  static inline SfiRec *to_rec (const ::Bse::ThreadInfoHandle & ptr);
1023  static inline ::Bse::ThreadInfoHandle value_get_boxed (const GValue *value);
1024  static inline void value_set_boxed (GValue *value, const ::Bse::ThreadInfoHandle & self);
1025  static inline const char* options () { return ""; }
1026  static inline const char* blurb () { return ""; }
1027  static inline const char* authors () { return ""; }
1028  static inline const char* license () { return ""; }
1029  static inline const char* type_name () { return "BseThreadInfo"; }
1030  static inline SfiRecFields get_fields ();
1031 };
1032 
1034 public:
1036  ::Bse::ThreadInfoHandle sequencer;
1037  ::Bse::ThreadInfoSeq synthesis;
1038  static inline ::Bse::ThreadTotalsHandle from_rec (SfiRec *rec);
1039  static inline SfiRec *to_rec (const ::Bse::ThreadTotalsHandle & ptr);
1040  static inline ::Bse::ThreadTotalsHandle value_get_boxed (const GValue *value);
1041  static inline void value_set_boxed (GValue *value, const ::Bse::ThreadTotalsHandle & self);
1042  static inline const char* options () { return ""; }
1043  static inline const char* blurb () { return ""; }
1044  static inline const char* authors () { return ""; }
1045  static inline const char* license () { return ""; }
1046  static inline const char* type_name () { return "BseThreadTotals"; }
1047  static inline SfiRecFields get_fields ();
1048 };
1049 
1050 class GConfig : public ::Sfi::GNewable {
1051 public:
1052  Sfi::Int synth_latency;
1053  Sfi::Int synth_mixing_freq;
1054  Sfi::Int synth_control_freq;
1055  bool invert_sustain;
1056  Sfi::String author_default;
1057  Sfi::String license_default;
1058  Sfi::String sample_path;
1059  Sfi::String effect_path;
1060  Sfi::String instrument_path;
1061  Sfi::String script_path;
1062  Sfi::String plugin_path;
1063  Sfi::String ladspa_path;
1064  static inline ::Bse::GConfigHandle from_rec (SfiRec *rec);
1065  static inline SfiRec *to_rec (const ::Bse::GConfigHandle & ptr);
1066  static inline ::Bse::GConfigHandle value_get_boxed (const GValue *value);
1067  static inline void value_set_boxed (GValue *value, const ::Bse::GConfigHandle & self);
1068  static inline const char* options () { return ""; }
1069  static inline const char* blurb () { return ""; }
1070  static inline const char* authors () { return ""; }
1071  static inline const char* license () { return ""; }
1072  static inline const char* type_name () { return "BseGConfig"; }
1073  static inline SfiRecFields get_fields ();
1074 };
1075 
1076 
1077 
1078 /* enum declarations */
1079 BSE_CXX_DECLARE_ENUM (MusicalTuningType, "BseMusicalTuningType", 17,
1080  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_12_TET, "BSE_MUSICAL_TUNING_12_TET", _("12 Tone Equal Temperament") );
1081  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_7_TET, "BSE_MUSICAL_TUNING_7_TET", _("7 Tone Equal Temperament") );
1082  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_5_TET, "BSE_MUSICAL_TUNING_5_TET", _("5 Tone Equal Temperament") );
1083  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_DIATONIC_SCALE, "BSE_MUSICAL_TUNING_DIATONIC_SCALE", _("Diatonic Scale") );
1084  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_INDIAN_SCALE, "BSE_MUSICAL_TUNING_INDIAN_SCALE", _("Indian Scale") );
1085  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_PYTHAGOREAN_TUNING, "BSE_MUSICAL_TUNING_PYTHAGOREAN_TUNING", _("Pythagorean Tuning") );
1086  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_PENTATONIC_5_LIMIT, "BSE_MUSICAL_TUNING_PENTATONIC_5_LIMIT", _("Pentatonic 5-limit") );
1087  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_PENTATONIC_BLUES, "BSE_MUSICAL_TUNING_PENTATONIC_BLUES", _("Pentatonic Blues") );
1088  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_PENTATONIC_GOGO, "BSE_MUSICAL_TUNING_PENTATONIC_GOGO", _("Pentatonic Gogo") );
1089  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_QUARTER_COMMA_MEANTONE, "BSE_MUSICAL_TUNING_QUARTER_COMMA_MEANTONE", _("Quarter-Comma Meantone") );
1090  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_SILBERMANN_SORGE, "BSE_MUSICAL_TUNING_SILBERMANN_SORGE", _("Silbermann-Sorge Temperament") );
1091  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_WERCKMEISTER_3, "BSE_MUSICAL_TUNING_WERCKMEISTER_3", _("Werckmeister III") );
1092  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_WERCKMEISTER_4, "BSE_MUSICAL_TUNING_WERCKMEISTER_4", _("Werckmeister IV") );
1093  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_WERCKMEISTER_5, "BSE_MUSICAL_TUNING_WERCKMEISTER_5", _("Werckmeister V") );
1094  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_WERCKMEISTER_6, "BSE_MUSICAL_TUNING_WERCKMEISTER_6", _("Werckmeister VI") );
1095  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_KIRNBERGER_3, "BSE_MUSICAL_TUNING_KIRNBERGER_3", _("Kirnberger III") );
1096  *v++ = ::Bse::EnumValue (MUSICAL_TUNING_YOUNG, "BSE_MUSICAL_TUNING_YOUNG", _("Young Temperament") );
1097 );
1098 BSE_CXX_DECLARE_ENUM (MidiSignalType, "BseMidiSignalType", 172,
1099  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_PROGRAM, "BSE_MIDI_SIGNAL_PROGRAM", _("Program Change") );
1100  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_PRESSURE, "BSE_MIDI_SIGNAL_PRESSURE", _("Channel Pressure") );
1101  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_PITCH_BEND, "BSE_MIDI_SIGNAL_PITCH_BEND", _("Pitch Bend") );
1102  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_VELOCITY, "BSE_MIDI_SIGNAL_VELOCITY", _("Note Velocity") );
1103  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_FINE_TUNE, "BSE_MIDI_SIGNAL_FINE_TUNE", _("Note Fine Tune") );
1104  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_0, "BSE_MIDI_SIGNAL_CONTINUOUS_0", _("Bank Select") );
1105  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_1, "BSE_MIDI_SIGNAL_CONTINUOUS_1", _("Modulation Depth") );
1106  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_2, "BSE_MIDI_SIGNAL_CONTINUOUS_2", _("Breath Control") );
1107  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_3, "BSE_MIDI_SIGNAL_CONTINUOUS_3", _("Continuous 3") );
1108  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_4, "BSE_MIDI_SIGNAL_CONTINUOUS_4", _("Foot Controller") );
1109  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_5, "BSE_MIDI_SIGNAL_CONTINUOUS_5", _("Portamento Time") );
1110  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_6, "BSE_MIDI_SIGNAL_CONTINUOUS_6", _("Data Entry") );
1111  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_7, "BSE_MIDI_SIGNAL_CONTINUOUS_7", _("Volume") );
1112  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_8, "BSE_MIDI_SIGNAL_CONTINUOUS_8", _("Balance") );
1113  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_9, "BSE_MIDI_SIGNAL_CONTINUOUS_9", _("Continuous 9") );
1114  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_10, "BSE_MIDI_SIGNAL_CONTINUOUS_10", _("Panorama") );
1115  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_11, "BSE_MIDI_SIGNAL_CONTINUOUS_11", _("Expression") );
1116  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_12, "BSE_MIDI_SIGNAL_CONTINUOUS_12", _("Effect Control 1") );
1117  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_13, "BSE_MIDI_SIGNAL_CONTINUOUS_13", _("Effect Control 2") );
1118  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_14, "BSE_MIDI_SIGNAL_CONTINUOUS_14", _("Continuous 14") );
1119  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_15, "BSE_MIDI_SIGNAL_CONTINUOUS_15", _("Continuous 15") );
1120  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_16, "BSE_MIDI_SIGNAL_CONTINUOUS_16", _("General Purpose Controller 1") );
1121  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_17, "BSE_MIDI_SIGNAL_CONTINUOUS_17", _("General Purpose Controller 2") );
1122  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_18, "BSE_MIDI_SIGNAL_CONTINUOUS_18", _("General Purpose Controller 3") );
1123  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_19, "BSE_MIDI_SIGNAL_CONTINUOUS_19", _("General Purpose Controller 4") );
1124  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_20, "BSE_MIDI_SIGNAL_CONTINUOUS_20", _("Continuous 20") );
1125  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_21, "BSE_MIDI_SIGNAL_CONTINUOUS_21", _("Continuous 21") );
1126  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_22, "BSE_MIDI_SIGNAL_CONTINUOUS_22", _("Continuous 22") );
1127  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_23, "BSE_MIDI_SIGNAL_CONTINUOUS_23", _("Continuous 23") );
1128  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_24, "BSE_MIDI_SIGNAL_CONTINUOUS_24", _("Continuous 24") );
1129  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_25, "BSE_MIDI_SIGNAL_CONTINUOUS_25", _("Continuous 25") );
1130  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_26, "BSE_MIDI_SIGNAL_CONTINUOUS_26", _("Continuous 26") );
1131  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_27, "BSE_MIDI_SIGNAL_CONTINUOUS_27", _("Continuous 27") );
1132  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_28, "BSE_MIDI_SIGNAL_CONTINUOUS_28", _("Continuous 28") );
1133  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_29, "BSE_MIDI_SIGNAL_CONTINUOUS_29", _("Continuous 29") );
1134  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_30, "BSE_MIDI_SIGNAL_CONTINUOUS_30", _("Continuous 30") );
1135  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTINUOUS_31, "BSE_MIDI_SIGNAL_CONTINUOUS_31", _("Continuous 31") );
1136  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONSTANT_HIGH, "BSE_MIDI_SIGNAL_CONSTANT_HIGH", _("Constant HIGH") );
1137  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONSTANT_CENTER, "BSE_MIDI_SIGNAL_CONSTANT_CENTER", _("Constant CENTER") );
1138  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONSTANT_LOW, "BSE_MIDI_SIGNAL_CONSTANT_LOW", _("Constant LOW") );
1139  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER, "BSE_MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER", _("Constant Negative CENTER") );
1140  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH, "BSE_MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH", _("Constant Negative HIGH") );
1141  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_PARAMETER, "BSE_MIDI_SIGNAL_PARAMETER", _("Registered Parameter") );
1142  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_NON_PARAMETER, "BSE_MIDI_SIGNAL_NON_PARAMETER", _("Non-Registered Parameter") );
1143  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_0, "BSE_MIDI_SIGNAL_CONTROL_0", _("Control 0 Bank Select MSB") );
1144  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_1, "BSE_MIDI_SIGNAL_CONTROL_1", _("Control 1 Modulation Depth MSB") );
1145  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_2, "BSE_MIDI_SIGNAL_CONTROL_2", _("Control 2 Breath Control MSB") );
1146  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_3, "BSE_MIDI_SIGNAL_CONTROL_3", _("control-3") );
1147  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_4, "BSE_MIDI_SIGNAL_CONTROL_4", _("Control 4 Foot Controller MSB") );
1148  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_5, "BSE_MIDI_SIGNAL_CONTROL_5", _("Control 5 Portamento Time MSB") );
1149  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_6, "BSE_MIDI_SIGNAL_CONTROL_6", _("Control 6 Data Entry MSB") );
1150  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_7, "BSE_MIDI_SIGNAL_CONTROL_7", _("Control 7 Volume MSB") );
1151  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_8, "BSE_MIDI_SIGNAL_CONTROL_8", _("Control 8 Balance MSB") );
1152  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_9, "BSE_MIDI_SIGNAL_CONTROL_9", _("control-9") );
1153  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_10, "BSE_MIDI_SIGNAL_CONTROL_10", _("Control 10 Panorama MSB") );
1154  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_11, "BSE_MIDI_SIGNAL_CONTROL_11", _("Control 11 Expression MSB") );
1155  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_12, "BSE_MIDI_SIGNAL_CONTROL_12", _("Control 12 Effect Control 1 MSB") );
1156  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_13, "BSE_MIDI_SIGNAL_CONTROL_13", _("Control 13 Effect Control 2 MSB") );
1157  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_14, "BSE_MIDI_SIGNAL_CONTROL_14", _("control-14") );
1158  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_15, "BSE_MIDI_SIGNAL_CONTROL_15", _("control-15") );
1159  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_16, "BSE_MIDI_SIGNAL_CONTROL_16", _("Control 16 General Purpose Controller 1 MSB") );
1160  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_17, "BSE_MIDI_SIGNAL_CONTROL_17", _("Control 17 General Purpose Controller 2 MSB") );
1161  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_18, "BSE_MIDI_SIGNAL_CONTROL_18", _("Control 18 General Purpose Controller 3 MSB") );
1162  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_19, "BSE_MIDI_SIGNAL_CONTROL_19", _("Control 19 General Purpose Controller 4 MSB") );
1163  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_20, "BSE_MIDI_SIGNAL_CONTROL_20", _("control-20") );
1164  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_21, "BSE_MIDI_SIGNAL_CONTROL_21", _("control-21") );
1165  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_22, "BSE_MIDI_SIGNAL_CONTROL_22", _("control-22") );
1166  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_23, "BSE_MIDI_SIGNAL_CONTROL_23", _("control-23") );
1167  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_24, "BSE_MIDI_SIGNAL_CONTROL_24", _("control-24") );
1168  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_25, "BSE_MIDI_SIGNAL_CONTROL_25", _("control-25") );
1169  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_26, "BSE_MIDI_SIGNAL_CONTROL_26", _("control-26") );
1170  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_27, "BSE_MIDI_SIGNAL_CONTROL_27", _("control-27") );
1171  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_28, "BSE_MIDI_SIGNAL_CONTROL_28", _("control-28") );
1172  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_29, "BSE_MIDI_SIGNAL_CONTROL_29", _("control-29") );
1173  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_30, "BSE_MIDI_SIGNAL_CONTROL_30", _("control-30") );
1174  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_31, "BSE_MIDI_SIGNAL_CONTROL_31", _("control-31") );
1175  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_32, "BSE_MIDI_SIGNAL_CONTROL_32", _("Control 32 Bank Select LSB") );
1176  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_33, "BSE_MIDI_SIGNAL_CONTROL_33", _("Control 33 Modulation Depth LSB") );
1177  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_34, "BSE_MIDI_SIGNAL_CONTROL_34", _("Control 34 Breath Control LSB") );
1178  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_35, "BSE_MIDI_SIGNAL_CONTROL_35", _("control-35") );
1179  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_36, "BSE_MIDI_SIGNAL_CONTROL_36", _("Control 36 Foot Controller LSB") );
1180  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_37, "BSE_MIDI_SIGNAL_CONTROL_37", _("Control 37 Portamento Time LSB") );
1181  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_38, "BSE_MIDI_SIGNAL_CONTROL_38", _("Control 38 Data Entry LSB") );
1182  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_39, "BSE_MIDI_SIGNAL_CONTROL_39", _("Control 39 Volume LSB") );
1183  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_40, "BSE_MIDI_SIGNAL_CONTROL_40", _("Control 40 Balance LSB") );
1184  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_41, "BSE_MIDI_SIGNAL_CONTROL_41", _("control-41") );
1185  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_42, "BSE_MIDI_SIGNAL_CONTROL_42", _("Control 42 Panorama LSB") );
1186  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_43, "BSE_MIDI_SIGNAL_CONTROL_43", _("Control 43 Expression LSB") );
1187  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_44, "BSE_MIDI_SIGNAL_CONTROL_44", _("Control 44 Effect Control 1 LSB") );
1188  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_45, "BSE_MIDI_SIGNAL_CONTROL_45", _("Control 45 Effect Control 2 LSB") );
1189  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_46, "BSE_MIDI_SIGNAL_CONTROL_46", _("control-46") );
1190  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_47, "BSE_MIDI_SIGNAL_CONTROL_47", _("control-47") );
1191  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_48, "BSE_MIDI_SIGNAL_CONTROL_48", _("Control 48 General Purpose Controller 1 LSB") );
1192  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_49, "BSE_MIDI_SIGNAL_CONTROL_49", _("Control 49 General Purpose Controller 2 LSB") );
1193  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_50, "BSE_MIDI_SIGNAL_CONTROL_50", _("Control 50 General Purpose Controller 3 LSB") );
1194  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_51, "BSE_MIDI_SIGNAL_CONTROL_51", _("Control 51 General Purpose Controller 4 LSB") );
1195  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_52, "BSE_MIDI_SIGNAL_CONTROL_52", _("control-52") );
1196  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_53, "BSE_MIDI_SIGNAL_CONTROL_53", _("control-53") );
1197  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_54, "BSE_MIDI_SIGNAL_CONTROL_54", _("control-54") );
1198  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_55, "BSE_MIDI_SIGNAL_CONTROL_55", _("control-55") );
1199  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_56, "BSE_MIDI_SIGNAL_CONTROL_56", _("control-56") );
1200  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_57, "BSE_MIDI_SIGNAL_CONTROL_57", _("control-57") );
1201  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_58, "BSE_MIDI_SIGNAL_CONTROL_58", _("control-58") );
1202  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_59, "BSE_MIDI_SIGNAL_CONTROL_59", _("control-59") );
1203  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_60, "BSE_MIDI_SIGNAL_CONTROL_60", _("control-60") );
1204  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_61, "BSE_MIDI_SIGNAL_CONTROL_61", _("control-61") );
1205  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_62, "BSE_MIDI_SIGNAL_CONTROL_62", _("control-62") );
1206  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_63, "BSE_MIDI_SIGNAL_CONTROL_63", _("control-63") );
1207  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_64, "BSE_MIDI_SIGNAL_CONTROL_64", _("Control 64 Damper Pedal Switch (Sustain)") );
1208  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_65, "BSE_MIDI_SIGNAL_CONTROL_65", _("Control 65 Portamento Switch") );
1209  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_66, "BSE_MIDI_SIGNAL_CONTROL_66", _("Control 66 Sustenuto Switch") );
1210  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_67, "BSE_MIDI_SIGNAL_CONTROL_67", _("Control 67 Soft Switch") );
1211  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_68, "BSE_MIDI_SIGNAL_CONTROL_68", _("Control 68 Legato Pedal Switch") );
1212  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_69, "BSE_MIDI_SIGNAL_CONTROL_69", _("Control 69 Hold Pedal Switch") );
1213  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_70, "BSE_MIDI_SIGNAL_CONTROL_70", _("Control 70 Sound Variation") );
1214  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_71, "BSE_MIDI_SIGNAL_CONTROL_71", _("Control 71 Filter Resonance (Timbre)") );
1215  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_72, "BSE_MIDI_SIGNAL_CONTROL_72", _("Control 72 Sound Release Time") );
1216  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_73, "BSE_MIDI_SIGNAL_CONTROL_73", _("Control 73 Sound Attack Time") );
1217  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_74, "BSE_MIDI_SIGNAL_CONTROL_74", _("Control 74 Sound Brightness") );
1218  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_75, "BSE_MIDI_SIGNAL_CONTROL_75", _("Control 75 Sound Decay Time") );
1219  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_76, "BSE_MIDI_SIGNAL_CONTROL_76", _("Control 76 Vibrato Rate") );
1220  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_77, "BSE_MIDI_SIGNAL_CONTROL_77", _("Control 77 Vibrato Depth") );
1221  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_78, "BSE_MIDI_SIGNAL_CONTROL_78", _("Control 78 Vibrato Delay") );
1222  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_79, "BSE_MIDI_SIGNAL_CONTROL_79", _("Control 79 Sound Control 10") );
1223  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_80, "BSE_MIDI_SIGNAL_CONTROL_80", _("Control 80 General Purpose Switch 5") );
1224  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_81, "BSE_MIDI_SIGNAL_CONTROL_81", _("Control 81 General Purpose Switch 6") );
1225  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_82, "BSE_MIDI_SIGNAL_CONTROL_82", _("Control 82 General Purpose Switch 7") );
1226  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_83, "BSE_MIDI_SIGNAL_CONTROL_83", _("Control 83 General Purpose Switch 8") );
1227  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_84, "BSE_MIDI_SIGNAL_CONTROL_84", _("Control 84 Portamento Control (Note)") );
1228  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_85, "BSE_MIDI_SIGNAL_CONTROL_85", _("control-85") );
1229  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_86, "BSE_MIDI_SIGNAL_CONTROL_86", _("control-86") );
1230  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_87, "BSE_MIDI_SIGNAL_CONTROL_87", _("control-87") );
1231  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_88, "BSE_MIDI_SIGNAL_CONTROL_88", _("control-88") );
1232  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_89, "BSE_MIDI_SIGNAL_CONTROL_89", _("control-89") );
1233  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_90, "BSE_MIDI_SIGNAL_CONTROL_90", _("control-90") );
1234  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_91, "BSE_MIDI_SIGNAL_CONTROL_91", _("Control 91 Reverb Depth") );
1235  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_92, "BSE_MIDI_SIGNAL_CONTROL_92", _("Control 92 Tremolo Depth") );
1236  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_93, "BSE_MIDI_SIGNAL_CONTROL_93", _("Control 93 Chorus Depth") );
1237  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_94, "BSE_MIDI_SIGNAL_CONTROL_94", _("Control 93 Detune Depth") );
1238  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_95, "BSE_MIDI_SIGNAL_CONTROL_95", _("Control 95 Phase Depth") );
1239  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_96, "BSE_MIDI_SIGNAL_CONTROL_96", _("Control 96 Data Increment Trigger") );
1240  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_97, "BSE_MIDI_SIGNAL_CONTROL_97", _("Control 97 Data Decrement Trigger") );
1241  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_98, "BSE_MIDI_SIGNAL_CONTROL_98", _("Control 98 Non-Registered Parameter MSB") );
1242  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_99, "BSE_MIDI_SIGNAL_CONTROL_99", _("Control 99 Non-Registered Parameter LSB") );
1243  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_100, "BSE_MIDI_SIGNAL_CONTROL_100", _("Control 100 Registered Parameter MSB") );
1244  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_101, "BSE_MIDI_SIGNAL_CONTROL_101", _("Control 101 Registered Parameter LSB") );
1245  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_102, "BSE_MIDI_SIGNAL_CONTROL_102", _("control-102") );
1246  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_103, "BSE_MIDI_SIGNAL_CONTROL_103", _("control-103") );
1247  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_104, "BSE_MIDI_SIGNAL_CONTROL_104", _("control-104") );
1248  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_105, "BSE_MIDI_SIGNAL_CONTROL_105", _("control-105") );
1249  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_106, "BSE_MIDI_SIGNAL_CONTROL_106", _("control-106") );
1250  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_107, "BSE_MIDI_SIGNAL_CONTROL_107", _("control-107") );
1251  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_108, "BSE_MIDI_SIGNAL_CONTROL_108", _("control-108") );
1252  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_109, "BSE_MIDI_SIGNAL_CONTROL_109", _("control-109") );
1253  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_110, "BSE_MIDI_SIGNAL_CONTROL_110", _("control-110") );
1254  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_111, "BSE_MIDI_SIGNAL_CONTROL_111", _("control-111") );
1255  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_112, "BSE_MIDI_SIGNAL_CONTROL_112", _("control-112") );
1256  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_113, "BSE_MIDI_SIGNAL_CONTROL_113", _("control-113") );
1257  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_114, "BSE_MIDI_SIGNAL_CONTROL_114", _("control-114") );
1258  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_115, "BSE_MIDI_SIGNAL_CONTROL_115", _("control-115") );
1259  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_116, "BSE_MIDI_SIGNAL_CONTROL_116", _("control-116") );
1260  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_117, "BSE_MIDI_SIGNAL_CONTROL_117", _("control-117") );
1261  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_118, "BSE_MIDI_SIGNAL_CONTROL_118", _("control-118") );
1262  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_119, "BSE_MIDI_SIGNAL_CONTROL_119", _("control-119") );
1263  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_120, "BSE_MIDI_SIGNAL_CONTROL_120", _("Control 120 All Sound Off ITrigger") );
1264  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_121, "BSE_MIDI_SIGNAL_CONTROL_121", _("Control 121 All Controllers Off ITrigger") );
1265  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_122, "BSE_MIDI_SIGNAL_CONTROL_122", _("Control 122 Local Control Switch") );
1266  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_123, "BSE_MIDI_SIGNAL_CONTROL_123", _("Control 123 All Notes Off ITrigger") );
1267  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_124, "BSE_MIDI_SIGNAL_CONTROL_124", _("Control 124 Omni Mode Off ITrigger") );
1268  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_125, "BSE_MIDI_SIGNAL_CONTROL_125", _("Control 125 Omni Mode On ITrigger") );
1269  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_126, "BSE_MIDI_SIGNAL_CONTROL_126", _("Control 126 Monophonic Voices Mode") );
1270  *v++ = ::Bse::EnumValue (MIDI_SIGNAL_CONTROL_127, "BSE_MIDI_SIGNAL_CONTROL_127", _("Control 127 Polyphonic Mode On ITrigger") );
1271 );
1272 BSE_CXX_DECLARE_ENUM (MidiControlType, "BseMidiControlType", 161,
1273  *v++ = ::Bse::EnumValue (MIDI_CONTROL_NONE, "BSE_MIDI_CONTROL_NONE", _("None") );
1274  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_0, "BSE_MIDI_CONTROL_CONTINUOUS_0", _("Bank Select") );
1275  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_1, "BSE_MIDI_CONTROL_CONTINUOUS_1", _("Modulation Depth") );
1276  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_2, "BSE_MIDI_CONTROL_CONTINUOUS_2", _("Breath Control") );
1277  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_3, "BSE_MIDI_CONTROL_CONTINUOUS_3", _("Continuous 3") );
1278  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_4, "BSE_MIDI_CONTROL_CONTINUOUS_4", _("Foot Controller") );
1279  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_5, "BSE_MIDI_CONTROL_CONTINUOUS_5", _("Portamento Time") );
1280  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_6, "BSE_MIDI_CONTROL_CONTINUOUS_6", _("Data Entry") );
1281  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_7, "BSE_MIDI_CONTROL_CONTINUOUS_7", _("Volume") );
1282  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_8, "BSE_MIDI_CONTROL_CONTINUOUS_8", _("Balance") );
1283  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_9, "BSE_MIDI_CONTROL_CONTINUOUS_9", _("Continuous 9") );
1284  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_10, "BSE_MIDI_CONTROL_CONTINUOUS_10", _("Panorama") );
1285  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_11, "BSE_MIDI_CONTROL_CONTINUOUS_11", _("Expression") );
1286  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_12, "BSE_MIDI_CONTROL_CONTINUOUS_12", _("Effect Control 1") );
1287  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_13, "BSE_MIDI_CONTROL_CONTINUOUS_13", _("Effect Control 2") );
1288  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_14, "BSE_MIDI_CONTROL_CONTINUOUS_14", _("Continuous 14") );
1289  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_15, "BSE_MIDI_CONTROL_CONTINUOUS_15", _("Continuous 15") );
1290  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_16, "BSE_MIDI_CONTROL_CONTINUOUS_16", _("General Purpose Controller 1") );
1291  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_17, "BSE_MIDI_CONTROL_CONTINUOUS_17", _("General Purpose Controller 2") );
1292  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_18, "BSE_MIDI_CONTROL_CONTINUOUS_18", _("General Purpose Controller 3") );
1293  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_19, "BSE_MIDI_CONTROL_CONTINUOUS_19", _("General Purpose Controller 4") );
1294  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_20, "BSE_MIDI_CONTROL_CONTINUOUS_20", _("Continuous 20") );
1295  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_21, "BSE_MIDI_CONTROL_CONTINUOUS_21", _("Continuous 21") );
1296  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_22, "BSE_MIDI_CONTROL_CONTINUOUS_22", _("Continuous 22") );
1297  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_23, "BSE_MIDI_CONTROL_CONTINUOUS_23", _("Continuous 23") );
1298  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_24, "BSE_MIDI_CONTROL_CONTINUOUS_24", _("Continuous 24") );
1299  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_25, "BSE_MIDI_CONTROL_CONTINUOUS_25", _("Continuous 25") );
1300  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_26, "BSE_MIDI_CONTROL_CONTINUOUS_26", _("Continuous 26") );
1301  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_27, "BSE_MIDI_CONTROL_CONTINUOUS_27", _("Continuous 27") );
1302  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_28, "BSE_MIDI_CONTROL_CONTINUOUS_28", _("Continuous 28") );
1303  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_29, "BSE_MIDI_CONTROL_CONTINUOUS_29", _("Continuous 29") );
1304  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_30, "BSE_MIDI_CONTROL_CONTINUOUS_30", _("Continuous 30") );
1305  *v++ = ::Bse::EnumValue (MIDI_CONTROL_CONTINUOUS_31, "BSE_MIDI_CONTROL_CONTINUOUS_31", _("Continuous 31") );
1306  *v++ = ::Bse::EnumValue (MIDI_CONTROL_0, "BSE_MIDI_CONTROL_0", _("Control 0 Bank Select MSB") );
1307  *v++ = ::Bse::EnumValue (MIDI_CONTROL_1, "BSE_MIDI_CONTROL_1", _("Control 1 Modulation Depth MSB") );
1308  *v++ = ::Bse::EnumValue (MIDI_CONTROL_2, "BSE_MIDI_CONTROL_2", _("Control 2 Breath Control MSB") );
1309  *v++ = ::Bse::EnumValue (MIDI_CONTROL_3, "BSE_MIDI_CONTROL_3", _("control-3") );
1310  *v++ = ::Bse::EnumValue (MIDI_CONTROL_4, "BSE_MIDI_CONTROL_4", _("Control 4 Foot Controller MSB") );
1311  *v++ = ::Bse::EnumValue (MIDI_CONTROL_5, "BSE_MIDI_CONTROL_5", _("Control 5 Portamento Time MSB") );
1312  *v++ = ::Bse::EnumValue (MIDI_CONTROL_6, "BSE_MIDI_CONTROL_6", _("Control 6 Data Entry MSB") );
1313  *v++ = ::Bse::EnumValue (MIDI_CONTROL_7, "BSE_MIDI_CONTROL_7", _("Control 7 Volume MSB") );
1314  *v++ = ::Bse::EnumValue (MIDI_CONTROL_8, "BSE_MIDI_CONTROL_8", _("Control 8 Balance MSB") );
1315  *v++ = ::Bse::EnumValue (MIDI_CONTROL_9, "BSE_MIDI_CONTROL_9", _("control-9") );
1316  *v++ = ::Bse::EnumValue (MIDI_CONTROL_10, "BSE_MIDI_CONTROL_10", _("Control 10 Panorama MSB") );
1317  *v++ = ::Bse::EnumValue (MIDI_CONTROL_11, "BSE_MIDI_CONTROL_11", _("Control 11 Expression MSB") );
1318  *v++ = ::Bse::EnumValue (MIDI_CONTROL_12, "BSE_MIDI_CONTROL_12", _("Control 12 Effect Control 1 MSB") );
1319  *v++ = ::Bse::EnumValue (MIDI_CONTROL_13, "BSE_MIDI_CONTROL_13", _("Control 13 Effect Control 2 MSB") );
1320  *v++ = ::Bse::EnumValue (MIDI_CONTROL_14, "BSE_MIDI_CONTROL_14", _("control-14") );
1321  *v++ = ::Bse::EnumValue (MIDI_CONTROL_15, "BSE_MIDI_CONTROL_15", _("control-15") );
1322  *v++ = ::Bse::EnumValue (MIDI_CONTROL_16, "BSE_MIDI_CONTROL_16", _("Control 16 General Purpose Controller 1 MSB") );
1323  *v++ = ::Bse::EnumValue (MIDI_CONTROL_17, "BSE_MIDI_CONTROL_17", _("Control 17 General Purpose Controller 2 MSB") );
1324  *v++ = ::Bse::EnumValue (MIDI_CONTROL_18, "BSE_MIDI_CONTROL_18", _("Control 18 General Purpose Controller 3 MSB") );
1325  *v++ = ::Bse::EnumValue (MIDI_CONTROL_19, "BSE_MIDI_CONTROL_19", _("Control 19 General Purpose Controller 4 MSB") );
1326  *v++ = ::Bse::EnumValue (MIDI_CONTROL_20, "BSE_MIDI_CONTROL_20", _("control-20") );
1327  *v++ = ::Bse::EnumValue (MIDI_CONTROL_21, "BSE_MIDI_CONTROL_21", _("control-21") );
1328  *v++ = ::Bse::EnumValue (MIDI_CONTROL_22, "BSE_MIDI_CONTROL_22", _("control-22") );
1329  *v++ = ::Bse::EnumValue (MIDI_CONTROL_23, "BSE_MIDI_CONTROL_23", _("control-23") );
1330  *v++ = ::Bse::EnumValue (MIDI_CONTROL_24, "BSE_MIDI_CONTROL_24", _("control-24") );
1331  *v++ = ::Bse::EnumValue (MIDI_CONTROL_25, "BSE_MIDI_CONTROL_25", _("control-25") );
1332  *v++ = ::Bse::EnumValue (MIDI_CONTROL_26, "BSE_MIDI_CONTROL_26", _("control-26") );
1333  *v++ = ::Bse::EnumValue (MIDI_CONTROL_27, "BSE_MIDI_CONTROL_27", _("control-27") );
1334  *v++ = ::Bse::EnumValue (MIDI_CONTROL_28, "BSE_MIDI_CONTROL_28", _("control-28") );
1335  *v++ = ::Bse::EnumValue (MIDI_CONTROL_29, "BSE_MIDI_CONTROL_29", _("control-29") );
1336  *v++ = ::Bse::EnumValue (MIDI_CONTROL_30, "BSE_MIDI_CONTROL_30", _("control-30") );
1337  *v++ = ::Bse::EnumValue (MIDI_CONTROL_31, "BSE_MIDI_CONTROL_31", _("control-31") );
1338  *v++ = ::Bse::EnumValue (MIDI_CONTROL_32, "BSE_MIDI_CONTROL_32", _("Control 32 Bank Select LSB") );
1339  *v++ = ::Bse::EnumValue (MIDI_CONTROL_33, "BSE_MIDI_CONTROL_33", _("Control 33 Modulation Depth LSB") );
1340  *v++ = ::Bse::EnumValue (MIDI_CONTROL_34, "BSE_MIDI_CONTROL_34", _("Control 34 Breath Control LSB") );
1341  *v++ = ::Bse::EnumValue (MIDI_CONTROL_35, "BSE_MIDI_CONTROL_35", _("control-35") );
1342  *v++ = ::Bse::EnumValue (MIDI_CONTROL_36, "BSE_MIDI_CONTROL_36", _("Control 36 Foot Controller LSB") );
1343  *v++ = ::Bse::EnumValue (MIDI_CONTROL_37, "BSE_MIDI_CONTROL_37", _("Control 37 Portamento Time LSB") );
1344  *v++ = ::Bse::EnumValue (MIDI_CONTROL_38, "BSE_MIDI_CONTROL_38", _("Control 38 Data Entry LSB") );
1345  *v++ = ::Bse::EnumValue (MIDI_CONTROL_39, "BSE_MIDI_CONTROL_39", _("Control 39 Volume LSB") );
1346  *v++ = ::Bse::EnumValue (MIDI_CONTROL_40, "BSE_MIDI_CONTROL_40", _("Control 40 Balance LSB") );
1347  *v++ = ::Bse::EnumValue (MIDI_CONTROL_41, "BSE_MIDI_CONTROL_41", _("control-41") );
1348  *v++ = ::Bse::EnumValue (MIDI_CONTROL_42, "BSE_MIDI_CONTROL_42", _("Control 42 Panorama LSB") );
1349  *v++ = ::Bse::EnumValue (MIDI_CONTROL_43, "BSE_MIDI_CONTROL_43", _("Control 43 Expression LSB") );
1350  *v++ = ::Bse::EnumValue (MIDI_CONTROL_44, "BSE_MIDI_CONTROL_44", _("Control 44 Effect Control 1 LSB") );
1351  *v++ = ::Bse::EnumValue (MIDI_CONTROL_45, "BSE_MIDI_CONTROL_45", _("Control 45 Effect Control 2 LSB") );
1352  *v++ = ::Bse::EnumValue (MIDI_CONTROL_46, "BSE_MIDI_CONTROL_46", _("control-46") );
1353  *v++ = ::Bse::EnumValue (MIDI_CONTROL_47, "BSE_MIDI_CONTROL_47", _("control-47") );
1354  *v++ = ::Bse::EnumValue (MIDI_CONTROL_48, "BSE_MIDI_CONTROL_48", _("Control 48 General Purpose Controller 1 LSB") );
1355  *v++ = ::Bse::EnumValue (MIDI_CONTROL_49, "BSE_MIDI_CONTROL_49", _("Control 49 General Purpose Controller 2 LSB") );
1356  *v++ = ::Bse::EnumValue (MIDI_CONTROL_50, "BSE_MIDI_CONTROL_50", _("Control 50 General Purpose Controller 3 LSB") );
1357  *v++ = ::Bse::EnumValue (MIDI_CONTROL_51, "BSE_MIDI_CONTROL_51", _("Control 51 General Purpose Controller 4 LSB") );
1358  *v++ = ::Bse::EnumValue (MIDI_CONTROL_52, "BSE_MIDI_CONTROL_52", _("control-52") );
1359  *v++ = ::Bse::EnumValue (MIDI_CONTROL_53, "BSE_MIDI_CONTROL_53", _("control-53") );
1360  *v++ = ::Bse::EnumValue (MIDI_CONTROL_54, "BSE_MIDI_CONTROL_54", _("control-54") );
1361  *v++ = ::Bse::EnumValue (MIDI_CONTROL_55, "BSE_MIDI_CONTROL_55", _("control-55") );
1362  *v++ = ::Bse::EnumValue (MIDI_CONTROL_56, "BSE_MIDI_CONTROL_56", _("control-56") );
1363  *v++ = ::Bse::EnumValue (MIDI_CONTROL_57, "BSE_MIDI_CONTROL_57", _("control-57") );
1364  *v++ = ::Bse::EnumValue (MIDI_CONTROL_58, "BSE_MIDI_CONTROL_58", _("control-58") );
1365  *v++ = ::Bse::EnumValue (MIDI_CONTROL_59, "BSE_MIDI_CONTROL_59", _("control-59") );
1366  *v++ = ::Bse::EnumValue (MIDI_CONTROL_60, "BSE_MIDI_CONTROL_60", _("control-60") );
1367  *v++ = ::Bse::EnumValue (MIDI_CONTROL_61, "BSE_MIDI_CONTROL_61", _("control-61") );
1368  *v++ = ::Bse::EnumValue (MIDI_CONTROL_62, "BSE_MIDI_CONTROL_62", _("control-62") );
1369  *v++ = ::Bse::EnumValue (MIDI_CONTROL_63, "BSE_MIDI_CONTROL_63", _("control-63") );
1370  *v++ = ::Bse::EnumValue (MIDI_CONTROL_64, "BSE_MIDI_CONTROL_64", _("Control 64 Damper Pedal Switch (Sustain)") );
1371  *v++ = ::Bse::EnumValue (MIDI_CONTROL_65, "BSE_MIDI_CONTROL_65", _("Control 65 Portamento Switch") );
1372  *v++ = ::Bse::EnumValue (MIDI_CONTROL_66, "BSE_MIDI_CONTROL_66", _("Control 66 Sustenuto Switch") );
1373  *v++ = ::Bse::EnumValue (MIDI_CONTROL_67, "BSE_MIDI_CONTROL_67", _("Control 67 Soft Switch") );
1374  *v++ = ::Bse::EnumValue (MIDI_CONTROL_68, "BSE_MIDI_CONTROL_68", _("Control 68 Legato Pedal Switch") );
1375  *v++ = ::Bse::EnumValue (MIDI_CONTROL_69, "BSE_MIDI_CONTROL_69", _("Control 69 Hold Pedal Switch") );
1376  *v++ = ::Bse::EnumValue (MIDI_CONTROL_70, "BSE_MIDI_CONTROL_70", _("Control 70 Sound Variation") );
1377  *v++ = ::Bse::EnumValue (MIDI_CONTROL_71, "BSE_MIDI_CONTROL_71", _("Control 71 Filter Resonance (Timbre)") );
1378  *v++ = ::Bse::EnumValue (MIDI_CONTROL_72, "BSE_MIDI_CONTROL_72", _("Control 72 Sound Release Time") );
1379  *v++ = ::Bse::EnumValue (MIDI_CONTROL_73, "BSE_MIDI_CONTROL_73", _("Control 73 Sound Attack Time") );
1380  *v++ = ::Bse::EnumValue (MIDI_CONTROL_74, "BSE_MIDI_CONTROL_74", _("Control 74 Sound Brightness") );
1381  *v++ = ::Bse::EnumValue (MIDI_CONTROL_75, "BSE_MIDI_CONTROL_75", _("Control 75 Sound Decay Time") );
1382  *v++ = ::Bse::EnumValue (MIDI_CONTROL_76, "BSE_MIDI_CONTROL_76", _("Control 76 Vibrato Rate") );
1383  *v++ = ::Bse::EnumValue (MIDI_CONTROL_77, "BSE_MIDI_CONTROL_77", _("Control 77 Vibrato Depth") );
1384  *v++ = ::Bse::EnumValue (MIDI_CONTROL_78, "BSE_MIDI_CONTROL_78", _("Control 78 Vibrato Delay") );
1385  *v++ = ::Bse::EnumValue (MIDI_CONTROL_79, "BSE_MIDI_CONTROL_79", _("Control 79 Sound Control 10") );
1386  *v++ = ::Bse::EnumValue (MIDI_CONTROL_80, "BSE_MIDI_CONTROL_80", _("Control 80 General Purpose Switch 5") );
1387  *v++ = ::Bse::EnumValue (MIDI_CONTROL_81, "BSE_MIDI_CONTROL_81", _("Control 81 General Purpose Switch 6") );
1388  *v++ = ::Bse::EnumValue (MIDI_CONTROL_82, "BSE_MIDI_CONTROL_82", _("Control 82 General Purpose Switch 7") );
1389  *v++ = ::Bse::EnumValue (MIDI_CONTROL_83, "BSE_MIDI_CONTROL_83", _("Control 83 General Purpose Switch 8") );
1390  *v++ = ::Bse::EnumValue (MIDI_CONTROL_84, "BSE_MIDI_CONTROL_84", _("Control 84 Portamento Control (Note)") );
1391  *v++ = ::Bse::EnumValue (MIDI_CONTROL_85, "BSE_MIDI_CONTROL_85", _("control-85") );
1392  *v++ = ::Bse::EnumValue (MIDI_CONTROL_86, "BSE_MIDI_CONTROL_86", _("control-86") );
1393  *v++ = ::Bse::EnumValue (MIDI_CONTROL_87, "BSE_MIDI_CONTROL_87", _("control-87") );
1394  *v++ = ::Bse::EnumValue (MIDI_CONTROL_88, "BSE_MIDI_CONTROL_88", _("control-88") );
1395  *v++ = ::Bse::EnumValue (MIDI_CONTROL_89, "BSE_MIDI_CONTROL_89", _("control-89") );
1396  *v++ = ::Bse::EnumValue (MIDI_CONTROL_90, "BSE_MIDI_CONTROL_90", _("control-90") );
1397  *v++ = ::Bse::EnumValue (MIDI_CONTROL_91, "BSE_MIDI_CONTROL_91", _("Control 91 Reverb Depth") );
1398  *v++ = ::Bse::EnumValue (MIDI_CONTROL_92, "BSE_MIDI_CONTROL_92", _("Control 92 Tremolo Depth") );
1399  *v++ = ::Bse::EnumValue (MIDI_CONTROL_93, "BSE_MIDI_CONTROL_93", _("Control 93 Chorus Depth") );
1400  *v++ = ::Bse::EnumValue (MIDI_CONTROL_94, "BSE_MIDI_CONTROL_94", _("Control 93 Detune Depth") );
1401  *v++ = ::Bse::EnumValue (MIDI_CONTROL_95, "BSE_MIDI_CONTROL_95", _("Control 95 Phase Depth") );
1402  *v++ = ::Bse::EnumValue (MIDI_CONTROL_96, "BSE_MIDI_CONTROL_96", _("Control 96 Data Increment Trigger") );
1403  *v++ = ::Bse::EnumValue (MIDI_CONTROL_97, "BSE_MIDI_CONTROL_97", _("Control 97 Data Decrement Trigger") );
1404  *v++ = ::Bse::EnumValue (MIDI_CONTROL_98, "BSE_MIDI_CONTROL_98", _("Control 98 Non-Registered Parameter MSB") );
1405  *v++ = ::Bse::EnumValue (MIDI_CONTROL_99, "BSE_MIDI_CONTROL_99", _("Control 99 Non-Registered Parameter LSB") );
1406  *v++ = ::Bse::EnumValue (MIDI_CONTROL_100, "BSE_MIDI_CONTROL_100", _("Control 100 Registered Parameter MSB") );
1407  *v++ = ::Bse::EnumValue (MIDI_CONTROL_101, "BSE_MIDI_CONTROL_101", _("Control 101 Registered Parameter LSB") );
1408  *v++ = ::Bse::EnumValue (MIDI_CONTROL_102, "BSE_MIDI_CONTROL_102", _("control-102") );
1409  *v++ = ::Bse::EnumValue (MIDI_CONTROL_103, "BSE_MIDI_CONTROL_103", _("control-103") );
1410  *v++ = ::Bse::EnumValue (MIDI_CONTROL_104, "BSE_MIDI_CONTROL_104", _("control-104") );
1411  *v++ = ::Bse::EnumValue (MIDI_CONTROL_105, "BSE_MIDI_CONTROL_105", _("control-105") );
1412  *v++ = ::Bse::EnumValue (MIDI_CONTROL_106, "BSE_MIDI_CONTROL_106", _("control-106") );
1413  *v++ = ::Bse::EnumValue (MIDI_CONTROL_107, "BSE_MIDI_CONTROL_107", _("control-107") );
1414  *v++ = ::Bse::EnumValue (MIDI_CONTROL_108, "BSE_MIDI_CONTROL_108", _("control-108") );
1415  *v++ = ::Bse::EnumValue (MIDI_CONTROL_109, "BSE_MIDI_CONTROL_109", _("control-109") );
1416  *v++ = ::Bse::EnumValue (MIDI_CONTROL_110, "BSE_MIDI_CONTROL_110", _("control-110") );
1417  *v++ = ::Bse::EnumValue (MIDI_CONTROL_111, "BSE_MIDI_CONTROL_111", _("control-111") );
1418  *v++ = ::Bse::EnumValue (MIDI_CONTROL_112, "BSE_MIDI_CONTROL_112", _("control-112") );
1419  *v++ = ::Bse::EnumValue (MIDI_CONTROL_113, "BSE_MIDI_CONTROL_113", _("control-113") );
1420  *v++ = ::Bse::EnumValue (MIDI_CONTROL_114, "BSE_MIDI_CONTROL_114", _("control-114") );
1421  *v++ = ::Bse::EnumValue (MIDI_CONTROL_115, "BSE_MIDI_CONTROL_115", _("control-115") );
1422  *v++ = ::Bse::EnumValue (MIDI_CONTROL_116, "BSE_MIDI_CONTROL_116", _("control-116") );
1423  *v++ = ::Bse::EnumValue (MIDI_CONTROL_117, "BSE_MIDI_CONTROL_117", _("control-117") );
1424  *v++ = ::Bse::EnumValue (MIDI_CONTROL_118, "BSE_MIDI_CONTROL_118", _("control-118") );
1425  *v++ = ::Bse::EnumValue (MIDI_CONTROL_119, "BSE_MIDI_CONTROL_119", _("control-119") );
1426  *v++ = ::Bse::EnumValue (MIDI_CONTROL_120, "BSE_MIDI_CONTROL_120", _("Control 120 All Sound Off ITrigger") );
1427  *v++ = ::Bse::EnumValue (MIDI_CONTROL_121, "BSE_MIDI_CONTROL_121", _("Control 121 All Controllers Off ITrigger") );
1428  *v++ = ::Bse::EnumValue (MIDI_CONTROL_122, "BSE_MIDI_CONTROL_122", _("Control 122 Local Control Switch") );
1429  *v++ = ::Bse::EnumValue (MIDI_CONTROL_123, "BSE_MIDI_CONTROL_123", _("Control 123 All Notes Off ITrigger") );
1430  *v++ = ::Bse::EnumValue (MIDI_CONTROL_124, "BSE_MIDI_CONTROL_124", _("Control 124 Omni Mode Off ITrigger") );
1431  *v++ = ::Bse::EnumValue (MIDI_CONTROL_125, "BSE_MIDI_CONTROL_125", _("Control 125 Omni Mode On ITrigger") );
1432  *v++ = ::Bse::EnumValue (MIDI_CONTROL_126, "BSE_MIDI_CONTROL_126", _("Control 126 Monophonic Voices Mode") );
1433  *v++ = ::Bse::EnumValue (MIDI_CONTROL_127, "BSE_MIDI_CONTROL_127", _("Control 127 Polyphonic Mode On ITrigger") );
1434 );
1435 BSE_CXX_DECLARE_ENUM (MidiChannelEventType, "BseMidiChannelEventType", 18,
1436  *v++ = ::Bse::EnumValue (MIDI_EVENT_NONE, "BSE_MIDI_EVENT_NONE", "bse-midi-event-none" );
1437  *v++ = ::Bse::EnumValue (MIDI_EVENT_NOTE_OFF, "BSE_MIDI_EVENT_NOTE_OFF", "bse-midi-event-note-off" );
1438  *v++ = ::Bse::EnumValue (MIDI_EVENT_NOTE_ON, "BSE_MIDI_EVENT_NOTE_ON", "bse-midi-event-note-on" );
1439  *v++ = ::Bse::EnumValue (MIDI_EVENT_KEY_PRESSURE, "BSE_MIDI_EVENT_KEY_PRESSURE", "bse-midi-event-key-pressure" );
1440  *v++ = ::Bse::EnumValue (MIDI_EVENT_CONTROL_CHANGE, "BSE_MIDI_EVENT_CONTROL_CHANGE", "bse-midi-event-control-change" );
1441  *v++ = ::Bse::EnumValue (MIDI_EVENT_PROGRAM_CHANGE, "BSE_MIDI_EVENT_PROGRAM_CHANGE", "bse-midi-event-program-change" );
1442  *v++ = ::Bse::EnumValue (MIDI_EVENT_CHANNEL_PRESSURE, "BSE_MIDI_EVENT_CHANNEL_PRESSURE", "bse-midi-event-channel-pressure" );
1443  *v++ = ::Bse::EnumValue (MIDI_EVENT_PITCH_BEND, "BSE_MIDI_EVENT_PITCH_BEND", "bse-midi-event-pitch-bend" );
1444  *v++ = ::Bse::EnumValue (MIDI_EVENT_SYS_EX, "BSE_MIDI_EVENT_SYS_EX", "bse-midi-event-sys-ex" );
1445  *v++ = ::Bse::EnumValue (MIDI_EVENT_SONG_POINTER, "BSE_MIDI_EVENT_SONG_POINTER", "bse-midi-event-song-pointer" );
1446  *v++ = ::Bse::EnumValue (MIDI_EVENT_SONG_SELECT, "BSE_MIDI_EVENT_SONG_SELECT", "bse-midi-event-song-select" );
1447  *v++ = ::Bse::EnumValue (MIDI_EVENT_TUNE, "BSE_MIDI_EVENT_TUNE", "bse-midi-event-tune" );
1448  *v++ = ::Bse::EnumValue (MIDI_EVENT_TIMING_CLOCK, "BSE_MIDI_EVENT_TIMING_CLOCK", "bse-midi-event-timing-clock" );
1449  *v++ = ::Bse::EnumValue (MIDI_EVENT_SONG_START, "BSE_MIDI_EVENT_SONG_START", "bse-midi-event-song-start" );
1450  *v++ = ::Bse::EnumValue (MIDI_EVENT_SONG_CONTINUE, "BSE_MIDI_EVENT_SONG_CONTINUE", "bse-midi-event-song-continue" );
1451  *v++ = ::Bse::EnumValue (MIDI_EVENT_SONG_STOP, "BSE_MIDI_EVENT_SONG_STOP", "bse-midi-event-song-stop" );
1452  *v++ = ::Bse::EnumValue (MIDI_EVENT_ACTIVE_SENSING, "BSE_MIDI_EVENT_ACTIVE_SENSING", "bse-midi-event-active-sensing" );
1453  *v++ = ::Bse::EnumValue (MIDI_EVENT_SYSTEM_RESET, "BSE_MIDI_EVENT_SYSTEM_RESET", "bse-midi-event-system-reset" );
1454 );
1455 BSE_CXX_DECLARE_ENUM (MsgType, "BseMsgType", 8,
1456  *v++ = ::Bse::EnumValue (MSG_NONE, "BSE_MSG_NONE", "bse-msg-none" );
1457  *v++ = ::Bse::EnumValue (MSG_ALWAYS, "BSE_MSG_ALWAYS", "bse-msg-always" );
1458  *v++ = ::Bse::EnumValue (MSG_ERROR, "BSE_MSG_ERROR", "bse-msg-error" );
1459  *v++ = ::Bse::EnumValue (MSG_WARNING, "BSE_MSG_WARNING", "bse-msg-warning" );
1460  *v++ = ::Bse::EnumValue (MSG_SCRIPT, "BSE_MSG_SCRIPT", "bse-msg-script" );
1461  *v++ = ::Bse::EnumValue (MSG_INFO, "BSE_MSG_INFO", "bse-msg-info" );
1462  *v++ = ::Bse::EnumValue (MSG_DIAG, "BSE_MSG_DIAG", "bse-msg-diag" );
1463  *v++ = ::Bse::EnumValue (MSG_DEBUG, "BSE_MSG_DEBUG", "bse-msg-debug" );
1464 );
1465 BSE_CXX_DECLARE_ENUM (ThreadState, "BseThreadState", 8,
1466  *v++ = ::Bse::EnumValue (THREAD_STATE_UNKNOWN, "BSE_THREAD_STATE_UNKNOWN", "bse-thread-state-unknown" );
1467  *v++ = ::Bse::EnumValue (THREAD_STATE_RUNNING, "BSE_THREAD_STATE_RUNNING", "bse-thread-state-running" );
1468  *v++ = ::Bse::EnumValue (THREAD_STATE_SLEEPING, "BSE_THREAD_STATE_SLEEPING", "bse-thread-state-sleeping" );
1469  *v++ = ::Bse::EnumValue (THREAD_STATE_DISKWAIT, "BSE_THREAD_STATE_DISKWAIT", "bse-thread-state-diskwait" );
1470  *v++ = ::Bse::EnumValue (THREAD_STATE_TRACED, "BSE_THREAD_STATE_TRACED", "bse-thread-state-traced" );
1471  *v++ = ::Bse::EnumValue (THREAD_STATE_PAGING, "BSE_THREAD_STATE_PAGING", "bse-thread-state-paging" );
1472  *v++ = ::Bse::EnumValue (THREAD_STATE_ZOMBIE, "BSE_THREAD_STATE_ZOMBIE", "bse-thread-state-zombie" );
1473  *v++ = ::Bse::EnumValue (THREAD_STATE_DEAD, "BSE_THREAD_STATE_DEAD", "bse-thread-state-dead" );
1474 );
1475 
1476 
1477 /* sequence type declarations */
1478 BSE_CXX_DECLARE_SEQUENCE (IntSeq);
1479 
1480 BSE_CXX_DECLARE_SEQUENCE (TypeSeq);
1481 
1482 BSE_CXX_DECLARE_SEQUENCE (StringSeq);
1483 
1484 BSE_CXX_DECLARE_SEQUENCE (FloatSeq);
1485 
1486 BSE_CXX_DECLARE_SEQUENCE (NoteSeq);
1487 
1488 BSE_CXX_DECLARE_SEQUENCE (ItemSeq);
1489 
1490 BSE_CXX_DECLARE_SEQUENCE (PartNoteSeq);
1491 
1492 BSE_CXX_DECLARE_SEQUENCE (PartControlSeq);
1493 
1494 BSE_CXX_DECLARE_SEQUENCE (PixelSeq);
1495 
1496 BSE_CXX_DECLARE_SEQUENCE (CategorySeq);
1497 
1498 BSE_CXX_DECLARE_SEQUENCE (DotSeq);
1499 
1500 BSE_CXX_DECLARE_SEQUENCE (PartLinkSeq);
1501 
1502 BSE_CXX_DECLARE_SEQUENCE (TrackPartSeq);
1503 
1504 BSE_CXX_DECLARE_SEQUENCE (ThreadInfoSeq);
1505 
1506 
1507 
1508 /* record type declarations */
1509 BSE_CXX_DECLARE_RECORD (MidiChannelEvent);
1510 
1511 BSE_CXX_DECLARE_RECORD (PropertyCandidates);
1512 
1513 BSE_CXX_DECLARE_RECORD (PartNote);
1514 
1515 BSE_CXX_DECLARE_RECORD (PartControl);
1516 
1517 BSE_CXX_DECLARE_RECORD (NoteDescription);
1518 
1519 BSE_CXX_DECLARE_RECORD (NoteSequence);
1520 
1521 BSE_CXX_DECLARE_RECORD (Icon);
1522 
1523 BSE_CXX_DECLARE_RECORD (Category);
1524 
1525 BSE_CXX_DECLARE_RECORD (Dot);
1526 
1527 BSE_CXX_DECLARE_RECORD (PartLink);
1528 
1529 BSE_CXX_DECLARE_RECORD (TrackPart);
1530 
1531 BSE_CXX_DECLARE_RECORD (SongTiming);
1532 
1533 BSE_CXX_DECLARE_RECORD (SampleFileInfo);
1534 
1535 BSE_CXX_DECLARE_RECORD (Message);
1536 
1537 BSE_CXX_DECLARE_RECORD (ThreadInfo);
1538 
1539 BSE_CXX_DECLARE_RECORD (ThreadTotals);
1540 
1541 BSE_CXX_DECLARE_RECORD (GConfig);
1542 
1543 
1544 
1545 /* procedure prototypes */
1546 
1547 
1548 /* class definitions */
1549 
1550 
1551 /* choice implementations */
1552 static SfiChoiceValues
1553 MusicalTuningType_choice_values()
1554 {
1555  static SfiChoiceValue values[17];
1556  static const SfiChoiceValues choice_values = {
1557  G_N_ELEMENTS (values), values,
1558  };
1559  if (!values[0].choice_ident)
1560  {
1561  values[0].choice_ident = "BSE_MUSICAL_TUNING_12_TET";
1562  values[0].choice_label = _("12 Tone Equal Temperament");
1563  values[0].choice_blurb = _("The most common tuning system for modern Western music, is the twelve-tone equal temperament, abbreviated as 12-TET, which divides the octave into 12 equal parts.");
1564  values[1].choice_ident = "BSE_MUSICAL_TUNING_7_TET";
1565  values[1].choice_label = _("7 Tone Equal Temperament");
1566  values[1].choice_blurb = _("A fairly common tuning system is the seven-tone equal temperament tuning system, abbreviated as 7-TET. It divides the octave into 7 equal parts using 171 cent steps.");
1567  values[2].choice_ident = "BSE_MUSICAL_TUNING_5_TET";
1568  values[2].choice_label = _("5 Tone Equal Temperament");
1569  values[2].choice_blurb = _("A fairly common tuning system is the five-tone equal temperament tuning system, abbreviated as 5-TET. It divides the octave into 5 equal parts using 240 cent steps.");
1570  values[3].choice_ident = "BSE_MUSICAL_TUNING_DIATONIC_SCALE";
1571  values[3].choice_label = _("Diatonic Scale");
1572  values[3].choice_blurb = _("In music theory, a diatonic scale (also: heptatonia prima) is a seven-note musical scale comprising five whole-tone and two half-tone steps. The half tones are maximally separated, so between two half-tone steps there are either two or three whole tones, repeating per octave.");
1573  values[4].choice_ident = "BSE_MUSICAL_TUNING_INDIAN_SCALE";
1574  values[4].choice_label = _("Indian Scale");
1575  values[4].choice_blurb = _("Diatonic scale used in Indian music with wolf interval at Dha, close to 3/2");
1576  values[5].choice_ident = "BSE_MUSICAL_TUNING_PYTHAGOREAN_TUNING";
1577  values[5].choice_label = _("Pythagorean Tuning");
1578  values[5].choice_blurb = _("Pythagorean tuning is the oldest way of tuning the 12-note chromatic scale, in which the frequency relationships of all intervals are based on the ratio 3:2. Its discovery is generally credited to Pythagoras.");
1579  values[6].choice_ident = "BSE_MUSICAL_TUNING_PENTATONIC_5_LIMIT";
1580  values[6].choice_label = _("Pentatonic 5-limit");
1581  values[6].choice_blurb = _("Pentatonic scales are used in modern jazz and pop/rock contexts because they work exceedingly well over several chords diatonic to the same key, often better than the parent scale.");
1582  values[7].choice_ident = "BSE_MUSICAL_TUNING_PENTATONIC_BLUES";
1583  values[7].choice_label = _("Pentatonic Blues");
1584  values[7].choice_blurb = _("The blues scale is the minor pentatonic with an additional augmented fourth, which is referred to as the \"blues note\".");
1585  values[8].choice_ident = "BSE_MUSICAL_TUNING_PENTATONIC_GOGO";
1586  values[8].choice_label = _("Pentatonic Gogo");
1587  values[8].choice_blurb = _("The Pentatonic Gogo scale is an anhemitonic pentatonic scale used to tune the instruments of the Gogo people of Tanzania.");
1588  values[9].choice_ident = "BSE_MUSICAL_TUNING_QUARTER_COMMA_MEANTONE";
1589  values[9].choice_label = _("Quarter-Comma Meantone");
1590  values[9].choice_blurb = _("Quarter-comma meantone was the most common meantone temperament in the sixteenth and seventeenth centuries and sometimes used later.");
1591  values[10].choice_ident = "BSE_MUSICAL_TUNING_SILBERMANN_SORGE";
1592  values[10].choice_label = _("Silbermann-Sorge Temperament");
1593  values[10].choice_blurb = _("The Silbermann-Sorge temperament is a meantone temperament used for Baroque era organs by Gottfried Silbermann.");
1594  values[11].choice_ident = "BSE_MUSICAL_TUNING_WERCKMEISTER_3";
1595  values[11].choice_label = _("Werckmeister III");
1596  values[11].choice_blurb = _("This tuning uses mostly pure (perfect) fifths, as in Pythagorean tuning, but each of the fifths C-G, G-D, D-A and B-F# is made smaller, i.e. tempered by 1/4 comma. Werckmeister designated this tuning as particularly suited for playing chromatic music.");
1597  values[12].choice_ident = "BSE_MUSICAL_TUNING_WERCKMEISTER_4";
1598  values[12].choice_label = _("Werckmeister IV");
1599  values[12].choice_blurb = _("In this tuning the fifths C-G, D-A, E-B, F#-C#, and Bb-F are tempered narrow by 1/3 comma, and the fifths G#-D# and Eb-Bb are widened by 1/3 comma. The other fifths are pure. Most of its intervals are close to sixth-comma meantone. Werckmeister designed this tuning for playing mainly diatonic music.");
1600  values[13].choice_ident = "BSE_MUSICAL_TUNING_WERCKMEISTER_5";
1601  values[13].choice_label = _("Werckmeister V");
1602  values[13].choice_blurb = _("In this tuning the fifths D-A, A-E, F#-C#, C#-G#, and F-C are narrowed by 1/4 comma, and the fifth G#-D# is widened by 1/4 comma. The other fifths are pure. This temperament is closer to equal temperament than Werckmeister III or IV.");
1603  values[14].choice_ident = "BSE_MUSICAL_TUNING_WERCKMEISTER_6";
1604  values[14].choice_label = _("Werckmeister VI");
1605  values[14].choice_blurb = _("This tuning is also known as Septenarius tuning is based on a division of the monochord length into 196 = 7 * 7 * 4 parts. The resulting scale has rational frequency relationships, but in practice involves pure and impure sounding fifths. Werckmeister described the Septenarius as a \"temperament which has nothing at all to do with the divisions of the comma, nevertheless in practice so correct that one can be really satisfied with it\".");
1606  values[15].choice_ident = "BSE_MUSICAL_TUNING_KIRNBERGER_3";
1607  values[15].choice_label = _("Kirnberger III");
1608  values[15].choice_blurb = _("Kirnberger's method of compensating for and closing the circle of fifths is to split the \"wolf\" interval known to those who have used meantone temperaments between four fifths instead, allowing for four 1/4-comma wolves to take their place. 1/4-comma wolves are used extensively in meantone and are much easier to tune and to listen to. Therefore, only one third remains pure (between C and E).");
1609  values[16].choice_ident = "BSE_MUSICAL_TUNING_YOUNG";
1610  values[16].choice_label = _("Young Temperament");
1611  values[16].choice_blurb = _("Thomas Young devised a form of musical tuning to make the harmony most perfect in those keys which are the most frequently used (give better major thirds in those keys), but to not have any unplayable keys. This is attempted by tuning upwards from C a sequence of six pure fourths, as well as six equally imperfect fifths.");
1612  }
1613  return choice_values;
1614 }
1615 
1616 static SfiChoiceValues
1617 MidiSignalType_choice_values()
1618 {
1619  static SfiChoiceValue values[172];
1620  static const SfiChoiceValues choice_values = {
1621  G_N_ELEMENTS (values), values,
1622  };
1623  if (!values[0].choice_ident)
1624  {
1625  values[0].choice_ident = "BSE_MIDI_SIGNAL_PROGRAM";
1626  values[0].choice_label = _("Program Change");
1627  values[0].choice_blurb = "";
1628  values[1].choice_ident = "BSE_MIDI_SIGNAL_PRESSURE";
1629  values[1].choice_label = _("Channel Pressure");
1630  values[1].choice_blurb = "";
1631  values[2].choice_ident = "BSE_MIDI_SIGNAL_PITCH_BEND";
1632  values[2].choice_label = _("Pitch Bend");
1633  values[2].choice_blurb = "";
1634  values[3].choice_ident = "BSE_MIDI_SIGNAL_VELOCITY";
1635  values[3].choice_label = _("Note Velocity");
1636  values[3].choice_blurb = "";
1637  values[4].choice_ident = "BSE_MIDI_SIGNAL_FINE_TUNE";
1638  values[4].choice_label = _("Note Fine Tune");
1639  values[4].choice_blurb = "";
1640  values[5].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_0";
1641  values[5].choice_label = _("Bank Select");
1642  values[5].choice_blurb = "";
1643  values[6].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_1";
1644  values[6].choice_label = _("Modulation Depth");
1645  values[6].choice_blurb = "";
1646  values[7].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_2";
1647  values[7].choice_label = _("Breath Control");
1648  values[7].choice_blurb = "";
1649  values[8].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_3";
1650  values[8].choice_label = _("Continuous 3");
1651  values[8].choice_blurb = "";
1652  values[9].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_4";
1653  values[9].choice_label = _("Foot Controller");
1654  values[9].choice_blurb = "";
1655  values[10].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_5";
1656  values[10].choice_label = _("Portamento Time");
1657  values[10].choice_blurb = "";
1658  values[11].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_6";
1659  values[11].choice_label = _("Data Entry");
1660  values[11].choice_blurb = "";
1661  values[12].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_7";
1662  values[12].choice_label = _("Volume");
1663  values[12].choice_blurb = "";
1664  values[13].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_8";
1665  values[13].choice_label = _("Balance");
1666  values[13].choice_blurb = "";
1667  values[14].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_9";
1668  values[14].choice_label = _("Continuous 9");
1669  values[14].choice_blurb = "";
1670  values[15].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_10";
1671  values[15].choice_label = _("Panorama");
1672  values[15].choice_blurb = "";
1673  values[16].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_11";
1674  values[16].choice_label = _("Expression");
1675  values[16].choice_blurb = "";
1676  values[17].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_12";
1677  values[17].choice_label = _("Effect Control 1");
1678  values[17].choice_blurb = "";
1679  values[18].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_13";
1680  values[18].choice_label = _("Effect Control 2");
1681  values[18].choice_blurb = "";
1682  values[19].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_14";
1683  values[19].choice_label = _("Continuous 14");
1684  values[19].choice_blurb = "";
1685  values[20].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_15";
1686  values[20].choice_label = _("Continuous 15");
1687  values[20].choice_blurb = "";
1688  values[21].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_16";
1689  values[21].choice_label = _("General Purpose Controller 1");
1690  values[21].choice_blurb = "";
1691  values[22].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_17";
1692  values[22].choice_label = _("General Purpose Controller 2");
1693  values[22].choice_blurb = "";
1694  values[23].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_18";
1695  values[23].choice_label = _("General Purpose Controller 3");
1696  values[23].choice_blurb = "";
1697  values[24].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_19";
1698  values[24].choice_label = _("General Purpose Controller 4");
1699  values[24].choice_blurb = "";
1700  values[25].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_20";
1701  values[25].choice_label = _("Continuous 20");
1702  values[25].choice_blurb = "";
1703  values[26].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_21";
1704  values[26].choice_label = _("Continuous 21");
1705  values[26].choice_blurb = "";
1706  values[27].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_22";
1707  values[27].choice_label = _("Continuous 22");
1708  values[27].choice_blurb = "";
1709  values[28].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_23";
1710  values[28].choice_label = _("Continuous 23");
1711  values[28].choice_blurb = "";
1712  values[29].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_24";
1713  values[29].choice_label = _("Continuous 24");
1714  values[29].choice_blurb = "";
1715  values[30].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_25";
1716  values[30].choice_label = _("Continuous 25");
1717  values[30].choice_blurb = "";
1718  values[31].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_26";
1719  values[31].choice_label = _("Continuous 26");
1720  values[31].choice_blurb = "";
1721  values[32].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_27";
1722  values[32].choice_label = _("Continuous 27");
1723  values[32].choice_blurb = "";
1724  values[33].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_28";
1725  values[33].choice_label = _("Continuous 28");
1726  values[33].choice_blurb = "";
1727  values[34].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_29";
1728  values[34].choice_label = _("Continuous 29");
1729  values[34].choice_blurb = "";
1730  values[35].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_30";
1731  values[35].choice_label = _("Continuous 30");
1732  values[35].choice_blurb = "";
1733  values[36].choice_ident = "BSE_MIDI_SIGNAL_CONTINUOUS_31";
1734  values[36].choice_label = _("Continuous 31");
1735  values[36].choice_blurb = "";
1736  values[37].choice_ident = "BSE_MIDI_SIGNAL_CONSTANT_HIGH";
1737  values[37].choice_label = _("Constant HIGH");
1738  values[37].choice_blurb = "";
1739  values[38].choice_ident = "BSE_MIDI_SIGNAL_CONSTANT_CENTER";
1740  values[38].choice_label = _("Constant CENTER");
1741  values[38].choice_blurb = "";
1742  values[39].choice_ident = "BSE_MIDI_SIGNAL_CONSTANT_LOW";
1743  values[39].choice_label = _("Constant LOW");
1744  values[39].choice_blurb = "";
1745  values[40].choice_ident = "BSE_MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER";
1746  values[40].choice_label = _("Constant Negative CENTER");
1747  values[40].choice_blurb = "";
1748  values[41].choice_ident = "BSE_MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH";
1749  values[41].choice_label = _("Constant Negative HIGH");
1750  values[41].choice_blurb = "";
1751  values[42].choice_ident = "BSE_MIDI_SIGNAL_PARAMETER";
1752  values[42].choice_label = _("Registered Parameter");
1753  values[42].choice_blurb = "";
1754  values[43].choice_ident = "BSE_MIDI_SIGNAL_NON_PARAMETER";
1755  values[43].choice_label = _("Non-Registered Parameter");
1756  values[43].choice_blurb = "";
1757  values[44].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_0";
1758  values[44].choice_label = _("Control 0 Bank Select MSB");
1759  values[44].choice_blurb = "";
1760  values[45].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_1";
1761  values[45].choice_label = _("Control 1 Modulation Depth MSB");
1762  values[45].choice_blurb = "";
1763  values[46].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_2";
1764  values[46].choice_label = _("Control 2 Breath Control MSB");
1765  values[46].choice_blurb = "";
1766  values[47].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_3";
1767  values[47].choice_label = _("control-3");
1768  values[47].choice_blurb = "";
1769  values[48].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_4";
1770  values[48].choice_label = _("Control 4 Foot Controller MSB");
1771  values[48].choice_blurb = "";
1772  values[49].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_5";
1773  values[49].choice_label = _("Control 5 Portamento Time MSB");
1774  values[49].choice_blurb = "";
1775  values[50].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_6";
1776  values[50].choice_label = _("Control 6 Data Entry MSB");
1777  values[50].choice_blurb = "";
1778  values[51].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_7";
1779  values[51].choice_label = _("Control 7 Volume MSB");
1780  values[51].choice_blurb = "";
1781  values[52].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_8";
1782  values[52].choice_label = _("Control 8 Balance MSB");
1783  values[52].choice_blurb = "";
1784  values[53].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_9";
1785  values[53].choice_label = _("control-9");
1786  values[53].choice_blurb = "";
1787  values[54].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_10";
1788  values[54].choice_label = _("Control 10 Panorama MSB");
1789  values[54].choice_blurb = "";
1790  values[55].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_11";
1791  values[55].choice_label = _("Control 11 Expression MSB");
1792  values[55].choice_blurb = "";
1793  values[56].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_12";
1794  values[56].choice_label = _("Control 12 Effect Control 1 MSB");
1795  values[56].choice_blurb = "";
1796  values[57].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_13";
1797  values[57].choice_label = _("Control 13 Effect Control 2 MSB");
1798  values[57].choice_blurb = "";
1799  values[58].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_14";
1800  values[58].choice_label = _("control-14");
1801  values[58].choice_blurb = "";
1802  values[59].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_15";
1803  values[59].choice_label = _("control-15");
1804  values[59].choice_blurb = "";
1805  values[60].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_16";
1806  values[60].choice_label = _("Control 16 General Purpose Controller 1 MSB");
1807  values[60].choice_blurb = "";
1808  values[61].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_17";
1809  values[61].choice_label = _("Control 17 General Purpose Controller 2 MSB");
1810  values[61].choice_blurb = "";
1811  values[62].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_18";
1812  values[62].choice_label = _("Control 18 General Purpose Controller 3 MSB");
1813  values[62].choice_blurb = "";
1814  values[63].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_19";
1815  values[63].choice_label = _("Control 19 General Purpose Controller 4 MSB");
1816  values[63].choice_blurb = "";
1817  values[64].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_20";
1818  values[64].choice_label = _("control-20");
1819  values[64].choice_blurb = "";
1820  values[65].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_21";
1821  values[65].choice_label = _("control-21");
1822  values[65].choice_blurb = "";
1823  values[66].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_22";
1824  values[66].choice_label = _("control-22");
1825  values[66].choice_blurb = "";
1826  values[67].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_23";
1827  values[67].choice_label = _("control-23");
1828  values[67].choice_blurb = "";
1829  values[68].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_24";
1830  values[68].choice_label = _("control-24");
1831  values[68].choice_blurb = "";
1832  values[69].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_25";
1833  values[69].choice_label = _("control-25");
1834  values[69].choice_blurb = "";
1835  values[70].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_26";
1836  values[70].choice_label = _("control-26");
1837  values[70].choice_blurb = "";
1838  values[71].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_27";
1839  values[71].choice_label = _("control-27");
1840  values[71].choice_blurb = "";
1841  values[72].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_28";
1842  values[72].choice_label = _("control-28");
1843  values[72].choice_blurb = "";
1844  values[73].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_29";
1845  values[73].choice_label = _("control-29");
1846  values[73].choice_blurb = "";
1847  values[74].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_30";
1848  values[74].choice_label = _("control-30");
1849  values[74].choice_blurb = "";
1850  values[75].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_31";
1851  values[75].choice_label = _("control-31");
1852  values[75].choice_blurb = "";
1853  values[76].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_32";
1854  values[76].choice_label = _("Control 32 Bank Select LSB");
1855  values[76].choice_blurb = "";
1856  values[77].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_33";
1857  values[77].choice_label = _("Control 33 Modulation Depth LSB");
1858  values[77].choice_blurb = "";
1859  values[78].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_34";
1860  values[78].choice_label = _("Control 34 Breath Control LSB");
1861  values[78].choice_blurb = "";
1862  values[79].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_35";
1863  values[79].choice_label = _("control-35");
1864  values[79].choice_blurb = "";
1865  values[80].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_36";
1866  values[80].choice_label = _("Control 36 Foot Controller LSB");
1867  values[80].choice_blurb = "";
1868  values[81].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_37";
1869  values[81].choice_label = _("Control 37 Portamento Time LSB");
1870  values[81].choice_blurb = "";
1871  values[82].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_38";
1872  values[82].choice_label = _("Control 38 Data Entry LSB");
1873  values[82].choice_blurb = "";
1874  values[83].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_39";
1875  values[83].choice_label = _("Control 39 Volume LSB");
1876  values[83].choice_blurb = "";
1877  values[84].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_40";
1878  values[84].choice_label = _("Control 40 Balance LSB");
1879  values[84].choice_blurb = "";
1880  values[85].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_41";
1881  values[85].choice_label = _("control-41");
1882  values[85].choice_blurb = "";
1883  values[86].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_42";
1884  values[86].choice_label = _("Control 42 Panorama LSB");
1885  values[86].choice_blurb = "";
1886  values[87].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_43";
1887  values[87].choice_label = _("Control 43 Expression LSB");
1888  values[87].choice_blurb = "";
1889  values[88].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_44";
1890  values[88].choice_label = _("Control 44 Effect Control 1 LSB");
1891  values[88].choice_blurb = "";
1892  values[89].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_45";
1893  values[89].choice_label = _("Control 45 Effect Control 2 LSB");
1894  values[89].choice_blurb = "";
1895  values[90].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_46";
1896  values[90].choice_label = _("control-46");
1897  values[90].choice_blurb = "";
1898  values[91].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_47";
1899  values[91].choice_label = _("control-47");
1900  values[91].choice_blurb = "";
1901  values[92].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_48";
1902  values[92].choice_label = _("Control 48 General Purpose Controller 1 LSB");
1903  values[92].choice_blurb = "";
1904  values[93].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_49";
1905  values[93].choice_label = _("Control 49 General Purpose Controller 2 LSB");
1906  values[93].choice_blurb = "";
1907  values[94].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_50";
1908  values[94].choice_label = _("Control 50 General Purpose Controller 3 LSB");
1909  values[94].choice_blurb = "";
1910  values[95].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_51";
1911  values[95].choice_label = _("Control 51 General Purpose Controller 4 LSB");
1912  values[95].choice_blurb = "";
1913  values[96].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_52";
1914  values[96].choice_label = _("control-52");
1915  values[96].choice_blurb = "";
1916  values[97].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_53";
1917  values[97].choice_label = _("control-53");
1918  values[97].choice_blurb = "";
1919  values[98].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_54";
1920  values[98].choice_label = _("control-54");
1921  values[98].choice_blurb = "";
1922  values[99].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_55";
1923  values[99].choice_label = _("control-55");
1924  values[99].choice_blurb = "";
1925  values[100].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_56";
1926  values[100].choice_label = _("control-56");
1927  values[100].choice_blurb = "";
1928  values[101].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_57";
1929  values[101].choice_label = _("control-57");
1930  values[101].choice_blurb = "";
1931  values[102].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_58";
1932  values[102].choice_label = _("control-58");
1933  values[102].choice_blurb = "";
1934  values[103].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_59";
1935  values[103].choice_label = _("control-59");
1936  values[103].choice_blurb = "";
1937  values[104].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_60";
1938  values[104].choice_label = _("control-60");
1939  values[104].choice_blurb = "";
1940  values[105].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_61";
1941  values[105].choice_label = _("control-61");
1942  values[105].choice_blurb = "";
1943  values[106].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_62";
1944  values[106].choice_label = _("control-62");
1945  values[106].choice_blurb = "";
1946  values[107].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_63";
1947  values[107].choice_label = _("control-63");
1948  values[107].choice_blurb = "";
1949  values[108].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_64";
1950  values[108].choice_label = _("Control 64 Damper Pedal Switch (Sustain)");
1951  values[108].choice_blurb = "";
1952  values[109].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_65";
1953  values[109].choice_label = _("Control 65 Portamento Switch");
1954  values[109].choice_blurb = "";
1955  values[110].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_66";
1956  values[110].choice_label = _("Control 66 Sustenuto Switch");
1957  values[110].choice_blurb = "";
1958  values[111].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_67";
1959  values[111].choice_label = _("Control 67 Soft Switch");
1960  values[111].choice_blurb = "";
1961  values[112].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_68";
1962  values[112].choice_label = _("Control 68 Legato Pedal Switch");
1963  values[112].choice_blurb = "";
1964  values[113].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_69";
1965  values[113].choice_label = _("Control 69 Hold Pedal Switch");
1966  values[113].choice_blurb = "";
1967  values[114].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_70";
1968  values[114].choice_label = _("Control 70 Sound Variation");
1969  values[114].choice_blurb = "";
1970  values[115].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_71";
1971  values[115].choice_label = _("Control 71 Filter Resonance (Timbre)");
1972  values[115].choice_blurb = "";
1973  values[116].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_72";
1974  values[116].choice_label = _("Control 72 Sound Release Time");
1975  values[116].choice_blurb = "";
1976  values[117].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_73";
1977  values[117].choice_label = _("Control 73 Sound Attack Time");
1978  values[117].choice_blurb = "";
1979  values[118].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_74";
1980  values[118].choice_label = _("Control 74 Sound Brightness");
1981  values[118].choice_blurb = "";
1982  values[119].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_75";
1983  values[119].choice_label = _("Control 75 Sound Decay Time");
1984  values[119].choice_blurb = "";
1985  values[120].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_76";
1986  values[120].choice_label = _("Control 76 Vibrato Rate");
1987  values[120].choice_blurb = "";
1988  values[121].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_77";
1989  values[121].choice_label = _("Control 77 Vibrato Depth");
1990  values[121].choice_blurb = "";
1991  values[122].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_78";
1992  values[122].choice_label = _("Control 78 Vibrato Delay");
1993  values[122].choice_blurb = "";
1994  values[123].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_79";
1995  values[123].choice_label = _("Control 79 Sound Control 10");
1996  values[123].choice_blurb = "";
1997  values[124].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_80";
1998  values[124].choice_label = _("Control 80 General Purpose Switch 5");
1999  values[124].choice_blurb = "";
2000  values[125].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_81";
2001  values[125].choice_label = _("Control 81 General Purpose Switch 6");
2002  values[125].choice_blurb = "";
2003  values[126].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_82";
2004  values[126].choice_label = _("Control 82 General Purpose Switch 7");
2005  values[126].choice_blurb = "";
2006  values[127].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_83";
2007  values[127].choice_label = _("Control 83 General Purpose Switch 8");
2008  values[127].choice_blurb = "";
2009  values[128].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_84";
2010  values[128].choice_label = _("Control 84 Portamento Control (Note)");
2011  values[128].choice_blurb = "";
2012  values[129].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_85";
2013  values[129].choice_label = _("control-85");
2014  values[129].choice_blurb = "";
2015  values[130].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_86";
2016  values[130].choice_label = _("control-86");
2017  values[130].choice_blurb = "";
2018  values[131].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_87";
2019  values[131].choice_label = _("control-87");
2020  values[131].choice_blurb = "";
2021  values[132].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_88";
2022  values[132].choice_label = _("control-88");
2023  values[132].choice_blurb = "";
2024  values[133].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_89";
2025  values[133].choice_label = _("control-89");
2026  values[133].choice_blurb = "";
2027  values[134].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_90";
2028  values[134].choice_label = _("control-90");
2029  values[134].choice_blurb = "";
2030  values[135].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_91";
2031  values[135].choice_label = _("Control 91 Reverb Depth");
2032  values[135].choice_blurb = "";
2033  values[136].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_92";
2034  values[136].choice_label = _("Control 92 Tremolo Depth");
2035  values[136].choice_blurb = "";
2036  values[137].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_93";
2037  values[137].choice_label = _("Control 93 Chorus Depth");
2038  values[137].choice_blurb = "";
2039  values[138].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_94";
2040  values[138].choice_label = _("Control 93 Detune Depth");
2041  values[138].choice_blurb = "";
2042  values[139].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_95";
2043  values[139].choice_label = _("Control 95 Phase Depth");
2044  values[139].choice_blurb = "";
2045  values[140].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_96";
2046  values[140].choice_label = _("Control 96 Data Increment Trigger");
2047  values[140].choice_blurb = "";
2048  values[141].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_97";
2049  values[141].choice_label = _("Control 97 Data Decrement Trigger");
2050  values[141].choice_blurb = "";
2051  values[142].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_98";
2052  values[142].choice_label = _("Control 98 Non-Registered Parameter MSB");
2053  values[142].choice_blurb = "";
2054  values[143].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_99";
2055  values[143].choice_label = _("Control 99 Non-Registered Parameter LSB");
2056  values[143].choice_blurb = "";
2057  values[144].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_100";
2058  values[144].choice_label = _("Control 100 Registered Parameter MSB");
2059  values[144].choice_blurb = "";
2060  values[145].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_101";
2061  values[145].choice_label = _("Control 101 Registered Parameter LSB");
2062  values[145].choice_blurb = "";
2063  values[146].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_102";
2064  values[146].choice_label = _("control-102");
2065  values[146].choice_blurb = "";
2066  values[147].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_103";
2067  values[147].choice_label = _("control-103");
2068  values[147].choice_blurb = "";
2069  values[148].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_104";
2070  values[148].choice_label = _("control-104");
2071  values[148].choice_blurb = "";
2072  values[149].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_105";
2073  values[149].choice_label = _("control-105");
2074  values[149].choice_blurb = "";
2075  values[150].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_106";
2076  values[150].choice_label = _("control-106");
2077  values[150].choice_blurb = "";
2078  values[151].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_107";
2079  values[151].choice_label = _("control-107");
2080  values[151].choice_blurb = "";
2081  values[152].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_108";
2082  values[152].choice_label = _("control-108");
2083  values[152].choice_blurb = "";
2084  values[153].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_109";
2085  values[153].choice_label = _("control-109");
2086  values[153].choice_blurb = "";
2087  values[154].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_110";
2088  values[154].choice_label = _("control-110");
2089  values[154].choice_blurb = "";
2090  values[155].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_111";
2091  values[155].choice_label = _("control-111");
2092  values[155].choice_blurb = "";
2093  values[156].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_112";
2094  values[156].choice_label = _("control-112");
2095  values[156].choice_blurb = "";
2096  values[157].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_113";
2097  values[157].choice_label = _("control-113");
2098  values[157].choice_blurb = "";
2099  values[158].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_114";
2100  values[158].choice_label = _("control-114");
2101  values[158].choice_blurb = "";
2102  values[159].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_115";
2103  values[159].choice_label = _("control-115");
2104  values[159].choice_blurb = "";
2105  values[160].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_116";
2106  values[160].choice_label = _("control-116");
2107  values[160].choice_blurb = "";
2108  values[161].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_117";
2109  values[161].choice_label = _("control-117");
2110  values[161].choice_blurb = "";
2111  values[162].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_118";
2112  values[162].choice_label = _("control-118");
2113  values[162].choice_blurb = "";
2114  values[163].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_119";
2115  values[163].choice_label = _("control-119");
2116  values[163].choice_blurb = "";
2117  values[164].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_120";
2118  values[164].choice_label = _("Control 120 All Sound Off ITrigger");
2119  values[164].choice_blurb = "";
2120  values[165].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_121";
2121  values[165].choice_label = _("Control 121 All Controllers Off ITrigger");
2122  values[165].choice_blurb = "";
2123  values[166].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_122";
2124  values[166].choice_label = _("Control 122 Local Control Switch");
2125  values[166].choice_blurb = "";
2126  values[167].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_123";
2127  values[167].choice_label = _("Control 123 All Notes Off ITrigger");
2128  values[167].choice_blurb = "";
2129  values[168].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_124";
2130  values[168].choice_label = _("Control 124 Omni Mode Off ITrigger");
2131  values[168].choice_blurb = "";
2132  values[169].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_125";
2133  values[169].choice_label = _("Control 125 Omni Mode On ITrigger");
2134  values[169].choice_blurb = "";
2135  values[170].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_126";
2136  values[170].choice_label = _("Control 126 Monophonic Voices Mode");
2137  values[170].choice_blurb = "";
2138  values[171].choice_ident = "BSE_MIDI_SIGNAL_CONTROL_127";
2139  values[171].choice_label = _("Control 127 Polyphonic Mode On ITrigger");
2140  values[171].choice_blurb = "";
2141  }
2142  return choice_values;
2143 }
2144 
2145 static SfiChoiceValues
2146 MidiControlType_choice_values()
2147 {
2148  static SfiChoiceValue values[161];
2149  static const SfiChoiceValues choice_values = {
2150  G_N_ELEMENTS (values), values,
2151  };
2152  if (!values[0].choice_ident)
2153  {
2154  values[0].choice_ident = "BSE_MIDI_CONTROL_NONE";
2155  values[0].choice_label = _("None");
2156  values[0].choice_blurb = "";
2157  values[1].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_0";
2158  values[1].choice_label = _("Bank Select");
2159  values[1].choice_blurb = _("Continuous MIDI Control #1 - Bank Select");
2160  values[2].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_1";
2161  values[2].choice_label = _("Modulation Depth");
2162  values[2].choice_blurb = "";
2163  values[3].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_2";
2164  values[3].choice_label = _("Breath Control");
2165  values[3].choice_blurb = "";
2166  values[4].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_3";
2167  values[4].choice_label = _("Continuous 3");
2168  values[4].choice_blurb = "";
2169  values[5].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_4";
2170  values[5].choice_label = _("Foot Controller");
2171  values[5].choice_blurb = "";
2172  values[6].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_5";
2173  values[6].choice_label = _("Portamento Time");
2174  values[6].choice_blurb = "";
2175  values[7].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_6";
2176  values[7].choice_label = _("Data Entry");
2177  values[7].choice_blurb = "";
2178  values[8].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_7";
2179  values[8].choice_label = _("Volume");
2180  values[8].choice_blurb = "";
2181  values[9].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_8";
2182  values[9].choice_label = _("Balance");
2183  values[9].choice_blurb = "";
2184  values[10].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_9";
2185  values[10].choice_label = _("Continuous 9");
2186  values[10].choice_blurb = "";
2187  values[11].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_10";
2188  values[11].choice_label = _("Panorama");
2189  values[11].choice_blurb = "";
2190  values[12].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_11";
2191  values[12].choice_label = _("Expression");
2192  values[12].choice_blurb = "";
2193  values[13].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_12";
2194  values[13].choice_label = _("Effect Control 1");
2195  values[13].choice_blurb = "";
2196  values[14].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_13";
2197  values[14].choice_label = _("Effect Control 2");
2198  values[14].choice_blurb = "";
2199  values[15].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_14";
2200  values[15].choice_label = _("Continuous 14");
2201  values[15].choice_blurb = "";
2202  values[16].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_15";
2203  values[16].choice_label = _("Continuous 15");
2204  values[16].choice_blurb = "";
2205  values[17].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_16";
2206  values[17].choice_label = _("General Purpose Controller 1");
2207  values[17].choice_blurb = "";
2208  values[18].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_17";
2209  values[18].choice_label = _("General Purpose Controller 2");
2210  values[18].choice_blurb = "";
2211  values[19].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_18";
2212  values[19].choice_label = _("General Purpose Controller 3");
2213  values[19].choice_blurb = "";
2214  values[20].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_19";
2215  values[20].choice_label = _("General Purpose Controller 4");
2216  values[20].choice_blurb = "";
2217  values[21].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_20";
2218  values[21].choice_label = _("Continuous 20");
2219  values[21].choice_blurb = "";
2220  values[22].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_21";
2221  values[22].choice_label = _("Continuous 21");
2222  values[22].choice_blurb = "";
2223  values[23].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_22";
2224  values[23].choice_label = _("Continuous 22");
2225  values[23].choice_blurb = "";
2226  values[24].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_23";
2227  values[24].choice_label = _("Continuous 23");
2228  values[24].choice_blurb = "";
2229  values[25].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_24";
2230  values[25].choice_label = _("Continuous 24");
2231  values[25].choice_blurb = "";
2232  values[26].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_25";
2233  values[26].choice_label = _("Continuous 25");
2234  values[26].choice_blurb = "";
2235  values[27].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_26";
2236  values[27].choice_label = _("Continuous 26");
2237  values[27].choice_blurb = "";
2238  values[28].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_27";
2239  values[28].choice_label = _("Continuous 27");
2240  values[28].choice_blurb = "";
2241  values[29].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_28";
2242  values[29].choice_label = _("Continuous 28");
2243  values[29].choice_blurb = "";
2244  values[30].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_29";
2245  values[30].choice_label = _("Continuous 29");
2246  values[30].choice_blurb = "";
2247  values[31].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_30";
2248  values[31].choice_label = _("Continuous 30");
2249  values[31].choice_blurb = "";
2250  values[32].choice_ident = "BSE_MIDI_CONTROL_CONTINUOUS_31";
2251  values[32].choice_label = _("Continuous 31");
2252  values[32].choice_blurb = "";
2253  values[33].choice_ident = "BSE_MIDI_CONTROL_0";
2254  values[33].choice_label = _("Control 0 Bank Select MSB");
2255  values[33].choice_blurb = "";
2256  values[34].choice_ident = "BSE_MIDI_CONTROL_1";
2257  values[34].choice_label = _("Control 1 Modulation Depth MSB");
2258  values[34].choice_blurb = "";
2259  values[35].choice_ident = "BSE_MIDI_CONTROL_2";
2260  values[35].choice_label = _("Control 2 Breath Control MSB");
2261  values[35].choice_blurb = "";
2262  values[36].choice_ident = "BSE_MIDI_CONTROL_3";
2263  values[36].choice_label = _("control-3");
2264  values[36].choice_blurb = "";
2265  values[37].choice_ident = "BSE_MIDI_CONTROL_4";
2266  values[37].choice_label = _("Control 4 Foot Controller MSB");
2267  values[37].choice_blurb = "";
2268  values[38].choice_ident = "BSE_MIDI_CONTROL_5";
2269  values[38].choice_label = _("Control 5 Portamento Time MSB");
2270  values[38].choice_blurb = "";
2271  values[39].choice_ident = "BSE_MIDI_CONTROL_6";
2272  values[39].choice_label = _("Control 6 Data Entry MSB");
2273  values[39].choice_blurb = "";
2274  values[40].choice_ident = "BSE_MIDI_CONTROL_7";
2275  values[40].choice_label = _("Control 7 Volume MSB");
2276  values[40].choice_blurb = "";
2277  values[41].choice_ident = "BSE_MIDI_CONTROL_8";
2278  values[41].choice_label = _("Control 8 Balance MSB");
2279  values[41].choice_blurb = "";
2280  values[42].choice_ident = "BSE_MIDI_CONTROL_9";
2281  values[42].choice_label = _("control-9");
2282  values[42].choice_blurb = "";
2283  values[43].choice_ident = "BSE_MIDI_CONTROL_10";
2284  values[43].choice_label = _("Control 10 Panorama MSB");
2285  values[43].choice_blurb = "";
2286  values[44].choice_ident = "BSE_MIDI_CONTROL_11";
2287  values[44].choice_label = _("Control 11 Expression MSB");
2288  values[44].choice_blurb = "";
2289  values[45].choice_ident = "BSE_MIDI_CONTROL_12";
2290  values[45].choice_label = _("Control 12 Effect Control 1 MSB");
2291  values[45].choice_blurb = "";
2292  values[46].choice_ident = "BSE_MIDI_CONTROL_13";
2293  values[46].choice_label = _("Control 13 Effect Control 2 MSB");
2294  values[46].choice_blurb = "";
2295  values[47].choice_ident = "BSE_MIDI_CONTROL_14";
2296  values[47].choice_label = _("control-14");
2297  values[47].choice_blurb = "";
2298  values[48].choice_ident = "BSE_MIDI_CONTROL_15";
2299  values[48].choice_label = _("control-15");
2300  values[48].choice_blurb = "";
2301  values[49].choice_ident = "BSE_MIDI_CONTROL_16";
2302  values[49].choice_label = _("Control 16 General Purpose Controller 1 MSB");
2303  values[49].choice_blurb = "";
2304  values[50].choice_ident = "BSE_MIDI_CONTROL_17";
2305  values[50].choice_label = _("Control 17 General Purpose Controller 2 MSB");
2306  values[50].choice_blurb = "";
2307  values[51].choice_ident = "BSE_MIDI_CONTROL_18";
2308  values[51].choice_label = _("Control 18 General Purpose Controller 3 MSB");
2309  values[51].choice_blurb = "";
2310  values[52].choice_ident = "BSE_MIDI_CONTROL_19";
2311  values[52].choice_label = _("Control 19 General Purpose Controller 4 MSB");
2312  values[52].choice_blurb = "";
2313  values[53].choice_ident = "BSE_MIDI_CONTROL_20";
2314  values[53].choice_label = _("control-20");
2315  values[53].choice_blurb = "";
2316  values[54].choice_ident = "BSE_MIDI_CONTROL_21";
2317  values[54].choice_label = _("control-21");
2318  values[54].choice_blurb = "";
2319  values[55].choice_ident = "BSE_MIDI_CONTROL_22";
2320  values[55].choice_label = _("control-22");
2321  values[55].choice_blurb = "";
2322  values[56].choice_ident = "BSE_MIDI_CONTROL_23";
2323  values[56].choice_label = _("control-23");
2324  values[56].choice_blurb = "";
2325  values[57].choice_ident = "BSE_MIDI_CONTROL_24";
2326  values[57].choice_label = _("control-24");
2327  values[57].choice_blurb = "";
2328  values[58].choice_ident = "BSE_MIDI_CONTROL_25";
2329  values[58].choice_label = _("control-25");
2330  values[58].choice_blurb = "";
2331  values[59].choice_ident = "BSE_MIDI_CONTROL_26";
2332  values[59].choice_label = _("control-26");
2333  values[59].choice_blurb = "";
2334  values[60].choice_ident = "BSE_MIDI_CONTROL_27";
2335  values[60].choice_label = _("control-27");
2336  values[60].choice_blurb = "";
2337  values[61].choice_ident = "BSE_MIDI_CONTROL_28";
2338  values[61].choice_label = _("control-28");
2339  values[61].choice_blurb = "";
2340  values[62].choice_ident = "BSE_MIDI_CONTROL_29";
2341  values[62].choice_label = _("control-29");
2342  values[62].choice_blurb = "";
2343  values[63].choice_ident = "BSE_MIDI_CONTROL_30";
2344  values[63].choice_label = _("control-30");
2345  values[63].choice_blurb = "";
2346  values[64].choice_ident = "BSE_MIDI_CONTROL_31";
2347  values[64].choice_label = _("control-31");
2348  values[64].choice_blurb = "";
2349  values[65].choice_ident = "BSE_MIDI_CONTROL_32";
2350  values[65].choice_label = _("Control 32 Bank Select LSB");
2351  values[65].choice_blurb = "";
2352  values[66].choice_ident = "BSE_MIDI_CONTROL_33";
2353  values[66].choice_label = _("Control 33 Modulation Depth LSB");
2354  values[66].choice_blurb = "";
2355  values[67].choice_ident = "BSE_MIDI_CONTROL_34";
2356  values[67].choice_label = _("Control 34 Breath Control LSB");
2357  values[67].choice_blurb = "";
2358  values[68].choice_ident = "BSE_MIDI_CONTROL_35";
2359  values[68].choice_label = _("control-35");
2360  values[68].choice_blurb = "";
2361  values[69].choice_ident = "BSE_MIDI_CONTROL_36";
2362  values[69].choice_label = _("Control 36 Foot Controller LSB");
2363  values[69].choice_blurb = "";
2364  values[70].choice_ident = "BSE_MIDI_CONTROL_37";
2365  values[70].choice_label = _("Control 37 Portamento Time LSB");
2366  values[70].choice_blurb = "";
2367  values[71].choice_ident = "BSE_MIDI_CONTROL_38";
2368  values[71].choice_label = _("Control 38 Data Entry LSB");
2369  values[71].choice_blurb = "";
2370  values[72].choice_ident = "BSE_MIDI_CONTROL_39";
2371  values[72].choice_label = _("Control 39 Volume LSB");
2372  values[72].choice_blurb = "";
2373  values[73].choice_ident = "BSE_MIDI_CONTROL_40";
2374  values[73].choice_label = _("Control 40 Balance LSB");
2375  values[73].choice_blurb = "";
2376  values[74].choice_ident = "BSE_MIDI_CONTROL_41";
2377  values[74].choice_label = _("control-41");
2378  values[74].choice_blurb = "";
2379  values[75].choice_ident = "BSE_MIDI_CONTROL_42";
2380  values[75].choice_label = _("Control 42 Panorama LSB");
2381  values[75].choice_blurb = "";
2382  values[76].choice_ident = "BSE_MIDI_CONTROL_43";
2383  values[76].choice_label = _("Control 43 Expression LSB");
2384  values[76].choice_blurb = "";
2385  values[77].choice_ident = "BSE_MIDI_CONTROL_44";
2386  values[77].choice_label = _("Control 44 Effect Control 1 LSB");
2387  values[77].choice_blurb = "";
2388  values[78].choice_ident = "BSE_MIDI_CONTROL_45";
2389  values[78].choice_label = _("Control 45 Effect Control 2 LSB");
2390  values[78].choice_blurb = "";
2391  values[79].choice_ident = "BSE_MIDI_CONTROL_46";
2392  values[79].choice_label = _("control-46");
2393  values[79].choice_blurb = "";
2394  values[80].choice_ident = "BSE_MIDI_CONTROL_47";
2395  values[80].choice_label = _("control-47");
2396  values[80].choice_blurb = "";
2397  values[81].choice_ident = "BSE_MIDI_CONTROL_48";
2398  values[81].choice_label = _("Control 48 General Purpose Controller 1 LSB");
2399  values[81].choice_blurb = "";
2400  values[82].choice_ident = "BSE_MIDI_CONTROL_49";
2401  values[82].choice_label = _("Control 49 General Purpose Controller 2 LSB");
2402  values[82].choice_blurb = "";
2403  values[83].choice_ident = "BSE_MIDI_CONTROL_50";
2404  values[83].choice_label = _("Control 50 General Purpose Controller 3 LSB");
2405  values[83].choice_blurb = "";
2406  values[84].choice_ident = "BSE_MIDI_CONTROL_51";
2407  values[84].choice_label = _("Control 51 General Purpose Controller 4 LSB");
2408  values[84].choice_blurb = "";
2409  values[85].choice_ident = "BSE_MIDI_CONTROL_52";
2410  values[85].choice_label = _("control-52");
2411  values[85].choice_blurb = "";
2412  values[86].choice_ident = "BSE_MIDI_CONTROL_53";
2413  values[86].choice_label = _("control-53");
2414  values[86].choice_blurb = "";
2415  values[87].choice_ident = "BSE_MIDI_CONTROL_54";
2416  values[87].choice_label = _("control-54");
2417  values[87].choice_blurb = "";
2418  values[88].choice_ident = "BSE_MIDI_CONTROL_55";
2419  values[88].choice_label = _("control-55");
2420  values[88].choice_blurb = "";
2421  values[89].choice_ident = "BSE_MIDI_CONTROL_56";
2422  values[89].choice_label = _("control-56");
2423  values[89].choice_blurb = "";
2424  values[90].choice_ident = "BSE_MIDI_CONTROL_57";
2425  values[90].choice_label = _("control-57");
2426  values[90].choice_blurb = "";
2427  values[91].choice_ident = "BSE_MIDI_CONTROL_58";
2428  values[91].choice_label = _("control-58");
2429  values[91].choice_blurb = "";
2430  values[92].choice_ident = "BSE_MIDI_CONTROL_59";
2431  values[92].choice_label = _("control-59");
2432  values[92].choice_blurb = "";
2433  values[93].choice_ident = "BSE_MIDI_CONTROL_60";
2434  values[93].choice_label = _("control-60");
2435  values[93].choice_blurb = "";
2436  values[94].choice_ident = "BSE_MIDI_CONTROL_61";
2437  values[94].choice_label = _("control-61");
2438  values[94].choice_blurb = "";
2439  values[95].choice_ident = "BSE_MIDI_CONTROL_62";
2440  values[95].choice_label = _("control-62");
2441  values[95].choice_blurb = "";
2442  values[96].choice_ident = "BSE_MIDI_CONTROL_63";
2443  values[96].choice_label = _("control-63");
2444  values[96].choice_blurb = "";
2445  values[97].choice_ident = "BSE_MIDI_CONTROL_64";
2446  values[97].choice_label = _("Control 64 Damper Pedal Switch (Sustain)");
2447  values[97].choice_blurb = "";
2448  values[98].choice_ident = "BSE_MIDI_CONTROL_65";
2449  values[98].choice_label = _("Control 65 Portamento Switch");
2450  values[98].choice_blurb = "";
2451  values[99].choice_ident = "BSE_MIDI_CONTROL_66";
2452  values[99].choice_label = _("Control 66 Sustenuto Switch");
2453  values[99].choice_blurb = "";
2454  values[100].choice_ident = "BSE_MIDI_CONTROL_67";
2455  values[100].choice_label = _("Control 67 Soft Switch");
2456  values[100].choice_blurb = "";
2457  values[101].choice_ident = "BSE_MIDI_CONTROL_68";
2458  values[101].choice_label = _("Control 68 Legato Pedal Switch");
2459  values[101].choice_blurb = "";
2460  values[102].choice_ident = "BSE_MIDI_CONTROL_69";
2461  values[102].choice_label = _("Control 69 Hold Pedal Switch");
2462  values[102].choice_blurb = "";
2463  values[103].choice_ident = "BSE_MIDI_CONTROL_70";
2464  values[103].choice_label = _("Control 70 Sound Variation");
2465  values[103].choice_blurb = "";
2466  values[104].choice_ident = "BSE_MIDI_CONTROL_71";
2467  values[104].choice_label = _("Control 71 Filter Resonance (Timbre)");
2468  values[104].choice_blurb = "";
2469  values[105].choice_ident = "BSE_MIDI_CONTROL_72";
2470  values[105].choice_label = _("Control 72 Sound Release Time");
2471  values[105].choice_blurb = "";
2472  values[106].choice_ident = "BSE_MIDI_CONTROL_73";
2473  values[106].choice_label = _("Control 73 Sound Attack Time");
2474  values[106].choice_blurb = "";
2475  values[107].choice_ident = "BSE_MIDI_CONTROL_74";
2476  values[107].choice_label = _("Control 74 Sound Brightness");
2477  values[107].choice_blurb = "";
2478  values[108].choice_ident = "BSE_MIDI_CONTROL_75";
2479  values[108].choice_label = _("Control 75 Sound Decay Time");
2480  values[108].choice_blurb = "";
2481  values[109].choice_ident = "BSE_MIDI_CONTROL_76";
2482  values[109].choice_label = _("Control 76 Vibrato Rate");
2483  values[109].choice_blurb = "";
2484  values[110].choice_ident = "BSE_MIDI_CONTROL_77";
2485  values[110].choice_label = _("Control 77 Vibrato Depth");
2486  values[110].choice_blurb = "";
2487  values[111].choice_ident = "BSE_MIDI_CONTROL_78";
2488  values[111].choice_label = _("Control 78 Vibrato Delay");
2489  values[111].choice_blurb = "";
2490  values[112].choice_ident = "BSE_MIDI_CONTROL_79";
2491  values[112].choice_label = _("Control 79 Sound Control 10");
2492  values[112].choice_blurb = "";
2493  values[113].choice_ident = "BSE_MIDI_CONTROL_80";
2494  values[113].choice_label = _("Control 80 General Purpose Switch 5");
2495  values[113].choice_blurb = "";
2496  values[114].choice_ident = "BSE_MIDI_CONTROL_81";
2497  values[114].choice_label = _("Control 81 General Purpose Switch 6");
2498  values[114].choice_blurb = "";
2499  values[115].choice_ident = "BSE_MIDI_CONTROL_82";
2500  values[115].choice_label = _("Control 82 General Purpose Switch 7");
2501  values[115].choice_blurb = "";
2502  values[116].choice_ident = "BSE_MIDI_CONTROL_83";
2503  values[116].choice_label = _("Control 83 General Purpose Switch 8");
2504  values[116].choice_blurb = "";
2505  values[117].choice_ident = "BSE_MIDI_CONTROL_84";
2506  values[117].choice_label = _("Control 84 Portamento Control (Note)");
2507  values[117].choice_blurb = "";
2508  values[118].choice_ident = "BSE_MIDI_CONTROL_85";
2509  values[118].choice_label = _("control-85");
2510  values[118].choice_blurb = "";
2511  values[119].choice_ident = "BSE_MIDI_CONTROL_86";
2512  values[119].choice_label = _("control-86");
2513  values[119].choice_blurb = "";
2514  values[120].choice_ident = "BSE_MIDI_CONTROL_87";
2515  values[120].choice_label = _("control-87");
2516  values[120].choice_blurb = "";
2517  values[121].choice_ident = "BSE_MIDI_CONTROL_88";
2518  values[121].choice_label = _("control-88");
2519  values[121].choice_blurb = "";
2520  values[122].choice_ident = "BSE_MIDI_CONTROL_89";
2521  values[122].choice_label = _("control-89");
2522  values[122].choice_blurb = "";
2523  values[123].choice_ident = "BSE_MIDI_CONTROL_90";
2524  values[123].choice_label = _("control-90");
2525  values[123].choice_blurb = "";
2526  values[124].choice_ident = "BSE_MIDI_CONTROL_91";
2527  values[124].choice_label = _("Control 91 Reverb Depth");
2528  values[124].choice_blurb = "";
2529  values[125].choice_ident = "BSE_MIDI_CONTROL_92";
2530  values[125].choice_label = _("Control 92 Tremolo Depth");
2531  values[125].choice_blurb = "";
2532  values[126].choice_ident = "BSE_MIDI_CONTROL_93";
2533  values[126].choice_label = _("Control 93 Chorus Depth");
2534  values[126].choice_blurb = "";
2535  values[127].choice_ident = "BSE_MIDI_CONTROL_94";
2536  values[127].choice_label = _("Control 93 Detune Depth");
2537  values[127].choice_blurb = "";
2538  values[128].choice_ident = "BSE_MIDI_CONTROL_95";
2539  values[128].choice_label = _("Control 95 Phase Depth");
2540  values[128].choice_blurb = "";
2541  values[129].choice_ident = "BSE_MIDI_CONTROL_96";
2542  values[129].choice_label = _("Control 96 Data Increment Trigger");
2543  values[129].choice_blurb = "";
2544  values[130].choice_ident = "BSE_MIDI_CONTROL_97";
2545  values[130].choice_label = _("Control 97 Data Decrement Trigger");
2546  values[130].choice_blurb = "";
2547  values[131].choice_ident = "BSE_MIDI_CONTROL_98";
2548  values[131].choice_label = _("Control 98 Non-Registered Parameter MSB");
2549  values[131].choice_blurb = "";
2550  values[132].choice_ident = "BSE_MIDI_CONTROL_99";
2551  values[132].choice_label = _("Control 99 Non-Registered Parameter LSB");
2552  values[132].choice_blurb = "";
2553  values[133].choice_ident = "BSE_MIDI_CONTROL_100";
2554  values[133].choice_label = _("Control 100 Registered Parameter MSB");
2555  values[133].choice_blurb = "";
2556  values[134].choice_ident = "BSE_MIDI_CONTROL_101";
2557  values[134].choice_label = _("Control 101 Registered Parameter LSB");
2558  values[134].choice_blurb = "";
2559  values[135].choice_ident = "BSE_MIDI_CONTROL_102";
2560  values[135].choice_label = _("control-102");
2561  values[135].choice_blurb = "";
2562  values[136].choice_ident = "BSE_MIDI_CONTROL_103";
2563  values[136].choice_label = _("control-103");
2564  values[136].choice_blurb = "";
2565  values[137].choice_ident = "BSE_MIDI_CONTROL_104";
2566  values[137].choice_label = _("control-104");
2567  values[137].choice_blurb = "";
2568  values[138].choice_ident = "BSE_MIDI_CONTROL_105";
2569  values[138].choice_label = _("control-105");
2570  values[138].choice_blurb = "";
2571  values[139].choice_ident = "BSE_MIDI_CONTROL_106";
2572  values[139].choice_label = _("control-106");
2573  values[139].choice_blurb = "";
2574  values[140].choice_ident = "BSE_MIDI_CONTROL_107";
2575  values[140].choice_label = _("control-107");
2576  values[140].choice_blurb = "";
2577  values[141].choice_ident = "BSE_MIDI_CONTROL_108";
2578  values[141].choice_label = _("control-108");
2579  values[141].choice_blurb = "";
2580  values[142].choice_ident = "BSE_MIDI_CONTROL_109";
2581  values[142].choice_label = _("control-109");
2582  values[142].choice_blurb = "";
2583  values[143].choice_ident = "BSE_MIDI_CONTROL_110";
2584  values[143].choice_label = _("control-110");
2585  values[143].choice_blurb = "";
2586  values[144].choice_ident = "BSE_MIDI_CONTROL_111";
2587  values[144].choice_label = _("control-111");
2588  values[144].choice_blurb = "";
2589  values[145].choice_ident = "BSE_MIDI_CONTROL_112";
2590  values[145].choice_label = _("control-112");
2591  values[145].choice_blurb = "";
2592  values[146].choice_ident = "BSE_MIDI_CONTROL_113";
2593  values[146].choice_label = _("control-113");
2594  values[146].choice_blurb = "";
2595  values[147].choice_ident = "BSE_MIDI_CONTROL_114";
2596  values[147].choice_label = _("control-114");
2597  values[147].choice_blurb = "";
2598  values[148].choice_ident = "BSE_MIDI_CONTROL_115";
2599  values[148].choice_label = _("control-115");
2600  values[148].choice_blurb = "";
2601  values[149].choice_ident = "BSE_MIDI_CONTROL_116";
2602  values[149].choice_label = _("control-116");
2603  values[149].choice_blurb = "";
2604  values[150].choice_ident = "BSE_MIDI_CONTROL_117";
2605  values[150].choice_label = _("control-117");
2606  values[150].choice_blurb = "";
2607  values[151].choice_ident = "BSE_MIDI_CONTROL_118";
2608  values[151].choice_label = _("control-118");
2609  values[151].choice_blurb = "";
2610  values[152].choice_ident = "BSE_MIDI_CONTROL_119";
2611  values[152].choice_label = _("control-119");
2612  values[152].choice_blurb = "";
2613  values[153].choice_ident = "BSE_MIDI_CONTROL_120";
2614  values[153].choice_label = _("Control 120 All Sound Off ITrigger");
2615  values[153].choice_blurb = "";
2616  values[154].choice_ident = "BSE_MIDI_CONTROL_121";
2617  values[154].choice_label = _("Control 121 All Controllers Off ITrigger");
2618  values[154].choice_blurb = "";
2619  values[155].choice_ident = "BSE_MIDI_CONTROL_122";
2620  values[155].choice_label = _("Control 122 Local Control Switch");
2621  values[155].choice_blurb = "";
2622  values[156].choice_ident = "BSE_MIDI_CONTROL_123";
2623  values[156].choice_label = _("Control 123 All Notes Off ITrigger");
2624  values[156].choice_blurb = "";
2625  values[157].choice_ident = "BSE_MIDI_CONTROL_124";
2626  values[157].choice_label = _("Control 124 Omni Mode Off ITrigger");
2627  values[157].choice_blurb = "";
2628  values[158].choice_ident = "BSE_MIDI_CONTROL_125";
2629  values[158].choice_label = _("Control 125 Omni Mode On ITrigger");
2630  values[158].choice_blurb = "";
2631  values[159].choice_ident = "BSE_MIDI_CONTROL_126";
2632  values[159].choice_label = _("Control 126 Monophonic Voices Mode");
2633  values[159].choice_blurb = "";
2634  values[160].choice_ident = "BSE_MIDI_CONTROL_127";
2635  values[160].choice_label = _("Control 127 Polyphonic Mode On ITrigger");
2636  values[160].choice_blurb = "";
2637  }
2638  return choice_values;
2639 }
2640 
2641 static SfiChoiceValues
2642 MidiChannelEventType_choice_values()
2643 {
2644  static SfiChoiceValue values[18];
2645  static const SfiChoiceValues choice_values = {
2646  G_N_ELEMENTS (values), values,
2647  };
2648  if (!values[0].choice_ident)
2649  {
2650  values[0].choice_ident = "BSE_MIDI_EVENT_NONE";
2651  values[0].choice_label = "bse-midi-event-none";
2652  values[0].choice_blurb = "";
2653  values[1].choice_ident = "BSE_MIDI_EVENT_NOTE_OFF";
2654  values[1].choice_label = "bse-midi-event-note-off";
2655  values[1].choice_blurb = "";
2656  values[2].choice_ident = "BSE_MIDI_EVENT_NOTE_ON";
2657  values[2].choice_label = "bse-midi-event-note-on";
2658  values[2].choice_blurb = "";
2659  values[3].choice_ident = "BSE_MIDI_EVENT_KEY_PRESSURE";
2660  values[3].choice_label = "bse-midi-event-key-pressure";
2661  values[3].choice_blurb = "";
2662  values[4].choice_ident = "BSE_MIDI_EVENT_CONTROL_CHANGE";
2663  values[4].choice_label = "bse-midi-event-control-change";
2664  values[4].choice_blurb = "";
2665  values[5].choice_ident = "BSE_MIDI_EVENT_PROGRAM_CHANGE";
2666  values[5].choice_label = "bse-midi-event-program-change";
2667  values[5].choice_blurb = "";
2668  values[6].choice_ident = "BSE_MIDI_EVENT_CHANNEL_PRESSURE";
2669  values[6].choice_label = "bse-midi-event-channel-pressure";
2670  values[6].choice_blurb = "";
2671  values[7].choice_ident = "BSE_MIDI_EVENT_PITCH_BEND";
2672  values[7].choice_label = "bse-midi-event-pitch-bend";
2673  values[7].choice_blurb = "";
2674  values[8].choice_ident = "BSE_MIDI_EVENT_SYS_EX";
2675  values[8].choice_label = "bse-midi-event-sys-ex";
2676  values[8].choice_blurb = "";
2677  values[9].choice_ident = "BSE_MIDI_EVENT_SONG_POINTER";
2678  values[9].choice_label = "bse-midi-event-song-pointer";
2679  values[9].choice_blurb = "";
2680  values[10].choice_ident = "BSE_MIDI_EVENT_SONG_SELECT";
2681  values[10].choice_label = "bse-midi-event-song-select";
2682  values[10].choice_blurb = "";
2683  values[11].choice_ident = "BSE_MIDI_EVENT_TUNE";
2684  values[11].choice_label = "bse-midi-event-tune";
2685  values[11].choice_blurb = "";
2686  values[12].choice_ident = "BSE_MIDI_EVENT_TIMING_CLOCK";
2687  values[12].choice_label = "bse-midi-event-timing-clock";
2688  values[12].choice_blurb = "";
2689  values[13].choice_ident = "BSE_MIDI_EVENT_SONG_START";
2690  values[13].choice_label = "bse-midi-event-song-start";
2691  values[13].choice_blurb = "";
2692  values[14].choice_ident = "BSE_MIDI_EVENT_SONG_CONTINUE";
2693  values[14].choice_label = "bse-midi-event-song-continue";
2694  values[14].choice_blurb = "";
2695  values[15].choice_ident = "BSE_MIDI_EVENT_SONG_STOP";
2696  values[15].choice_label = "bse-midi-event-song-stop";
2697  values[15].choice_blurb = "";
2698  values[16].choice_ident = "BSE_MIDI_EVENT_ACTIVE_SENSING";
2699  values[16].choice_label = "bse-midi-event-active-sensing";
2700  values[16].choice_blurb = "";
2701  values[17].choice_ident = "BSE_MIDI_EVENT_SYSTEM_RESET";
2702  values[17].choice_label = "bse-midi-event-system-reset";
2703  values[17].choice_blurb = "";
2704  }
2705  return choice_values;
2706 }
2707 
2708 static SfiChoiceValues
2709 MsgType_choice_values()
2710 {
2711  static SfiChoiceValue values[8];
2712  static const SfiChoiceValues choice_values = {
2713  G_N_ELEMENTS (values), values,
2714  };
2715  if (!values[0].choice_ident)
2716  {
2717  values[0].choice_ident = "BSE_MSG_NONE";
2718  values[0].choice_label = "bse-msg-none";
2719  values[0].choice_blurb = "";
2720  values[1].choice_ident = "BSE_MSG_ALWAYS";
2721  values[1].choice_label = "bse-msg-always";
2722  values[1].choice_blurb = "";
2723  values[2].choice_ident = "BSE_MSG_ERROR";
2724  values[2].choice_label = "bse-msg-error";
2725  values[2].choice_blurb = "";
2726  values[3].choice_ident = "BSE_MSG_WARNING";
2727  values[3].choice_label = "bse-msg-warning";
2728  values[3].choice_blurb = "";
2729  values[4].choice_ident = "BSE_MSG_SCRIPT";
2730  values[4].choice_label = "bse-msg-script";
2731  values[4].choice_blurb = "";
2732  values[5].choice_ident = "BSE_MSG_INFO";
2733  values[5].choice_label = "bse-msg-info";
2734  values[5].choice_blurb = "";
2735  values[6].choice_ident = "BSE_MSG_DIAG";
2736  values[6].choice_label = "bse-msg-diag";
2737  values[6].choice_blurb = "";
2738  values[7].choice_ident = "BSE_MSG_DEBUG";
2739  values[7].choice_label = "bse-msg-debug";
2740  values[7].choice_blurb = "";
2741  }
2742  return choice_values;
2743 }
2744 
2745 static SfiChoiceValues
2746 ThreadState_choice_values()
2747 {
2748  static SfiChoiceValue values[8];
2749  static const SfiChoiceValues choice_values = {
2750  G_N_ELEMENTS (values), values,
2751  };
2752  if (!values[0].choice_ident)
2753  {
2754  values[0].choice_ident = "BSE_THREAD_STATE_UNKNOWN";
2755  values[0].choice_label = "bse-thread-state-unknown";
2756  values[0].choice_blurb = "";
2757  values[1].choice_ident = "BSE_THREAD_STATE_RUNNING";
2758  values[1].choice_label = "bse-thread-state-running";
2759  values[1].choice_blurb = "";
2760  values[2].choice_ident = "BSE_THREAD_STATE_SLEEPING";
2761  values[2].choice_label = "bse-thread-state-sleeping";
2762  values[2].choice_blurb = "";
2763  values[3].choice_ident = "BSE_THREAD_STATE_DISKWAIT";
2764  values[3].choice_label = "bse-thread-state-diskwait";
2765  values[3].choice_blurb = "";
2766  values[4].choice_ident = "BSE_THREAD_STATE_TRACED";
2767  values[4].choice_label = "bse-thread-state-traced";
2768  values[4].choice_blurb = "";
2769  values[5].choice_ident = "BSE_THREAD_STATE_PAGING";
2770  values[5].choice_label = "bse-thread-state-paging";
2771  values[5].choice_blurb = "";
2772  values[6].choice_ident = "BSE_THREAD_STATE_ZOMBIE";
2773  values[6].choice_label = "bse-thread-state-zombie";
2774  values[6].choice_blurb = "";
2775  values[7].choice_ident = "BSE_THREAD_STATE_DEAD";
2776  values[7].choice_label = "bse-thread-state-dead";
2777  values[7].choice_blurb = "";
2778  }
2779  return choice_values;
2780 }
2781 
2782 
2783 
2784 /* record implementations */
2786 MidiChannelEvent::from_rec (SfiRec *sfi_rec)
2787 {
2788  GValue *element;
2789 
2790  if (!sfi_rec)
2791  return Sfi::INIT_NULL;
2792 
2793  ::Bse::MidiChannelEventHandle rec = Sfi::INIT_DEFAULT;
2794  element = sfi_rec_get (sfi_rec, "event_type");
2795  if (element)
2796  rec->event_type = (::Bse::MidiChannelEventType) sfi_value_get_enum_auto SFI_START_ARGS() BSE_TYPE_MIDI_CHANNEL_EVENT_TYPE, SFI_END_ARGS1 (element);
2797  element = sfi_rec_get (sfi_rec, "channel");
2798  if (element)
2799  rec->channel = sfi_value_get_int (element);
2800  element = sfi_rec_get (sfi_rec, "tick_stamp");
2801  if (element)
2802  rec->tick_stamp = sfi_value_get_num (element);
2803  element = sfi_rec_get (sfi_rec, "frequency");
2804  if (element)
2805  rec->frequency = sfi_value_get_real (element);
2806  element = sfi_rec_get (sfi_rec, "velocity");
2807  if (element)
2808  rec->velocity = sfi_value_get_real (element);
2809  element = sfi_rec_get (sfi_rec, "control");
2810  if (element)
2811  rec->control = sfi_value_get_int (element);
2812  element = sfi_rec_get (sfi_rec, "value");
2813  if (element)
2814  rec->value = sfi_value_get_real (element);
2815  element = sfi_rec_get (sfi_rec, "program");
2816  if (element)
2817  rec->program = sfi_value_get_int (element);
2818  element = sfi_rec_get (sfi_rec, "intensity");
2819  if (element)
2820  rec->intensity = sfi_value_get_real (element);
2821  element = sfi_rec_get (sfi_rec, "pitch_bend");
2822  if (element)
2823  rec->pitch_bend = sfi_value_get_real (element);
2824  element = sfi_rec_get (sfi_rec, "song_pointer");
2825  if (element)
2826  rec->song_pointer = sfi_value_get_int (element);
2827  element = sfi_rec_get (sfi_rec, "song_number");
2828  if (element)
2829  rec->song_number = sfi_value_get_int (element);
2830  return rec;
2831 }
2832 
2833 SfiRec *
2834 MidiChannelEvent::to_rec (const ::Bse::MidiChannelEventHandle & rec)
2835 {
2836  SfiRec *sfi_rec;
2837  GValue *element;
2838 
2839  if (!rec)
2840  return NULL;
2841 
2842  sfi_rec = sfi_rec_new ();
2843  element = sfi_rec_forced_get (sfi_rec, "event_type", SFI_TYPE_CHOICE);
2844  sfi_value_set_enum_auto SFI_START_ARGS() BSE_TYPE_MIDI_CHANNEL_EVENT_TYPE, SFI_END_ARGS2 (element, rec->event_type);
2845  element = sfi_rec_forced_get (sfi_rec, "channel", SFI_TYPE_INT);
2846  sfi_value_set_int (element, rec->channel);
2847  element = sfi_rec_forced_get (sfi_rec, "tick_stamp", SFI_TYPE_NUM);
2848  sfi_value_set_num (element, rec->tick_stamp);
2849  element = sfi_rec_forced_get (sfi_rec, "frequency", SFI_TYPE_REAL);
2850  sfi_value_set_real (element, rec->frequency);
2851  element = sfi_rec_forced_get (sfi_rec, "velocity", SFI_TYPE_REAL);
2852  sfi_value_set_real (element, rec->velocity);
2853  element = sfi_rec_forced_get (sfi_rec, "control", SFI_TYPE_INT);
2854  sfi_value_set_int (element, rec->control);
2855  element = sfi_rec_forced_get (sfi_rec, "value", SFI_TYPE_REAL);
2856  sfi_value_set_real (element, rec->value);
2857  element = sfi_rec_forced_get (sfi_rec, "program", SFI_TYPE_INT);
2858  sfi_value_set_int (element, rec->program);
2859  element = sfi_rec_forced_get (sfi_rec, "intensity", SFI_TYPE_REAL);
2860  sfi_value_set_real (element, rec->intensity);
2861  element = sfi_rec_forced_get (sfi_rec, "pitch_bend", SFI_TYPE_REAL);
2862  sfi_value_set_real (element, rec->pitch_bend);
2863  element = sfi_rec_forced_get (sfi_rec, "song_pointer", SFI_TYPE_INT);
2864  sfi_value_set_int (element, rec->song_pointer);
2865  element = sfi_rec_forced_get (sfi_rec, "song_number", SFI_TYPE_INT);
2866  sfi_value_set_int (element, rec->song_number);
2867  return sfi_rec;
2868 }
2869 
2870 ::Bse::MidiChannelEventHandle
2871 MidiChannelEvent::value_get_boxed (const GValue *value)
2872 {
2873  return ::Bse::MidiChannelEventHandle::value_get_boxed (value);
2874 }
2875 
2876 void
2877 MidiChannelEvent::value_set_boxed (GValue *value, const ::Bse::MidiChannelEventHandle & self)
2878 {
2879  ::Bse::MidiChannelEventHandle::value_set_boxed (value, self);
2880 }
2881 
2883 MidiChannelEvent::get_fields()
2884 {
2885  static SfiRecFields rfields = { 0, NULL };
2886  if (!rfields.n_fields)
2887  {
2888  static GParamSpec *fields[12 + 1];
2889  rfields.n_fields = 12;
2890  fields[0] = sfidl_pspec_Choice_default (NULL,"/opt/src/beast/bse/bsecore.idl",485, "event_type", Bse::MidiChannelEventType_choice_values());
2891  fields[1] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",486,"channel","Channel" , "" , 0LL , 0LL , 99LL , 1LL , ":readwrite");
2892  fields[2] = sfidl_pspec_SfiNum (NULL,"/opt/src/beast/bse/bsecore.idl",487,"tick_stamp","Time Stamp" , "" , 0LL , 0LL , SFI_MAXNUM , 0LL , ":r:w:S:G:");
2893  fields[3] = sfidl_pspec_Freq (NULL,"/opt/src/beast/bse/bsecore.idl",489,"frequency","Frequency" , "" , KAMMER_FREQ , ":readwrite");
2894  fields[4] = sfidl_pspec_SfiReal (NULL,"/opt/src/beast/bse/bsecore.idl",490,"velocity","Velocity" , "" , 1LL , 0LL , 1.00000000000000000e+00 , 1.00000000000000006e-01 , ":readwrite");
2895  fields[5] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",492,"control","Control Number" , "" , 0LL , 0LL , 1024LL , 8LL , ":readwrite");
2896  fields[6] = sfidl_pspec_SfiReal (NULL,"/opt/src/beast/bse/bsecore.idl",493,"value","Value" , "" , 0LL , - 1LL , + 1LL , 1.00000000000000006e-01 , ":readwrite");
2897  fields[7] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",495,"program","Program" , "" , 0LL , 0LL , 127LL , 16LL , ":readwrite");
2898  fields[8] = sfidl_pspec_SfiReal (NULL,"/opt/src/beast/bse/bsecore.idl",497,"intensity","Intensity" , "" , 0LL , 0LL , 1.00000000000000000e+00 , 1.00000000000000006e-01 , ":readwrite");
2899  fields[9] = sfidl_pspec_SfiReal (NULL,"/opt/src/beast/bse/bsecore.idl",499,"pitch_bend","Pitch Bend" , "" , 0LL , - 1LL , + 1LL , 1.00000000000000006e-01 , ":readwrite");
2900  fields[10] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",501,"song_pointer","Song Pointer" , "" , 0LL , 0LL , 16383LL , 128LL , ":readwrite");
2901  fields[11] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",503,"song_number","Song Number" , "" , 0LL , 0LL , 127LL , 16LL , ":readwrite");
2902  rfields.fields = fields;
2903  }
2904  return rfields;
2905 }
2907 PropertyCandidates::from_rec (SfiRec *sfi_rec)
2908 {
2909  GValue *element;
2910 
2911  if (!sfi_rec)
2912  return Sfi::INIT_NULL;
2913 
2914  ::Bse::PropertyCandidatesHandle rec = Sfi::INIT_DEFAULT;
2915  element = sfi_rec_get (sfi_rec, "label");
2916  if (element)
2917  rec->label = ::Sfi::String::value_get_string (element);
2918  element = sfi_rec_get (sfi_rec, "tooltip");
2919  if (element)
2920  rec->tooltip = ::Sfi::String::value_get_string (element);
2921  element = sfi_rec_get (sfi_rec, "items");
2922  if (element)
2923  rec->items = ::Bse::ItemSeq::value_get_boxed (element);
2924  element = sfi_rec_get (sfi_rec, "partitions");
2925  if (element)
2926  rec->partitions = ::Bse::TypeSeq::value_get_boxed (element);
2927  return rec;
2928 }
2929 
2930 SfiRec *
2931 PropertyCandidates::to_rec (const ::Bse::PropertyCandidatesHandle & rec)
2932 {
2933  SfiRec *sfi_rec;
2934  GValue *element;
2935 
2936  if (!rec)
2937  return NULL;
2938 
2939  sfi_rec = sfi_rec_new ();
2940  element = sfi_rec_forced_get (sfi_rec, "label", SFI_TYPE_STRING);
2941  ::Sfi::String::value_set_string (element, rec->label);
2942  element = sfi_rec_forced_get (sfi_rec, "tooltip", SFI_TYPE_STRING);
2943  ::Sfi::String::value_set_string (element, rec->tooltip);
2944  element = sfi_rec_forced_get (sfi_rec, "items", SFI_TYPE_SEQ);
2945  ::Bse::ItemSeq::value_set_boxed (element, rec->items);
2946  element = sfi_rec_forced_get (sfi_rec, "partitions", SFI_TYPE_SEQ);
2947  ::Bse::TypeSeq::value_set_boxed (element, rec->partitions);
2948  return sfi_rec;
2949 }
2950 
2952 PropertyCandidates::value_get_boxed (const GValue *value)
2953 {
2954  return ::Bse::PropertyCandidatesHandle::value_get_boxed (value);
2955 }
2956 
2957 void
2958 PropertyCandidates::value_set_boxed (GValue *value, const ::Bse::PropertyCandidatesHandle & self)
2959 {
2960  ::Bse::PropertyCandidatesHandle::value_set_boxed (value, self);
2961 }
2962 
2964 PropertyCandidates::get_fields()
2965 {
2966  static SfiRecFields rfields = { 0, NULL };
2967  if (!rfields.n_fields)
2968  {
2969  static GParamSpec *fields[4 + 1];
2970  rfields.n_fields = 4;
2971  fields[0] = sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",515,"label");
2972  fields[1] = sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",516,"tooltip");
2973  fields[2] = sfidl_pspec_Sequence_default (NULL,"/opt/src/beast/bse/bsecore.idl",517, "items", Bse::ItemSeq::get_element());
2974  fields[3] = sfidl_pspec_Sequence (NULL,"/opt/src/beast/bse/bsecore.idl",518, "partitions", "Type Partitions" , "List of types which may logically partition the list of items by type discrimination" , ":r:w:S:G:", Bse::TypeSeq::get_element());
2975  rfields.fields = fields;
2976  }
2977  return rfields;
2978 }
2980 PartNote::from_rec (SfiRec *sfi_rec)
2981 {
2982  GValue *element;
2983 
2984  if (!sfi_rec)
2985  return Sfi::INIT_NULL;
2986 
2987  ::Bse::PartNoteHandle rec = Sfi::INIT_DEFAULT;
2988  element = sfi_rec_get (sfi_rec, "id");
2989  if (element)
2990  rec->id = sfi_value_get_int (element);
2991  element = sfi_rec_get (sfi_rec, "channel");
2992  if (element)
2993  rec->channel = sfi_value_get_int (element);
2994  element = sfi_rec_get (sfi_rec, "tick");
2995  if (element)
2996  rec->tick = sfi_value_get_int (element);
2997  element = sfi_rec_get (sfi_rec, "duration");
2998  if (element)
2999  rec->duration = sfi_value_get_int (element);
3000  element = sfi_rec_get (sfi_rec, "note");
3001  if (element)
3002  rec->note = sfi_value_get_int (element);
3003  element = sfi_rec_get (sfi_rec, "fine_tune");
3004  if (element)
3005  rec->fine_tune = sfi_value_get_int (element);
3006  element = sfi_rec_get (sfi_rec, "velocity");
3007  if (element)
3008  rec->velocity = sfi_value_get_real (element);
3009  element = sfi_rec_get (sfi_rec, "selected");
3010  if (element)
3011  rec->selected = sfi_value_get_bool (element);
3012  return rec;
3013 }
3014 
3015 SfiRec *
3016 PartNote::to_rec (const ::Bse::PartNoteHandle & rec)
3017 {
3018  SfiRec *sfi_rec;
3019  GValue *element;
3020 
3021  if (!rec)
3022  return NULL;
3023 
3024  sfi_rec = sfi_rec_new ();
3025  element = sfi_rec_forced_get (sfi_rec, "id", SFI_TYPE_INT);
3026  sfi_value_set_int (element, rec->id);
3027  element = sfi_rec_forced_get (sfi_rec, "channel", SFI_TYPE_INT);
3028  sfi_value_set_int (element, rec->channel);
3029  element = sfi_rec_forced_get (sfi_rec, "tick", SFI_TYPE_INT);
3030  sfi_value_set_int (element, rec->tick);
3031  element = sfi_rec_forced_get (sfi_rec, "duration", SFI_TYPE_INT);
3032  sfi_value_set_int (element, rec->duration);
3033  element = sfi_rec_forced_get (sfi_rec, "note", SFI_TYPE_INT);
3034  sfi_value_set_int (element, rec->note);
3035  element = sfi_rec_forced_get (sfi_rec, "fine_tune", SFI_TYPE_INT);
3036  sfi_value_set_int (element, rec->fine_tune);
3037  element = sfi_rec_forced_get (sfi_rec, "velocity", SFI_TYPE_REAL);
3038  sfi_value_set_real (element, rec->velocity);
3039  element = sfi_rec_forced_get (sfi_rec, "selected", SFI_TYPE_BOOL);
3040  sfi_value_set_bool (element, rec->selected);
3041  return sfi_rec;
3042 }
3043 
3045 PartNote::value_get_boxed (const GValue *value)
3046 {
3047  return ::Bse::PartNoteHandle::value_get_boxed (value);
3048 }
3049 
3050 void
3051 PartNote::value_set_boxed (GValue *value, const ::Bse::PartNoteHandle & self)
3052 {
3053  ::Bse::PartNoteHandle::value_set_boxed (value, self);
3054 }
3055 
3057 PartNote::get_fields()
3058 {
3059  static SfiRecFields rfields = { 0, NULL };
3060  if (!rfields.n_fields)
3061  {
3062  static GParamSpec *fields[8 + 1];
3063  rfields.n_fields = 8;
3064  fields[0] = sfidl_pspec_SfiUInt (NULL,"/opt/src/beast/bse/bsecore.idl",523,"id","ID" , "" , 0LL , ":readwrite");
3065  fields[1] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",524,"channel","Channel" , "" , 0LL , 0LL , 2147483647LL , 1LL , ":readwrite");
3066  fields[2] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",525,"tick","Tick" , "" , 0LL , 0LL , 2147483647LL , 1LL , ":readwrite");
3067  fields[3] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",526,"duration","Duration" , "Duration in number of ticks" , 0LL , 0LL , 2147483647LL , 1LL , ":readwrite");
3068  fields[4] = sfidl_pspec_Note (NULL,"/opt/src/beast/bse/bsecore.idl",527,"note","Note" , "" , KAMMER_NOTE , ":readwrite");
3069  fields[5] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",528,"fine_tune","Fine Tune" , "" , 0LL , MIN_FINE_TUNE , MAX_FINE_TUNE , 1LL , ":readwrite");
3070  fields[6] = sfidl_pspec_SfiReal (NULL,"/opt/src/beast/bse/bsecore.idl",529,"velocity","Velocity" , "" , 1LL , 0LL , 1.00000000000000000e+00 , 1.00000000000000006e-01 , ":readwrite");
3071  fields[7] = sfidl_pspec_SfiBool (NULL,"/opt/src/beast/bse/bsecore.idl",530,"selected","Selected" , "" , FALSE , ":readwrite");
3072  rfields.fields = fields;
3073  }
3074  return rfields;
3075 }
3077 PartControl::from_rec (SfiRec *sfi_rec)
3078 {
3079  GValue *element;
3080 
3081  if (!sfi_rec)
3082  return Sfi::INIT_NULL;
3083 
3084  ::Bse::PartControlHandle rec = Sfi::INIT_DEFAULT;
3085  element = sfi_rec_get (sfi_rec, "id");
3086  if (element)
3087  rec->id = sfi_value_get_int (element);
3088  element = sfi_rec_get (sfi_rec, "tick");
3089  if (element)
3090  rec->tick = sfi_value_get_int (element);
3091  element = sfi_rec_get (sfi_rec, "control_type");
3092  if (element)
3093  rec->control_type = (::Bse::MidiSignalType) sfi_value_get_enum_auto SFI_START_ARGS() BSE_TYPE_MIDI_SIGNAL_TYPE, SFI_END_ARGS1 (element);
3094  element = sfi_rec_get (sfi_rec, "value");
3095  if (element)
3096  rec->value = sfi_value_get_real (element);
3097  element = sfi_rec_get (sfi_rec, "selected");
3098  if (element)
3099  rec->selected = sfi_value_get_bool (element);
3100  return rec;
3101 }
3102 
3103 SfiRec *
3104 PartControl::to_rec (const ::Bse::PartControlHandle & rec)
3105 {
3106  SfiRec *sfi_rec;
3107  GValue *element;
3108 
3109  if (!rec)
3110  return NULL;
3111 
3112  sfi_rec = sfi_rec_new ();
3113  element = sfi_rec_forced_get (sfi_rec, "id", SFI_TYPE_INT);
3114  sfi_value_set_int (element, rec->id);
3115  element = sfi_rec_forced_get (sfi_rec, "tick", SFI_TYPE_INT);
3116  sfi_value_set_int (element, rec->tick);
3117  element = sfi_rec_forced_get (sfi_rec, "control_type", SFI_TYPE_CHOICE);
3118  sfi_value_set_enum_auto SFI_START_ARGS() BSE_TYPE_MIDI_SIGNAL_TYPE, SFI_END_ARGS2 (element, rec->control_type);
3119  element = sfi_rec_forced_get (sfi_rec, "value", SFI_TYPE_REAL);
3120  sfi_value_set_real (element, rec->value);
3121  element = sfi_rec_forced_get (sfi_rec, "selected", SFI_TYPE_BOOL);
3122  sfi_value_set_bool (element, rec->selected);
3123  return sfi_rec;
3124 }
3125 
3126 ::Bse::PartControlHandle
3127 PartControl::value_get_boxed (const GValue *value)
3128 {
3129  return ::Bse::PartControlHandle::value_get_boxed (value);
3130 }
3131 
3132 void
3133 PartControl::value_set_boxed (GValue *value, const ::Bse::PartControlHandle & self)
3134 {
3135  ::Bse::PartControlHandle::value_set_boxed (value, self);
3136 }
3137 
3139 PartControl::get_fields()
3140 {
3141  static SfiRecFields rfields = { 0, NULL };
3142  if (!rfields.n_fields)
3143  {
3144  static GParamSpec *fields[5 + 1];
3145  rfields.n_fields = 5;
3146  fields[0] = sfidl_pspec_SfiUInt (NULL,"/opt/src/beast/bse/bsecore.idl",539,"id","ID" , "" , 0LL , ":readwrite");
3147  fields[1] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",540,"tick","Tick" , "" , 0LL , 0LL , 2147483647LL , 1LL , ":readwrite");
3148  fields[2] = sfidl_pspec_Choice_default (NULL,"/opt/src/beast/bse/bsecore.idl",541, "control_type", Bse::MidiSignalType_choice_values());
3149  fields[3] = sfidl_pspec_SfiReal (NULL,"/opt/src/beast/bse/bsecore.idl",542,"value","Value" , "" , 0LL , - 1LL , + 1LL , 1.00000000000000006e-01 , ":readwrite");
3150  fields[4] = sfidl_pspec_SfiBool (NULL,"/opt/src/beast/bse/bsecore.idl",543,"selected","Selected" , "" , FALSE , ":readwrite");
3151  rfields.fields = fields;
3152  }
3153  return rfields;
3154 }
3156 NoteDescription::from_rec (SfiRec *sfi_rec)
3157 {
3158  GValue *element;
3159 
3160  if (!sfi_rec)
3161  return Sfi::INIT_NULL;
3162 
3163  ::Bse::NoteDescriptionHandle rec = Sfi::INIT_DEFAULT;
3164  element = sfi_rec_get (sfi_rec, "musical_tuning");
3165  if (element)
3166  rec->musical_tuning = (::Bse::MusicalTuningType) sfi_value_get_enum_auto SFI_START_ARGS() BSE_TYPE_MUSICAL_TUNING_TYPE, SFI_END_ARGS1 (element);
3167  element = sfi_rec_get (sfi_rec, "note");
3168  if (element)
3169  rec->note = sfi_value_get_int (element);
3170  element = sfi_rec_get (sfi_rec, "octave");
3171  if (element)
3172  rec->octave = sfi_value_get_int (element);
3173  element = sfi_rec_get (sfi_rec, "freq");
3174  if (element)
3175  rec->freq = sfi_value_get_real (element);
3176  element = sfi_rec_get (sfi_rec, "fine_tune");
3177  if (element)
3178  rec->fine_tune = sfi_value_get_int (element);
3179  element = sfi_rec_get (sfi_rec, "semitone");
3180  if (element)
3181  rec->semitone = sfi_value_get_int (element);
3182  element = sfi_rec_get (sfi_rec, "upshift");
3183  if (element)
3184  rec->upshift = sfi_value_get_bool (element);
3185  element = sfi_rec_get (sfi_rec, "letter");
3186  if (element)
3187  rec->letter = sfi_value_get_int (element);
3188  element = sfi_rec_get (sfi_rec, "name");
3189  if (element)
3190  rec->name = ::Sfi::String::value_get_string (element);
3191  element = sfi_rec_get (sfi_rec, "max_fine_tune");
3192  if (element)
3193  rec->max_fine_tune = sfi_value_get_int (element);
3194  element = sfi_rec_get (sfi_rec, "kammer_note");
3195  if (element)
3196  rec->kammer_note = sfi_value_get_int (element);
3197  return rec;
3198 }
3199 
3200 SfiRec *
3201 NoteDescription::to_rec (const ::Bse::NoteDescriptionHandle & rec)
3202 {
3203  SfiRec *sfi_rec;
3204  GValue *element;
3205 
3206  if (!rec)
3207  return NULL;
3208 
3209  sfi_rec = sfi_rec_new ();
3210  element = sfi_rec_forced_get (sfi_rec, "musical_tuning", SFI_TYPE_CHOICE);
3211  sfi_value_set_enum_auto SFI_START_ARGS() BSE_TYPE_MUSICAL_TUNING_TYPE, SFI_END_ARGS2 (element, rec->musical_tuning);
3212  element = sfi_rec_forced_get (sfi_rec, "note", SFI_TYPE_INT);
3213  sfi_value_set_int (element, rec->note);
3214  element = sfi_rec_forced_get (sfi_rec, "octave", SFI_TYPE_INT);
3215  sfi_value_set_int (element, rec->octave);
3216  element = sfi_rec_forced_get (sfi_rec, "freq", SFI_TYPE_REAL);
3217  sfi_value_set_real (element, rec->freq);
3218  element = sfi_rec_forced_get (sfi_rec, "fine_tune", SFI_TYPE_INT);
3219  sfi_value_set_int (element, rec->fine_tune);
3220  element = sfi_rec_forced_get (sfi_rec, "semitone", SFI_TYPE_INT);
3221  sfi_value_set_int (element, rec->semitone);
3222  element = sfi_rec_forced_get (sfi_rec, "upshift", SFI_TYPE_BOOL);
3223  sfi_value_set_bool (element, rec->upshift);
3224  element = sfi_rec_forced_get (sfi_rec, "letter", SFI_TYPE_INT);
3225  sfi_value_set_int (element, rec->letter);
3226  element = sfi_rec_forced_get (sfi_rec, "name", SFI_TYPE_STRING);
3227  ::Sfi::String::value_set_string (element, rec->name);
3228  element = sfi_rec_forced_get (sfi_rec, "max_fine_tune", SFI_TYPE_INT);
3229  sfi_value_set_int (element, rec->max_fine_tune);
3230  element = sfi_rec_forced_get (sfi_rec, "kammer_note", SFI_TYPE_INT);
3231  sfi_value_set_int (element, rec->kammer_note);
3232  return sfi_rec;
3233 }
3234 
3235 ::Bse::NoteDescriptionHandle
3236 NoteDescription::value_get_boxed (const GValue *value)
3237 {
3238  return ::Bse::NoteDescriptionHandle::value_get_boxed (value);
3239 }
3240 
3241 void
3242 NoteDescription::value_set_boxed (GValue *value, const ::Bse::NoteDescriptionHandle & self)
3243 {
3244  ::Bse::NoteDescriptionHandle::value_set_boxed (value, self);
3245 }
3246 
3248 NoteDescription::get_fields()
3249 {
3250  static SfiRecFields rfields = { 0, NULL };
3251  if (!rfields.n_fields)
3252  {
3253  static GParamSpec *fields[11 + 1];
3254  rfields.n_fields = 11;
3255  fields[0] = sfidl_pspec_Choice_default (NULL,"/opt/src/beast/bse/bsecore.idl",551, "musical_tuning", Bse::MusicalTuningType_choice_values());
3256  fields[1] = sfidl_pspec_Note (NULL,"/opt/src/beast/bse/bsecore.idl",552,"note","Note" , "" , KAMMER_NOTE , ":readwrite");
3257  fields[2] = sfidl_pspec_Octave (NULL,"/opt/src/beast/bse/bsecore.idl",553,"octave","Octave" , "" , KAMMER_OCTAVE , ":readwrite");
3258  fields[3] = sfidl_pspec_Freq (NULL,"/opt/src/beast/bse/bsecore.idl",554,"freq","Frequency" , "" , KAMMER_FREQ , ":readwrite");
3259  fields[4] = sfidl_pspec_FineTune (NULL,"/opt/src/beast/bse/bsecore.idl",555,"fine_tune","Fine Tune" , "" , ":readwrite");
3260  fields[5] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",556,"semitone","Semitone" , "" , 0LL , 0LL , 11LL , 1LL , ":readwrite");
3261  fields[6] = sfidl_pspec_Bool_default (NULL,"/opt/src/beast/bse/bsecore.idl",557,"upshift");
3262  fields[7] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",558,"letter","Letter" , "International abbreviation letter for this note" , 64LL , 32LL , 126LL , 1LL , ":readwrite");
3263  fields[8] = sfidl_pspec_String (NULL,"/opt/src/beast/bse/bsecore.idl",559,"name","Name" , "" , "" , ":readwrite");
3264  fields[9] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",561,"max_fine_tune","Max Fine Tune" , "" , MAX_FINE_TUNE , MAX_FINE_TUNE , MAX_FINE_TUNE , 0LL , ":readable");
3265  fields[10] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",562,"kammer_note","Kammer Note" , "" , KAMMER_NOTE , KAMMER_NOTE , KAMMER_NOTE , 0LL , ":readable");
3266  rfields.fields = fields;
3267  }
3268  return rfields;
3269 }
3271 NoteSequence::from_rec (SfiRec *sfi_rec)
3272 {
3273  GValue *element;
3274 
3275  if (!sfi_rec)
3276  return Sfi::INIT_NULL;
3277 
3278  ::Bse::NoteSequenceHandle rec = Sfi::INIT_DEFAULT;
3279  element = sfi_rec_get (sfi_rec, "offset");
3280  if (element)
3281  rec->offset = sfi_value_get_int (element);
3282  element = sfi_rec_get (sfi_rec, "notes");
3283  if (element)
3284  rec->notes = ::Bse::NoteSeq::value_get_boxed (element);
3285  return rec;
3286 }
3287 
3288 SfiRec *
3289 NoteSequence::to_rec (const ::Bse::NoteSequenceHandle & rec)
3290 {
3291  SfiRec *sfi_rec;
3292  GValue *element;
3293 
3294  if (!rec)
3295  return NULL;
3296 
3297  sfi_rec = sfi_rec_new ();
3298  element = sfi_rec_forced_get (sfi_rec, "offset", SFI_TYPE_INT);
3299  sfi_value_set_int (element, rec->offset);
3300  element = sfi_rec_forced_get (sfi_rec, "notes", SFI_TYPE_SEQ);
3301  ::Bse::NoteSeq::value_set_boxed (element, rec->notes);
3302  return sfi_rec;
3303 }
3304 
3306 NoteSequence::value_get_boxed (const GValue *value)
3307 {
3308  return ::Bse::NoteSequenceHandle::value_get_boxed (value);
3309 }
3310 
3311 void
3312 NoteSequence::value_set_boxed (GValue *value, const ::Bse::NoteSequenceHandle & self)
3313 {
3314  ::Bse::NoteSequenceHandle::value_set_boxed (value, self);
3315 }
3316 
3318 NoteSequence::get_fields()
3319 {
3320  static SfiRecFields rfields = { 0, NULL };
3321  if (!rfields.n_fields)
3322  {
3323  static GParamSpec *fields[2 + 1];
3324  rfields.n_fields = 2;
3325  fields[0] = sfidl_pspec_Note (NULL,"/opt/src/beast/bse/bsecore.idl",570,"offset","Note Offset" , "Center/base note" , KAMMER_NOTE , ":readwrite");
3326  fields[1] = sfidl_pspec_Sequence (NULL,"/opt/src/beast/bse/bsecore.idl",571, "notes", "Notes" , "Sequence of notes" , ":readwrite", Bse::NoteSeq::get_element());
3327  rfields.fields = fields;
3328  }
3329  return rfields;
3330 }
3332 Icon::from_rec (SfiRec *sfi_rec)
3333 {
3334  GValue *element;
3335 
3336  if (!sfi_rec)
3337  return Sfi::INIT_NULL;
3338 
3339  ::Bse::IconHandle rec = Sfi::INIT_DEFAULT;
3340  element = sfi_rec_get (sfi_rec, "width");
3341  if (element)
3342  rec->width = sfi_value_get_int (element);
3343  element = sfi_rec_get (sfi_rec, "height");
3344  if (element)
3345  rec->height = sfi_value_get_int (element);
3346  element = sfi_rec_get (sfi_rec, "pixel_seq");
3347  if (element)
3348  rec->pixel_seq = ::Bse::PixelSeq::value_get_boxed (element);
3349  return rec;
3350 }
3351 
3352 SfiRec *
3353 Icon::to_rec (const ::Bse::IconHandle & rec)
3354 {
3355  SfiRec *sfi_rec;
3356  GValue *element;
3357 
3358  if (!rec)
3359  return NULL;
3360 
3361  sfi_rec = sfi_rec_new ();
3362  element = sfi_rec_forced_get (sfi_rec, "width", SFI_TYPE_INT);
3363  sfi_value_set_int (element, rec->width);
3364  element = sfi_rec_forced_get (sfi_rec, "height", SFI_TYPE_INT);
3365  sfi_value_set_int (element, rec->height);
3366  element = sfi_rec_forced_get (sfi_rec, "pixel_seq", SFI_TYPE_SEQ);
3367  ::Bse::PixelSeq::value_set_boxed (element, rec->pixel_seq);
3368  return sfi_rec;
3369 }
3370 
3372 Icon::value_get_boxed (const GValue *value)
3373 {
3374  return ::Bse::IconHandle::value_get_boxed (value);
3375 }
3376 
3377 void
3378 Icon::value_set_boxed (GValue *value, const ::Bse::IconHandle & self)
3379 {
3380  ::Bse::IconHandle::value_set_boxed (value, self);
3381 }
3382 
3384 Icon::get_fields()
3385 {
3386  static SfiRecFields rfields = { 0, NULL };
3387  if (!rfields.n_fields)
3388  {
3389  static GParamSpec *fields[3 + 1];
3390  rfields.n_fields = 3;
3391  fields[0] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",579,"width","Width" , "Width in pixels or 0 for no icon" , 0LL , 0LL , 2147483647LL , 1LL , ":readwrite");
3392  fields[1] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",580,"height","Height" , "Height in pixels or 0 for no icon" , 0LL , 0LL , 2147483647LL , 1LL , ":readwrite");
3393  fields[2] = sfidl_pspec_Sequence (NULL,"/opt/src/beast/bse/bsecore.idl",581, "pixel_seq", "Pixels" , "Pixel array of width*height ARGB pixels" , ":readwrite", Bse::PixelSeq::get_element());
3394  rfields.fields = fields;
3395  }
3396  return rfields;
3397 }
3399 Category::from_rec (SfiRec *sfi_rec)
3400 {
3401  GValue *element;
3402 
3403  if (!sfi_rec)
3404  return Sfi::INIT_NULL;
3405 
3406  ::Bse::CategoryHandle rec = Sfi::INIT_DEFAULT;
3407  element = sfi_rec_get (sfi_rec, "category_id");
3408  if (element)
3409  rec->category_id = sfi_value_get_int (element);
3410  element = sfi_rec_get (sfi_rec, "category");
3411  if (element)
3412  rec->category = ::Sfi::String::value_get_string (element);
3413  element = sfi_rec_get (sfi_rec, "mindex");
3414  if (element)
3415  rec->mindex = sfi_value_get_int (element);
3416  element = sfi_rec_get (sfi_rec, "lindex");
3417  if (element)
3418  rec->lindex = sfi_value_get_int (element);
3419  element = sfi_rec_get (sfi_rec, "type");
3420  if (element)
3421  rec->type = ::Sfi::String::value_get_string (element);
3422  element = sfi_rec_get (sfi_rec, "icon");
3423  if (element)
3424  rec->icon = ::Bse::Icon::value_get_boxed (element);
3425  return rec;
3426 }
3427 
3428 SfiRec *
3429 Category::to_rec (const ::Bse::CategoryHandle & rec)
3430 {
3431  SfiRec *sfi_rec;
3432  GValue *element;
3433 
3434  if (!rec)
3435  return NULL;
3436 
3437  sfi_rec = sfi_rec_new ();
3438  element = sfi_rec_forced_get (sfi_rec, "category_id", SFI_TYPE_INT);
3439  sfi_value_set_int (element, rec->category_id);
3440  element = sfi_rec_forced_get (sfi_rec, "category", SFI_TYPE_STRING);
3441  ::Sfi::String::value_set_string (element, rec->category);
3442  element = sfi_rec_forced_get (sfi_rec, "mindex", SFI_TYPE_INT);
3443  sfi_value_set_int (element, rec->mindex);
3444  element = sfi_rec_forced_get (sfi_rec, "lindex", SFI_TYPE_INT);
3445  sfi_value_set_int (element, rec->lindex);
3446  element = sfi_rec_forced_get (sfi_rec, "type", SFI_TYPE_STRING);
3447  ::Sfi::String::value_set_string (element, rec->type);
3448  element = sfi_rec_forced_get (sfi_rec, "icon", SFI_TYPE_REC);
3449  ::Bse::Icon::value_set_boxed (element, rec->icon);
3450  return sfi_rec;
3451 }
3452 
3454 Category::value_get_boxed (const GValue *value)
3455 {
3456  return ::Bse::CategoryHandle::value_get_boxed (value);
3457 }
3458 
3459 void
3460 Category::value_set_boxed (GValue *value, const ::Bse::CategoryHandle & self)
3461 {
3462  ::Bse::CategoryHandle::value_set_boxed (value, self);
3463 }
3464 
3466 Category::get_fields()
3467 {
3468  static SfiRecFields rfields = { 0, NULL };
3469  if (!rfields.n_fields)
3470  {
3471  static GParamSpec *fields[6 + 1];
3472  rfields.n_fields = 6;
3473  fields[0] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",585,"category_id","Category ID" , "" , 1LL , 1LL , G_MAXINT , 1LL , ":readwrite");
3474  fields[1] = sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",586,"category");
3475  fields[2] = sfidl_pspec_Int_default (NULL,"/opt/src/beast/bse/bsecore.idl",587,"mindex");
3476  fields[3] = sfidl_pspec_Int_default (NULL,"/opt/src/beast/bse/bsecore.idl",588,"lindex");
3477  fields[4] = sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",589,"type");
3478  fields[5] = sfidl_pspec_Record_default (NULL,"/opt/src/beast/bse/bsecore.idl",590, "icon", Bse::Icon::get_fields());
3479  rfields.fields = fields;
3480  }
3481  return rfields;
3482 }
3484 Dot::from_rec (SfiRec *sfi_rec)
3485 {
3486  GValue *element;
3487 
3488  if (!sfi_rec)
3489  return Sfi::INIT_NULL;
3490 
3491  ::Bse::DotHandle rec = Sfi::INIT_DEFAULT;
3492  element = sfi_rec_get (sfi_rec, "x");
3493  if (element)
3494  rec->x = sfi_value_get_real (element);
3495  element = sfi_rec_get (sfi_rec, "y");
3496  if (element)
3497  rec->y = sfi_value_get_real (element);
3498  return rec;
3499 }
3500 
3501 SfiRec *
3502 Dot::to_rec (const ::Bse::DotHandle & rec)
3503 {
3504  SfiRec *sfi_rec;
3505  GValue *element;
3506 
3507  if (!rec)
3508  return NULL;
3509 
3510  sfi_rec = sfi_rec_new ();
3511  element = sfi_rec_forced_get (sfi_rec, "x", SFI_TYPE_REAL);
3512  sfi_value_set_real (element, rec->x);
3513  element = sfi_rec_forced_get (sfi_rec, "y", SFI_TYPE_REAL);
3514  sfi_value_set_real (element, rec->y);
3515  return sfi_rec;
3516 }
3517 
3519 Dot::value_get_boxed (const GValue *value)
3520 {
3521  return ::Bse::DotHandle::value_get_boxed (value);
3522 }
3523 
3524 void
3525 Dot::value_set_boxed (GValue *value, const ::Bse::DotHandle & self)
3526 {
3527  ::Bse::DotHandle::value_set_boxed (value, self);
3528 }
3529 
3531 Dot::get_fields()
3532 {
3533  static SfiRecFields rfields = { 0, NULL };
3534  if (!rfields.n_fields)
3535  {
3536  static GParamSpec *fields[2 + 1];
3537  rfields.n_fields = 2;
3538  fields[0] = sfidl_pspec_Real_default (NULL,"/opt/src/beast/bse/bsecore.idl",597,"x");
3539  fields[1] = sfidl_pspec_Real_default (NULL,"/opt/src/beast/bse/bsecore.idl",598,"y");
3540  rfields.fields = fields;
3541  }
3542  return rfields;
3543 }
3545 PartLink::from_rec (SfiRec *sfi_rec)
3546 {
3547  GValue *element;
3548 
3549  if (!sfi_rec)
3550  return Sfi::INIT_NULL;
3551 
3552  ::Bse::PartLinkHandle rec = Sfi::INIT_DEFAULT;
3553  element = sfi_rec_get (sfi_rec, "track");
3554  if (element)
3555  rec->track = ::Bse::CxxBase::value_get_gobject< BseTrack> (element);
3556  element = sfi_rec_get (sfi_rec, "tick");
3557  if (element)
3558  rec->tick = sfi_value_get_int (element);
3559  element = sfi_rec_get (sfi_rec, "part");
3560  if (element)
3561  rec->part = ::Bse::CxxBase::value_get_gobject< BsePart> (element);
3562  element = sfi_rec_get (sfi_rec, "duration");
3563  if (element)
3564  rec->duration = sfi_value_get_int (element);
3565  return rec;
3566 }
3567 
3568 SfiRec *
3569 PartLink::to_rec (const ::Bse::PartLinkHandle & rec)
3570 {
3571  SfiRec *sfi_rec;
3572  GValue *element;
3573 
3574  if (!rec)
3575  return NULL;
3576 
3577  sfi_rec = sfi_rec_new ();
3578  element = sfi_rec_forced_get (sfi_rec, "track", SFI_TYPE_PROXY);
3579  ::Bse::CxxBase::value_set_gobject (element, rec->track);
3580  element = sfi_rec_forced_get (sfi_rec, "tick", SFI_TYPE_INT);
3581  sfi_value_set_int (element, rec->tick);
3582  element = sfi_rec_forced_get (sfi_rec, "part", SFI_TYPE_PROXY);
3583  ::Bse::CxxBase::value_set_gobject (element, rec->part);
3584  element = sfi_rec_forced_get (sfi_rec, "duration", SFI_TYPE_INT);
3585  sfi_value_set_int (element, rec->duration);
3586  return sfi_rec;
3587 }
3588 
3590 PartLink::value_get_boxed (const GValue *value)
3591 {
3592  return ::Bse::PartLinkHandle::value_get_boxed (value);
3593 }
3594 
3595 void
3596 PartLink::value_set_boxed (GValue *value, const ::Bse::PartLinkHandle & self)
3597 {
3598  ::Bse::PartLinkHandle::value_set_boxed (value, self);
3599 }
3600 
3602 PartLink::get_fields()
3603 {
3604  static SfiRecFields rfields = { 0, NULL };
3605  if (!rfields.n_fields)
3606  {
3607  static GParamSpec *fields[4 + 1];
3608  rfields.n_fields = 4;
3609  fields[0] = sfidl_pspec_Object_default (NULL,"/opt/src/beast/bse/bsecore.idl",607,"track");
3610  fields[1] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",608,"tick","Tick" , "" , 0LL , 0LL , G_MAXINT , 384LL , ":r:w:S:G:");
3611  fields[2] = sfidl_pspec_Object_default (NULL,"/opt/src/beast/bse/bsecore.idl",609,"part");
3612  fields[3] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",610,"duration","Duration" , "" , 0LL , 0LL , G_MAXINT , 384LL , ":r:w:S:G:");
3613  rfields.fields = fields;
3614  }
3615  return rfields;
3616 }
3618 TrackPart::from_rec (SfiRec *sfi_rec)
3619 {
3620  GValue *element;
3621 
3622  if (!sfi_rec)
3623  return Sfi::INIT_NULL;
3624 
3625  ::Bse::TrackPartHandle rec = Sfi::INIT_DEFAULT;
3626  element = sfi_rec_get (sfi_rec, "tick");
3627  if (element)
3628  rec->tick = sfi_value_get_int (element);
3629  element = sfi_rec_get (sfi_rec, "part");
3630  if (element)
3631  rec->part = ::Bse::CxxBase::value_get_gobject< BsePart> (element);
3632  element = sfi_rec_get (sfi_rec, "duration");
3633  if (element)
3634  rec->duration = sfi_value_get_int (element);
3635  return rec;
3636 }
3637 
3638 SfiRec *
3639 TrackPart::to_rec (const ::Bse::TrackPartHandle & rec)
3640 {
3641  SfiRec *sfi_rec;
3642  GValue *element;
3643 
3644  if (!rec)
3645  return NULL;
3646 
3647  sfi_rec = sfi_rec_new ();
3648  element = sfi_rec_forced_get (sfi_rec, "tick", SFI_TYPE_INT);
3649  sfi_value_set_int (element, rec->tick);
3650  element = sfi_rec_forced_get (sfi_rec, "part", SFI_TYPE_PROXY);
3651  ::Bse::CxxBase::value_set_gobject (element, rec->part);
3652  element = sfi_rec_forced_get (sfi_rec, "duration", SFI_TYPE_INT);
3653  sfi_value_set_int (element, rec->duration);
3654  return sfi_rec;
3655 }
3656 
3658 TrackPart::value_get_boxed (const GValue *value)
3659 {
3660  return ::Bse::TrackPartHandle::value_get_boxed (value);
3661 }
3662 
3663 void
3664 TrackPart::value_set_boxed (GValue *value, const ::Bse::TrackPartHandle & self)
3665 {
3666  ::Bse::TrackPartHandle::value_set_boxed (value, self);
3667 }
3668 
3670 TrackPart::get_fields()
3671 {
3672  static SfiRecFields rfields = { 0, NULL };
3673  if (!rfields.n_fields)
3674  {
3675  static GParamSpec *fields[3 + 1];
3676  rfields.n_fields = 3;
3677  fields[0] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",618,"tick","Tick" , "" , 0LL , 0LL , G_MAXINT , 384LL , ":r:w:S:G:");
3678  fields[1] = sfidl_pspec_Object_default (NULL,"/opt/src/beast/bse/bsecore.idl",619,"part");
3679  fields[2] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",620,"duration","Duration" , "" , 0LL , 0LL , G_MAXINT , 384LL , ":r:w:S:G:");
3680  rfields.fields = fields;
3681  }
3682  return rfields;
3683 }
3685 SongTiming::from_rec (SfiRec *sfi_rec)
3686 {
3687  GValue *element;
3688 
3689  if (!sfi_rec)
3690  return Sfi::INIT_NULL;
3691 
3692  ::Bse::SongTimingHandle rec = Sfi::INIT_DEFAULT;
3693  element = sfi_rec_get (sfi_rec, "tick");
3694  if (element)
3695  rec->tick = sfi_value_get_int (element);
3696  element = sfi_rec_get (sfi_rec, "bpm");
3697  if (element)
3698  rec->bpm = sfi_value_get_real (element);
3699  element = sfi_rec_get (sfi_rec, "numerator");
3700  if (element)
3701  rec->numerator = sfi_value_get_int (element);
3702  element = sfi_rec_get (sfi_rec, "denominator");
3703  if (element)
3704  rec->denominator = sfi_value_get_int (element);
3705  element = sfi_rec_get (sfi_rec, "tpqn");
3706  if (element)
3707  rec->tpqn = sfi_value_get_int (element);
3708  element = sfi_rec_get (sfi_rec, "tpt");
3709  if (element)
3710  rec->tpt = sfi_value_get_int (element);
3711  element = sfi_rec_get (sfi_rec, "stamp_ticks");
3712  if (element)
3713  rec->stamp_ticks = sfi_value_get_real (element);
3714  return rec;
3715 }
3716 
3717 SfiRec *
3718 SongTiming::to_rec (const ::Bse::SongTimingHandle & rec)
3719 {
3720  SfiRec *sfi_rec;
3721  GValue *element;
3722 
3723  if (!rec)
3724  return NULL;
3725 
3726  sfi_rec = sfi_rec_new ();
3727  element = sfi_rec_forced_get (sfi_rec, "tick", SFI_TYPE_INT);
3728  sfi_value_set_int (element, rec->tick);
3729  element = sfi_rec_forced_get (sfi_rec, "bpm", SFI_TYPE_REAL);
3730  sfi_value_set_real (element, rec->bpm);
3731  element = sfi_rec_forced_get (sfi_rec, "numerator", SFI_TYPE_INT);
3732  sfi_value_set_int (element, rec->numerator);
3733  element = sfi_rec_forced_get (sfi_rec, "denominator", SFI_TYPE_INT);
3734  sfi_value_set_int (element, rec->denominator);
3735  element = sfi_rec_forced_get (sfi_rec, "tpqn", SFI_TYPE_INT);
3736  sfi_value_set_int (element, rec->tpqn);
3737  element = sfi_rec_forced_get (sfi_rec, "tpt", SFI_TYPE_INT);
3738  sfi_value_set_int (element, rec->tpt);
3739  element = sfi_rec_forced_get (sfi_rec, "stamp_ticks", SFI_TYPE_REAL);
3740  sfi_value_set_real (element, rec->stamp_ticks);
3741  return sfi_rec;
3742 }
3743 
3745 SongTiming::value_get_boxed (const GValue *value)
3746 {
3747  return ::Bse::SongTimingHandle::value_get_boxed (value);
3748 }
3749 
3750 void
3751 SongTiming::value_set_boxed (GValue *value, const ::Bse::SongTimingHandle & self)
3752 {
3753  ::Bse::SongTimingHandle::value_set_boxed (value, self);
3754 }
3755 
3757 SongTiming::get_fields()
3758 {
3759  static SfiRecFields rfields = { 0, NULL };
3760  if (!rfields.n_fields)
3761  {
3762  static GParamSpec *fields[7 + 1];
3763  rfields.n_fields = 7;
3764  fields[0] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",628,"tick","Current tick" , "" , 0LL , 0LL , G_MAXINT , 384LL , ":r:w:S:G:");
3765  fields[1] = sfidl_pspec_SfiReal (NULL,"/opt/src/beast/bse/bsecore.idl",630,"bpm","Beats per minute" , "" , 120LL , BSE_MIN_BPM , BSE_MAX_BPM , 10LL , ":r:w:S:G:");
3766  fields[2] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",632,"numerator","Numerator" , "Number of notes per measure" , 4LL , 1LL , 256LL , 2LL , ":r:w:S:G:");
3767  fields[3] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",633,"denominator","Denominator" , "Type of notes counted per measure" , 4LL , 1LL , 256LL , 2LL , ":r:w:S:G:");
3768  fields[4] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",635,"tpqn","Ticks per quarter note" , "" , 384LL , 1LL , G_MAXINT , 12LL , ":r:w:S:G:");
3769  fields[5] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",636,"tpt","Ticks per tact" , "" , 384LL , 1LL , G_MAXINT , 12LL , ":r:w:S:G:");
3770  fields[6] = sfidl_pspec_SfiReal (NULL,"/opt/src/beast/bse/bsecore.idl",638,"stamp_ticks","Ticks per stamp increment (valid only during playback)" , "" , 384LL , 1LL , G_MAXINT , 12LL , ":r:w:S:G:");
3771  rfields.fields = fields;
3772  }
3773  return rfields;
3774 }
3776 SampleFileInfo::from_rec (SfiRec *sfi_rec)
3777 {
3778  GValue *element;
3779 
3780  if (!sfi_rec)
3781  return Sfi::INIT_NULL;
3782 
3783  ::Bse::SampleFileInfoHandle rec = Sfi::INIT_DEFAULT;
3784  element = sfi_rec_get (sfi_rec, "file");
3785  if (element)
3786  rec->file = ::Sfi::String::value_get_string (element);
3787  element = sfi_rec_get (sfi_rec, "size");
3788  if (element)
3789  rec->size = sfi_value_get_int (element);
3790  element = sfi_rec_get (sfi_rec, "mtime");
3791  if (element)
3792  rec->mtime = sfi_value_get_num (element);
3793  element = sfi_rec_get (sfi_rec, "loader");
3794  if (element)
3795  rec->loader = ::Sfi::String::value_get_string (element);
3796  element = sfi_rec_get (sfi_rec, "waves");
3797  if (element)
3798  rec->waves = ::Bse::StringSeq::value_get_boxed (element);
3799  element = sfi_rec_get (sfi_rec, "error");
3800  if (element)
3801  rec->error = sfi_value_get_int (element);
3802  return rec;
3803 }
3804 
3805 SfiRec *
3806 SampleFileInfo::to_rec (const ::Bse::SampleFileInfoHandle & rec)
3807 {
3808  SfiRec *sfi_rec;
3809  GValue *element;
3810 
3811  if (!rec)
3812  return NULL;
3813 
3814  sfi_rec = sfi_rec_new ();
3815  element = sfi_rec_forced_get (sfi_rec, "file", SFI_TYPE_STRING);
3816  ::Sfi::String::value_set_string (element, rec->file);
3817  element = sfi_rec_forced_get (sfi_rec, "size", SFI_TYPE_INT);
3818  sfi_value_set_int (element, rec->size);
3819  element = sfi_rec_forced_get (sfi_rec, "mtime", SFI_TYPE_NUM);
3820  sfi_value_set_num (element, rec->mtime);
3821  element = sfi_rec_forced_get (sfi_rec, "loader", SFI_TYPE_STRING);
3822  ::Sfi::String::value_set_string (element, rec->loader);
3823  element = sfi_rec_forced_get (sfi_rec, "waves", SFI_TYPE_SEQ);
3824  ::Bse::StringSeq::value_set_boxed (element, rec->waves);
3825  element = sfi_rec_forced_get (sfi_rec, "error", SFI_TYPE_INT);
3826  sfi_value_set_int (element, rec->error);
3827  return sfi_rec;
3828 }
3829 
3831 SampleFileInfo::value_get_boxed (const GValue *value)
3832 {
3833  return ::Bse::SampleFileInfoHandle::value_get_boxed (value);
3834 }
3835 
3836 void
3837 SampleFileInfo::value_set_boxed (GValue *value, const ::Bse::SampleFileInfoHandle & self)
3838 {
3839  ::Bse::SampleFileInfoHandle::value_set_boxed (value, self);
3840 }
3841 
3843 SampleFileInfo::get_fields()
3844 {
3845  static SfiRecFields rfields = { 0, NULL };
3846  if (!rfields.n_fields)
3847  {
3848  static GParamSpec *fields[6 + 1];
3849  rfields.n_fields = 6;
3850  fields[0] = sfidl_pspec_SfiString (NULL,"/opt/src/beast/bse/bsecore.idl",641,"file","Filename" , "" , "" , ":r:w:S:G:");
3851  fields[1] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",642,"size","File Size" , "" , 0LL , 0LL , G_MAXINT , 0LL , ":r:w:S:G:");
3852  fields[2] = sfidl_pspec_SfiNum (NULL,"/opt/src/beast/bse/bsecore.idl",643,"mtime","Modification Time" , "" , 0LL , 0LL , SFI_MAXNUM , 0LL , ":r:w:S:G:");
3853  fields[3] = sfidl_pspec_SfiString (NULL,"/opt/src/beast/bse/bsecore.idl",644,"loader","Loader" , "" , "" , ":r:w:S:G:");
3854  fields[4] = sfidl_pspec_Sequence (NULL,"/opt/src/beast/bse/bsecore.idl",645, "waves", "" , "" , ":r:w:S:G:", Bse::StringSeq::get_element());
3855  fields[5] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",646,"error","BseErrorType" , "" , 0LL , 0LL , G_MAXINT , 0LL , ":r:w:S:G:");
3856  rfields.fields = fields;
3857  }
3858  return rfields;
3859 }
3861 Message::from_rec (SfiRec *sfi_rec)
3862 {
3863  GValue *element;
3864 
3865  if (!sfi_rec)
3866  return Sfi::INIT_NULL;
3867 
3868  ::Bse::MessageHandle rec = Sfi::INIT_DEFAULT;
3869  element = sfi_rec_get (sfi_rec, "log_domain");
3870  if (element)
3871  rec->log_domain = ::Sfi::String::value_get_string (element);
3872  element = sfi_rec_get (sfi_rec, "type");
3873  if (element)
3874  rec->type = (::Bse::MsgType) sfi_value_get_enum_auto SFI_START_ARGS() BSE_TYPE_MSG_TYPE, SFI_END_ARGS1 (element);
3875  element = sfi_rec_get (sfi_rec, "ident");
3876  if (element)
3877  rec->ident = ::Sfi::String::value_get_string (element);
3878  element = sfi_rec_get (sfi_rec, "label");
3879  if (element)
3880  rec->label = ::Sfi::String::value_get_string (element);
3881  element = sfi_rec_get (sfi_rec, "title");
3882  if (element)
3883  rec->title = ::Sfi::String::value_get_string (element);
3884  element = sfi_rec_get (sfi_rec, "primary");
3885  if (element)
3886  rec->primary = ::Sfi::String::value_get_string (element);
3887  element = sfi_rec_get (sfi_rec, "secondary");
3888  if (element)
3889  rec->secondary = ::Sfi::String::value_get_string (element);
3890  element = sfi_rec_get (sfi_rec, "details");
3891  if (element)
3892  rec->details = ::Sfi::String::value_get_string (element);
3893  element = sfi_rec_get (sfi_rec, "config_check");
3894  if (element)
3895  rec->config_check = ::Sfi::String::value_get_string (element);
3896  element = sfi_rec_get (sfi_rec, "janitor");
3897  if (element)
3898  rec->janitor = ::Bse::CxxBase::value_get_gobject< BseJanitor> (element);
3899  element = sfi_rec_get (sfi_rec, "process");
3900  if (element)
3901  rec->process = ::Sfi::String::value_get_string (element);
3902  element = sfi_rec_get (sfi_rec, "pid");
3903  if (element)
3904  rec->pid = sfi_value_get_int (element);
3905  return rec;
3906 }
3907 
3908 SfiRec *
3909 Message::to_rec (const ::Bse::MessageHandle & rec)
3910 {
3911  SfiRec *sfi_rec;
3912  GValue *element;
3913 
3914  if (!rec)
3915  return NULL;
3916 
3917  sfi_rec = sfi_rec_new ();
3918  element = sfi_rec_forced_get (sfi_rec, "log_domain", SFI_TYPE_STRING);
3919  ::Sfi::String::value_set_string (element, rec->log_domain);
3920  element = sfi_rec_forced_get (sfi_rec, "type", SFI_TYPE_CHOICE);
3921  sfi_value_set_enum_auto SFI_START_ARGS() BSE_TYPE_MSG_TYPE, SFI_END_ARGS2 (element, rec->type);
3922  element = sfi_rec_forced_get (sfi_rec, "ident", SFI_TYPE_STRING);
3923  ::Sfi::String::value_set_string (element, rec->ident);
3924  element = sfi_rec_forced_get (sfi_rec, "label", SFI_TYPE_STRING);
3925  ::Sfi::String::value_set_string (element, rec->label);
3926  element = sfi_rec_forced_get (sfi_rec, "title", SFI_TYPE_STRING);
3927  ::Sfi::String::value_set_string (element, rec->title);
3928  element = sfi_rec_forced_get (sfi_rec, "primary", SFI_TYPE_STRING);
3929  ::Sfi::String::value_set_string (element, rec->primary);
3930  element = sfi_rec_forced_get (sfi_rec, "secondary", SFI_TYPE_STRING);
3931  ::Sfi::String::value_set_string (element, rec->secondary);
3932  element = sfi_rec_forced_get (sfi_rec, "details", SFI_TYPE_STRING);
3933  ::Sfi::String::value_set_string (element, rec->details);
3934  element = sfi_rec_forced_get (sfi_rec, "config_check", SFI_TYPE_STRING);
3935  ::Sfi::String::value_set_string (element, rec->config_check);
3936  element = sfi_rec_forced_get (sfi_rec, "janitor", SFI_TYPE_PROXY);
3937  ::Bse::CxxBase::value_set_gobject (element, rec->janitor);
3938  element = sfi_rec_forced_get (sfi_rec, "process", SFI_TYPE_STRING);
3939  ::Sfi::String::value_set_string (element, rec->process);
3940  element = sfi_rec_forced_get (sfi_rec, "pid", SFI_TYPE_INT);
3941  sfi_value_set_int (element, rec->pid);
3942  return sfi_rec;
3943 }
3944 
3945 ::Bse::MessageHandle
3946 Message::value_get_boxed (const GValue *value)
3947 {
3948  return ::Bse::MessageHandle::value_get_boxed (value);
3949 }
3950 
3951 void
3952 Message::value_set_boxed (GValue *value, const ::Bse::MessageHandle & self)
3953 {
3954  ::Bse::MessageHandle::value_set_boxed (value, self);
3955 }
3956 
3958 Message::get_fields()
3959 {
3960  static SfiRecFields rfields = { 0, NULL };
3961  if (!rfields.n_fields)
3962  {
3963  static GParamSpec *fields[12 + 1];
3964  rfields.n_fields = 12;
3965  fields[0] = sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",661,"log_domain");
3966  fields[1] = sfidl_pspec_Choice_default (NULL,"/opt/src/beast/bse/bsecore.idl",662, "type", Bse::MsgType_choice_values());
3967  fields[2] = sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",663,"ident");
3968  fields[3] = sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",664,"label");
3969  fields[4] = sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",665,"title");
3970  fields[5] = sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",666,"primary");
3971  fields[6] = sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",667,"secondary");
3972  fields[7] = sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",668,"details");
3973  fields[8] = sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",669,"config_check");
3974  fields[9] = sfidl_pspec_Object_default (NULL,"/opt/src/beast/bse/bsecore.idl",670,"janitor");
3975  fields[10] = sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",671,"process");
3976  fields[11] = sfidl_pspec_Int_default (NULL,"/opt/src/beast/bse/bsecore.idl",672,"pid");
3977  rfields.fields = fields;
3978  }
3979  return rfields;
3980 }
3982 ThreadInfo::from_rec (SfiRec *sfi_rec)
3983 {
3984  GValue *element;
3985 
3986  if (!sfi_rec)
3987  return Sfi::INIT_NULL;
3988 
3989  ::Bse::ThreadInfoHandle rec = Sfi::INIT_DEFAULT;
3990  element = sfi_rec_get (sfi_rec, "name");
3991  if (element)
3992  rec->name = ::Sfi::String::value_get_string (element);
3993  element = sfi_rec_get (sfi_rec, "state");
3994  if (element)
3995  rec->state = (::Bse::ThreadState) sfi_value_get_enum_auto SFI_START_ARGS() BSE_TYPE_THREAD_STATE, SFI_END_ARGS1 (element);
3996  element = sfi_rec_get (sfi_rec, "thread_id");
3997  if (element)
3998  rec->thread_id = sfi_value_get_int (element);
3999  element = sfi_rec_get (sfi_rec, "priority");
4000  if (element)
4001  rec->priority = sfi_value_get_int (element);
4002  element = sfi_rec_get (sfi_rec, "processor");
4003  if (element)
4004  rec->processor = sfi_value_get_int (element);
4005  element = sfi_rec_get (sfi_rec, "utime");
4006  if (element)
4007  rec->utime = sfi_value_get_int (element);
4008  element = sfi_rec_get (sfi_rec, "stime");
4009  if (element)
4010  rec->stime = sfi_value_get_int (element);
4011  element = sfi_rec_get (sfi_rec, "cutime");
4012  if (element)
4013  rec->cutime = sfi_value_get_int (element);
4014  element = sfi_rec_get (sfi_rec, "cstime");
4015  if (element)
4016  rec->cstime = sfi_value_get_int (element);
4017  return rec;
4018 }
4019 
4020 SfiRec *
4021 ThreadInfo::to_rec (const ::Bse::ThreadInfoHandle & rec)
4022 {
4023  SfiRec *sfi_rec;
4024  GValue *element;
4025 
4026  if (!rec)
4027  return NULL;
4028 
4029  sfi_rec = sfi_rec_new ();
4030  element = sfi_rec_forced_get (sfi_rec, "name", SFI_TYPE_STRING);
4031  ::Sfi::String::value_set_string (element, rec->name);
4032  element = sfi_rec_forced_get (sfi_rec, "state", SFI_TYPE_CHOICE);
4033  sfi_value_set_enum_auto SFI_START_ARGS() BSE_TYPE_THREAD_STATE, SFI_END_ARGS2 (element, rec->state);
4034  element = sfi_rec_forced_get (sfi_rec, "thread_id", SFI_TYPE_INT);
4035  sfi_value_set_int (element, rec->thread_id);
4036  element = sfi_rec_forced_get (sfi_rec, "priority", SFI_TYPE_INT);
4037  sfi_value_set_int (element, rec->priority);
4038  element = sfi_rec_forced_get (sfi_rec, "processor", SFI_TYPE_INT);
4039  sfi_value_set_int (element, rec->processor);
4040  element = sfi_rec_forced_get (sfi_rec, "utime", SFI_TYPE_INT);
4041  sfi_value_set_int (element, rec->utime);
4042  element = sfi_rec_forced_get (sfi_rec, "stime", SFI_TYPE_INT);
4043  sfi_value_set_int (element, rec->stime);
4044  element = sfi_rec_forced_get (sfi_rec, "cutime", SFI_TYPE_INT);
4045  sfi_value_set_int (element, rec->cutime);
4046  element = sfi_rec_forced_get (sfi_rec, "cstime", SFI_TYPE_INT);
4047  sfi_value_set_int (element, rec->cstime);
4048  return sfi_rec;
4049 }
4050 
4051 ::Bse::ThreadInfoHandle
4052 ThreadInfo::value_get_boxed (const GValue *value)
4053 {
4054  return ::Bse::ThreadInfoHandle::value_get_boxed (value);
4055 }
4056 
4057 void
4058 ThreadInfo::value_set_boxed (GValue *value, const ::Bse::ThreadInfoHandle & self)
4059 {
4060  ::Bse::ThreadInfoHandle::value_set_boxed (value, self);
4061 }
4062 
4064 ThreadInfo::get_fields()
4065 {
4066  static SfiRecFields rfields = { 0, NULL };
4067  if (!rfields.n_fields)
4068  {
4069  static GParamSpec *fields[9 + 1];
4070  rfields.n_fields = 9;
4071  fields[0] = sfidl_pspec_SfiString (NULL,"/opt/src/beast/bse/bsecore.idl",686,"name",_ ( "Thread Name" ) , "" , "" , ":r:w:S:G:");
4072  fields[1] = sfidl_pspec_Choice (NULL,"/opt/src/beast/bse/bsecore.idl",687, "state", _ ( "State" ) , _ ( "The execution state of the thread" ) , THREAD_STATE_UNKNOWN , ":r:w:S:G:", Bse::ThreadState_choice_values());
4073  fields[2] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",688,"thread_id",_ ( "Thread ID" ) , _ ( "A unique number identifying this thread" ) , 0LL , 0LL , G_MAXINT , 1LL , ":r:w:S:G:");
4074  fields[3] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",690,"priority",_ ( "Priority" ) , _ ( "The nice value of a thread, -20 indicates a high priority thread and " "+19 a low priority one that is 'nice' to others" ) , 0LL , - 20LL , 19LL , 1LL , ":r:w:S:G:");
4075  fields[4] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",693,"processor",_ ( "Processor" ) , _ ( "The processor that this thread is currently being executed on" ) , 0LL , 0LL , 2147483647LL , 1LL , ":r:w:S:G:");
4076  fields[5] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",695,"utime",_ ( "User Time" ) , _ ( "The CPU time spent executing instructions of this thread" ) , 0LL , 0LL , 2147483647LL , 1LL , ":r:w:S:G:");
4077  fields[6] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",697,"stime",_ ( "System Time" ) , _ ( "The CPU time spent in the system for this thread" ) , 0LL , 0LL , 2147483647LL , 1LL , ":r:w:S:G:");
4078  fields[7] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",699,"cutime",_ ( "Child User Time" ) , _ ( "The CPU time spent executing instructions of children of this thread" ) , 0LL , 0LL , 2147483647LL , 1LL , ":r:w:S:G:");
4079  fields[8] = sfidl_pspec_SfiInt (NULL,"/opt/src/beast/bse/bsecore.idl",701,"cstime",_ ( "Child System Time" ) , _ ( "The CPU time spent in the system for children of this thread" ) , 0LL , 0LL , 2147483647LL , 1LL , ":r:w:S:G:");
4080  rfields.fields = fields;
4081  }
4082  return rfields;
4083 }
4085 ThreadTotals::from_rec (SfiRec *sfi_rec)
4086 {
4087  GValue *element;
4088 
4089  if (!sfi_rec)
4090  return Sfi::INIT_NULL;
4091 
4092  ::Bse::ThreadTotalsHandle rec = Sfi::INIT_DEFAULT;
4093  element = sfi_rec_get (sfi_rec, "main");
4094  if (element)
4095  rec->main = ::Bse::ThreadInfo::value_get_boxed (element);
4096  element = sfi_rec_get (sfi_rec, "sequencer");
4097  if (element)
4098  rec->sequencer = ::Bse::ThreadInfo::value_get_boxed (element);
4099  element = sfi_rec_get (sfi_rec, "synthesis");
4100  if (element)
4101  rec->synthesis = ::Bse::ThreadInfoSeq::value_get_boxed (element);
4102  return rec;
4103 }
4104 
4105 SfiRec *
4106 ThreadTotals::to_rec (const ::Bse::ThreadTotalsHandle & rec)
4107 {
4108  SfiRec *sfi_rec;
4109  GValue *element;
4110 
4111  if (!rec)
4112  return NULL;
4113 
4114  sfi_rec = sfi_rec_new ();
4115  element = sfi_rec_forced_get (sfi_rec, "main", SFI_TYPE_REC);
4116  ::Bse::ThreadInfo::value_set_boxed (element, rec->main);
4117  element = sfi_rec_forced_get (sfi_rec, "sequencer", SFI_TYPE_REC);
4118  ::Bse::ThreadInfo::value_set_boxed (element, rec->sequencer);
4119  element = sfi_rec_forced_get (sfi_rec, "synthesis", SFI_TYPE_SEQ);
4120  ::Bse::ThreadInfoSeq::value_set_boxed (element, rec->synthesis);
4121  return sfi_rec;
4122 }
4123 
4125 ThreadTotals::value_get_boxed (const GValue *value)
4126 {
4127  return ::Bse::ThreadTotalsHandle::value_get_boxed (value);
4128 }
4129 
4130 void
4131 ThreadTotals::value_set_boxed (GValue *value, const ::Bse::ThreadTotalsHandle & self)
4132 {
4133  ::Bse::ThreadTotalsHandle::value_set_boxed (value, self);
4134 }
4135 
4137 ThreadTotals::get_fields()
4138 {
4139  static SfiRecFields rfields = { 0, NULL };
4140  if (!rfields.n_fields)
4141  {
4142  static GParamSpec *fields[3 + 1];
4143  rfields.n_fields = 3;
4144  fields[0] = sfidl_pspec_Record_default (NULL,"/opt/src/beast/bse/bsecore.idl",708, "main", Bse::ThreadInfo::get_fields());
4145  fields[1] = sfidl_pspec_Record_default (NULL,"/opt/src/beast/bse/bsecore.idl",709, "sequencer", Bse::ThreadInfo::get_fields());
4146  fields[2] = sfidl_pspec_Sequence_default (NULL,"/opt/src/beast/bse/bsecore.idl",710, "synthesis", Bse::ThreadInfoSeq::get_element());
4147  rfields.fields = fields;
4148  }
4149  return rfields;
4150 }
4152 GConfig::from_rec (SfiRec *sfi_rec)
4153 {
4154  GValue *element;
4155 
4156  if (!sfi_rec)
4157  return Sfi::INIT_NULL;
4158 
4159  ::Bse::GConfigHandle rec = Sfi::INIT_DEFAULT;
4160  element = sfi_rec_get (sfi_rec, "synth_latency");
4161  if (element)
4162  rec->synth_latency = sfi_value_get_int (element);
4163  element = sfi_rec_get (sfi_rec, "synth_mixing_freq");
4164  if (element)
4165  rec->synth_mixing_freq = sfi_value_get_int (element);
4166  element = sfi_rec_get (sfi_rec, "synth_control_freq");
4167  if (element)
4168  rec->synth_control_freq = sfi_value_get_int (element);
4169  element = sfi_rec_get (sfi_rec, "invert_sustain");
4170  if (element)
4171  rec->invert_sustain = sfi_value_get_bool (element);
4172  element = sfi_rec_get (sfi_rec, "author_default");
4173  if (element)
4174  rec->author_default = ::Sfi::String::value_get_string (element);
4175  element = sfi_rec_get (sfi_rec, "license_default");
4176  if (element)
4177  rec->license_default = ::Sfi::String::value_get_string (element);
4178  element = sfi_rec_get (sfi_rec, "sample_path");
4179  if (element)
4180  rec->sample_path = ::Sfi::String::value_get_string (element);
4181  element = sfi_rec_get (sfi_rec, "effect_path");
4182  if (element)
4183  rec->effect_path = ::Sfi::String::value_get_string (element);
4184  element = sfi_rec_get (sfi_rec, "instrument_path");
4185  if (element)
4186  rec->instrument_path = ::Sfi::String::value_get_string (element);
4187  element = sfi_rec_get (sfi_rec, "script_path");
4188  if (element)
4189  rec->script_path = ::Sfi::String::value_get_string (element);
4190  element = sfi_rec_get (sfi_rec, "plugin_path");
4191  if (element)
4192  rec->plugin_path = ::Sfi::String::value_get_string (element);
4193  element = sfi_rec_get (sfi_rec, "ladspa_path");
4194  if (element)
4195  rec->ladspa_path = ::Sfi::String::value_get_string (element);
4196  return rec;
4197 }
4198 
4199 SfiRec *
4200 GConfig::to_rec (const ::Bse::GConfigHandle & rec)
4201 {
4202  SfiRec *sfi_rec;
4203  GValue *element;
4204 
4205  if (!rec)
4206  return NULL;
4207 
4208  sfi_rec = sfi_rec_new ();
4209  element = sfi_rec_forced_get (sfi_rec, "synth_latency", SFI_TYPE_INT);
4210  sfi_value_set_int (element, rec->synth_latency);
4211  element = sfi_rec_forced_get (sfi_rec, "synth_mixing_freq", SFI_TYPE_INT);
4212  sfi_value_set_int (element, rec->synth_mixing_freq);
4213  element = sfi_rec_forced_get (sfi_rec, "synth_control_freq", SFI_TYPE_INT);
4214  sfi_value_set_int (element, rec->synth_control_freq);
4215  element = sfi_rec_forced_get (sfi_rec, "invert_sustain", SFI_TYPE_BOOL);
4216  sfi_value_set_bool (element, rec->invert_sustain);
4217  element = sfi_rec_forced_get (sfi_rec, "author_default", SFI_TYPE_STRING);
4218  ::Sfi::String::value_set_string (element, rec->author_default);
4219  element = sfi_rec_forced_get (sfi_rec, "license_default", SFI_TYPE_STRING);
4220  ::Sfi::String::value_set_string (element, rec->license_default);
4221  element = sfi_rec_forced_get (sfi_rec, "sample_path", SFI_TYPE_STRING);
4222  ::Sfi::String::value_set_string (element, rec->sample_path);
4223  element = sfi_rec_forced_get (sfi_rec, "effect_path", SFI_TYPE_STRING);
4224  ::Sfi::String::value_set_string (element, rec->effect_path);
4225  element = sfi_rec_forced_get (sfi_rec, "instrument_path", SFI_TYPE_STRING);
4226  ::Sfi::String::value_set_string (element, rec->instrument_path);
4227  element = sfi_rec_forced_get (sfi_rec, "script_path", SFI_TYPE_STRING);
4228  ::Sfi::String::value_set_string (element, rec->script_path);
4229  element = sfi_rec_forced_get (sfi_rec, "plugin_path", SFI_TYPE_STRING);
4230  ::Sfi::String::value_set_string (element, rec->plugin_path);
4231  element = sfi_rec_forced_get (sfi_rec, "ladspa_path", SFI_TYPE_STRING);
4232  ::Sfi::String::value_set_string (element, rec->ladspa_path);
4233  return sfi_rec;
4234 }
4235 
4237 GConfig::value_get_boxed (const GValue *value)
4238 {
4239  return ::Bse::GConfigHandle::value_get_boxed (value);
4240 }
4241 
4242 void
4243 GConfig::value_set_boxed (GValue *value, const ::Bse::GConfigHandle & self)
4244 {
4245  ::Bse::GConfigHandle::value_set_boxed (value, self);
4246 }
4247 
4249 GConfig::get_fields()
4250 {
4251  static SfiRecFields rfields = { 0, NULL };
4252  if (!rfields.n_fields)
4253  {
4254  static GParamSpec *fields[12 + 1];
4255  rfields.n_fields = 12;
4256  fields[0] = sfidl_pspec_SfiInt (_("Synthesis Settings"),"/opt/src/beast/bse/bsecore.idl",726,"synth_latency",_ ( "Latency [ms]" ) , _ ( "Processing duration between input and output of a single sample, smaller values increase CPU load" ) , 50LL , 1LL , 2000LL , 5LL , ":r:w:S:G:");
4257  fields[1] = sfidl_pspec_SfiInt (_("Synthesis Settings"),"/opt/src/beast/bse/bsecore.idl",730,"synth_mixing_freq",_ ( "Synth Mixing Frequency" ) , _ ( "Synthesis mixing frequency, common values are: 22050, 44100, 48000" ) , 44100LL , 8000LL , 192000LL , 0LL , ":r:w:S:G:");
4258  fields[2] = sfidl_pspec_SfiInt (_("Synthesis Settings"),"/opt/src/beast/bse/bsecore.idl",734,"synth_control_freq",_ ( "Synth Control Frequency" ) , _ ( "Frequency at which control values are evaluated, " "should be much smaller than Synth Mixing Frequency to reduce CPU load" ) , 1000LL , 1LL , 192000LL , 0LL , ":r:w:S:G:");
4259  fields[3] = sfidl_pspec_SfiBool (_("MIDI"),"/opt/src/beast/bse/bsecore.idl",741,"invert_sustain",_ ( "Invert Sustain Pedal" ) , _ ( "Invert the state of sustain (damper) pedal so on/off meanings are reversed" ) , FALSE , ":r:w:S:G:");
4260  fields[4] = sfidl_pspec_SfiString (_("Default Values"),"/opt/src/beast/bse/bsecore.idl",746,"author_default",_ ( "Default Author" ) , _ ( "Default value for 'Author' fields" ) , "\357\277\271\357\277\272{{bse.idl/default-author}}\357\277\273" , ":r:w:S:G:");
4261  fields[5] = sfidl_pspec_SfiString (_("Default Values"),"/opt/src/beast/bse/bsecore.idl",748,"license_default",_ ( "Default License" ) , _ ( "Default value for 'License' fields" ) , "\357\277\271\357\277\272{{bse.idl/default-license}}\357\277\273" , ":r:w:S:G:");
4262  fields[6] = sfidl_pspec_SfiString (_("Search Paths"),"/opt/src/beast/bse/bsecore.idl",752,"sample_path",_ ( "Sample Path" ) , _ ( "Search path of directories, seperated by \";\", used to find audio samples." ) , "\357\277\271\357\277\272{{bse.idl/user-data-path}}\357\277\273samples" , ":r:w:S:G:" ":searchpath");
4263  fields[7] = sfidl_pspec_SfiString (_("Search Paths"),"/opt/src/beast/bse/bsecore.idl",755,"effect_path",_ ( "Effect Path" ) , _ ( "Search path of directories, seperated by \";\", used to find BSE effect files." ) , "\357\277\271\357\277\272{{bse.idl/user-data-path}}\357\277\273effects" , ":r:w:S:G:" ":searchpath");
4264  fields[8] = sfidl_pspec_SfiString (_("Search Paths"),"/opt/src/beast/bse/bsecore.idl",758,"instrument_path",_ ( "Instrument Path" ) , _ ( "Search path of directories, seperated by \";\", used to find BSE instrument files." ) , "\357\277\271\357\277\272{{bse.idl/user-data-path}}\357\277\273instruments" , ":r:w:S:G:" ":searchpath");
4265  fields[9] = sfidl_pspec_SfiString (_("Search Paths"),"/opt/src/beast/bse/bsecore.idl",761,"script_path",_ ( "Script Path" ) , _ ( "Search path of directories, seperated by \";\", used to find BSE scheme scripts." ) , "\357\277\271\357\277\272{{bse.idl/user-data-path}}\357\277\273scripts" , ":r:w:S:G:" ":searchpath");
4266  fields[10] = sfidl_pspec_SfiString (_("Search Paths"),"/opt/src/beast/bse/bsecore.idl",764,"plugin_path",_ ( "Plugin Path" ) , _ ( "Search path of directories, seperated by \";\", used to find BSE plugins. This path " "is searched for in addition to the standard BSE plugin location on this system." ) , "\357\277\271\357\277\272{{bse.idl/user-data-path}}\357\277\273plugins" , ":r:w:S:G:" ":searchpath");
4267  fields[11] = sfidl_pspec_SfiString (_("Search Paths"),"/opt/src/beast/bse/bsecore.idl",768,"ladspa_path",_ ( "LADSPA Path" ) , _ ( "Search path of directories, seperated by \";\", used to find LADSPA plugins. This " "path is searched for in addition to the standard LADSPA location on this system. " "LADSPA is the Linux Audio Developer's Simple Plugin API, more informations about " "LADSPA plugins can be found at http://www.ladspa.org/." ) , "" , ":r:w:S:G:" ":searchpath");
4268  rfields.fields = fields;
4269  }
4270  return rfields;
4271 }
4272 
4273 
4274 /* sequence implementations */
4276 IntSeq::from_seq (SfiSeq *sfi_seq)
4277 {
4278  ::Bse::IntSeq cseq;
4279  guint i, length;
4280 
4281  if (!sfi_seq)
4282  return cseq;
4283 
4284  length = sfi_seq_length (sfi_seq);
4285  cseq.resize (length);
4286  for (i = 0; i < length; i++)
4287  {
4288  GValue *element = sfi_seq_get (sfi_seq, i);
4289  cseq[i] = sfi_value_get_int (element);
4290  }
4291  return cseq;
4292 }
4293 
4294 SfiSeq *
4295 IntSeq::to_seq (const ::Bse::IntSeq & cseq)
4296 {
4297  SfiSeq *sfi_seq = sfi_seq_new ();
4298  for (guint i = 0; i < cseq.length(); i++)
4299  {
4300  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_INT);
4301  sfi_value_set_int (element, cseq[i]);
4302  }
4303  return sfi_seq;
4304 }
4305 
4307 IntSeq::value_get_boxed (const GValue *value)
4308 {
4309  return ::Sfi::cxx_value_get_boxed_sequence< IntSeq> (value);
4310 }
4311 
4312 void
4313 IntSeq::value_set_boxed (GValue *value, const ::Bse::IntSeq & self)
4314 {
4315  ::Sfi::cxx_value_set_boxed_sequence< IntSeq> (value, self);
4316 }
4317 
4318 GParamSpec*
4319 IntSeq::get_element()
4320 {
4321  static GParamSpec *element = NULL;
4322  if (!element) {
4323  element = g_param_spec_ref (sfidl_pspec_Int_default (NULL,"/opt/src/beast/bse/bsecore.idl",24,"ints"));
4324  g_param_spec_sink (element);
4325  }
4326  return element;
4327 }
4328 
4330 TypeSeq::from_seq (SfiSeq *sfi_seq)
4331 {
4332  ::Bse::TypeSeq cseq;
4333  guint i, length;
4334 
4335  if (!sfi_seq)
4336  return cseq;
4337 
4338  length = sfi_seq_length (sfi_seq);
4339  cseq.resize (length);
4340  for (i = 0; i < length; i++)
4341  {
4342  GValue *element = sfi_seq_get (sfi_seq, i);
4343  cseq[i] = ::Sfi::String::value_get_string (element);
4344  }
4345  return cseq;
4346 }
4347 
4348 SfiSeq *
4349 TypeSeq::to_seq (const ::Bse::TypeSeq & cseq)
4350 {
4351  SfiSeq *sfi_seq = sfi_seq_new ();
4352  for (guint i = 0; i < cseq.length(); i++)
4353  {
4354  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_STRING);
4355  ::Sfi::String::value_set_string (element, cseq[i]);
4356  }
4357  return sfi_seq;
4358 }
4359 
4361 TypeSeq::value_get_boxed (const GValue *value)
4362 {
4363  return ::Sfi::cxx_value_get_boxed_sequence< TypeSeq> (value);
4364 }
4365 
4366 void
4367 TypeSeq::value_set_boxed (GValue *value, const ::Bse::TypeSeq & self)
4368 {
4369  ::Sfi::cxx_value_set_boxed_sequence< TypeSeq> (value, self);
4370 }
4371 
4372 GParamSpec*
4373 TypeSeq::get_element()
4374 {
4375  static GParamSpec *element = NULL;
4376  if (!element) {
4377  element = g_param_spec_ref (sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",27,"types"));
4378  g_param_spec_sink (element);
4379  }
4380  return element;
4381 }
4382 
4384 StringSeq::from_seq (SfiSeq *sfi_seq)
4385 {
4386  ::Bse::StringSeq cseq;
4387  guint i, length;
4388 
4389  if (!sfi_seq)
4390  return cseq;
4391 
4392  length = sfi_seq_length (sfi_seq);
4393  cseq.resize (length);
4394  for (i = 0; i < length; i++)
4395  {
4396  GValue *element = sfi_seq_get (sfi_seq, i);
4397  cseq[i] = ::Sfi::String::value_get_string (element);
4398  }
4399  return cseq;
4400 }
4401 
4402 SfiSeq *
4403 StringSeq::to_seq (const ::Bse::StringSeq & cseq)
4404 {
4405  SfiSeq *sfi_seq = sfi_seq_new ();
4406  for (guint i = 0; i < cseq.length(); i++)
4407  {
4408  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_STRING);
4409  ::Sfi::String::value_set_string (element, cseq[i]);
4410  }
4411  return sfi_seq;
4412 }
4413 
4415 StringSeq::value_get_boxed (const GValue *value)
4416 {
4417  return ::Sfi::cxx_value_get_boxed_sequence< StringSeq> (value);
4418 }
4419 
4420 void
4421 StringSeq::value_set_boxed (GValue *value, const ::Bse::StringSeq & self)
4422 {
4423  ::Sfi::cxx_value_set_boxed_sequence< StringSeq> (value, self);
4424 }
4425 
4426 GParamSpec*
4427 StringSeq::get_element()
4428 {
4429  static GParamSpec *element = NULL;
4430  if (!element) {
4431  element = g_param_spec_ref (sfidl_pspec_String_default (NULL,"/opt/src/beast/bse/bsecore.idl",30,"strings"));
4432  g_param_spec_sink (element);
4433  }
4434  return element;
4435 }
4436 
4438 FloatSeq::from_seq (SfiSeq *sfi_seq)
4439 {
4440  ::Bse::FloatSeq cseq;
4441  guint i, length;
4442 
4443  if (!sfi_seq)
4444  return cseq;
4445 
4446  length = sfi_seq_length (sfi_seq);
4447  cseq.resize (length);
4448  for (i = 0; i < length; i++)
4449  {
4450  GValue *element = sfi_seq_get (sfi_seq, i);
4451  cseq[i] = sfi_value_get_real (element);
4452  }
4453  return cseq;
4454 }
4455 
4456 SfiSeq *
4457 FloatSeq::to_seq (const ::Bse::FloatSeq & cseq)
4458 {
4459  SfiSeq *sfi_seq = sfi_seq_new ();
4460  for (guint i = 0; i < cseq.length(); i++)
4461  {
4462  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_REAL);
4463  sfi_value_set_real (element, cseq[i]);
4464  }
4465  return sfi_seq;
4466 }
4467 
4469 FloatSeq::value_get_boxed (const GValue *value)
4470 {
4471  return ::Sfi::cxx_value_get_boxed_sequence< FloatSeq> (value);
4472 }
4473 
4474 void
4475 FloatSeq::value_set_boxed (GValue *value, const ::Bse::FloatSeq & self)
4476 {
4477  ::Sfi::cxx_value_set_boxed_sequence< FloatSeq> (value, self);
4478 }
4479 
4480 GParamSpec*
4481 FloatSeq::get_element()
4482 {
4483  static GParamSpec *element = NULL;
4484  if (!element) {
4485  element = g_param_spec_ref (sfidl_pspec_Real_default (NULL,"/opt/src/beast/bse/bsecore.idl",33,"values"));
4486  g_param_spec_sink (element);
4487  }
4488  return element;
4489 }
4490 
4492 NoteSeq::from_seq (SfiSeq *sfi_seq)
4493 {
4494  ::Bse::NoteSeq cseq;
4495  guint i, length;
4496 
4497  if (!sfi_seq)
4498  return cseq;
4499 
4500  length = sfi_seq_length (sfi_seq);
4501  cseq.resize (length);
4502  for (i = 0; i < length; i++)
4503  {
4504  GValue *element = sfi_seq_get (sfi_seq, i);
4505  cseq[i] = sfi_value_get_int (element);
4506  }
4507  return cseq;
4508 }
4509 
4510 SfiSeq *
4511 NoteSeq::to_seq (const ::Bse::NoteSeq & cseq)
4512 {
4513  SfiSeq *sfi_seq = sfi_seq_new ();
4514  for (guint i = 0; i < cseq.length(); i++)
4515  {
4516  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_INT);
4517  sfi_value_set_int (element, cseq[i]);
4518  }
4519  return sfi_seq;
4520 }
4521 
4523 NoteSeq::value_get_boxed (const GValue *value)
4524 {
4525  return ::Sfi::cxx_value_get_boxed_sequence< NoteSeq> (value);
4526 }
4527 
4528 void
4529 NoteSeq::value_set_boxed (GValue *value, const ::Bse::NoteSeq & self)
4530 {
4531  ::Sfi::cxx_value_set_boxed_sequence< NoteSeq> (value, self);
4532 }
4533 
4534 GParamSpec*
4535 NoteSeq::get_element()
4536 {
4537  static GParamSpec *element = NULL;
4538  if (!element) {
4539  element = g_param_spec_ref (sfidl_pspec_Note (NULL,"/opt/src/beast/bse/bsecore.idl",506,"notes","Note" , "" , KAMMER_NOTE , ":readwrite"));
4540  g_param_spec_sink (element);
4541  }
4542  return element;
4543 }
4544 
4546 ItemSeq::from_seq (SfiSeq *sfi_seq)
4547 {
4548  ::Bse::ItemSeq cseq;
4549  guint i, length;
4550 
4551  if (!sfi_seq)
4552  return cseq;
4553 
4554  length = sfi_seq_length (sfi_seq);
4555  cseq.resize (length);
4556  for (i = 0; i < length; i++)
4557  {
4558  GValue *element = sfi_seq_get (sfi_seq, i);
4559  cseq[i] = ::Bse::CxxBase::value_get_gobject< BseItem> (element);
4560  }
4561  return cseq;
4562 }
4563 
4564 SfiSeq *
4565 ItemSeq::to_seq (const ::Bse::ItemSeq & cseq)
4566 {
4567  SfiSeq *sfi_seq = sfi_seq_new ();
4568  for (guint i = 0; i < cseq.length(); i++)
4569  {
4570  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_PROXY);
4571  ::Bse::CxxBase::value_set_gobject (element, cseq[i]);
4572  }
4573  return sfi_seq;
4574 }
4575 
4577 ItemSeq::value_get_boxed (const GValue *value)
4578 {
4579  return ::Sfi::cxx_value_get_boxed_sequence< ItemSeq> (value);
4580 }
4581 
4582 void
4583 ItemSeq::value_set_boxed (GValue *value, const ::Bse::ItemSeq & self)
4584 {
4585  ::Sfi::cxx_value_set_boxed_sequence< ItemSeq> (value, self);
4586 }
4587 
4588 GParamSpec*
4589 ItemSeq::get_element()
4590 {
4591  static GParamSpec *element = NULL;
4592  if (!element) {
4593  element = g_param_spec_ref (sfidl_pspec_Object_default (NULL,"/opt/src/beast/bse/bsecore.idl",511,"items"));
4594  g_param_spec_sink (element);
4595  }
4596  return element;
4597 }
4598 
4600 PartNoteSeq::from_seq (SfiSeq *sfi_seq)
4601 {
4602  ::Bse::PartNoteSeq cseq;
4603  guint i, length;
4604 
4605  if (!sfi_seq)
4606  return cseq;
4607 
4608  length = sfi_seq_length (sfi_seq);
4609  cseq.resize (length);
4610  for (i = 0; i < length; i++)
4611  {
4612  GValue *element = sfi_seq_get (sfi_seq, i);
4613  cseq[i] = ::Bse::PartNote::value_get_boxed (element);
4614  }
4615  return cseq;
4616 }
4617 
4618 SfiSeq *
4619 PartNoteSeq::to_seq (const ::Bse::PartNoteSeq & cseq)
4620 {
4621  SfiSeq *sfi_seq = sfi_seq_new ();
4622  for (guint i = 0; i < cseq.length(); i++)
4623  {
4624  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_REC);
4625  ::Bse::PartNote::value_set_boxed (element, cseq[i]);
4626  }
4627  return sfi_seq;
4628 }
4629 
4631 PartNoteSeq::value_get_boxed (const GValue *value)
4632 {
4633  return ::Sfi::cxx_value_get_boxed_sequence< PartNoteSeq> (value);
4634 }
4635 
4636 void
4637 PartNoteSeq::value_set_boxed (GValue *value, const ::Bse::PartNoteSeq & self)
4638 {
4639  ::Sfi::cxx_value_set_boxed_sequence< PartNoteSeq> (value, self);
4640 }
4641 
4642 GParamSpec*
4643 PartNoteSeq::get_element()
4644 {
4645  static GParamSpec *element = NULL;
4646  if (!element) {
4647  element = g_param_spec_ref (sfidl_pspec_Record_default (NULL,"/opt/src/beast/bse/bsecore.idl",534, "pnotes", Bse::PartNote::get_fields()));
4648  g_param_spec_sink (element);
4649  }
4650  return element;
4651 }
4652 
4654 PartControlSeq::from_seq (SfiSeq *sfi_seq)
4655 {
4656  ::Bse::PartControlSeq cseq;
4657  guint i, length;
4658 
4659  if (!sfi_seq)
4660  return cseq;
4661 
4662  length = sfi_seq_length (sfi_seq);
4663  cseq.resize (length);
4664  for (i = 0; i < length; i++)
4665  {
4666  GValue *element = sfi_seq_get (sfi_seq, i);
4667  cseq[i] = ::Bse::PartControl::value_get_boxed (element);
4668  }
4669  return cseq;
4670 }
4671 
4672 SfiSeq *
4673 PartControlSeq::to_seq (const ::Bse::PartControlSeq & cseq)
4674 {
4675  SfiSeq *sfi_seq = sfi_seq_new ();
4676  for (guint i = 0; i < cseq.length(); i++)
4677  {
4678  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_REC);
4679  ::Bse::PartControl::value_set_boxed (element, cseq[i]);
4680  }
4681  return sfi_seq;
4682 }
4683 
4685 PartControlSeq::value_get_boxed (const GValue *value)
4686 {
4687  return ::Sfi::cxx_value_get_boxed_sequence< PartControlSeq> (value);
4688 }
4689 
4690 void
4691 PartControlSeq::value_set_boxed (GValue *value, const ::Bse::PartControlSeq & self)
4692 {
4693  ::Sfi::cxx_value_set_boxed_sequence< PartControlSeq> (value, self);
4694 }
4695 
4696 GParamSpec*
4697 PartControlSeq::get_element()
4698 {
4699  static GParamSpec *element = NULL;
4700  if (!element) {
4701  element = g_param_spec_ref (sfidl_pspec_Record_default (NULL,"/opt/src/beast/bse/bsecore.idl",547, "pcontrols", Bse::PartControl::get_fields()));
4702  g_param_spec_sink (element);
4703  }
4704  return element;
4705 }
4706 
4708 PixelSeq::from_seq (SfiSeq *sfi_seq)
4709 {
4710  ::Bse::PixelSeq cseq;
4711  guint i, length;
4712 
4713  if (!sfi_seq)
4714  return cseq;
4715 
4716  length = sfi_seq_length (sfi_seq);
4717  cseq.resize (length);
4718  for (i = 0; i < length; i++)
4719  {
4720  GValue *element = sfi_seq_get (sfi_seq, i);
4721  cseq[i] = sfi_value_get_int (element);
4722  }
4723  return cseq;
4724 }
4725 
4726 SfiSeq *
4727 PixelSeq::to_seq (const ::Bse::PixelSeq & cseq)
4728 {
4729  SfiSeq *sfi_seq = sfi_seq_new ();
4730  for (guint i = 0; i < cseq.length(); i++)
4731  {
4732  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_INT);
4733  sfi_value_set_int (element, cseq[i]);
4734  }
4735  return sfi_seq;
4736 }
4737 
4739 PixelSeq::value_get_boxed (const GValue *value)
4740 {
4741  return ::Sfi::cxx_value_get_boxed_sequence< PixelSeq> (value);
4742 }
4743 
4744 void
4745 PixelSeq::value_set_boxed (GValue *value, const ::Bse::PixelSeq & self)
4746 {
4747  ::Sfi::cxx_value_set_boxed_sequence< PixelSeq> (value, self);
4748 }
4749 
4750 GParamSpec*
4751 PixelSeq::get_element()
4752 {
4753  static GParamSpec *element = NULL;
4754  if (!element) {
4755  element = g_param_spec_ref (sfidl_pspec_Int_default (NULL,"/opt/src/beast/bse/bsecore.idl",574,"pixels"));
4756  g_param_spec_sink (element);
4757  }
4758  return element;
4759 }
4760 
4762 CategorySeq::from_seq (SfiSeq *sfi_seq)
4763 {
4764  ::Bse::CategorySeq cseq;
4765  guint i, length;
4766 
4767  if (!sfi_seq)
4768  return cseq;
4769 
4770  length = sfi_seq_length (sfi_seq);
4771  cseq.resize (length);
4772  for (i = 0; i < length; i++)
4773  {
4774  GValue *element = sfi_seq_get (sfi_seq, i);
4775  cseq[i] = ::Bse::Category::value_get_boxed (element);
4776  }
4777  return cseq;
4778 }
4779 
4780 SfiSeq *
4781 CategorySeq::to_seq (const ::Bse::CategorySeq & cseq)
4782 {
4783  SfiSeq *sfi_seq = sfi_seq_new ();
4784  for (guint i = 0; i < cseq.length(); i++)
4785  {
4786  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_REC);
4787  ::Bse::Category::value_set_boxed (element, cseq[i]);
4788  }
4789  return sfi_seq;
4790 }
4791 
4793 CategorySeq::value_get_boxed (const GValue *value)
4794 {
4795  return ::Sfi::cxx_value_get_boxed_sequence< CategorySeq> (value);
4796 }
4797 
4798 void
4799 CategorySeq::value_set_boxed (GValue *value, const ::Bse::CategorySeq & self)
4800 {
4801  ::Sfi::cxx_value_set_boxed_sequence< CategorySeq> (value, self);
4802 }
4803 
4804 GParamSpec*
4805 CategorySeq::get_element()
4806 {
4807  static GParamSpec *element = NULL;
4808  if (!element) {
4809  element = g_param_spec_ref (sfidl_pspec_Record_default (NULL,"/opt/src/beast/bse/bsecore.idl",593, "cats", Bse::Category::get_fields()));
4810  g_param_spec_sink (element);
4811  }
4812  return element;
4813 }
4814 
4816 DotSeq::from_seq (SfiSeq *sfi_seq)
4817 {
4818  ::Bse::DotSeq cseq;
4819  guint i, length;
4820 
4821  if (!sfi_seq)
4822  return cseq;
4823 
4824  length = sfi_seq_length (sfi_seq);
4825  cseq.resize (length);
4826  for (i = 0; i < length; i++)
4827  {
4828  GValue *element = sfi_seq_get (sfi_seq, i);
4829  cseq[i] = ::Bse::Dot::value_get_boxed (element);
4830  }
4831  return cseq;
4832 }
4833 
4834 SfiSeq *
4835 DotSeq::to_seq (const ::Bse::DotSeq & cseq)
4836 {
4837  SfiSeq *sfi_seq = sfi_seq_new ();
4838  for (guint i = 0; i < cseq.length(); i++)
4839  {
4840  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_REC);
4841  ::Bse::Dot::value_set_boxed (element, cseq[i]);
4842  }
4843  return sfi_seq;
4844 }
4845 
4847 DotSeq::value_get_boxed (const GValue *value)
4848 {
4849  return ::Sfi::cxx_value_get_boxed_sequence< DotSeq> (value);
4850 }
4851 
4852 void
4853 DotSeq::value_set_boxed (GValue *value, const ::Bse::DotSeq & self)
4854 {
4855  ::Sfi::cxx_value_set_boxed_sequence< DotSeq> (value, self);
4856 }
4857 
4858 GParamSpec*
4859 DotSeq::get_element()
4860 {
4861  static GParamSpec *element = NULL;
4862  if (!element) {
4863  element = g_param_spec_ref (sfidl_pspec_Record_default (NULL,"/opt/src/beast/bse/bsecore.idl",601, "dots", Bse::Dot::get_fields()));
4864  g_param_spec_sink (element);
4865  }
4866  return element;
4867 }
4868 
4870 PartLinkSeq::from_seq (SfiSeq *sfi_seq)
4871 {
4872  ::Bse::PartLinkSeq cseq;
4873  guint i, length;
4874 
4875  if (!sfi_seq)
4876  return cseq;
4877 
4878  length = sfi_seq_length (sfi_seq);
4879  cseq.resize (length);
4880  for (i = 0; i < length; i++)
4881  {
4882  GValue *element = sfi_seq_get (sfi_seq, i);
4883  cseq[i] = ::Bse::PartLink::value_get_boxed (element);
4884  }
4885  return cseq;
4886 }
4887 
4888 SfiSeq *
4889 PartLinkSeq::to_seq (const ::Bse::PartLinkSeq & cseq)
4890 {
4891  SfiSeq *sfi_seq = sfi_seq_new ();
4892  for (guint i = 0; i < cseq.length(); i++)
4893  {
4894  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_REC);
4895  ::Bse::PartLink::value_set_boxed (element, cseq[i]);
4896  }
4897  return sfi_seq;
4898 }
4899 
4901 PartLinkSeq::value_get_boxed (const GValue *value)
4902 {
4903  return ::Sfi::cxx_value_get_boxed_sequence< PartLinkSeq> (value);
4904 }
4905 
4906 void
4907 PartLinkSeq::value_set_boxed (GValue *value, const ::Bse::PartLinkSeq & self)
4908 {
4909  ::Sfi::cxx_value_set_boxed_sequence< PartLinkSeq> (value, self);
4910 }
4911 
4912 GParamSpec*
4913 PartLinkSeq::get_element()
4914 {
4915  static GParamSpec *element = NULL;
4916  if (!element) {
4917  element = g_param_spec_ref (sfidl_pspec_Record_default (NULL,"/opt/src/beast/bse/bsecore.idl",614, "plinks", Bse::PartLink::get_fields()));
4918  g_param_spec_sink (element);
4919  }
4920  return element;
4921 }
4922 
4924 TrackPartSeq::from_seq (SfiSeq *sfi_seq)
4925 {
4926  ::Bse::TrackPartSeq cseq;
4927  guint i, length;
4928 
4929  if (!sfi_seq)
4930  return cseq;
4931 
4932  length = sfi_seq_length (sfi_seq);
4933  cseq.resize (length);
4934  for (i = 0; i < length; i++)
4935  {
4936  GValue *element = sfi_seq_get (sfi_seq, i);
4937  cseq[i] = ::Bse::TrackPart::value_get_boxed (element);
4938  }
4939  return cseq;
4940 }
4941 
4942 SfiSeq *
4943 TrackPartSeq::to_seq (const ::Bse::TrackPartSeq & cseq)
4944 {
4945  SfiSeq *sfi_seq = sfi_seq_new ();
4946  for (guint i = 0; i < cseq.length(); i++)
4947  {
4948  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_REC);
4949  ::Bse::TrackPart::value_set_boxed (element, cseq[i]);
4950  }
4951  return sfi_seq;
4952 }
4953 
4955 TrackPartSeq::value_get_boxed (const GValue *value)
4956 {
4957  return ::Sfi::cxx_value_get_boxed_sequence< TrackPartSeq> (value);
4958 }
4959 
4960 void
4961 TrackPartSeq::value_set_boxed (GValue *value, const ::Bse::TrackPartSeq & self)
4962 {
4963  ::Sfi::cxx_value_set_boxed_sequence< TrackPartSeq> (value, self);
4964 }
4965 
4966 GParamSpec*
4967 TrackPartSeq::get_element()
4968 {
4969  static GParamSpec *element = NULL;
4970  if (!element) {
4971  element = g_param_spec_ref (sfidl_pspec_Record_default (NULL,"/opt/src/beast/bse/bsecore.idl",623, "tparts", Bse::TrackPart::get_fields()));
4972  g_param_spec_sink (element);
4973  }
4974  return element;
4975 }
4976 
4978 ThreadInfoSeq::from_seq (SfiSeq *sfi_seq)
4979 {
4980  ::Bse::ThreadInfoSeq cseq;
4981  guint i, length;
4982 
4983  if (!sfi_seq)
4984  return cseq;
4985 
4986  length = sfi_seq_length (sfi_seq);
4987  cseq.resize (length);
4988  for (i = 0; i < length; i++)
4989  {
4990  GValue *element = sfi_seq_get (sfi_seq, i);
4991  cseq[i] = ::Bse::ThreadInfo::value_get_boxed (element);
4992  }
4993  return cseq;
4994 }
4995 
4996 SfiSeq *
4997 ThreadInfoSeq::to_seq (const ::Bse::ThreadInfoSeq & cseq)
4998 {
4999  SfiSeq *sfi_seq = sfi_seq_new ();
5000  for (guint i = 0; i < cseq.length(); i++)
5001  {
5002  GValue *element = sfi_seq_append_empty (sfi_seq, SFI_TYPE_REC);
5003  ::Bse::ThreadInfo::value_set_boxed (element, cseq[i]);
5004  }
5005  return sfi_seq;
5006 }
5007 
5009 ThreadInfoSeq::value_get_boxed (const GValue *value)
5010 {
5011  return ::Sfi::cxx_value_get_boxed_sequence< ThreadInfoSeq> (value);
5012 }
5013 
5014 void
5015 ThreadInfoSeq::value_set_boxed (GValue *value, const ::Bse::ThreadInfoSeq & self)
5016 {
5017  ::Sfi::cxx_value_set_boxed_sequence< ThreadInfoSeq> (value, self);
5018 }
5019 
5020 GParamSpec*
5021 ThreadInfoSeq::get_element()
5022 {
5023  static GParamSpec *element = NULL;
5024  if (!element) {
5025  element = g_param_spec_ref (sfidl_pspec_Record_default (NULL,"/opt/src/beast/bse/bsecore.idl",705, "thread_infos", Bse::ThreadInfo::get_fields()));
5026  g_param_spec_sink (element);
5027  }
5028  return element;
5029 }
5030 
5031 
5032 
5033 /* class implementations */
5034 
5035 
5036 /* procedure implementations */
5037 
5038 
5039 /* bsecore.idl type registrations */
5040 #define BSE_CXX_REGISTER_ALL_TYPES_FROM_BSECORE_IDL() \
5041  BSE_CXX_REGISTER_ENUM (MusicalTuningType); \
5042  BSE_CXX_REGISTER_ENUM (MidiSignalType); \
5043  BSE_CXX_REGISTER_ENUM (MidiControlType); \
5044  BSE_CXX_REGISTER_ENUM (MidiChannelEventType); \
5045  BSE_CXX_REGISTER_ENUM (MsgType); \
5046  BSE_CXX_REGISTER_ENUM (ThreadState); \
5047  BSE_CXX_REGISTER_RECORD (MidiChannelEvent); \
5048  BSE_CXX_REGISTER_RECORD (PropertyCandidates); \
5049  BSE_CXX_REGISTER_RECORD (PartNote); \
5050  BSE_CXX_REGISTER_RECORD (PartControl); \
5051  BSE_CXX_REGISTER_RECORD (NoteDescription); \
5052  BSE_CXX_REGISTER_RECORD (NoteSequence); \
5053  BSE_CXX_REGISTER_RECORD (Icon); \
5054  BSE_CXX_REGISTER_RECORD (Category); \
5055  BSE_CXX_REGISTER_RECORD (Dot); \
5056  BSE_CXX_REGISTER_RECORD (PartLink); \
5057  BSE_CXX_REGISTER_RECORD (TrackPart); \
5058  BSE_CXX_REGISTER_RECORD (SongTiming); \
5059  BSE_CXX_REGISTER_RECORD (SampleFileInfo); \
5060  BSE_CXX_REGISTER_RECORD (Message); \
5061  BSE_CXX_REGISTER_RECORD (ThreadInfo); \
5062  BSE_CXX_REGISTER_RECORD (ThreadTotals); \
5063  BSE_CXX_REGISTER_RECORD (GConfig); \
5064  BSE_CXX_REGISTER_SEQUENCE (IntSeq); \
5065  BSE_CXX_REGISTER_SEQUENCE (TypeSeq); \
5066  BSE_CXX_REGISTER_SEQUENCE (StringSeq); \
5067  BSE_CXX_REGISTER_SEQUENCE (FloatSeq); \
5068  BSE_CXX_REGISTER_SEQUENCE (NoteSeq); \
5069  BSE_CXX_REGISTER_SEQUENCE (ItemSeq); \
5070  BSE_CXX_REGISTER_SEQUENCE (PartNoteSeq); \
5071  BSE_CXX_REGISTER_SEQUENCE (PartControlSeq); \
5072  BSE_CXX_REGISTER_SEQUENCE (PixelSeq); \
5073  BSE_CXX_REGISTER_SEQUENCE (CategorySeq); \
5074  BSE_CXX_REGISTER_SEQUENCE (DotSeq); \
5075  BSE_CXX_REGISTER_SEQUENCE (PartLinkSeq); \
5076  BSE_CXX_REGISTER_SEQUENCE (TrackPartSeq); \
5077  BSE_CXX_REGISTER_SEQUENCE (ThreadInfoSeq); \
5078  /* bsecore.idl type registrations done */
5079 } // Bse
5080 
5081 /*-------- end ../sfi/sfidl generated code --------*/
5082 
5083 
Definition: bsebasics.genidl.hh:481
Definition: bsebasics.genidl.hh:679
Definition: bsebasics.genidl.hh:616
Definition: bsetrack.hh:24
Definition: sficxx.hh:15
Definition: bsebasics.genidl.hh:556
Definition: bsecore.genidl.hh:1033
Definition: bsecore.genidl.hh:984
std::string String
Definition: sficxx.hh:325
Definition: sfiparams.hh:63
Definition: bsebasics.genidl.hh:496
Definition: bsejanitor.hh:19
Definition: bsebasics.genidl.hh:541
Definition: sfitypes.hh:32
Definition: sfiparams.hh:68
Definition: bsebasics.genidl.hh:631
Definition: bsebasics.genidl.hh:586
Definition: sficxx.hh:168
Definition: bsebasics.genidl.hh:934
Definition: bsecore.genidl.hh:711
Definition: bsebasics.genidl.hh:646
Definition: bsebasics.genidl.hh:661
Definition: bsepart.hh:26
Definition: sficxx.hh:142
Definition: bseitem.hh:33
Definition: bsebasics.genidl.hh:571
Definition: bsebasics.genidl.hh:526