BEAST - Free Software Audio Synthesizer and Tracker  0.10.0
bseclientapi.hh
Go to the documentation of this file.
1  // --- Generated by AidaCxxStub ---
2 #ifndef __CLNT__BSE_IDL
3 #define __CLNT__BSE_IDL
4 
5 
6 // --- ClientHH Boilerplate ---
7 #include <rapicorn-core.hh>
8 
9 #define RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_EQ(Enum) \
10  bool constexpr operator== (Enum v, int64_t n) { return int64_t (v) == n; } \
11  bool constexpr operator== (int64_t n, Enum v) { return n == int64_t (v); } \
12  bool constexpr operator!= (Enum v, int64_t n) { return int64_t (v) != n; } \
13  bool constexpr operator!= (int64_t n, Enum v) { return n != int64_t (v); }
14 #define RAPICORN_AIDA_FLAGS_DEFINE_ARITHMETIC_OPS(Enum) \
15  static constexpr int64_t operator>> (Enum v, int64_t n) { return int64_t (v) >> n; } \
16  static constexpr int64_t operator<< (Enum v, int64_t n) { return int64_t (v) << n; } \
17  static constexpr int64_t operator^ (Enum v, int64_t n) { return int64_t (v) ^ n; } \
18  static constexpr int64_t operator^ (int64_t n, Enum v) { return n ^ int64_t (v); } \
19  static constexpr int64_t operator| (Enum v, int64_t n) { return int64_t (v) | n; } \
20  static constexpr int64_t operator| (int64_t n, Enum v) { return n | int64_t (v); } \
21  static constexpr int64_t operator& (Enum v, int64_t n) { return int64_t (v) & n; } \
22  static constexpr int64_t operator& (int64_t n, Enum v) { return n & int64_t (v); } \
23  static constexpr int64_t operator~ (Enum v) { return ~int64_t (v); } \
24  static constexpr int64_t operator+ (Enum v) { return +int64_t (v); } \
25  static constexpr int64_t operator- (Enum v) { return -int64_t (v); } \
26  static constexpr int64_t operator+ (Enum v, int64_t n) { return int64_t (v) + n; } \
27  static constexpr int64_t operator+ (int64_t n, Enum v) { return n + int64_t (v); } \
28  static constexpr int64_t operator- (Enum v, int64_t n) { return int64_t (v) - n; } \
29  static constexpr int64_t operator- (int64_t n, Enum v) { return n - int64_t (v); } \
30  static constexpr int64_t operator* (Enum v, int64_t n) { return int64_t (v) * n; } \
31  static constexpr int64_t operator* (int64_t n, Enum v) { return n * int64_t (v); } \
32  static constexpr int64_t operator/ (Enum v, int64_t n) { return int64_t (v) / n; } \
33  static constexpr int64_t operator/ (int64_t n, Enum v) { return n / int64_t (v); } \
34  static constexpr int64_t operator% (Enum v, int64_t n) { return int64_t (v) % n; } \
35  static constexpr int64_t operator% (int64_t n, Enum v) { return n % int64_t (v); } \
36  RAPICORN_FIXCYTHON_ENUM (Enum)
37 #ifdef CYTHON_COMPILING_IN_CPYTHON
38 // Use C++ ADL, so PyInt_FromLong as generated by Cython works on scoped enums.
39 #define RAPICORN_FIXCYTHON_ENUM(Enum) \
40  extern inline PyObject* PyInt_FromLong (Enum __e_) { return ::PyInt_FromLong (long (__e_)); }
41 #else // !CYTHON_COMPILING_IN_CPYTHON
42 #define RAPICORN_FIXCYTHON_ENUM(Enum)
43 #endif // !CYTHON_COMPILING_IN_CPYTHON
44 #ifdef RAPICORN_AIDA_ENABLE_ENUM_ARITHMETIC
45 #define RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_OPS RAPICORN_AIDA_FLAGS_DEFINE_ARITHMETIC_OPS
46 #else // !RAPICORN_AIDA_ENABLE_ENUM_ARITHMETIC
47 #define RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_OPS(Enum) /* no arithmetic ops */
48 #endif // !RAPICORN_AIDA_ENABLE_ENUM_ARITHMETIC
49 
50 #ifndef __ENUMHH__BSE_IDL__
51 #define __ENUMHH__BSE_IDL__
52 
53 namespace Bse {
54 
56 enum class Error : int64_t {
57  NONE = 0, // _("OK")
58  INTERNAL = 1, // _("Internal error (please report)")
59  UNKNOWN = 2, // _("Unknown error")
60  IO = 3, // _("Input/output error")
61  PERMS = 4, // _("Insufficient permissions")
62  FILE_BUSY = 5, // _("Device or resource busy")
63  FILE_EXISTS = 6, // _("File exists already")
64  FILE_EOF = 7, // _("End of file")
65  FILE_EMPTY = 8, // _("File empty")
66  FILE_NOT_FOUND = 9, // _("No such file, device or directory")
67  FILE_IS_DIR = 10, // _("Is a directory")
68  FILE_OPEN_FAILED = 11, // _("Open failed")
69  FILE_SEEK_FAILED = 12, // _("Seek failed")
70  FILE_READ_FAILED = 13, // _("Read failed")
71  FILE_WRITE_FAILED = 14, // _("Write failed")
72  MANY_FILES = 15, // _("Too many open files")
73  NO_FILES = 16, // _("Too many open files in system")
74  NO_SPACE = 17, // _("No space left on device")
75  NO_MEMORY = 18, // _("Out of memory")
76  NO_HEADER = 19, // _("Failed to detect header")
77  NO_SEEK_INFO = 20, // _("Failed to retrieve seek information")
78  NO_DATA = 21, // _("No data available")
79  DATA_CORRUPT = 22, // _("Data corrupt")
80  WRONG_N_CHANNELS = 23, // _("Wrong number of channels")
81  FORMAT_INVALID = 24, // _("Invalid format")
82  FORMAT_UNKNOWN = 25, // _("Unknown format")
83  DATA_UNMATCHED = 26, // _("Requested data values unmatched")
84  TEMP = 27, // _("Temporary error")
85  WAVE_NOT_FOUND = 28, // _("No such wave")
86  CODEC_FAILURE = 29, // _("Codec failure")
87  UNIMPLEMENTED = 30, // _("Functionality not implemented")
88  INVALID_PROPERTY = 31, // _("Invalid object property")
89  INVALID_MIDI_CONTROL = 32, // _("Invalid MIDI control type")
90  PARSE_ERROR = 33, // _("Parsing error")
91  SPAWN = 34, // _("Failed to spawn child process")
92  DEVICE_NOT_AVAILABLE = 35, // _("No device (driver) available")
93  DEVICE_ASYNC = 36, // _("Device not async capable")
94  DEVICE_BUSY = 37, // _("Device busy")
95  DEVICE_FORMAT = 38, // _("Failed to configure device format")
96  DEVICE_BUFFER = 39, // _("Failed to configure device buffer")
97  DEVICE_LATENCY = 40, // _("Failed to configure device latency")
98  DEVICE_CHANNELS = 41, // _("Failed to configure number of device channels")
99  DEVICE_FREQUENCY = 42, // _("Failed to configure device frequency")
100  DEVICES_MISMATCH = 43, // _("Device configurations mismatch")
101  SOURCE_NO_SUCH_MODULE = 44, // _("No such synthesis module")
102  SOURCE_NO_SUCH_ICHANNEL = 45, // _("No such input channel")
103  SOURCE_NO_SUCH_OCHANNEL = 46, // _("No such output channel")
104  SOURCE_NO_SUCH_CONNECTION = 47, // _("Input/Output channels not connected")
105  SOURCE_PRIVATE_ICHANNEL = 48, // _("Input channel is private")
106  SOURCE_ICHANNEL_IN_USE = 49, // _("Input channel already in use")
107  SOURCE_CHANNELS_CONNECTED = 50, // _("Input/output channels already connected")
108  SOURCE_CONNECTION_INVALID = 51, // _("Invalid synthesis module connection")
109  SOURCE_PARENT_MISMATCH = 52, // _("Parent mismatch")
110  SOURCE_BAD_LOOPBACK = 53, // _("Bad loopback")
111  SOURCE_BUSY = 54, // _("Synthesis module currently busy")
112  SOURCE_TYPE_INVALID = 55, // _("Invalid synthsis module type")
113  PROC_NOT_FOUND = 56, // _("No such procedure")
114  PROC_BUSY = 57, // _("Procedure currently busy")
115  PROC_PARAM_INVAL = 58, // _("Procedure parameter invalid")
116  PROC_EXECUTION = 59, // _("Procedure execution failed")
117  PROC_ABORT = 60, // _("Procedure execution aborted")
118  NO_ENTRY = 61, // _("No such entry")
119  NO_EVENT = 62, // _("No such event")
120  NO_TARGET = 63, // _("No target")
121  NOT_OWNER = 64, // _("Ownership mismatch")
122  INVALID_OFFSET = 65, // _("Invalid offset")
123  INVALID_DURATION = 66, // _("Invalid duration")
124  INVALID_OVERLAP = 67, // _("Invalid overlap")
125 };
126 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, Error e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
127 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, Error &e) { e = Error (__f_.pop_evalue()); }
128 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_EQ (Error);
129 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_OPS (Error);
131 
133 enum class MidiSignal : int64_t {
134  PROGRAM = 1,
135  PRESSURE = 2,
136  PITCH_BEND = 3,
137  VELOCITY = 4,
138  FINE_TUNE = 5,
139  CONTINUOUS_0 = 64,
140  CONTINUOUS_1 = 65,
141  CONTINUOUS_2 = 66,
142  CONTINUOUS_3 = 67,
143  CONTINUOUS_4 = 68,
144  CONTINUOUS_5 = 69,
145  CONTINUOUS_6 = 70,
146  CONTINUOUS_7 = 71,
147  CONTINUOUS_8 = 72,
148  CONTINUOUS_9 = 73,
149  CONTINUOUS_10 = 74,
150  CONTINUOUS_11 = 75,
151  CONTINUOUS_12 = 76,
152  CONTINUOUS_13 = 77,
153  CONTINUOUS_14 = 78,
154  CONTINUOUS_15 = 79,
155  CONTINUOUS_16 = 80,
156  CONTINUOUS_17 = 81,
157  CONTINUOUS_18 = 82,
158  CONTINUOUS_19 = 83,
159  CONTINUOUS_20 = 84,
160  CONTINUOUS_21 = 85,
161  CONTINUOUS_22 = 86,
162  CONTINUOUS_23 = 87,
163  CONTINUOUS_24 = 88,
164  CONTINUOUS_25 = 89,
165  CONTINUOUS_26 = 90,
166  CONTINUOUS_27 = 91,
167  CONTINUOUS_28 = 92,
168  CONTINUOUS_29 = 93,
169  CONTINUOUS_30 = 94,
170  CONTINUOUS_31 = 95,
171  CONSTANT_HIGH = 96,
172  CONSTANT_CENTER = 97,
173  CONSTANT_LOW = 98,
174  CONSTANT_NEGATIVE_CENTER = 99,
175  CONSTANT_NEGATIVE_HIGH = 100,
176  PARAMETER = 101,
177  NON_PARAMETER = 102,
178  CONTROL_0 = 128,
179  CONTROL_1 = 129,
180  CONTROL_2 = 130,
181  CONTROL_3 = 131,
182  CONTROL_4 = 132,
183  CONTROL_5 = 133,
184  CONTROL_6 = 134,
185  CONTROL_7 = 135,
186  CONTROL_8 = 136,
187  CONTROL_9 = 137,
188  CONTROL_10 = 138,
189  CONTROL_11 = 139,
190  CONTROL_12 = 140,
191  CONTROL_13 = 141,
192  CONTROL_14 = 142,
193  CONTROL_15 = 143,
194  CONTROL_16 = 144,
195  CONTROL_17 = 145,
196  CONTROL_18 = 146,
197  CONTROL_19 = 147,
198  CONTROL_20 = 148,
199  CONTROL_21 = 149,
200  CONTROL_22 = 150,
201  CONTROL_23 = 151,
202  CONTROL_24 = 152,
203  CONTROL_25 = 153,
204  CONTROL_26 = 154,
205  CONTROL_27 = 155,
206  CONTROL_28 = 156,
207  CONTROL_29 = 157,
208  CONTROL_30 = 158,
209  CONTROL_31 = 159,
210  CONTROL_32 = 160,
211  CONTROL_33 = 161,
212  CONTROL_34 = 162,
213  CONTROL_35 = 163,
214  CONTROL_36 = 164,
215  CONTROL_37 = 165,
216  CONTROL_38 = 166,
217  CONTROL_39 = 167,
218  CONTROL_40 = 168,
219  CONTROL_41 = 169,
220  CONTROL_42 = 170,
221  CONTROL_43 = 171,
222  CONTROL_44 = 172,
223  CONTROL_45 = 173,
224  CONTROL_46 = 174,
225  CONTROL_47 = 175,
226  CONTROL_48 = 176,
227  CONTROL_49 = 177,
228  CONTROL_50 = 178,
229  CONTROL_51 = 179,
230  CONTROL_52 = 180,
231  CONTROL_53 = 181,
232  CONTROL_54 = 182,
233  CONTROL_55 = 183,
234  CONTROL_56 = 184,
235  CONTROL_57 = 185,
236  CONTROL_58 = 186,
237  CONTROL_59 = 187,
238  CONTROL_60 = 188,
239  CONTROL_61 = 189,
240  CONTROL_62 = 190,
241  CONTROL_63 = 191,
242  CONTROL_64 = 192,
243  CONTROL_65 = 193,
244  CONTROL_66 = 194,
245  CONTROL_67 = 195,
246  CONTROL_68 = 196,
247  CONTROL_69 = 197,
248  CONTROL_70 = 198,
249  CONTROL_71 = 199,
250  CONTROL_72 = 200,
251  CONTROL_73 = 201,
252  CONTROL_74 = 202,
253  CONTROL_75 = 203,
254  CONTROL_76 = 204,
255  CONTROL_77 = 205,
256  CONTROL_78 = 206,
257  CONTROL_79 = 207,
258  CONTROL_80 = 208,
259  CONTROL_81 = 209,
260  CONTROL_82 = 210,
261  CONTROL_83 = 211,
262  CONTROL_84 = 212,
263  CONTROL_85 = 213,
264  CONTROL_86 = 214,
265  CONTROL_87 = 215,
266  CONTROL_88 = 216,
267  CONTROL_89 = 217,
268  CONTROL_90 = 218,
269  CONTROL_91 = 219,
270  CONTROL_92 = 220,
271  CONTROL_93 = 221,
272  CONTROL_94 = 222,
273  CONTROL_95 = 223,
274  CONTROL_96 = 224,
275  CONTROL_97 = 225,
276  CONTROL_98 = 226,
277  CONTROL_99 = 227,
278  CONTROL_100 = 228,
279  CONTROL_101 = 229,
280  CONTROL_102 = 230,
281  CONTROL_103 = 231,
282  CONTROL_104 = 232,
283  CONTROL_105 = 233,
284  CONTROL_106 = 234,
285  CONTROL_107 = 235,
286  CONTROL_108 = 236,
287  CONTROL_109 = 237,
288  CONTROL_110 = 238,
289  CONTROL_111 = 239,
290  CONTROL_112 = 240,
291  CONTROL_113 = 241,
292  CONTROL_114 = 242,
293  CONTROL_115 = 243,
294  CONTROL_116 = 244,
295  CONTROL_117 = 245,
296  CONTROL_118 = 246,
297  CONTROL_119 = 247,
298  CONTROL_120 = 248,
299  CONTROL_121 = 249,
300  CONTROL_122 = 250,
301  CONTROL_123 = 251,
302  CONTROL_124 = 252,
303  CONTROL_125 = 253,
304  CONTROL_126 = 254,
305  CONTROL_127 = 255,
306 };
307 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, MidiSignal e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
308 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, MidiSignal &e) { e = MidiSignal (__f_.pop_evalue()); }
309 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_EQ (MidiSignal);
310 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_OPS (MidiSignal);
312 
314 enum class MusicalTuning : int64_t {
315  OD_12_TET = 1, // _("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.")
316  OD_7_TET = 2, // _("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.")
317  OD_5_TET = 3, // _("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.")
318  DIATONIC_SCALE = 4, // _("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.")
319  INDIAN_SCALE = 5, // _("Diatonic scale used in Indian music with wolf interval at Dha, close to 3/2")
320  PYTHAGOREAN_TUNING = 6, // _("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.")
321  PENTATONIC_5_LIMIT = 7, // _("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.")
322  PENTATONIC_BLUES = 8, // _("The blues scale is the minor pentatonic with an additional augmented fourth, which is referred to as the \"blues note\".")
323  PENTATONIC_GOGO = 9, // _("The Pentatonic Gogo scale is an anhemitonic pentatonic scale used to tune the instruments of the Gogo people of Tanzania.")
324  QUARTER_COMMA_MEANTONE = 10, // _("Quarter-comma meantone was the most common meantone temperament in the sixteenth and seventeenth centuries and sometimes used later.")
325  SILBERMANN_SORGE = 11, // _("The Silbermann-Sorge temperament is a meantone temperament used for Baroque era organs by Gottfried Silbermann.")
326  WERCKMEISTER_3 = 12, // _("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.")
327  WERCKMEISTER_4 = 13, // _("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.")
328  WERCKMEISTER_5 = 14, // _("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.")
329  WERCKMEISTER_6 = 15, // _("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\".")
330  KIRNBERGER_3 = 16, // _("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).")
331  YOUNG = 17, // _("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.")
332 };
333 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, MusicalTuning e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
334 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, MusicalTuning &e) { e = MusicalTuning (__f_.pop_evalue()); }
335 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_EQ (MusicalTuning);
336 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_OPS (MusicalTuning);
338 
340 enum class UserMessageType : int64_t {
341  ERROR = 1,
342  WARNING = 2,
343  INFO = 3,
344  DEBUG = 4,
345 };
346 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, UserMessageType e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
347 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, UserMessageType &e) { e = UserMessageType (__f_.pop_evalue()); }
348 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_EQ (UserMessageType);
349 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_OPS (UserMessageType);
351 } // Bse
352 
353 namespace Rapicorn {
354 
355 namespace Aida {
356 template<> const EnumInfo& enum_info<Bse::Error> ();
357 template<> const EnumInfo& enum_info<Bse::MidiSignal> ();
358 template<> const EnumInfo& enum_info<Bse::MusicalTuning> ();
359 template<> const EnumInfo& enum_info<Bse::UserMessageType> ();
360 } // Aida
361 } // Rapicorn
362 
363 #endif // __ENUMHH__BSE_IDL__
364 
365 
366 // --- Interfaces (class declarations) ---
367 
368 namespace Bse {
369 
370 struct ClnT_StringSeq : public std::vector<std::string>
371 {
373  reference append_back()
374  { resize (size() + 1); return back(); }
375  std::string __aida_type_name__ () const { return "Bse::StringSeq"; }
376  std::vector<std::string> __aida_aux_data__ () const;
377  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
378  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
379 };
380 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_StringSeq&);
381 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_StringSeq&);
382 
383 struct ClnT_PixelSeq : public std::vector<int>
384 {
385  typedef std::vector<int> Sequence;
386  reference append_back()
387  { resize (size() + 1); return back(); }
388  std::string __aida_type_name__ () const { return "Bse::PixelSeq"; }
389  std::vector<std::string> __aida_aux_data__ () const;
390  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
391  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
392 };
393 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PixelSeq&);
394 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PixelSeq&);
395 
396 struct ClnT_Icon
397 {
399  int width;
400  int height;
401  ClnT_PixelSeq pixels;
403  inline ClnT_Icon () { width = 0; height = 0; }
404  std::string __aida_type_name__ () const { return "Bse::Icon"; }
405  std::vector<std::string> __aida_aux_data__ () const;
406  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
407  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
408  bool operator== (const ClnT_Icon &other) const;
409  bool operator!= (const ClnT_Icon &other) const { return !operator== (other); }
410  template<class Visitor> void __accept__ (Visitor &_visitor_)
411  {
412  _visitor_ (width, "width");
413  _visitor_ (height, "height");
414  _visitor_ (pixels, "pixels");
415  }
416 };
417 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_Icon&);
418 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_Icon&);
419 
421 {
423  std::string entity;
424  ClnT_StringSeq attributes;
426  inline ClnT_AuxData () { }
427  std::string __aida_type_name__ () const { return "Bse::AuxData"; }
428  std::vector<std::string> __aida_aux_data__ () const;
429  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
430  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
431  bool operator== (const ClnT_AuxData &other) const;
432  bool operator!= (const ClnT_AuxData &other) const { return !operator== (other); }
433  template<class Visitor> void __accept__ (Visitor &_visitor_)
434  {
435  _visitor_ (entity, "entity");
436  _visitor_ (attributes, "attributes");
437  }
438 };
439 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_AuxData&);
440 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_AuxData&);
441 
442 struct ClnT_AuxDataSeq : public std::vector<ClnT_AuxData>
443 {
445  reference append_back()
446  { resize (size() + 1); return back(); }
447  std::string __aida_type_name__ () const { return "Bse::AuxDataSeq"; }
448  std::vector<std::string> __aida_aux_data__ () const;
449  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
450  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
451 };
452 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_AuxDataSeq&);
453 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_AuxDataSeq&);
454 
457 class TestObjectHandle : public virtual Rapicorn::Aida::RemoteHandle
459 {
460  typedef Rapicorn::Aida::Connector<TestObjectHandle, void (const std::string &msg)> __Aida_Signal__echo_reply;
461  size_t __aida_connect__echo_reply (size_t, const std::function<void (const std::string &msg)>&);
462  static TestObjectHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
463  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
464 protected:
465 public:
466  virtual /*Des*/ ~TestObjectHandle () override;
467  template<class RemoteHandle>
468  static TestObjectHandle down_cast (RemoteHandle smh) { return smh == NULL ? TestObjectHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
469  explicit TestObjectHandle ();
470  __Aida_Signal__echo_reply sig_echo_reply () { return __Aida_Signal__echo_reply (*this, &TestObjectHandle::__aida_connect__echo_reply); }
471  int echo_test (const std::string &msg);
472  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
473  {}
474 };
476 
478 {
480  UserMessageType utype;
481  std::string title;
482  std::string text1;
483  std::string text2;
484  std::string text3;
485  std::string label;
487  inline ClnT_UserMessage () { utype = UserMessageType (0); }
488  std::string __aida_type_name__ () const { return "Bse::UserMessage"; }
489  std::vector<std::string> __aida_aux_data__ () const;
490  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
491  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
492  bool operator== (const ClnT_UserMessage &other) const;
493  bool operator!= (const ClnT_UserMessage &other) const { return !operator== (other); }
494  template<class Visitor> void __accept__ (Visitor &_visitor_)
495  {
496  _visitor_ (utype, "utype");
497  _visitor_ (title, "title");
498  _visitor_ (text1, "text1");
499  _visitor_ (text2, "text2");
500  _visitor_ (text3, "text3");
501  _visitor_ (label, "label");
502  }
503 };
504 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_UserMessage&);
505 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_UserMessage&);
506 
508 {
510  int tick;
511  double bpm;
512  int numerator;
513  int denominator;
514  int tpqn;
515  int tpt;
516  double stamp_ticks;
518  inline ClnT_SongTiming () { tick = 0; bpm = 0; numerator = 0; denominator = 0; tpqn = 0; tpt = 0; stamp_ticks = 0; }
519  std::string __aida_type_name__ () const { return "Bse::SongTiming"; }
520  std::vector<std::string> __aida_aux_data__ () const;
521  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
522  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
523  bool operator== (const ClnT_SongTiming &other) const;
524  bool operator!= (const ClnT_SongTiming &other) const { return !operator== (other); }
525  template<class Visitor> void __accept__ (Visitor &_visitor_)
526  {
527  _visitor_ (tick, "tick");
528  _visitor_ (bpm, "bpm");
529  _visitor_ (numerator, "numerator");
530  _visitor_ (denominator, "denominator");
531  _visitor_ (tpqn, "tpqn");
532  _visitor_ (tpt, "tpt");
533  _visitor_ (stamp_ticks, "stamp_ticks");
534  }
535 };
536 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_SongTiming&);
537 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_SongTiming&);
538 
540 {
542  MusicalTuning musical_tuning;
543  int note;
544  int octave;
545  double freq;
546  int finetune;
547  int semitone;
548  bool upshift;
549  int letter;
550  std::string name;
552  inline ClnT_NoteDescription () { musical_tuning = MusicalTuning (0); note = 0; octave = 0; freq = 0; finetune = 0; semitone = 0; upshift = 0; letter = 0; }
553  std::string __aida_type_name__ () const { return "Bse::NoteDescription"; }
554  std::vector<std::string> __aida_aux_data__ () const;
555  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
556  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
557  bool operator== (const ClnT_NoteDescription &other) const;
558  bool operator!= (const ClnT_NoteDescription &other) const { return !operator== (other); }
559  template<class Visitor> void __accept__ (Visitor &_visitor_)
560  {
561  _visitor_ (musical_tuning, "musical_tuning");
562  _visitor_ (note, "note");
563  _visitor_ (octave, "octave");
564  _visitor_ (freq, "freq");
565  _visitor_ (finetune, "finetune");
566  _visitor_ (semitone, "semitone");
567  _visitor_ (upshift, "upshift");
568  _visitor_ (letter, "letter");
569  _visitor_ (name, "name");
570  }
571 };
572 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_NoteDescription&);
573 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_NoteDescription&);
574 
575 class ClnT_PartLink;
576 
577 class ClnT_PartLinkSeq;
578 
579 class ClnT_TrackPart;
580 
581 class ClnT_TrackPartSeq;
582 
585 class ObjectHandle : public virtual Rapicorn::Aida::RemoteHandle
587 {
588  typedef Rapicorn::Aida::Connector<ObjectHandle, void (const std::string &what)> __Aida_Signal__changed;
589  size_t __aida_connect__changed (size_t, const std::function<void (const std::string &what)>&);
590  static ObjectHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
591  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
592 protected:
593 public:
594  virtual /*Des*/ ~ObjectHandle () override;
595  template<class RemoteHandle>
596  static ObjectHandle down_cast (RemoteHandle smh) { return smh == NULL ? ObjectHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
597  explicit ObjectHandle ();
598  __Aida_Signal__changed sig_changed () { return __Aida_Signal__changed (*this, &ObjectHandle::__aida_connect__changed); }
600  int64_t proxy_id ();
601  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
602  {}
603 };
605 
608 class ItemHandle : public virtual ObjectHandle
610 {
611  static ItemHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
612  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
613 protected:
614 public:
615  virtual /*Des*/ ~ItemHandle () override;
616  template<class RemoteHandle>
617  static ItemHandle down_cast (RemoteHandle smh) { return smh == NULL ? ItemHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
618  explicit ItemHandle ();
619  ClnT_Icon icon () const;
620  void icon (const ClnT_Icon&);
622  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
623  {
624  __visitor_ (*this, "icon", &ItemHandle::icon, &ItemHandle::icon);
625  this->ObjectHandle::__accept_accessor__ (__visitor_);
626  }
627 };
628 typedef ItemHandle ItemH;
629 
631 {
633  int id;
634  int channel;
635  int tick;
636  int duration;
637  int note;
638  int fine_tune;
639  double velocity;
640  bool selected;
642  inline ClnT_PartNote () { id = 0; channel = 0; tick = 0; duration = 0; note = 0; fine_tune = 0; velocity = 0; selected = 0; }
643  std::string __aida_type_name__ () const { return "Bse::PartNote"; }
644  std::vector<std::string> __aida_aux_data__ () const;
645  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
646  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
647  bool operator== (const ClnT_PartNote &other) const;
648  bool operator!= (const ClnT_PartNote &other) const { return !operator== (other); }
649  template<class Visitor> void __accept__ (Visitor &_visitor_)
650  {
651  _visitor_ (id, "id");
652  _visitor_ (channel, "channel");
653  _visitor_ (tick, "tick");
654  _visitor_ (duration, "duration");
655  _visitor_ (note, "note");
656  _visitor_ (fine_tune, "fine_tune");
657  _visitor_ (velocity, "velocity");
658  _visitor_ (selected, "selected");
659  }
660 };
661 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PartNote&);
662 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PartNote&);
663 
664 struct ClnT_PartNoteSeq : public std::vector<ClnT_PartNote>
665 {
667  reference append_back()
668  { resize (size() + 1); return back(); }
669  std::string __aida_type_name__ () const { return "Bse::PartNoteSeq"; }
670  std::vector<std::string> __aida_aux_data__ () const;
671  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
672  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
673 };
674 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PartNoteSeq&);
675 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PartNoteSeq&);
676 
678 {
680  int id;
681  int tick;
682  MidiSignal control_type;
683  double value;
684  bool selected;
686  inline ClnT_PartControl () { id = 0; tick = 0; control_type = MidiSignal (0); value = 0; selected = 0; }
687  std::string __aida_type_name__ () const { return "Bse::PartControl"; }
688  std::vector<std::string> __aida_aux_data__ () const;
689  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
690  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
691  bool operator== (const ClnT_PartControl &other) const;
692  bool operator!= (const ClnT_PartControl &other) const { return !operator== (other); }
693  template<class Visitor> void __accept__ (Visitor &_visitor_)
694  {
695  _visitor_ (id, "id");
696  _visitor_ (tick, "tick");
697  _visitor_ (control_type, "control_type");
698  _visitor_ (value, "value");
699  _visitor_ (selected, "selected");
700  }
701 };
702 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PartControl&);
703 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PartControl&);
704 
705 struct ClnT_PartControlSeq : public std::vector<ClnT_PartControl>
706 {
708  reference append_back()
709  { resize (size() + 1); return back(); }
710  std::string __aida_type_name__ () const { return "Bse::PartControlSeq"; }
711  std::vector<std::string> __aida_aux_data__ () const;
712  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
713  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
714 };
715 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PartControlSeq&);
716 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PartControlSeq&);
717 
720 class PartHandle : public virtual ItemHandle
722 {
723  static PartHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
724  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
725 protected:
726 public:
727  virtual /*Des*/ ~PartHandle () override;
728  template<class RemoteHandle>
729  static PartHandle down_cast (RemoteHandle smh) { return smh == NULL ? PartHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
730  explicit PartHandle ();
731  ClnT_PartControlSeq list_selected_controls (MidiSignal control_type);
732  ClnT_PartControlSeq list_controls (int tick,
733  int duration,
734  MidiSignal control_type);
735  ClnT_PartControlSeq get_channel_controls (int channel,
736  int tick,
737  int duration,
738  MidiSignal control_type);
739  ClnT_PartControlSeq get_controls (int tick,
740  MidiSignal control_type);
741  ClnT_SongTiming get_timing (int tick);
742  int get_max_note ();
743  int get_min_note ();
744  Error change_control (int id,
745  int tick,
746  MidiSignal control_type,
747  double value);
748  Error change_note (int id,
749  int tick,
750  int duration,
751  int note,
752  int fine_tune,
753  double velocity);
754  Error delete_event (int id);
755  int insert_control (int tick,
756  MidiSignal control_type,
757  double value);
758  int insert_note (int channel,
759  int tick,
760  int duration,
761  int note,
762  int fine_tune,
763  double velocity);
764  int insert_note_auto (int tick,
765  int duration,
766  int note,
767  int fine_tune,
768  double velocity);
769  bool is_event_selected (int id);
770  void queue_controls (int tick,
771  int duration);
772  void queue_notes (int tick,
773  int duration,
774  int min_note,
775  int max_note);
776  void select_notes_exclusive (int tick,
777  int duration,
778  int min_note,
779  int max_note);
780  void select_controls_exclusive (int tick,
781  int duration,
782  MidiSignal control_type);
783  void select_notes (int tick,
784  int duration,
785  int min_note,
786  int max_note);
787  void select_event (int id);
788  void select_controls (int tick,
789  int duration,
790  MidiSignal control_type);
791  void deselect_notes (int tick,
792  int duration,
793  int min_note,
794  int max_note);
795  void deselect_event (int id);
796  void deselect_controls (int tick,
797  int duration,
798  MidiSignal control_type);
799  ClnT_PartNoteSeq list_notes_crossing (int tick,
800  int duration);
801  ClnT_PartNoteSeq list_notes_within (int channel,
802  int tick,
803  int duration);
804  ClnT_PartNoteSeq list_selected_notes ();
805  ClnT_PartNoteSeq check_overlap (int tick,
806  int duration,
807  int note);
808  ClnT_PartNoteSeq get_notes (int tick,
809  int note);
810  ClnT_PartLinkSeq list_links ();
811  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
812  {
813  this->ItemHandle::__accept_accessor__ (__visitor_);
814  }
815 };
816 typedef PartHandle PartH;
817 
818 struct ClnT_PartSeq : public std::vector<Rapicorn::Aida::RemoteMember<PartHandle>>
819 {
821  reference append_back()
822  { resize (size() + 1); return back(); }
823  std::string __aida_type_name__ () const { return "Bse::PartSeq"; }
824  std::vector<std::string> __aida_aux_data__ () const;
825  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
826  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
827 };
828 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PartSeq&);
829 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PartSeq&);
830 
833 class SourceHandle : public virtual ItemHandle
835 {
836  static SourceHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
837  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
838 protected:
839 public:
840  virtual /*Des*/ ~SourceHandle () override;
841  template<class RemoteHandle>
842  static SourceHandle down_cast (RemoteHandle smh) { return smh == NULL ? SourceHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
843  explicit SourceHandle ();
844  SourceHandle ichannel_get_osource (int input_channel,
845  int input_joint);
846  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
847  {
848  this->ItemHandle::__accept_accessor__ (__visitor_);
849  }
850 };
852 
855 class ContextMergerHandle : public virtual SourceHandle
857 {
858  static ContextMergerHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
859  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
860 protected:
861 public:
862  virtual /*Des*/ ~ContextMergerHandle () override;
863  template<class RemoteHandle>
864  static ContextMergerHandle down_cast (RemoteHandle smh) { return smh == NULL ? ContextMergerHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
865  explicit ContextMergerHandle ();
866  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
867  {
868  this->SourceHandle::__accept_accessor__ (__visitor_);
869  }
870 };
872 
875 class ContainerHandle : public virtual SourceHandle
877 {
878  static ContainerHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
879  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
880 protected:
881 public:
882  virtual /*Des*/ ~ContainerHandle () override;
883  template<class RemoteHandle>
884  static ContainerHandle down_cast (RemoteHandle smh) { return smh == NULL ? ContainerHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
885  explicit ContainerHandle ();
887  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
888  {
889  this->SourceHandle::__accept_accessor__ (__visitor_);
890  }
891 };
893 
896 class SuperHandle : public virtual ContainerHandle
898 {
899  static SuperHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
900  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
901 protected:
902 public:
903  virtual /*Des*/ ~SuperHandle () override;
904  template<class RemoteHandle>
905  static SuperHandle down_cast (RemoteHandle smh) { return smh == NULL ? SuperHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
906  explicit SuperHandle ();
907  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
908  {
909  this->ContainerHandle::__accept_accessor__ (__visitor_);
910  }
911 };
913 
916 class SNetHandle : public virtual SuperHandle
918 {
919  typedef Rapicorn::Aida::Connector<SNetHandle, void ()> __Aida_Signal__port_unregistered;
920  size_t __aida_connect__port_unregistered (size_t, const std::function<void ()>&);
921  static SNetHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
922  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
923 protected:
924 public:
925  virtual /*Des*/ ~SNetHandle () override;
926  template<class RemoteHandle>
927  static SNetHandle down_cast (RemoteHandle smh) { return smh == NULL ? SNetHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
928  explicit SNetHandle ();
929  bool auto_activate () const;
930  void auto_activate (bool);
931  __Aida_Signal__port_unregistered sig_port_unregistered () { return __Aida_Signal__port_unregistered (*this, &SNetHandle::__aida_connect__port_unregistered); }
932  bool supports_user_synths ();
933  Error can_create_source (const std::string &module_type);
934  SourceHandle create_source (const std::string &module_type);
935  Error remove_source (SourceHandle &module);
936  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
937  {
938  __visitor_ (*this, "auto_activate", &SNetHandle::auto_activate, &SNetHandle::auto_activate);
939  this->SuperHandle::__accept_accessor__ (__visitor_);
940  }
941 };
942 typedef SNetHandle SNetH;
943 
946 class CSynthHandle : public virtual SNetHandle
948 {
949  static CSynthHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
950  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
951 protected:
952 public:
953  virtual /*Des*/ ~CSynthHandle () override;
954  template<class RemoteHandle>
955  static CSynthHandle down_cast (RemoteHandle smh) { return smh == NULL ? CSynthHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
956  explicit CSynthHandle ();
957  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
958  {
959  this->SNetHandle::__accept_accessor__ (__visitor_);
960  }
961 };
963 
966 class SubSynthHandle : public virtual SourceHandle
968 {
969  static SubSynthHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
970  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
971 protected:
972 public:
973  virtual /*Des*/ ~SubSynthHandle () override;
974  template<class RemoteHandle>
975  static SubSynthHandle down_cast (RemoteHandle smh) { return smh == NULL ? SubSynthHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
976  explicit SubSynthHandle ();
977  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
978  {
979  this->SourceHandle::__accept_accessor__ (__visitor_);
980  }
981 };
983 
986 class TrackHandle : public virtual ContextMergerHandle
988 {
989  static TrackHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
990  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
991 protected:
992 public:
993  virtual /*Des*/ ~TrackHandle () override;
994  template<class RemoteHandle>
995  static TrackHandle down_cast (RemoteHandle smh) { return smh == NULL ? TrackHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
996  explicit TrackHandle ();
997  ClnT_SongTiming get_timing (int tick);
998  int insert_part (int tick,
999  PartHandle &part);
1000  void remove_tick (int tick);
1001  void remove_link (int id);
1004  PartHandle get_part (int tick);
1005  int get_last_tick ();
1006  Error ensure_output ();
1008  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1009  {
1010  this->ContextMergerHandle::__accept_accessor__ (__visitor_);
1011  }
1012 };
1014 
1016 {
1018  Rapicorn::Aida::RemoteMember<TrackHandle> track;
1019  int tick;
1020  Rapicorn::Aida::RemoteMember<PartHandle> part;
1021  int duration;
1023  inline ClnT_PartLink () { tick = 0; duration = 0; }
1024  std::string __aida_type_name__ () const { return "Bse::PartLink"; }
1025  std::vector<std::string> __aida_aux_data__ () const;
1026  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
1027  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
1028  bool operator== (const ClnT_PartLink &other) const;
1029  bool operator!= (const ClnT_PartLink &other) const { return !operator== (other); }
1030  template<class Visitor> void __accept__ (Visitor &_visitor_)
1031  {
1032  _visitor_ (track, "track");
1033  _visitor_ (tick, "tick");
1034  _visitor_ (part, "part");
1035  _visitor_ (duration, "duration");
1036  }
1037 };
1038 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PartLink&);
1039 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PartLink&);
1040 
1041 struct ClnT_PartLinkSeq : public std::vector<ClnT_PartLink>
1042 {
1044  reference append_back()
1045  { resize (size() + 1); return back(); }
1046  std::string __aida_type_name__ () const { return "Bse::PartLinkSeq"; }
1047  std::vector<std::string> __aida_aux_data__ () const;
1048  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
1049  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
1050 };
1051 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PartLinkSeq&);
1052 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PartLinkSeq&);
1053 
1055 {
1057  int tick;
1058  Rapicorn::Aida::RemoteMember<PartHandle> part;
1059  int duration;
1061  inline ClnT_TrackPart () { tick = 0; duration = 0; }
1062  std::string __aida_type_name__ () const { return "Bse::TrackPart"; }
1063  std::vector<std::string> __aida_aux_data__ () const;
1064  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
1065  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
1066  bool operator== (const ClnT_TrackPart &other) const;
1067  bool operator!= (const ClnT_TrackPart &other) const { return !operator== (other); }
1068  template<class Visitor> void __accept__ (Visitor &_visitor_)
1069  {
1070  _visitor_ (tick, "tick");
1071  _visitor_ (part, "part");
1072  _visitor_ (duration, "duration");
1073  }
1074 };
1075 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_TrackPart&);
1076 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_TrackPart&);
1077 
1078 struct ClnT_TrackPartSeq : public std::vector<ClnT_TrackPart>
1079 {
1081  reference append_back()
1082  { resize (size() + 1); return back(); }
1083  std::string __aida_type_name__ () const { return "Bse::TrackPartSeq"; }
1084  std::vector<std::string> __aida_aux_data__ () const;
1085  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
1086  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
1087 };
1088 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_TrackPartSeq&);
1089 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_TrackPartSeq&);
1090 
1093 class BusHandle : public virtual SubSynthHandle
1095 {
1096  static BusHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
1097  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
1098 protected:
1099 public:
1100  virtual /*Des*/ ~BusHandle () override;
1101  template<class RemoteHandle>
1102  static BusHandle down_cast (RemoteHandle smh) { return smh == NULL ? BusHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
1103  explicit BusHandle ();
1104  Error ensure_output ();
1105  Error connect_bus (BusHandle &bus);
1106  Error connect_track (TrackHandle &track);
1107  Error disconnect_bus (BusHandle &bus);
1108  Error disconnect_track (TrackHandle &track);
1109  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1110  {
1111  this->SubSynthHandle::__accept_accessor__ (__visitor_);
1112  }
1113 };
1114 typedef BusHandle BusH;
1115 
1118 class SongHandle : public virtual SNetHandle
1120 {
1121  static SongHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
1122  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
1123 protected:
1124 public:
1125  virtual /*Des*/ ~SongHandle () override;
1126  template<class RemoteHandle>
1127  static SongHandle down_cast (RemoteHandle smh) { return smh == NULL ? SongHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
1128  explicit SongHandle ();
1129  double bpm () const;
1130  void bpm (double);
1131  MusicalTuning musical_tuning () const;
1132  void musical_tuning (MusicalTuning);
1133  ClnT_SongTiming get_timing (int tick);
1135  BusHandle create_bus ();
1136  void remove_bus (BusHandle &bus);
1137  PartHandle create_part ();
1138  void remove_part (PartHandle &part);
1140  void remove_track (TrackHandle &track);
1141  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1142  {
1143  __visitor_ (*this, "bpm", &SongHandle::bpm, &SongHandle::bpm);
1144  __visitor_ (*this, "musical_tuning", &SongHandle::musical_tuning, &SongHandle::musical_tuning);
1145  this->SNetHandle::__accept_accessor__ (__visitor_);
1146  }
1147 };
1149 
1151 {
1153  std::string file;
1154  int64_t size;
1155  int64_t mtime;
1156  std::string loader;
1157  ClnT_StringSeq waves;
1158  Error error;
1160  inline ClnT_SampleFileInfo () { size = 0; mtime = 0; error = Error (0); }
1161  std::string __aida_type_name__ () const { return "Bse::SampleFileInfo"; }
1162  std::vector<std::string> __aida_aux_data__ () const;
1163  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
1164  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
1165  bool operator== (const ClnT_SampleFileInfo &other) const;
1166  bool operator!= (const ClnT_SampleFileInfo &other) const { return !operator== (other); }
1167  template<class Visitor> void __accept__ (Visitor &_visitor_)
1168  {
1169  _visitor_ (file, "file");
1170  _visitor_ (size, "size");
1171  _visitor_ (mtime, "mtime");
1172  _visitor_ (loader, "loader");
1173  _visitor_ (waves, "waves");
1174  _visitor_ (error, "error");
1175  }
1176 };
1177 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_SampleFileInfo&);
1178 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_SampleFileInfo&);
1179 
1182 class EditableSampleHandle : public virtual ItemHandle
1184 {
1185  static EditableSampleHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
1186  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
1187 protected:
1188 public:
1189  virtual /*Des*/ ~EditableSampleHandle () override;
1190  template<class RemoteHandle>
1191  static EditableSampleHandle down_cast (RemoteHandle smh) { return smh == NULL ? EditableSampleHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
1192  explicit EditableSampleHandle ();
1193  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1194  {
1195  this->ItemHandle::__accept_accessor__ (__visitor_);
1196  }
1197 };
1199 
1202 class WaveHandle : public virtual SourceHandle
1204 {
1205  static WaveHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
1206  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
1207 protected:
1208 public:
1209  virtual /*Des*/ ~WaveHandle () override;
1210  template<class RemoteHandle>
1211  static WaveHandle down_cast (RemoteHandle smh) { return smh == NULL ? WaveHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
1212  explicit WaveHandle ();
1213  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1214  {
1215  this->SourceHandle::__accept_accessor__ (__visitor_);
1216  }
1217 };
1219 
1222 class WaveRepoHandle : public virtual SuperHandle
1224 {
1225  static WaveRepoHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
1226  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
1227 protected:
1228 public:
1229  virtual /*Des*/ ~WaveRepoHandle () override;
1230  template<class RemoteHandle>
1231  static WaveRepoHandle down_cast (RemoteHandle smh) { return smh == NULL ? WaveRepoHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
1232  explicit WaveRepoHandle ();
1233  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1234  {
1235  this->SuperHandle::__accept_accessor__ (__visitor_);
1236  }
1237 };
1239 
1242 class MidiNotifierHandle : public virtual ItemHandle
1244 {
1245  static MidiNotifierHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
1246  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
1247 protected:
1248 public:
1249  virtual /*Des*/ ~MidiNotifierHandle () override;
1250  template<class RemoteHandle>
1251  static MidiNotifierHandle down_cast (RemoteHandle smh) { return smh == NULL ? MidiNotifierHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
1252  explicit MidiNotifierHandle ();
1253  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1254  {
1255  this->ItemHandle::__accept_accessor__ (__visitor_);
1256  }
1257 };
1259 
1262 class MidiSynthHandle : public virtual SNetHandle
1264 {
1265  static MidiSynthHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
1266  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
1267 protected:
1268 public:
1269  virtual /*Des*/ ~MidiSynthHandle () override;
1270  template<class RemoteHandle>
1271  static MidiSynthHandle down_cast (RemoteHandle smh) { return smh == NULL ? MidiSynthHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
1272  explicit MidiSynthHandle ();
1273  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1274  {
1275  this->SNetHandle::__accept_accessor__ (__visitor_);
1276  }
1277 };
1279 
1282 class ProjectHandle : public virtual ContainerHandle
1284 {
1285  static ProjectHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
1286  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
1287 protected:
1288 public:
1289  virtual /*Des*/ ~ProjectHandle () override;
1290  template<class RemoteHandle>
1291  static ProjectHandle down_cast (RemoteHandle smh) { return smh == NULL ? ProjectHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
1292  explicit ProjectHandle ();
1293  void change_name (const std::string &name);
1294  Error play ();
1295  Error activate ();
1296  bool can_play ();
1297  bool is_playing ();
1298  bool is_active ();
1299  void start_playback ();
1300  void stop_playback ();
1301  void deactivate ();
1302  void stop ();
1303  void auto_deactivate (int msec_delay);
1304  int undo_depth ();
1305  void undo ();
1306  int redo_depth ();
1307  void redo ();
1308  void clear_undo ();
1309  void clean_dirty ();
1310  bool is_dirty ();
1311  void inject_midi_control (int midi_channel,
1312  int midi_control,
1313  double control_value);
1314  Error import_midi_file (const std::string &file_name);
1315  Error restore_from_file (const std::string &file_name);
1316  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1317  {
1318  this->ContainerHandle::__accept_accessor__ (__visitor_);
1319  }
1320 };
1322 
1325 class PcmWriterHandle : public virtual ItemHandle
1327 {
1328  static PcmWriterHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
1329  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
1330 protected:
1331 public:
1332  virtual /*Des*/ ~PcmWriterHandle () override;
1333  template<class RemoteHandle>
1334  static PcmWriterHandle down_cast (RemoteHandle smh) { return smh == NULL ? PcmWriterHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
1335  explicit PcmWriterHandle ();
1336  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1337  {
1338  this->ItemHandle::__accept_accessor__ (__visitor_);
1339  }
1340 };
1342 
1345 class ServerHandle : public virtual ObjectHandle
1347 {
1348  typedef Rapicorn::Aida::Connector<ServerHandle, void (const ClnT_UserMessage &umsg)> __Aida_Signal__user_message;
1349  size_t __aida_connect__user_message (size_t, const std::function<void (const ClnT_UserMessage &umsg)>&);
1350  static ServerHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
1351  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
1352 protected:
1353 public:
1354  virtual /*Des*/ ~ServerHandle () override;
1355  template<class RemoteHandle>
1356  static ServerHandle down_cast (RemoteHandle smh) { return smh == NULL ? ServerHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
1357  explicit ServerHandle ();
1358  __Aida_Signal__user_message sig_user_message () { return __Aida_Signal__user_message (*this, &ServerHandle::__aida_connect__user_message); }
1360  ObjectHandle from_proxy (int64_t proxyid);
1373  void save_preferences ();
1374  void register_ladspa_plugins ();
1375  void register_core_plugins ();
1376  void register_scripts ();
1377  bool preferences_locked ();
1378  int n_scripts ();
1379  bool can_load (const std::string &file_name);
1380  void start_recording (const std::string &wave_file,
1381  double n_seconds);
1382  ProjectHandle create_project (const std::string &project_name);
1383  void destroy_project (ProjectHandle &project);
1385  ClnT_AuxData find_module_type (const std::string &module_type);
1386  ClnT_Icon module_type_icon (const std::string &module_type);
1387  ClnT_SampleFileInfo sample_file_info (const std::string &file_name);
1388  ClnT_NoteDescription note_describe (MusicalTuning musical_tuning,
1389  int note,
1390  int fine_tune);
1391  ClnT_NoteDescription note_describe_from_freq (MusicalTuning musical_tuning,
1392  double freq);
1393  ClnT_NoteDescription note_construct (MusicalTuning musical_tuning,
1394  int semitone,
1395  int octave,
1396  int fine_tune);
1397  ClnT_NoteDescription note_from_string (MusicalTuning musical_tuning,
1398  const std::string &name);
1399  int note_from_freq (MusicalTuning musical_tuning,
1400  double frequency);
1401  double note_to_freq (MusicalTuning musical_tuning,
1402  int note,
1403  int fine_tune);
1404  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1405  {
1406  this->ObjectHandle::__accept_accessor__ (__visitor_);
1407  }
1408 };
1410 } // Bse
1411 
1412 // C++ Aliases
1413 #ifndef __BSE_IDL_ALIASES__
1414 #define __BSE_IDL_ALIASES__ 1
1415 #endif
1416 #if __BSE_IDL_ALIASES__ == 1
1417 namespace Bse {
1418 typedef ClnT_StringSeq StringSeq;
1419 typedef ClnT_PixelSeq PixelSeq;
1420 typedef ClnT_Icon Icon;
1421 typedef ClnT_AuxData AuxData;
1422 typedef ClnT_AuxDataSeq AuxDataSeq;
1423 typedef ClnT_UserMessage UserMessage;
1424 typedef ClnT_SongTiming SongTiming;
1425 typedef ClnT_NoteDescription NoteDescription;
1426 typedef ClnT_PartNote PartNote;
1427 typedef ClnT_PartNoteSeq PartNoteSeq;
1428 typedef ClnT_PartControl PartControl;
1429 typedef ClnT_PartControlSeq PartControlSeq;
1430 typedef ClnT_PartSeq PartSeq;
1431 typedef ClnT_PartLink PartLink;
1432 typedef ClnT_PartLinkSeq PartLinkSeq;
1433 typedef ClnT_TrackPart TrackPart;
1434 typedef ClnT_TrackPartSeq TrackPartSeq;
1435 typedef ClnT_SampleFileInfo SampleFileInfo;
1436 } // Bse
1437 #endif // __BSE_IDL_ALIASES__
1438 
1439 #endif /* __CLNT__BSE_IDL */
ClnT_PartLinkSeq list_links()
See Part::list_links()
void inject_midi_control(int midi_channel, int midi_control, double control_value)
See Project::inject_midi_control()
See also the corresponding IDL class Source.
Definition: bseclientapi.hh:834
Definition: bseclientapi.hh:383
ClnT_PartControlSeq get_channel_controls(int channel, int tick, int duration, MidiSignal control_type)
See Part::get_channel_controls()
std::string get_custom_effect_dir()
See Server::get_custom_effect_dir()
ClnT_PartSeq list_parts_uniq()
See Track::list_parts_uniq()
ClnT_PartControlSeq list_controls(int tick, int duration, MidiSignal control_type)
See Part::list_controls()
MidiNotifierHandle MidiNotifierH
Convenience alias for the IDL type MidiNotifier.
Definition: bseclientapi.hh:1258
std::string get_version()
See Server::get_version()
void save_preferences()
See Server::save_preferences()
ItemHandle common_ancestor(ItemHandle &other)
See Item::common_ancestor()
std::string get_sample_path()
See Server::get_sample_path()
WaveRepoHandle WaveRepoH
Convenience alias for the IDL type WaveRepo.
Definition: bseclientapi.hh:1238
SourceHandle get_output_source()
See Track::get_output_source()
Definition: bseclientapi.hh:664
Definition: bseclientapi.hh:1054
void queue_controls(int tick, int duration)
See Part::queue_controls()
ClnT_SongTiming get_timing(int tick)
See Part::get_timing()
ObjectHandle ObjectH
Convenience alias for the IDL type Object.
Definition: bseclientapi.hh:604
double bpm() const
See Song::bpm.
Definition: bseclientapi.hh:1041
std::string get_demo_path()
See Server::get_demo_path()
bool is_dirty()
See Project::is_dirty()
void remove_tick(int tick)
See Track::remove_tick()
Definition: bseclientapi.hh:420
bool is_event_selected(int id)
See Part::is_event_selected()
TrackHandle create_track()
See Song::create_track()
See also the corresponding IDL class Part.
Definition: bseclientapi.hh:721
ProjectHandle ProjectH
Convenience alias for the IDL type Project.
Definition: bseclientapi.hh:1321
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:88
Error change_control(int id, int tick, MidiSignal control_type, double value)
See Part::change_control()
void deselect_controls(int tick, int duration, MidiSignal control_type)
See Part::deselect_controls()
void remove_bus(BusHandle &bus)
See Song::remove_bus()
PartHandle PartH
Convenience alias for the IDL type Part.
Definition: bseclientapi.hh:816
void register_core_plugins()
See Server::register_core_plugins()
std::string debug_name()
See Object::debug_name()
Definition: bstserverapi.cc:585
ClnT_Icon icon() const
See Item::icon.
int get_min_note()
See Part::get_min_note()
Error connect_bus(BusHandle &bus)
See Bus::connect_bus()
Definition: bseclientapi.hh:370
int undo_depth()
See Project::undo_depth()
ClnT_NoteDescription note_construct(MusicalTuning musical_tuning, int semitone, int octave, int fine_tune)
See Server::note_construct()
int redo_depth()
See Project::redo_depth()
Definition: bseclientapi.hh:677
typedef int64_t
Error restore_from_file(const std::string &file_name)
See Project::restore_from_file()
Definition: bseclientapi.hh:396
Definition: bseclientapi.hh:1078
ClnT_AuxDataSeq list_module_types()
See Server::list_module_types()
Error delete_event(int id)
See Part::delete_event()
Error play()
See Project::play()
See also the corresponding IDL class TestObject.
Definition: bseclientapi.hh:458
See also the corresponding IDL class MidiSynth.
Definition: bseclientapi.hh:1263
bool is_playing()
See Project::is_playing()
std::string get_script_path()
See Server::get_script_path()
void stop_playback()
See Project::stop_playback()
bool auto_activate() const
See SNet::auto_activate.
void start_playback()
See Project::start_playback()
bool can_load(const std::string &file_name)
See Server::can_load()
See also the corresponding IDL class Container.
Definition: bseclientapi.hh:876
ClnT_SongTiming get_timing(int tick)
See Track::get_timing()
bool supports_user_synths()
See SNet::supports_user_synths()
TestObjectHandle get_test_object()
See Server::get_test_object()
std::string get_ladspa_path()
See Server::get_ladspa_path()
void clean_dirty()
See Project::clean_dirty()
ClnT_PartNoteSeq check_overlap(int tick, int duration, int note)
See Part::check_overlap()
int get_max_note()
See Part::get_max_note()
See also the corresponding IDL class Item.
Definition: bseclientapi.hh:609
void select_controls_exclusive(int tick, int duration, MidiSignal control_type)
See Part::select_controls_exclusive()
std::string resize(std::string...args)
Definition: bseclientapi.hh:539
void remove_link(int id)
See Track::remove_link()
See also the corresponding IDL class EditableSample.
Definition: bseclientapi.hh:1183
STL class.
void change_name(const std::string &name)
See Project::change_name()
Definition: bseclientapi.hh:442
See also the corresponding IDL class Project.
Definition: bseclientapi.hh:1283
Error ensure_output()
See Bus::ensure_output()
Indicate a message about an error condition.
Definition: bseapi.idl:411
ObjectHandle from_proxy(int64_t proxyid)
See Server::from_proxy()
MidiSynthHandle MidiSynthH
Convenience alias for the IDL type MidiSynth.
Definition: bseclientapi.hh:1278
ItemHandle lookup_item(const std::string &uname)
See Container::lookup_item()
EditableSampleHandle EditableSampleH
Convenience alias for the IDL type EditableSample.
Definition: bseclientapi.hh:1198
See also the corresponding IDL class Bus.
Definition: bseclientapi.hh:1094
Definition: bseclientapi.hh:818
int insert_part(int tick, PartHandle &part)
See Track::insert_part()
SourceHandle create_source(const std::string &module_type)
See SNet::create_source()
void select_event(int id)
See Part::select_event()
Error import_midi_file(const std::string &file_name)
See Project::import_midi_file()
BusHandle create_bus()
See Song::create_bus()
void select_notes_exclusive(int tick, int duration, int min_note, int max_note)
See Part::select_notes_exclusive()
void auto_deactivate(int msec_delay)
See Project::auto_deactivate()
void destroy_project(ProjectHandle &project)
See Server::destroy_project()
SubSynthHandle SubSynthH
Convenience alias for the IDL type SubSynth.
Definition: bseclientapi.hh:982
std::string get_effect_path()
See Server::get_effect_path()
Indicate an informational message.
Definition: bseapi.idl:413
int get_last_tick()
See Track::get_last_tick()
void deselect_notes(int tick, int duration, int min_note, int max_note)
See Part::deselect_notes()
Definition: bseclientapi.hh:477
ProjectHandle create_project(const std::string &project_name)
See Server::create_project()
MusicalTuning musical_tuning() const
See Song::musical_tuning.
double note_to_freq(MusicalTuning musical_tuning, int note, int fine_tune)
See Server::note_to_freq()
void register_scripts()
See Server::register_scripts()
SongHandle SongH
Convenience alias for the IDL type Song.
Definition: bseclientapi.hh:1148
Definition: bseclientapi.hh:1150
int insert_note_auto(int tick, int duration, int note, int fine_tune, double velocity)
See Part::insert_note_auto()
Definition: bseclientapi.hh:630
TestObjectHandle TestObjectH
Convenience alias for the IDL type TestObject.
Definition: bseclientapi.hh:475
See also the corresponding IDL class Server.
Definition: bseclientapi.hh:1346
bool is_active()
See Project::is_active()
ContextMergerHandle ContextMergerH
Convenience alias for the IDL type ContextMerger.
Definition: bseclientapi.hh:871
Error connect_track(TrackHandle &track)
See Bus::connect_track()
bool preferences_locked()
See Server::preferences_locked()
ClnT_SongTiming get_timing(int tick)
See Song::get_timing()
int note_from_freq(MusicalTuning musical_tuning, double frequency)
See Server::note_from_freq()
int echo_test(const std::string &msg)
See TestObject::echo_test()
int n_scripts()
See Server::n_scripts()
void deselect_event(int id)
See Part::deselect_event()
SuperHandle SuperH
Convenience alias for the IDL type Super.
Definition: bseclientapi.hh:912
ClnT_PartNoteSeq list_notes_within(int channel, int tick, int duration)
See Part::list_notes_within()
See also the corresponding IDL class Song.
Definition: bseclientapi.hh:1119
ServerHandle ServerH
Convenience alias for the IDL type Server.
Definition: bseclientapi.hh:1409
PartHandle get_part(int tick)
See Track::get_part()
See also the corresponding IDL class CSynth.
Definition: bseclientapi.hh:947
std::string get_mp3_version()
See Server::get_mp3_version()
int insert_note(int channel, int tick, int duration, int note, int fine_tune, double velocity)
See Part::insert_note()
ItemHandle ItemH
Convenience alias for the IDL type Item.
Definition: bseclientapi.hh:628
See also the corresponding IDL class SubSynth.
Definition: bseclientapi.hh:967
Error disconnect_track(TrackHandle &track)
See Bus::disconnect_track()
ClnT_AuxData find_module_type(const std::string &module_type)
See Server::find_module_type()
SourceHandle SourceH
Convenience alias for the IDL type Source.
Definition: bseclientapi.hh:851
Error can_create_source(const std::string &module_type)
See SNet::can_create_source()
ContainerHandle ContainerH
Convenience alias for the IDL type Container.
Definition: bseclientapi.hh:892
Error remove_source(SourceHandle &module)
See SNet::remove_source()
Error activate()
See Project::activate()
std::string size(std::string...args)
void queue_notes(int tick, int duration, int min_note, int max_note)
See Part::queue_notes()
STL class.
UserMessageType
Definition: bseapi.idl:410
See also the corresponding IDL class Wave.
Definition: bseclientapi.hh:1203
Indicate a debugging message (usually insignificant).
Definition: bseapi.idl:414
ClnT_PartControlSeq get_controls(int tick, MidiSignal control_type)
See Part::get_controls()
int64_t proxy_id()
See Object::proxy_id()
Error ensure_output()
See Track::ensure_output()
std::string get_instrument_path()
See Server::get_instrument_path()
See also the corresponding IDL class SNet.
Definition: bseclientapi.hh:917
ClnT_PartNoteSeq get_notes(int tick, int note)
See Part::get_notes()
Indicate a message about a possibly harmful condition.
Definition: bseapi.idl:412
void remove_track(TrackHandle &track)
See Song::remove_track()
ClnT_TrackPartSeq list_parts()
See Track::list_parts()
Definition: bseclientapi.hh:507
See also the corresponding IDL class Track.
Definition: bseclientapi.hh:987
std::string back(std::string...args)
See also the corresponding IDL class MidiNotifier.
Definition: bseclientapi.hh:1243
CSynthHandle CSynthH
Convenience alias for the IDL type CSynth.
Definition: bseclientapi.hh:962
std::string get_vorbis_version()
See Server::get_vorbis_version()
See also the corresponding IDL class PcmWriter.
Definition: bseclientapi.hh:1326
WaveHandle WaveH
Convenience alias for the IDL type Wave.
Definition: bseclientapi.hh:1218
Definition: bseclientapi.hh:705
void redo()
See Project::redo()
void deactivate()
See Project::deactivate()
Error change_note(int id, int tick, int duration, int note, int fine_tune, double velocity)
See Part::change_note()
ClnT_NoteDescription note_from_string(MusicalTuning musical_tuning, const std::string &name)
See Server::note_from_string()
void remove_part(PartHandle &part)
See Song::remove_part()
void start_recording(const std::string &wave_file, double n_seconds)
See Server::start_recording()
TrackHandle TrackH
Convenience alias for the IDL type Track.
Definition: bseclientapi.hh:1013
ClnT_PartNoteSeq list_selected_notes()
See Part::list_selected_notes()
std::string get_plugin_path()
See Server::get_plugin_path()
TrackHandle find_any_track_for_part(PartHandle &part)
See Song::find_any_track_for_part()
ClnT_SampleFileInfo sample_file_info(const std::string &file_name)
See Server::sample_file_info()
void register_ladspa_plugins()
See Server::register_ladspa_plugins()
Error disconnect_bus(BusHandle &bus)
See Bus::disconnect_bus()
void select_notes(int tick, int duration, int min_note, int max_note)
See Part::select_notes()
int insert_control(int tick, MidiSignal control_type, double value)
See Part::insert_control()
ClnT_Icon module_type_icon(const std::string &module_type)
See Server::module_type_icon()
SourceHandle ichannel_get_osource(int input_channel, int input_joint)
See Source::ichannel_get_osource()
PcmWriterHandle PcmWriterH
Convenience alias for the IDL type PcmWriter.
Definition: bseclientapi.hh:1341
See also the corresponding IDL class Super.
Definition: bseclientapi.hh:897
void undo()
See Project::undo()
void select_controls(int tick, int duration, MidiSignal control_type)
See Part::select_controls()
void stop()
See Project::stop()
See also the corresponding IDL class Object.
Definition: bseclientapi.hh:586
void clear_undo()
See Project::clear_undo()
SNetHandle SNetH
Convenience alias for the IDL type SNet.
Definition: bseclientapi.hh:942
BusHandle BusH
Convenience alias for the IDL type Bus.
Definition: bseclientapi.hh:1114
ClnT_PartControlSeq list_selected_controls(MidiSignal control_type)
See Part::list_selected_controls()
ClnT_PartNoteSeq list_notes_crossing(int tick, int duration)
See Part::list_notes_crossing()
ClnT_NoteDescription note_describe_from_freq(MusicalTuning musical_tuning, double freq)
See Server::note_describe_from_freq()
ClnT_NoteDescription note_describe(MusicalTuning musical_tuning, int note, int fine_tune)
See Server::note_describe()
PartHandle create_part()
See Song::create_part()
See also the corresponding IDL class WaveRepo.
Definition: bseclientapi.hh:1223
bool can_play()
See Project::can_play()
std::string get_custom_instrument_dir()
See Server::get_custom_instrument_dir()
See also the corresponding IDL class ContextMerger.
Definition: bseclientapi.hh:856
uname