BEAST - Free Software Audio Synthesizer and Tracker  0.9.2
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 #ifndef __ENUMHH__BSE_IDL__
10 #define __ENUMHH__BSE_IDL__
11 
12 namespace Bse {
13 
15 enum ErrorType {
16  ERROR_NONE = 0, // _("OK")
17  ERROR_INTERNAL = 1, // _("Internal error (please report)")
18  ERROR_UNKNOWN = 2, // _("Unknown error")
19  ERROR_IO = 3, // _("Input/output error")
20  ERROR_PERMS = 4, // _("Insufficient permissions")
21  ERROR_FILE_BUSY = 5, // _("Device or resource busy")
22  ERROR_FILE_EXISTS = 6, // _("File exists already")
23  ERROR_FILE_EOF = 7, // _("End of file")
24  ERROR_FILE_EMPTY = 8, // _("File empty")
25  ERROR_FILE_NOT_FOUND = 9, // _("No such file, device or directory")
26  ERROR_FILE_IS_DIR = 10, // _("Is a directory")
27  ERROR_FILE_OPEN_FAILED = 11, // _("Open failed")
28  ERROR_FILE_SEEK_FAILED = 12, // _("Seek failed")
29  ERROR_FILE_READ_FAILED = 13, // _("Read failed")
30  ERROR_FILE_WRITE_FAILED = 14, // _("Write failed")
31  ERROR_MANY_FILES = 15, // _("Too many open files")
32  ERROR_NO_FILES = 16, // _("Too many open files in system")
33  ERROR_NO_SPACE = 17, // _("No space left on device")
34  ERROR_NO_MEMORY = 18, // _("Out of memory")
35  ERROR_NO_HEADER = 19, // _("Failed to detect header")
36  ERROR_NO_SEEK_INFO = 20, // _("Failed to retrieve seek information")
37  ERROR_NO_DATA = 21, // _("No data available")
38  ERROR_DATA_CORRUPT = 22, // _("Data corrupt")
39  ERROR_WRONG_N_CHANNELS = 23, // _("Wrong number of channels")
40  ERROR_FORMAT_INVALID = 24, // _("Invalid format")
41  ERROR_FORMAT_UNKNOWN = 25, // _("Unknown format")
42  ERROR_DATA_UNMATCHED = 26, // _("Requested data values unmatched")
43  ERROR_TEMP = 27, // _("Temporary error")
44  ERROR_WAVE_NOT_FOUND = 28, // _("No such wave")
45  ERROR_CODEC_FAILURE = 29, // _("Codec failure")
46  ERROR_UNIMPLEMENTED = 30, // _("Functionality not implemented")
47  ERROR_INVALID_PROPERTY = 31, // _("Invalid object property")
48  ERROR_INVALID_MIDI_CONTROL = 32, // _("Invalid MIDI control type")
49  ERROR_PARSE_ERROR = 33, // _("Parsing error")
50  ERROR_SPAWN = 34, // _("Failed to spawn child process")
51  ERROR_DEVICE_NOT_AVAILABLE = 35, // _("No device (driver) available")
52  ERROR_DEVICE_ASYNC = 36, // _("Device not async capable")
53  ERROR_DEVICE_BUSY = 37, // _("Device busy")
54  ERROR_DEVICE_FORMAT = 38, // _("Failed to configure device format")
55  ERROR_DEVICE_BUFFER = 39, // _("Failed to configure device buffer")
56  ERROR_DEVICE_LATENCY = 40, // _("Failed to configure device latency")
57  ERROR_DEVICE_CHANNELS = 41, // _("Failed to configure number of device channels")
58  ERROR_DEVICE_FREQUENCY = 42, // _("Failed to configure device frequency")
59  ERROR_DEVICES_MISMATCH = 43, // _("Device configurations mismatch")
60  ERROR_SOURCE_NO_SUCH_MODULE = 44, // _("No such synthesis module")
61  ERROR_SOURCE_NO_SUCH_ICHANNEL = 45, // _("No such input channel")
62  ERROR_SOURCE_NO_SUCH_OCHANNEL = 46, // _("No such output channel")
63  ERROR_SOURCE_NO_SUCH_CONNECTION = 47, // _("Input/Output channels not connected")
64  ERROR_SOURCE_PRIVATE_ICHANNEL = 48, // _("Input channel is private")
65  ERROR_SOURCE_ICHANNEL_IN_USE = 49, // _("Input channel already in use")
66  ERROR_SOURCE_CHANNELS_CONNECTED = 50, // _("Input/output channels already connected")
67  ERROR_SOURCE_CONNECTION_INVALID = 51, // _("Invalid synthesis module connection")
68  ERROR_SOURCE_PARENT_MISMATCH = 52, // _("Parent mismatch")
69  ERROR_SOURCE_BAD_LOOPBACK = 53, // _("Bad loopback")
70  ERROR_SOURCE_BUSY = 54, // _("Synthesis module currently busy")
71  ERROR_SOURCE_TYPE_INVALID = 55, // _("Invalid synthsis module type")
72  ERROR_PROC_NOT_FOUND = 56, // _("No such procedure")
73  ERROR_PROC_BUSY = 57, // _("Procedure currently busy")
74  ERROR_PROC_PARAM_INVAL = 58, // _("Procedure parameter invalid")
75  ERROR_PROC_EXECUTION = 59, // _("Procedure execution failed")
76  ERROR_PROC_ABORT = 60, // _("Procedure execution aborted")
77  ERROR_NO_ENTRY = 61, // _("No such entry")
78  ERROR_NO_EVENT = 62, // _("No such event")
79  ERROR_NO_TARGET = 63, // _("No target")
80  ERROR_NOT_OWNER = 64, // _("Ownership mismatch")
81  ERROR_INVALID_OFFSET = 65, // _("Invalid offset")
82  ERROR_INVALID_DURATION = 66, // _("Invalid duration")
83  ERROR_INVALID_OVERLAP = 67, // _("Invalid overlap")
84 };
85 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, ErrorType e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
86 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, ErrorType &e) { e = ErrorType (__f_.pop_evalue()); }
88 
90 enum MidiSignalType {
91  MIDI_SIGNAL_PROGRAM = 1,
92  MIDI_SIGNAL_PRESSURE = 2,
93  MIDI_SIGNAL_PITCH_BEND = 3,
94  MIDI_SIGNAL_VELOCITY = 4,
95  MIDI_SIGNAL_FINE_TUNE = 5,
96  MIDI_SIGNAL_CONTINUOUS_0 = 64,
97  MIDI_SIGNAL_CONTINUOUS_1 = 65,
98  MIDI_SIGNAL_CONTINUOUS_2 = 66,
99  MIDI_SIGNAL_CONTINUOUS_3 = 67,
100  MIDI_SIGNAL_CONTINUOUS_4 = 68,
101  MIDI_SIGNAL_CONTINUOUS_5 = 69,
102  MIDI_SIGNAL_CONTINUOUS_6 = 70,
103  MIDI_SIGNAL_CONTINUOUS_7 = 71,
104  MIDI_SIGNAL_CONTINUOUS_8 = 72,
105  MIDI_SIGNAL_CONTINUOUS_9 = 73,
106  MIDI_SIGNAL_CONTINUOUS_10 = 74,
107  MIDI_SIGNAL_CONTINUOUS_11 = 75,
108  MIDI_SIGNAL_CONTINUOUS_12 = 76,
109  MIDI_SIGNAL_CONTINUOUS_13 = 77,
110  MIDI_SIGNAL_CONTINUOUS_14 = 78,
111  MIDI_SIGNAL_CONTINUOUS_15 = 79,
112  MIDI_SIGNAL_CONTINUOUS_16 = 80,
113  MIDI_SIGNAL_CONTINUOUS_17 = 81,
114  MIDI_SIGNAL_CONTINUOUS_18 = 82,
115  MIDI_SIGNAL_CONTINUOUS_19 = 83,
116  MIDI_SIGNAL_CONTINUOUS_20 = 84,
117  MIDI_SIGNAL_CONTINUOUS_21 = 85,
118  MIDI_SIGNAL_CONTINUOUS_22 = 86,
119  MIDI_SIGNAL_CONTINUOUS_23 = 87,
120  MIDI_SIGNAL_CONTINUOUS_24 = 88,
121  MIDI_SIGNAL_CONTINUOUS_25 = 89,
122  MIDI_SIGNAL_CONTINUOUS_26 = 90,
123  MIDI_SIGNAL_CONTINUOUS_27 = 91,
124  MIDI_SIGNAL_CONTINUOUS_28 = 92,
125  MIDI_SIGNAL_CONTINUOUS_29 = 93,
126  MIDI_SIGNAL_CONTINUOUS_30 = 94,
127  MIDI_SIGNAL_CONTINUOUS_31 = 95,
128  MIDI_SIGNAL_CONSTANT_HIGH = 96,
129  MIDI_SIGNAL_CONSTANT_CENTER = 97,
130  MIDI_SIGNAL_CONSTANT_LOW = 98,
131  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER = 99,
132  MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH = 100,
133  MIDI_SIGNAL_PARAMETER = 101,
134  MIDI_SIGNAL_NON_PARAMETER = 102,
135  MIDI_SIGNAL_CONTROL_0 = 128,
136  MIDI_SIGNAL_CONTROL_1 = 129,
137  MIDI_SIGNAL_CONTROL_2 = 130,
138  MIDI_SIGNAL_CONTROL_3 = 131,
139  MIDI_SIGNAL_CONTROL_4 = 132,
140  MIDI_SIGNAL_CONTROL_5 = 133,
141  MIDI_SIGNAL_CONTROL_6 = 134,
142  MIDI_SIGNAL_CONTROL_7 = 135,
143  MIDI_SIGNAL_CONTROL_8 = 136,
144  MIDI_SIGNAL_CONTROL_9 = 137,
145  MIDI_SIGNAL_CONTROL_10 = 138,
146  MIDI_SIGNAL_CONTROL_11 = 139,
147  MIDI_SIGNAL_CONTROL_12 = 140,
148  MIDI_SIGNAL_CONTROL_13 = 141,
149  MIDI_SIGNAL_CONTROL_14 = 142,
150  MIDI_SIGNAL_CONTROL_15 = 143,
151  MIDI_SIGNAL_CONTROL_16 = 144,
152  MIDI_SIGNAL_CONTROL_17 = 145,
153  MIDI_SIGNAL_CONTROL_18 = 146,
154  MIDI_SIGNAL_CONTROL_19 = 147,
155  MIDI_SIGNAL_CONTROL_20 = 148,
156  MIDI_SIGNAL_CONTROL_21 = 149,
157  MIDI_SIGNAL_CONTROL_22 = 150,
158  MIDI_SIGNAL_CONTROL_23 = 151,
159  MIDI_SIGNAL_CONTROL_24 = 152,
160  MIDI_SIGNAL_CONTROL_25 = 153,
161  MIDI_SIGNAL_CONTROL_26 = 154,
162  MIDI_SIGNAL_CONTROL_27 = 155,
163  MIDI_SIGNAL_CONTROL_28 = 156,
164  MIDI_SIGNAL_CONTROL_29 = 157,
165  MIDI_SIGNAL_CONTROL_30 = 158,
166  MIDI_SIGNAL_CONTROL_31 = 159,
167  MIDI_SIGNAL_CONTROL_32 = 160,
168  MIDI_SIGNAL_CONTROL_33 = 161,
169  MIDI_SIGNAL_CONTROL_34 = 162,
170  MIDI_SIGNAL_CONTROL_35 = 163,
171  MIDI_SIGNAL_CONTROL_36 = 164,
172  MIDI_SIGNAL_CONTROL_37 = 165,
173  MIDI_SIGNAL_CONTROL_38 = 166,
174  MIDI_SIGNAL_CONTROL_39 = 167,
175  MIDI_SIGNAL_CONTROL_40 = 168,
176  MIDI_SIGNAL_CONTROL_41 = 169,
177  MIDI_SIGNAL_CONTROL_42 = 170,
178  MIDI_SIGNAL_CONTROL_43 = 171,
179  MIDI_SIGNAL_CONTROL_44 = 172,
180  MIDI_SIGNAL_CONTROL_45 = 173,
181  MIDI_SIGNAL_CONTROL_46 = 174,
182  MIDI_SIGNAL_CONTROL_47 = 175,
183  MIDI_SIGNAL_CONTROL_48 = 176,
184  MIDI_SIGNAL_CONTROL_49 = 177,
185  MIDI_SIGNAL_CONTROL_50 = 178,
186  MIDI_SIGNAL_CONTROL_51 = 179,
187  MIDI_SIGNAL_CONTROL_52 = 180,
188  MIDI_SIGNAL_CONTROL_53 = 181,
189  MIDI_SIGNAL_CONTROL_54 = 182,
190  MIDI_SIGNAL_CONTROL_55 = 183,
191  MIDI_SIGNAL_CONTROL_56 = 184,
192  MIDI_SIGNAL_CONTROL_57 = 185,
193  MIDI_SIGNAL_CONTROL_58 = 186,
194  MIDI_SIGNAL_CONTROL_59 = 187,
195  MIDI_SIGNAL_CONTROL_60 = 188,
196  MIDI_SIGNAL_CONTROL_61 = 189,
197  MIDI_SIGNAL_CONTROL_62 = 190,
198  MIDI_SIGNAL_CONTROL_63 = 191,
199  MIDI_SIGNAL_CONTROL_64 = 192,
200  MIDI_SIGNAL_CONTROL_65 = 193,
201  MIDI_SIGNAL_CONTROL_66 = 194,
202  MIDI_SIGNAL_CONTROL_67 = 195,
203  MIDI_SIGNAL_CONTROL_68 = 196,
204  MIDI_SIGNAL_CONTROL_69 = 197,
205  MIDI_SIGNAL_CONTROL_70 = 198,
206  MIDI_SIGNAL_CONTROL_71 = 199,
207  MIDI_SIGNAL_CONTROL_72 = 200,
208  MIDI_SIGNAL_CONTROL_73 = 201,
209  MIDI_SIGNAL_CONTROL_74 = 202,
210  MIDI_SIGNAL_CONTROL_75 = 203,
211  MIDI_SIGNAL_CONTROL_76 = 204,
212  MIDI_SIGNAL_CONTROL_77 = 205,
213  MIDI_SIGNAL_CONTROL_78 = 206,
214  MIDI_SIGNAL_CONTROL_79 = 207,
215  MIDI_SIGNAL_CONTROL_80 = 208,
216  MIDI_SIGNAL_CONTROL_81 = 209,
217  MIDI_SIGNAL_CONTROL_82 = 210,
218  MIDI_SIGNAL_CONTROL_83 = 211,
219  MIDI_SIGNAL_CONTROL_84 = 212,
220  MIDI_SIGNAL_CONTROL_85 = 213,
221  MIDI_SIGNAL_CONTROL_86 = 214,
222  MIDI_SIGNAL_CONTROL_87 = 215,
223  MIDI_SIGNAL_CONTROL_88 = 216,
224  MIDI_SIGNAL_CONTROL_89 = 217,
225  MIDI_SIGNAL_CONTROL_90 = 218,
226  MIDI_SIGNAL_CONTROL_91 = 219,
227  MIDI_SIGNAL_CONTROL_92 = 220,
228  MIDI_SIGNAL_CONTROL_93 = 221,
229  MIDI_SIGNAL_CONTROL_94 = 222,
230  MIDI_SIGNAL_CONTROL_95 = 223,
231  MIDI_SIGNAL_CONTROL_96 = 224,
232  MIDI_SIGNAL_CONTROL_97 = 225,
233  MIDI_SIGNAL_CONTROL_98 = 226,
234  MIDI_SIGNAL_CONTROL_99 = 227,
235  MIDI_SIGNAL_CONTROL_100 = 228,
236  MIDI_SIGNAL_CONTROL_101 = 229,
237  MIDI_SIGNAL_CONTROL_102 = 230,
238  MIDI_SIGNAL_CONTROL_103 = 231,
239  MIDI_SIGNAL_CONTROL_104 = 232,
240  MIDI_SIGNAL_CONTROL_105 = 233,
241  MIDI_SIGNAL_CONTROL_106 = 234,
242  MIDI_SIGNAL_CONTROL_107 = 235,
243  MIDI_SIGNAL_CONTROL_108 = 236,
244  MIDI_SIGNAL_CONTROL_109 = 237,
245  MIDI_SIGNAL_CONTROL_110 = 238,
246  MIDI_SIGNAL_CONTROL_111 = 239,
247  MIDI_SIGNAL_CONTROL_112 = 240,
248  MIDI_SIGNAL_CONTROL_113 = 241,
249  MIDI_SIGNAL_CONTROL_114 = 242,
250  MIDI_SIGNAL_CONTROL_115 = 243,
251  MIDI_SIGNAL_CONTROL_116 = 244,
252  MIDI_SIGNAL_CONTROL_117 = 245,
253  MIDI_SIGNAL_CONTROL_118 = 246,
254  MIDI_SIGNAL_CONTROL_119 = 247,
255  MIDI_SIGNAL_CONTROL_120 = 248,
256  MIDI_SIGNAL_CONTROL_121 = 249,
257  MIDI_SIGNAL_CONTROL_122 = 250,
258  MIDI_SIGNAL_CONTROL_123 = 251,
259  MIDI_SIGNAL_CONTROL_124 = 252,
260  MIDI_SIGNAL_CONTROL_125 = 253,
261  MIDI_SIGNAL_CONTROL_126 = 254,
262  MIDI_SIGNAL_CONTROL_127 = 255,
263 };
264 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, MidiSignalType e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
265 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, MidiSignalType &e) { e = MidiSignalType (__f_.pop_evalue()); }
267 
269 enum UserMessageType {
270  ERROR = 1,
271  WARNING = 2,
272  INFO = 3,
273  DEBUG = 4,
274 };
275 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, UserMessageType e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
276 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, UserMessageType &e) { e = UserMessageType (__f_.pop_evalue()); }
278 } // Bse
279 
280 namespace Rapicorn {
281 
282 namespace Aida {
283 template<> EnumInfo enum_info<Bse::ErrorType> ();
284 template<> EnumInfo enum_info<Bse::MidiSignalType> ();
285 template<> EnumInfo enum_info<Bse::UserMessageType> ();
286 } // Aida
287 } // Rapicorn
288 
289 #endif // __ENUMHH__BSE_IDL__
290 
291 
292 // --- Interfaces (class declarations) ---
293 
294 namespace Bse {
295 
298 class TestObjectHandle : public virtual Rapicorn::Aida::RemoteHandle
300 {
301  typedef Rapicorn::Aida::Connector<TestObjectHandle, void (const std::string &msg)> __Aida_Signal__echo_reply;
302  size_t __aida_connect__echo_reply (size_t, const std::function<void (const std::string &msg)>&);
303  static TestObjectHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
304  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
305 protected:
306 public:
307  virtual /*Des*/ ~TestObjectHandle () override;
308  template<class RemoteHandle>
309  static TestObjectHandle down_cast (RemoteHandle smh) { return smh == NULL ? TestObjectHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
310  explicit TestObjectHandle ();
311  __Aida_Signal__echo_reply sig_echo_reply () { return __Aida_Signal__echo_reply (*this, &TestObjectHandle::__aida_connect__echo_reply); }
312  int echo_test (const std::string &msg);
313  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
314  {}
315 };
317 
319 {
321  UserMessageType type;
322  std::string title;
323  std::string text1;
324  std::string text2;
325  std::string text3;
326  std::string label;
328  inline ClnT_UserMessage () { type = UserMessageType (0); }
329  std::string __aida_type_name__ () const { return "Bse::UserMessage"; }
330  std::vector<std::string> __aida_aux_data__ () const;
331  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
332  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
333  bool operator== (const ClnT_UserMessage &other) const;
334  bool operator!= (const ClnT_UserMessage &other) const { return !operator== (other); }
335  template<class Visitor> void __accept__ (Visitor &_visitor_)
336  {
337  _visitor_ (type, "type");
338  _visitor_ (title, "title");
339  _visitor_ (text1, "text1");
340  _visitor_ (text2, "text2");
341  _visitor_ (text3, "text3");
342  _visitor_ (label, "label");
343  }
344 };
345 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_UserMessage&);
346 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_UserMessage&);
347 
349 {
351  int tick;
352  double bpm;
353  int numerator;
354  int denominator;
355  int tpqn;
356  int tpt;
357  double stamp_ticks;
359  inline ClnT_SongTiming () { tick = 0; bpm = 0; numerator = 0; denominator = 0; tpqn = 0; tpt = 0; stamp_ticks = 0; }
360  std::string __aida_type_name__ () const { return "Bse::SongTiming"; }
361  std::vector<std::string> __aida_aux_data__ () const;
362  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
363  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
364  bool operator== (const ClnT_SongTiming &other) const;
365  bool operator!= (const ClnT_SongTiming &other) const { return !operator== (other); }
366  template<class Visitor> void __accept__ (Visitor &_visitor_)
367  {
368  _visitor_ (tick, "tick");
369  _visitor_ (bpm, "bpm");
370  _visitor_ (numerator, "numerator");
371  _visitor_ (denominator, "denominator");
372  _visitor_ (tpqn, "tpqn");
373  _visitor_ (tpt, "tpt");
374  _visitor_ (stamp_ticks, "stamp_ticks");
375  }
376 };
377 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_SongTiming&);
378 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_SongTiming&);
379 
380 class ClnT_PartLink;
381 
382 class ClnT_PartLinkSeq;
383 
386 class ObjectHandle : public virtual Rapicorn::Aida::RemoteHandle
388 {
389  static ObjectHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
390  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
391 protected:
392 public:
393  virtual /*Des*/ ~ObjectHandle () override;
394  template<class RemoteHandle>
395  static ObjectHandle down_cast (RemoteHandle smh) { return smh == NULL ? ObjectHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
396  explicit ObjectHandle ();
398  int64_t proxy_id ();
399  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
400  {}
401 };
403 
406 class ItemHandle : public virtual ObjectHandle
408 {
409  static ItemHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
410  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
411 protected:
412 public:
413  virtual /*Des*/ ~ItemHandle () override;
414  template<class RemoteHandle>
415  static ItemHandle down_cast (RemoteHandle smh) { return smh == NULL ? ItemHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
416  explicit ItemHandle ();
418  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
419  {
420  this->ObjectHandle::__accept_accessor__ (__visitor_);
421  }
422 };
423 typedef ItemHandle ItemH;
424 
426 {
428  int id;
429  int channel;
430  int tick;
431  int duration;
432  int note;
433  int fine_tune;
434  double velocity;
435  bool selected;
437  inline ClnT_PartNote () { id = 0; channel = 0; tick = 0; duration = 0; note = 0; fine_tune = 0; velocity = 0; selected = 0; }
438  std::string __aida_type_name__ () const { return "Bse::PartNote"; }
439  std::vector<std::string> __aida_aux_data__ () const;
440  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
441  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
442  bool operator== (const ClnT_PartNote &other) const;
443  bool operator!= (const ClnT_PartNote &other) const { return !operator== (other); }
444  template<class Visitor> void __accept__ (Visitor &_visitor_)
445  {
446  _visitor_ (id, "id");
447  _visitor_ (channel, "channel");
448  _visitor_ (tick, "tick");
449  _visitor_ (duration, "duration");
450  _visitor_ (note, "note");
451  _visitor_ (fine_tune, "fine_tune");
452  _visitor_ (velocity, "velocity");
453  _visitor_ (selected, "selected");
454  }
455 };
456 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PartNote&);
457 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PartNote&);
458 
459 struct ClnT_PartNoteSeq : public std::vector<ClnT_PartNote>
460 {
462  reference append_back()
463  { resize (size() + 1); return back(); }
464  std::string __aida_type_name__ () const { return "Bse::PartNoteSeq"; }
465  std::vector<std::string> __aida_aux_data__ () const;
466  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
467  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
468 };
469 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PartNoteSeq&);
470 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PartNoteSeq&);
471 
473 {
475  int id;
476  int tick;
477  MidiSignalType control_type;
478  double value;
479  bool selected;
481  inline ClnT_PartControl () { id = 0; tick = 0; control_type = MidiSignalType (0); value = 0; selected = 0; }
482  std::string __aida_type_name__ () const { return "Bse::PartControl"; }
483  std::vector<std::string> __aida_aux_data__ () const;
484  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
485  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
486  bool operator== (const ClnT_PartControl &other) const;
487  bool operator!= (const ClnT_PartControl &other) const { return !operator== (other); }
488  template<class Visitor> void __accept__ (Visitor &_visitor_)
489  {
490  _visitor_ (id, "id");
491  _visitor_ (tick, "tick");
492  _visitor_ (control_type, "control_type");
493  _visitor_ (value, "value");
494  _visitor_ (selected, "selected");
495  }
496 };
497 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PartControl&);
498 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PartControl&);
499 
500 struct ClnT_PartControlSeq : public std::vector<ClnT_PartControl>
501 {
503  reference append_back()
504  { resize (size() + 1); return back(); }
505  std::string __aida_type_name__ () const { return "Bse::PartControlSeq"; }
506  std::vector<std::string> __aida_aux_data__ () const;
507  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
508  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
509 };
510 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PartControlSeq&);
511 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PartControlSeq&);
512 
515 class PartHandle : public virtual ItemHandle
517 {
518  static PartHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
519  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
520 protected:
521 public:
522  virtual /*Des*/ ~PartHandle () override;
523  template<class RemoteHandle>
524  static PartHandle down_cast (RemoteHandle smh) { return smh == NULL ? PartHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
525  explicit PartHandle ();
526  ClnT_PartControlSeq list_selected_controls (MidiSignalType control_type);
527  ClnT_PartControlSeq list_controls (int tick,
528  int duration,
529  MidiSignalType control_type);
530  ClnT_PartControlSeq get_channel_controls (int channel,
531  int tick,
532  int duration,
533  MidiSignalType control_type);
534  ClnT_PartControlSeq get_controls (int tick,
535  MidiSignalType control_type);
536  ClnT_SongTiming get_timing (int tick);
537  int get_max_note ();
538  int get_min_note ();
539  ErrorType change_control (int id,
540  int tick,
541  MidiSignalType control_type,
542  double value);
543  ErrorType change_note (int id,
544  int tick,
545  int duration,
546  int note,
547  int fine_tune,
548  double velocity);
549  ErrorType delete_event (int id);
550  int insert_control (int tick,
551  MidiSignalType control_type,
552  double value);
553  int insert_note (int channel,
554  int tick,
555  int duration,
556  int note,
557  int fine_tune,
558  double velocity);
559  int insert_note_auto (int tick,
560  int duration,
561  int note,
562  int fine_tune,
563  double velocity);
564  bool is_event_selected (int id);
565  void queue_controls (int tick,
566  int duration);
567  void queue_notes (int tick,
568  int duration,
569  int min_note,
570  int max_note);
571  void select_notes_exclusive (int tick,
572  int duration,
573  int min_note,
574  int max_note);
575  void select_controls_exclusive (int tick,
576  int duration,
577  MidiSignalType control_type);
578  void select_notes (int tick,
579  int duration,
580  int min_note,
581  int max_note);
582  void select_event (int id);
583  void select_controls (int tick,
584  int duration,
585  MidiSignalType control_type);
586  void deselect_notes (int tick,
587  int duration,
588  int min_note,
589  int max_note);
590  void deselect_event (int id);
591  void deselect_controls (int tick,
592  int duration,
593  MidiSignalType control_type);
594  ClnT_PartNoteSeq list_notes_crossing (int tick,
595  int duration);
596  ClnT_PartNoteSeq list_notes_within (int channel,
597  int tick,
598  int duration);
599  ClnT_PartNoteSeq list_selected_notes ();
600  ClnT_PartNoteSeq check_overlap (int tick,
601  int duration,
602  int note);
603  ClnT_PartNoteSeq get_notes (int tick,
604  int note);
605  ClnT_PartLinkSeq list_links ();
606  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
607  {
608  this->ItemHandle::__accept_accessor__ (__visitor_);
609  }
610 };
611 typedef PartHandle PartH;
612 
615 class SourceHandle : public virtual ItemHandle
617 {
618  static SourceHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
619  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
620 protected:
621 public:
622  virtual /*Des*/ ~SourceHandle () override;
623  template<class RemoteHandle>
624  static SourceHandle down_cast (RemoteHandle smh) { return smh == NULL ? SourceHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
625  explicit SourceHandle ();
626  SourceHandle ichannel_get_osource (int input_channel,
627  int input_joint);
628  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
629  {
630  this->ItemHandle::__accept_accessor__ (__visitor_);
631  }
632 };
634 
637 class ContextMergerHandle : public virtual SourceHandle
639 {
640  static ContextMergerHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
641  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
642 protected:
643 public:
644  virtual /*Des*/ ~ContextMergerHandle () override;
645  template<class RemoteHandle>
646  static ContextMergerHandle down_cast (RemoteHandle smh) { return smh == NULL ? ContextMergerHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
647  explicit ContextMergerHandle ();
648  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
649  {
650  this->SourceHandle::__accept_accessor__ (__visitor_);
651  }
652 };
654 
657 class ContainerHandle : public virtual SourceHandle
659 {
660  static ContainerHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
661  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
662 protected:
663 public:
664  virtual /*Des*/ ~ContainerHandle () override;
665  template<class RemoteHandle>
666  static ContainerHandle down_cast (RemoteHandle smh) { return smh == NULL ? ContainerHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
667  explicit ContainerHandle ();
669  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
670  {
671  this->SourceHandle::__accept_accessor__ (__visitor_);
672  }
673 };
675 
678 class SuperHandle : public virtual ContainerHandle
680 {
681  static SuperHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
682  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
683 protected:
684 public:
685  virtual /*Des*/ ~SuperHandle () override;
686  template<class RemoteHandle>
687  static SuperHandle down_cast (RemoteHandle smh) { return smh == NULL ? SuperHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
688  explicit SuperHandle ();
689  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
690  {
691  this->ContainerHandle::__accept_accessor__ (__visitor_);
692  }
693 };
695 
698 class SNetHandle : public virtual SuperHandle
700 {
701  static SNetHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
702  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
703 protected:
704 public:
705  virtual /*Des*/ ~SNetHandle () override;
706  template<class RemoteHandle>
707  static SNetHandle down_cast (RemoteHandle smh) { return smh == NULL ? SNetHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
708  explicit SNetHandle ();
709  bool supports_user_synths ();
710  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
711  {
712  this->SuperHandle::__accept_accessor__ (__visitor_);
713  }
714 };
715 typedef SNetHandle SNetH;
716 
719 class CSynthHandle : public virtual SNetHandle
721 {
722  static CSynthHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
723  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
724 protected:
725 public:
726  virtual /*Des*/ ~CSynthHandle () override;
727  template<class RemoteHandle>
728  static CSynthHandle down_cast (RemoteHandle smh) { return smh == NULL ? CSynthHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
729  explicit CSynthHandle ();
730  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
731  {
732  this->SNetHandle::__accept_accessor__ (__visitor_);
733  }
734 };
736 
739 class SubSynthHandle : public virtual SourceHandle
741 {
742  static SubSynthHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
743  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
744 protected:
745 public:
746  virtual /*Des*/ ~SubSynthHandle () override;
747  template<class RemoteHandle>
748  static SubSynthHandle down_cast (RemoteHandle smh) { return smh == NULL ? SubSynthHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
749  explicit SubSynthHandle ();
750  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
751  {
752  this->SourceHandle::__accept_accessor__ (__visitor_);
753  }
754 };
756 
759 class TrackHandle : public virtual ContextMergerHandle
761 {
762  static TrackHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
763  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
764 protected:
765 public:
766  virtual /*Des*/ ~TrackHandle () override;
767  template<class RemoteHandle>
768  static TrackHandle down_cast (RemoteHandle smh) { return smh == NULL ? TrackHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
769  explicit TrackHandle ();
770  ClnT_SongTiming get_timing (int tick);
771  int insert_part (int tick,
772  PartHandle &part);
773  void remove_tick (int tick);
774  PartHandle get_part (int tick);
775  int get_last_tick ();
776  ErrorType ensure_output ();
778  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
779  {
780  this->ContextMergerHandle::__accept_accessor__ (__visitor_);
781  }
782 };
784 
786 {
788  Rapicorn::Aida::RemoteMember<TrackHandle> track;
789  int tick;
790  Rapicorn::Aida::RemoteMember<PartHandle> part;
791  int duration;
793  inline ClnT_PartLink () { tick = 0; duration = 0; }
794  std::string __aida_type_name__ () const { return "Bse::PartLink"; }
795  std::vector<std::string> __aida_aux_data__ () const;
796  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
797  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
798  bool operator== (const ClnT_PartLink &other) const;
799  bool operator!= (const ClnT_PartLink &other) const { return !operator== (other); }
800  template<class Visitor> void __accept__ (Visitor &_visitor_)
801  {
802  _visitor_ (track, "track");
803  _visitor_ (tick, "tick");
804  _visitor_ (part, "part");
805  _visitor_ (duration, "duration");
806  }
807 };
808 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PartLink&);
809 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PartLink&);
810 
811 struct ClnT_PartLinkSeq : public std::vector<ClnT_PartLink>
812 {
814  reference append_back()
815  { resize (size() + 1); return back(); }
816  std::string __aida_type_name__ () const { return "Bse::PartLinkSeq"; }
817  std::vector<std::string> __aida_aux_data__ () const;
818  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
819  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
820 };
821 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ClnT_PartLinkSeq&);
822 void operator>>= (Rapicorn::Aida::ProtoReader&, ClnT_PartLinkSeq&);
823 
826 class BusHandle : public virtual SubSynthHandle
828 {
829  static BusHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
830  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
831 protected:
832 public:
833  virtual /*Des*/ ~BusHandle () override;
834  template<class RemoteHandle>
835  static BusHandle down_cast (RemoteHandle smh) { return smh == NULL ? BusHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
836  explicit BusHandle ();
837  ErrorType ensure_output ();
838  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
839  {
840  this->SubSynthHandle::__accept_accessor__ (__visitor_);
841  }
842 };
843 typedef BusHandle BusH;
844 
847 class SongHandle : public virtual SNetHandle
849 {
850  static SongHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
851  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
852 protected:
853 public:
854  virtual /*Des*/ ~SongHandle () override;
855  template<class RemoteHandle>
856  static SongHandle down_cast (RemoteHandle smh) { return smh == NULL ? SongHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
857  explicit SongHandle ();
858  double bpm () const;
859  void bpm (double);
860  ClnT_SongTiming get_timing (int tick);
862  BusHandle create_bus ();
863  void remove_bus (BusHandle &bus);
865  void remove_part (PartHandle &part);
867  void remove_track (TrackHandle &track);
868  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
869  {
870  __visitor_ (*this, "bpm", &SongHandle::bpm, &SongHandle::bpm);
871  this->SNetHandle::__accept_accessor__ (__visitor_);
872  }
873 };
874 typedef SongHandle SongH;
875 
878 class EditableSampleHandle : public virtual ItemHandle
880 {
881  static EditableSampleHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
882  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
883 protected:
884 public:
885  virtual /*Des*/ ~EditableSampleHandle () override;
886  template<class RemoteHandle>
887  static EditableSampleHandle down_cast (RemoteHandle smh) { return smh == NULL ? EditableSampleHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
888  explicit EditableSampleHandle ();
889  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
890  {
891  this->ItemHandle::__accept_accessor__ (__visitor_);
892  }
893 };
895 
898 class WaveHandle : public virtual SourceHandle
900 {
901  static WaveHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
902  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
903 protected:
904 public:
905  virtual /*Des*/ ~WaveHandle () override;
906  template<class RemoteHandle>
907  static WaveHandle down_cast (RemoteHandle smh) { return smh == NULL ? WaveHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
908  explicit WaveHandle ();
909  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
910  {
911  this->SourceHandle::__accept_accessor__ (__visitor_);
912  }
913 };
914 typedef WaveHandle WaveH;
915 
918 class WaveRepoHandle : public virtual SuperHandle
920 {
921  static WaveRepoHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
922  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
923 protected:
924 public:
925  virtual /*Des*/ ~WaveRepoHandle () override;
926  template<class RemoteHandle>
927  static WaveRepoHandle down_cast (RemoteHandle smh) { return smh == NULL ? WaveRepoHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
928  explicit WaveRepoHandle ();
929  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
930  {
931  this->SuperHandle::__accept_accessor__ (__visitor_);
932  }
933 };
935 
938 class MidiNotifierHandle : public virtual ItemHandle
940 {
941  static MidiNotifierHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
942  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
943 protected:
944 public:
945  virtual /*Des*/ ~MidiNotifierHandle () override;
946  template<class RemoteHandle>
947  static MidiNotifierHandle down_cast (RemoteHandle smh) { return smh == NULL ? MidiNotifierHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
948  explicit MidiNotifierHandle ();
949  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
950  {
951  this->ItemHandle::__accept_accessor__ (__visitor_);
952  }
953 };
955 
958 class MidiSynthHandle : public virtual SNetHandle
960 {
961  static MidiSynthHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
962  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
963 protected:
964 public:
965  virtual /*Des*/ ~MidiSynthHandle () override;
966  template<class RemoteHandle>
967  static MidiSynthHandle down_cast (RemoteHandle smh) { return smh == NULL ? MidiSynthHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
968  explicit MidiSynthHandle ();
969  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
970  {
971  this->SNetHandle::__accept_accessor__ (__visitor_);
972  }
973 };
975 
978 class ProjectHandle : public virtual ContainerHandle
980 {
981  static ProjectHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
982  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
983 protected:
984 public:
985  virtual /*Des*/ ~ProjectHandle () override;
986  template<class RemoteHandle>
987  static ProjectHandle down_cast (RemoteHandle smh) { return smh == NULL ? ProjectHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
988  explicit ProjectHandle ();
989  void change_name (const std::string &name);
990  ErrorType play ();
991  ErrorType activate ();
992  bool can_play ();
993  bool is_playing ();
994  bool is_active ();
995  void start_playback ();
996  void stop_playback ();
997  void deactivate ();
998  void stop ();
999  void auto_deactivate (int msec_delay);
1000  int undo_depth ();
1001  void undo ();
1002  int redo_depth ();
1003  void redo ();
1004  void clear_undo ();
1005  void clean_dirty ();
1006  bool is_dirty ();
1007  void inject_midi_control (int midi_channel,
1008  int midi_control,
1009  double control_value);
1010  ErrorType import_midi_file (const std::string &file_name);
1011  ErrorType restore_from_file (const std::string &file_name);
1012  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1013  {
1014  this->ContainerHandle::__accept_accessor__ (__visitor_);
1015  }
1016 };
1018 
1021 class PcmWriterHandle : public virtual ItemHandle
1023 {
1024  static PcmWriterHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
1025  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
1026 protected:
1027 public:
1028  virtual /*Des*/ ~PcmWriterHandle () override;
1029  template<class RemoteHandle>
1030  static PcmWriterHandle down_cast (RemoteHandle smh) { return smh == NULL ? PcmWriterHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
1031  explicit PcmWriterHandle ();
1032  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1033  {
1034  this->ItemHandle::__accept_accessor__ (__visitor_);
1035  }
1036 };
1038 
1041 class ServerHandle : public virtual ObjectHandle
1043 {
1044  typedef Rapicorn::Aida::Connector<ServerHandle, void (const ClnT_UserMessage &umsg)> __Aida_Signal__user_message;
1045  size_t __aida_connect__user_message (size_t, const std::function<void (const ClnT_UserMessage &umsg)>&);
1046  static ServerHandle __aida_cast__ (Rapicorn::Aida::RemoteHandle&, const Rapicorn::Aida::TypeHashList&);
1047  static const Rapicorn::Aida::TypeHash& __aida_typeid__();
1048 protected:
1049 public:
1050  virtual /*Des*/ ~ServerHandle () override;
1051  template<class RemoteHandle>
1052  static ServerHandle down_cast (RemoteHandle smh) { return smh == NULL ? ServerHandle() : __aida_cast__ (smh, smh.__aida_typelist__()); }
1053  explicit ServerHandle ();
1054  __Aida_Signal__user_message sig_user_message () { return __Aida_Signal__user_message (*this, &ServerHandle::__aida_connect__user_message); }
1056  ObjectHandle from_proxy (int64_t proxyid);
1069  void save_preferences ();
1070  void register_ladspa_plugins ();
1071  void register_core_plugins ();
1072  void register_scripts ();
1073  bool preferences_locked ();
1074  int n_scripts ();
1075  bool can_load (const std::string &file_name);
1076  void start_recording (const std::string &wave_file,
1077  double n_seconds);
1078  ProjectHandle create_project (const std::string &project_name);
1079  void destroy_project (ProjectHandle &project);
1080  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1081  {
1082  this->ObjectHandle::__accept_accessor__ (__visitor_);
1083  }
1084 };
1086 } // Bse
1087 
1088 // C++ Aliases
1089 #ifndef __BSE_IDL_ALIASES__
1090 #define __BSE_IDL_ALIASES__ 1
1091 #endif
1092 #if __BSE_IDL_ALIASES__ == 1
1093 namespace Bse {
1094 typedef ClnT_UserMessage UserMessage;
1095 typedef ClnT_SongTiming SongTiming;
1096 typedef ClnT_PartNote PartNote;
1097 typedef ClnT_PartNoteSeq PartNoteSeq;
1098 typedef ClnT_PartControl PartControl;
1099 typedef ClnT_PartControlSeq PartControlSeq;
1100 typedef ClnT_PartLink PartLink;
1101 typedef ClnT_PartLinkSeq PartLinkSeq;
1102 } // Bse
1103 #endif // __BSE_IDL_ALIASES__
1104 
1105 #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:616
std::string get_custom_effect_dir()
See Server::get_custom_effect_dir()
MidiNotifierHandle MidiNotifierH
Convenience alias for the IDL type MidiNotifier.
Definition: bseclientapi.hh:954
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:934
SourceHandle get_output_source()
See Track::get_output_source()
Definition: bseclientapi.hh:459
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:402
double bpm() const
See Song::bpm.
Definition: bseclientapi.hh:811
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()
int insert_control(int tick, MidiSignalType control_type, double value)
See Part::insert_control()
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:516
ProjectHandle ProjectH
Convenience alias for the IDL type Project.
Definition: bseclientapi.hh:1017
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:67
void remove_bus(BusHandle &bus)
See Song::remove_bus()
PartHandle PartH
Convenience alias for the IDL type Part.
Definition: bseclientapi.hh:611
void register_core_plugins()
See Server::register_core_plugins()
std::string debug_name()
See Object::debug_name()
Definition: bstserverapi.cc:544
int get_min_note()
See Part::get_min_note()
int undo_depth()
See Project::undo_depth()
int redo_depth()
See Project::redo_depth()
Definition: bseclientapi.hh:472
typedef int64_t
See also the corresponding IDL class TestObject.
Definition: bseclientapi.hh:299
See also the corresponding IDL class MidiSynth.
Definition: bseclientapi.hh:959
bool is_playing()
See Project::is_playing()
std::string get_script_path()
See Server::get_script_path()
ErrorType restore_from_file(const std::string &file_name)
See Project::restore_from_file()
void stop_playback()
See Project::stop_playback()
ErrorType import_midi_file(const std::string &file_name)
See Project::import_midi_file()
void start_playback()
See Project::start_playback()
ErrorType change_control(int id, int tick, MidiSignalType control_type, double value)
See Part::change_control()
bool can_load(const std::string &file_name)
See Server::can_load()
See also the corresponding IDL class Container.
Definition: bseclientapi.hh:658
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()
ErrorType play()
See Project::play()
See also the corresponding IDL class Item.
Definition: bseclientapi.hh:407
ClnT_PartNote resize(ClnT_PartNote...args)
See also the corresponding IDL class EditableSample.
Definition: bseclientapi.hh:879
STL class.
void change_name(const std::string &name)
See Project::change_name()
See also the corresponding IDL class Project.
Definition: bseclientapi.hh:979
Indicate a message about an error condition.
Definition: bseapi.idl:305
ErrorType delete_event(int id)
See Part::delete_event()
ErrorType activate()
See Project::activate()
ObjectHandle from_proxy(int64_t proxyid)
See Server::from_proxy()
MidiSynthHandle MidiSynthH
Convenience alias for the IDL type MidiSynth.
Definition: bseclientapi.hh:974
ItemHandle lookup_item(const std::string &uname)
See Container::lookup_item()
EditableSampleHandle EditableSampleH
Convenience alias for the IDL type EditableSample.
Definition: bseclientapi.hh:894
See also the corresponding IDL class Bus.
Definition: bseclientapi.hh:827
int insert_part(int tick, PartHandle &part)
See Track::insert_part()
void select_event(int id)
See Part::select_event()
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:755
std::string get_effect_path()
See Server::get_effect_path()
Indicate an informational message.
Definition: bseapi.idl:307
ErrorType ensure_output()
See Track::ensure_output()
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:318
void select_controls_exclusive(int tick, int duration, MidiSignalType control_type)
See Part::select_controls_exclusive()
ProjectHandle create_project(const std::string &project_name)
See Server::create_project()
void register_scripts()
See Server::register_scripts()
SongHandle SongH
Convenience alias for the IDL type Song.
Definition: bseclientapi.hh:874
int insert_note_auto(int tick, int duration, int note, int fine_tune, double velocity)
See Part::insert_note_auto()
Definition: bseclientapi.hh:425
TestObjectHandle TestObjectH
Convenience alias for the IDL type TestObject.
Definition: bseclientapi.hh:316
See also the corresponding IDL class Server.
Definition: bseclientapi.hh:1042
bool is_active()
See Project::is_active()
ContextMergerHandle ContextMergerH
Convenience alias for the IDL type ContextMerger.
Definition: bseclientapi.hh:653
bool preferences_locked()
See Server::preferences_locked()
ClnT_SongTiming get_timing(int tick)
See Song::get_timing()
int echo_test(const std::string &msg)
See TestObject::echo_test()
Definition: bseclientapi.cc:73
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:694
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:848
ServerHandle ServerH
Convenience alias for the IDL type Server.
Definition: bseclientapi.hh:1085
PartHandle get_part(int tick)
See Track::get_part()
See also the corresponding IDL class CSynth.
Definition: bseclientapi.hh:720
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:423
See also the corresponding IDL class SubSynth.
Definition: bseclientapi.hh:740
ClnT_PartControlSeq list_controls(int tick, int duration, MidiSignalType control_type)
See Part::list_controls()
SourceHandle SourceH
Convenience alias for the IDL type Source.
Definition: bseclientapi.hh:633
ContainerHandle ContainerH
Convenience alias for the IDL type Container.
Definition: bseclientapi.hh:674
ClnT_PartNote size(ClnT_PartNote...args)
void queue_notes(int tick, int duration, int min_note, int max_note)
See Part::queue_notes()
UserMessageType
Definition: bseapi.idl:304
See also the corresponding IDL class Wave.
Definition: bseclientapi.hh:899
Indicate a debugging message (usually insignificant).
Definition: bseapi.idl:308
ErrorType ensure_output()
See Bus::ensure_output()
int64_t proxy_id()
See Object::proxy_id()
std::string get_instrument_path()
See Server::get_instrument_path()
See also the corresponding IDL class SNet.
Definition: bseclientapi.hh:699
ClnT_PartNoteSeq get_notes(int tick, int note)
See Part::get_notes()
Indicate a message about a possibly harmful condition.
Definition: bseapi.idl:306
void remove_track(TrackHandle &track)
See Song::remove_track()
Definition: bseclientapi.hh:348
See also the corresponding IDL class Track.
Definition: bseclientapi.hh:760
ClnT_PartNote back(ClnT_PartNote...args)
See also the corresponding IDL class MidiNotifier.
Definition: bseclientapi.hh:939
CSynthHandle CSynthH
Convenience alias for the IDL type CSynth.
Definition: bseclientapi.hh:735
ErrorType change_note(int id, int tick, int duration, int note, int fine_tune, double velocity)
See Part::change_note()
std::string get_vorbis_version()
See Server::get_vorbis_version()
See also the corresponding IDL class PcmWriter.
Definition: bseclientapi.hh:1022
WaveHandle WaveH
Convenience alias for the IDL type Wave.
Definition: bseclientapi.hh:914
Definition: bseclientapi.hh:500
void redo()
See Project::redo()
void deactivate()
See Project::deactivate()
void select_controls(int tick, int duration, MidiSignalType control_type)
See Part::select_controls()
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:783
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()
void register_ladspa_plugins()
See Server::register_ladspa_plugins()
ClnT_PartControlSeq get_controls(int tick, MidiSignalType control_type)
See Part::get_controls()
void select_notes(int tick, int duration, int min_note, int max_note)
See Part::select_notes()
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:1037
See also the corresponding IDL class Super.
Definition: bseclientapi.hh:679
ClnT_PartControlSeq get_channel_controls(int channel, int tick, int duration, MidiSignalType control_type)
See Part::get_channel_controls()
void undo()
See Project::undo()
void stop()
See Project::stop()
See also the corresponding IDL class Object.
Definition: bseclientapi.hh:387
void clear_undo()
See Project::clear_undo()
SNetHandle SNetH
Convenience alias for the IDL type SNet.
Definition: bseclientapi.hh:715
BusHandle BusH
Convenience alias for the IDL type Bus.
Definition: bseclientapi.hh:843
ClnT_PartControlSeq list_selected_controls(MidiSignalType control_type)
See Part::list_selected_controls()
void deselect_controls(int tick, int duration, MidiSignalType control_type)
See Part::deselect_controls()
ClnT_PartNoteSeq list_notes_crossing(int tick, int duration)
See Part::list_notes_crossing()
PartHandle create_part()
See Song::create_part()
See also the corresponding IDL class WaveRepo.
Definition: bseclientapi.hh:919
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:638
uname