BEAST - Free Software Audio Synthesizer and Tracker  0.9.2
bseserverapi.hh
Go to the documentation of this file.
1  // --- Generated by AidaCxxStub ---
2 #ifndef __SRVT__BSE_IDL
3 #define __SRVT__BSE_IDL
4 
5 
6 // --- ServerHH Boilerplate ---
7 #include <rapicorn-core.hh>
8 
9 #include <rapicorn-core.hh> // for rcore/signal.hh
10 
11 #ifndef __ENUMHH__BSE_IDL__
12 #define __ENUMHH__BSE_IDL__
13 
14 namespace Bse {
15 
17 enum ErrorType {
18  ERROR_NONE = 0, // _("OK")
19  ERROR_INTERNAL = 1, // _("Internal error (please report)")
20  ERROR_UNKNOWN = 2, // _("Unknown error")
21  ERROR_IO = 3, // _("Input/output error")
22  ERROR_PERMS = 4, // _("Insufficient permissions")
23  ERROR_FILE_BUSY = 5, // _("Device or resource busy")
24  ERROR_FILE_EXISTS = 6, // _("File exists already")
25  ERROR_FILE_EOF = 7, // _("End of file")
26  ERROR_FILE_EMPTY = 8, // _("File empty")
27  ERROR_FILE_NOT_FOUND = 9, // _("No such file, device or directory")
28  ERROR_FILE_IS_DIR = 10, // _("Is a directory")
29  ERROR_FILE_OPEN_FAILED = 11, // _("Open failed")
30  ERROR_FILE_SEEK_FAILED = 12, // _("Seek failed")
31  ERROR_FILE_READ_FAILED = 13, // _("Read failed")
32  ERROR_FILE_WRITE_FAILED = 14, // _("Write failed")
33  ERROR_MANY_FILES = 15, // _("Too many open files")
34  ERROR_NO_FILES = 16, // _("Too many open files in system")
35  ERROR_NO_SPACE = 17, // _("No space left on device")
36  ERROR_NO_MEMORY = 18, // _("Out of memory")
37  ERROR_NO_HEADER = 19, // _("Failed to detect header")
38  ERROR_NO_SEEK_INFO = 20, // _("Failed to retrieve seek information")
39  ERROR_NO_DATA = 21, // _("No data available")
40  ERROR_DATA_CORRUPT = 22, // _("Data corrupt")
41  ERROR_WRONG_N_CHANNELS = 23, // _("Wrong number of channels")
42  ERROR_FORMAT_INVALID = 24, // _("Invalid format")
43  ERROR_FORMAT_UNKNOWN = 25, // _("Unknown format")
44  ERROR_DATA_UNMATCHED = 26, // _("Requested data values unmatched")
45  ERROR_TEMP = 27, // _("Temporary error")
46  ERROR_WAVE_NOT_FOUND = 28, // _("No such wave")
47  ERROR_CODEC_FAILURE = 29, // _("Codec failure")
48  ERROR_UNIMPLEMENTED = 30, // _("Functionality not implemented")
49  ERROR_INVALID_PROPERTY = 31, // _("Invalid object property")
50  ERROR_INVALID_MIDI_CONTROL = 32, // _("Invalid MIDI control type")
51  ERROR_PARSE_ERROR = 33, // _("Parsing error")
52  ERROR_SPAWN = 34, // _("Failed to spawn child process")
53  ERROR_DEVICE_NOT_AVAILABLE = 35, // _("No device (driver) available")
54  ERROR_DEVICE_ASYNC = 36, // _("Device not async capable")
55  ERROR_DEVICE_BUSY = 37, // _("Device busy")
56  ERROR_DEVICE_FORMAT = 38, // _("Failed to configure device format")
57  ERROR_DEVICE_BUFFER = 39, // _("Failed to configure device buffer")
58  ERROR_DEVICE_LATENCY = 40, // _("Failed to configure device latency")
59  ERROR_DEVICE_CHANNELS = 41, // _("Failed to configure number of device channels")
60  ERROR_DEVICE_FREQUENCY = 42, // _("Failed to configure device frequency")
61  ERROR_DEVICES_MISMATCH = 43, // _("Device configurations mismatch")
62  ERROR_SOURCE_NO_SUCH_MODULE = 44, // _("No such synthesis module")
63  ERROR_SOURCE_NO_SUCH_ICHANNEL = 45, // _("No such input channel")
64  ERROR_SOURCE_NO_SUCH_OCHANNEL = 46, // _("No such output channel")
65  ERROR_SOURCE_NO_SUCH_CONNECTION = 47, // _("Input/Output channels not connected")
66  ERROR_SOURCE_PRIVATE_ICHANNEL = 48, // _("Input channel is private")
67  ERROR_SOURCE_ICHANNEL_IN_USE = 49, // _("Input channel already in use")
68  ERROR_SOURCE_CHANNELS_CONNECTED = 50, // _("Input/output channels already connected")
69  ERROR_SOURCE_CONNECTION_INVALID = 51, // _("Invalid synthesis module connection")
70  ERROR_SOURCE_PARENT_MISMATCH = 52, // _("Parent mismatch")
71  ERROR_SOURCE_BAD_LOOPBACK = 53, // _("Bad loopback")
72  ERROR_SOURCE_BUSY = 54, // _("Synthesis module currently busy")
73  ERROR_SOURCE_TYPE_INVALID = 55, // _("Invalid synthsis module type")
74  ERROR_PROC_NOT_FOUND = 56, // _("No such procedure")
75  ERROR_PROC_BUSY = 57, // _("Procedure currently busy")
76  ERROR_PROC_PARAM_INVAL = 58, // _("Procedure parameter invalid")
77  ERROR_PROC_EXECUTION = 59, // _("Procedure execution failed")
78  ERROR_PROC_ABORT = 60, // _("Procedure execution aborted")
79  ERROR_NO_ENTRY = 61, // _("No such entry")
80  ERROR_NO_EVENT = 62, // _("No such event")
81  ERROR_NO_TARGET = 63, // _("No target")
82  ERROR_NOT_OWNER = 64, // _("Ownership mismatch")
83  ERROR_INVALID_OFFSET = 65, // _("Invalid offset")
84  ERROR_INVALID_DURATION = 66, // _("Invalid duration")
85  ERROR_INVALID_OVERLAP = 67, // _("Invalid overlap")
86 };
87 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, ErrorType e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
88 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, ErrorType &e) { e = ErrorType (__f_.pop_evalue()); }
90 
92 enum MidiSignalType {
93  MIDI_SIGNAL_PROGRAM = 1,
94  MIDI_SIGNAL_PRESSURE = 2,
95  MIDI_SIGNAL_PITCH_BEND = 3,
96  MIDI_SIGNAL_VELOCITY = 4,
97  MIDI_SIGNAL_FINE_TUNE = 5,
98  MIDI_SIGNAL_CONTINUOUS_0 = 64,
99  MIDI_SIGNAL_CONTINUOUS_1 = 65,
100  MIDI_SIGNAL_CONTINUOUS_2 = 66,
101  MIDI_SIGNAL_CONTINUOUS_3 = 67,
102  MIDI_SIGNAL_CONTINUOUS_4 = 68,
103  MIDI_SIGNAL_CONTINUOUS_5 = 69,
104  MIDI_SIGNAL_CONTINUOUS_6 = 70,
105  MIDI_SIGNAL_CONTINUOUS_7 = 71,
106  MIDI_SIGNAL_CONTINUOUS_8 = 72,
107  MIDI_SIGNAL_CONTINUOUS_9 = 73,
108  MIDI_SIGNAL_CONTINUOUS_10 = 74,
109  MIDI_SIGNAL_CONTINUOUS_11 = 75,
110  MIDI_SIGNAL_CONTINUOUS_12 = 76,
111  MIDI_SIGNAL_CONTINUOUS_13 = 77,
112  MIDI_SIGNAL_CONTINUOUS_14 = 78,
113  MIDI_SIGNAL_CONTINUOUS_15 = 79,
114  MIDI_SIGNAL_CONTINUOUS_16 = 80,
115  MIDI_SIGNAL_CONTINUOUS_17 = 81,
116  MIDI_SIGNAL_CONTINUOUS_18 = 82,
117  MIDI_SIGNAL_CONTINUOUS_19 = 83,
118  MIDI_SIGNAL_CONTINUOUS_20 = 84,
119  MIDI_SIGNAL_CONTINUOUS_21 = 85,
120  MIDI_SIGNAL_CONTINUOUS_22 = 86,
121  MIDI_SIGNAL_CONTINUOUS_23 = 87,
122  MIDI_SIGNAL_CONTINUOUS_24 = 88,
123  MIDI_SIGNAL_CONTINUOUS_25 = 89,
124  MIDI_SIGNAL_CONTINUOUS_26 = 90,
125  MIDI_SIGNAL_CONTINUOUS_27 = 91,
126  MIDI_SIGNAL_CONTINUOUS_28 = 92,
127  MIDI_SIGNAL_CONTINUOUS_29 = 93,
128  MIDI_SIGNAL_CONTINUOUS_30 = 94,
129  MIDI_SIGNAL_CONTINUOUS_31 = 95,
130  MIDI_SIGNAL_CONSTANT_HIGH = 96,
131  MIDI_SIGNAL_CONSTANT_CENTER = 97,
132  MIDI_SIGNAL_CONSTANT_LOW = 98,
133  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER = 99,
134  MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH = 100,
135  MIDI_SIGNAL_PARAMETER = 101,
136  MIDI_SIGNAL_NON_PARAMETER = 102,
137  MIDI_SIGNAL_CONTROL_0 = 128,
138  MIDI_SIGNAL_CONTROL_1 = 129,
139  MIDI_SIGNAL_CONTROL_2 = 130,
140  MIDI_SIGNAL_CONTROL_3 = 131,
141  MIDI_SIGNAL_CONTROL_4 = 132,
142  MIDI_SIGNAL_CONTROL_5 = 133,
143  MIDI_SIGNAL_CONTROL_6 = 134,
144  MIDI_SIGNAL_CONTROL_7 = 135,
145  MIDI_SIGNAL_CONTROL_8 = 136,
146  MIDI_SIGNAL_CONTROL_9 = 137,
147  MIDI_SIGNAL_CONTROL_10 = 138,
148  MIDI_SIGNAL_CONTROL_11 = 139,
149  MIDI_SIGNAL_CONTROL_12 = 140,
150  MIDI_SIGNAL_CONTROL_13 = 141,
151  MIDI_SIGNAL_CONTROL_14 = 142,
152  MIDI_SIGNAL_CONTROL_15 = 143,
153  MIDI_SIGNAL_CONTROL_16 = 144,
154  MIDI_SIGNAL_CONTROL_17 = 145,
155  MIDI_SIGNAL_CONTROL_18 = 146,
156  MIDI_SIGNAL_CONTROL_19 = 147,
157  MIDI_SIGNAL_CONTROL_20 = 148,
158  MIDI_SIGNAL_CONTROL_21 = 149,
159  MIDI_SIGNAL_CONTROL_22 = 150,
160  MIDI_SIGNAL_CONTROL_23 = 151,
161  MIDI_SIGNAL_CONTROL_24 = 152,
162  MIDI_SIGNAL_CONTROL_25 = 153,
163  MIDI_SIGNAL_CONTROL_26 = 154,
164  MIDI_SIGNAL_CONTROL_27 = 155,
165  MIDI_SIGNAL_CONTROL_28 = 156,
166  MIDI_SIGNAL_CONTROL_29 = 157,
167  MIDI_SIGNAL_CONTROL_30 = 158,
168  MIDI_SIGNAL_CONTROL_31 = 159,
169  MIDI_SIGNAL_CONTROL_32 = 160,
170  MIDI_SIGNAL_CONTROL_33 = 161,
171  MIDI_SIGNAL_CONTROL_34 = 162,
172  MIDI_SIGNAL_CONTROL_35 = 163,
173  MIDI_SIGNAL_CONTROL_36 = 164,
174  MIDI_SIGNAL_CONTROL_37 = 165,
175  MIDI_SIGNAL_CONTROL_38 = 166,
176  MIDI_SIGNAL_CONTROL_39 = 167,
177  MIDI_SIGNAL_CONTROL_40 = 168,
178  MIDI_SIGNAL_CONTROL_41 = 169,
179  MIDI_SIGNAL_CONTROL_42 = 170,
180  MIDI_SIGNAL_CONTROL_43 = 171,
181  MIDI_SIGNAL_CONTROL_44 = 172,
182  MIDI_SIGNAL_CONTROL_45 = 173,
183  MIDI_SIGNAL_CONTROL_46 = 174,
184  MIDI_SIGNAL_CONTROL_47 = 175,
185  MIDI_SIGNAL_CONTROL_48 = 176,
186  MIDI_SIGNAL_CONTROL_49 = 177,
187  MIDI_SIGNAL_CONTROL_50 = 178,
188  MIDI_SIGNAL_CONTROL_51 = 179,
189  MIDI_SIGNAL_CONTROL_52 = 180,
190  MIDI_SIGNAL_CONTROL_53 = 181,
191  MIDI_SIGNAL_CONTROL_54 = 182,
192  MIDI_SIGNAL_CONTROL_55 = 183,
193  MIDI_SIGNAL_CONTROL_56 = 184,
194  MIDI_SIGNAL_CONTROL_57 = 185,
195  MIDI_SIGNAL_CONTROL_58 = 186,
196  MIDI_SIGNAL_CONTROL_59 = 187,
197  MIDI_SIGNAL_CONTROL_60 = 188,
198  MIDI_SIGNAL_CONTROL_61 = 189,
199  MIDI_SIGNAL_CONTROL_62 = 190,
200  MIDI_SIGNAL_CONTROL_63 = 191,
201  MIDI_SIGNAL_CONTROL_64 = 192,
202  MIDI_SIGNAL_CONTROL_65 = 193,
203  MIDI_SIGNAL_CONTROL_66 = 194,
204  MIDI_SIGNAL_CONTROL_67 = 195,
205  MIDI_SIGNAL_CONTROL_68 = 196,
206  MIDI_SIGNAL_CONTROL_69 = 197,
207  MIDI_SIGNAL_CONTROL_70 = 198,
208  MIDI_SIGNAL_CONTROL_71 = 199,
209  MIDI_SIGNAL_CONTROL_72 = 200,
210  MIDI_SIGNAL_CONTROL_73 = 201,
211  MIDI_SIGNAL_CONTROL_74 = 202,
212  MIDI_SIGNAL_CONTROL_75 = 203,
213  MIDI_SIGNAL_CONTROL_76 = 204,
214  MIDI_SIGNAL_CONTROL_77 = 205,
215  MIDI_SIGNAL_CONTROL_78 = 206,
216  MIDI_SIGNAL_CONTROL_79 = 207,
217  MIDI_SIGNAL_CONTROL_80 = 208,
218  MIDI_SIGNAL_CONTROL_81 = 209,
219  MIDI_SIGNAL_CONTROL_82 = 210,
220  MIDI_SIGNAL_CONTROL_83 = 211,
221  MIDI_SIGNAL_CONTROL_84 = 212,
222  MIDI_SIGNAL_CONTROL_85 = 213,
223  MIDI_SIGNAL_CONTROL_86 = 214,
224  MIDI_SIGNAL_CONTROL_87 = 215,
225  MIDI_SIGNAL_CONTROL_88 = 216,
226  MIDI_SIGNAL_CONTROL_89 = 217,
227  MIDI_SIGNAL_CONTROL_90 = 218,
228  MIDI_SIGNAL_CONTROL_91 = 219,
229  MIDI_SIGNAL_CONTROL_92 = 220,
230  MIDI_SIGNAL_CONTROL_93 = 221,
231  MIDI_SIGNAL_CONTROL_94 = 222,
232  MIDI_SIGNAL_CONTROL_95 = 223,
233  MIDI_SIGNAL_CONTROL_96 = 224,
234  MIDI_SIGNAL_CONTROL_97 = 225,
235  MIDI_SIGNAL_CONTROL_98 = 226,
236  MIDI_SIGNAL_CONTROL_99 = 227,
237  MIDI_SIGNAL_CONTROL_100 = 228,
238  MIDI_SIGNAL_CONTROL_101 = 229,
239  MIDI_SIGNAL_CONTROL_102 = 230,
240  MIDI_SIGNAL_CONTROL_103 = 231,
241  MIDI_SIGNAL_CONTROL_104 = 232,
242  MIDI_SIGNAL_CONTROL_105 = 233,
243  MIDI_SIGNAL_CONTROL_106 = 234,
244  MIDI_SIGNAL_CONTROL_107 = 235,
245  MIDI_SIGNAL_CONTROL_108 = 236,
246  MIDI_SIGNAL_CONTROL_109 = 237,
247  MIDI_SIGNAL_CONTROL_110 = 238,
248  MIDI_SIGNAL_CONTROL_111 = 239,
249  MIDI_SIGNAL_CONTROL_112 = 240,
250  MIDI_SIGNAL_CONTROL_113 = 241,
251  MIDI_SIGNAL_CONTROL_114 = 242,
252  MIDI_SIGNAL_CONTROL_115 = 243,
253  MIDI_SIGNAL_CONTROL_116 = 244,
254  MIDI_SIGNAL_CONTROL_117 = 245,
255  MIDI_SIGNAL_CONTROL_118 = 246,
256  MIDI_SIGNAL_CONTROL_119 = 247,
257  MIDI_SIGNAL_CONTROL_120 = 248,
258  MIDI_SIGNAL_CONTROL_121 = 249,
259  MIDI_SIGNAL_CONTROL_122 = 250,
260  MIDI_SIGNAL_CONTROL_123 = 251,
261  MIDI_SIGNAL_CONTROL_124 = 252,
262  MIDI_SIGNAL_CONTROL_125 = 253,
263  MIDI_SIGNAL_CONTROL_126 = 254,
264  MIDI_SIGNAL_CONTROL_127 = 255,
265 };
266 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, MidiSignalType e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
267 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, MidiSignalType &e) { e = MidiSignalType (__f_.pop_evalue()); }
269 
271 enum UserMessageType {
272  ERROR = 1,
273  WARNING = 2,
274  INFO = 3,
275  DEBUG = 4,
276 };
277 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, UserMessageType e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
278 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, UserMessageType &e) { e = UserMessageType (__f_.pop_evalue()); }
280 } // Bse
281 
282 namespace Rapicorn {
283 
284 namespace Aida {
285 template<> EnumInfo enum_info<Bse::ErrorType> ();
286 template<> EnumInfo enum_info<Bse::MidiSignalType> ();
287 template<> EnumInfo enum_info<Bse::UserMessageType> ();
288 } // Aida
289 } // Rapicorn
290 
291 #endif // __ENUMHH__BSE_IDL__
292 
293 
294 // --- Interfaces (class declarations) ---
295 
296 namespace Bse {
297 
298 class TestObjectIface;
299 typedef std::shared_ptr<TestObjectIface> TestObjectIfaceP;
300 typedef std::weak_ptr <TestObjectIface> TestObjectIfaceW;
301 
304 class TestObjectIface : public virtual Rapicorn::Aida::ImplicitBase
306 {
307 protected:
308  explicit TestObjectIface ();
309  virtual /*Des*/ ~TestObjectIface () override = 0;
310 public:
311  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
312  virtual std::string __aida_type_name__ () const override { return "Bse::TestObject"; }
313  virtual std::vector<std::string> __aida_aux_data__ () const override;
314  virtual std::vector<std::string> __aida_dir__ () const override;
315  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
316  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
317  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
318  typedef Rapicorn::Aida::Signal<void (const std::string &msg)> Signal_echo_reply;
319  Signal_echo_reply sig_echo_reply;
320  virtual int echo_test (const std::string &msg) = 0;
321  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
322  {}
323 };
324 void operator<<= (Rapicorn::Aida::ProtoMsg&, const TestObjectIfaceP&);
325 void operator>>= (Rapicorn::Aida::ProtoReader&, TestObjectIface*&);
326 void operator>>= (Rapicorn::Aida::ProtoReader&, TestObjectIfaceP&);
327 
329 {
331  UserMessageType type;
332  std::string title;
333  std::string text1;
334  std::string text2;
335  std::string text3;
336  std::string label;
338  inline SrvT_UserMessage () { type = UserMessageType (0); }
339  std::string __aida_type_name__ () const { return "Bse::UserMessage"; }
340  std::vector<std::string> __aida_aux_data__ () const;
341  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
342  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
343  bool operator== (const SrvT_UserMessage &other) const;
344  bool operator!= (const SrvT_UserMessage &other) const { return !operator== (other); }
345  template<class Visitor> void __accept__ (Visitor &_visitor_)
346  {
347  _visitor_ (type, "type");
348  _visitor_ (title, "title");
349  _visitor_ (text1, "text1");
350  _visitor_ (text2, "text2");
351  _visitor_ (text3, "text3");
352  _visitor_ (label, "label");
353  }
354 };
355 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_UserMessage&);
356 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_UserMessage&);
357 
359 {
361  int tick;
362  double bpm;
363  int numerator;
364  int denominator;
365  int tpqn;
366  int tpt;
367  double stamp_ticks;
369  inline SrvT_SongTiming () { tick = 0; bpm = 0; numerator = 0; denominator = 0; tpqn = 0; tpt = 0; stamp_ticks = 0; }
370  std::string __aida_type_name__ () const { return "Bse::SongTiming"; }
371  std::vector<std::string> __aida_aux_data__ () const;
372  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
373  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
374  bool operator== (const SrvT_SongTiming &other) const;
375  bool operator!= (const SrvT_SongTiming &other) const { return !operator== (other); }
376  template<class Visitor> void __accept__ (Visitor &_visitor_)
377  {
378  _visitor_ (tick, "tick");
379  _visitor_ (bpm, "bpm");
380  _visitor_ (numerator, "numerator");
381  _visitor_ (denominator, "denominator");
382  _visitor_ (tpqn, "tpqn");
383  _visitor_ (tpt, "tpt");
384  _visitor_ (stamp_ticks, "stamp_ticks");
385  }
386 };
387 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_SongTiming&);
388 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_SongTiming&);
389 
390 class SrvT_PartLink;
391 
392 class SrvT_PartLinkSeq;
393 
394 class ObjectIface;
397 
400 class ObjectIface : public virtual Rapicorn::Aida::ImplicitBase
402 {
403 protected:
404  explicit ObjectIface ();
405  virtual /*Des*/ ~ObjectIface () override = 0;
406 public:
407  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
408  virtual std::string __aida_type_name__ () const override { return "Bse::Object"; }
409  virtual std::vector<std::string> __aida_aux_data__ () const override;
410  virtual std::vector<std::string> __aida_dir__ () const override;
411  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
412  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
413  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
414  virtual std::string debug_name () = 0;
415  virtual int64_t proxy_id () = 0;
416  // class_scope:Object:
417  // as<BseObjectPtr>()
418  template<class BseObjectPtr, typename ::std::enable_if<std::is_pointer<BseObjectPtr>::value, bool>::type = true>
419  BseObjectPtr as ()
420  {
421  static_assert (std::is_pointer<BseObjectPtr>::value, "'BseObject*' required");
422  typedef typename std::remove_pointer<BseObjectPtr>::type BseObjectT;
423  static_assert (std::is_base_of<GObject, BseObjectT>::value, "'BseObject*' required");
424  return this ? (BseObjectPtr) this->as_bse_object() : NULL;
425  }
426  // DERIVES_shared_ptr (uses void_t to prevent errors for T without shared_ptr's typedefs)
427  template<class T, typename = void> struct DERIVES_shared_ptr : std::false_type {};
428  template<class T> struct DERIVES_shared_ptr<T, Rapicorn::void_t< typename T::element_type > > :
429  std::is_base_of< std::shared_ptr<typename T::element_type>, T > {};
430  // as<shared_ptr<T>>()
431  template<class ObjectImplP, typename ::std::enable_if<DERIVES_shared_ptr<ObjectImplP>::value, bool>::type = true>
432  ObjectImplP as ()
433  {
434  typedef typename ObjectImplP::element_type ObjectImplT;
436  ObjectImplT *impl = this ? dynamic_cast<ObjectImplT*> (this) : NULL;
437  return impl ? Rapicorn::shared_ptr_cast<ObjectImplT> (impl) : NULL;
438  }
439 protected:
440  virtual BseObject* as_bse_object() = 0;
441  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
442  {}
443 };
444 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ObjectIfaceP&);
445 void operator>>= (Rapicorn::Aida::ProtoReader&, ObjectIface*&);
446 void operator>>= (Rapicorn::Aida::ProtoReader&, ObjectIfaceP&);
447 
448 class ItemIface;
449 typedef std::shared_ptr<ItemIface> ItemIfaceP;
450 typedef std::weak_ptr <ItemIface> ItemIfaceW;
451 
454 class ItemIface : public virtual ObjectIface
456 {
457 protected:
458  explicit ItemIface ();
459  virtual /*Des*/ ~ItemIface () override = 0;
460 public:
461  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
462  virtual std::string __aida_type_name__ () const override { return "Bse::Item"; }
463  virtual std::vector<std::string> __aida_aux_data__ () const override;
464  virtual std::vector<std::string> __aida_dir__ () const override;
465  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
466  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
467  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
468  virtual ItemIfaceP common_ancestor (ItemIface &other) = 0;
469  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
470  {
471  this->ObjectIface::__accept_accessor__ (__visitor_);
472  }
473 };
474 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ItemIfaceP&);
475 void operator>>= (Rapicorn::Aida::ProtoReader&, ItemIface*&);
476 void operator>>= (Rapicorn::Aida::ProtoReader&, ItemIfaceP&);
477 
479 {
481  int id;
482  int channel;
483  int tick;
484  int duration;
485  int note;
486  int fine_tune;
487  double velocity;
488  bool selected;
490  inline SrvT_PartNote () { id = 0; channel = 0; tick = 0; duration = 0; note = 0; fine_tune = 0; velocity = 0; selected = 0; }
491  std::string __aida_type_name__ () const { return "Bse::PartNote"; }
492  std::vector<std::string> __aida_aux_data__ () const;
493  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
494  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
495  bool operator== (const SrvT_PartNote &other) const;
496  bool operator!= (const SrvT_PartNote &other) const { return !operator== (other); }
497  template<class Visitor> void __accept__ (Visitor &_visitor_)
498  {
499  _visitor_ (id, "id");
500  _visitor_ (channel, "channel");
501  _visitor_ (tick, "tick");
502  _visitor_ (duration, "duration");
503  _visitor_ (note, "note");
504  _visitor_ (fine_tune, "fine_tune");
505  _visitor_ (velocity, "velocity");
506  _visitor_ (selected, "selected");
507  }
508 };
509 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PartNote&);
510 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PartNote&);
511 
512 struct SrvT_PartNoteSeq : public std::vector<SrvT_PartNote>
513 {
515  reference append_back()
516  { resize (size() + 1); return back(); }
517  std::string __aida_type_name__ () const { return "Bse::PartNoteSeq"; }
518  std::vector<std::string> __aida_aux_data__ () const;
519  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
520  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
521 };
522 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PartNoteSeq&);
523 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PartNoteSeq&);
524 
526 {
528  int id;
529  int tick;
530  MidiSignalType control_type;
531  double value;
532  bool selected;
534  inline SrvT_PartControl () { id = 0; tick = 0; control_type = MidiSignalType (0); value = 0; selected = 0; }
535  std::string __aida_type_name__ () const { return "Bse::PartControl"; }
536  std::vector<std::string> __aida_aux_data__ () const;
537  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
538  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
539  bool operator== (const SrvT_PartControl &other) const;
540  bool operator!= (const SrvT_PartControl &other) const { return !operator== (other); }
541  template<class Visitor> void __accept__ (Visitor &_visitor_)
542  {
543  _visitor_ (id, "id");
544  _visitor_ (tick, "tick");
545  _visitor_ (control_type, "control_type");
546  _visitor_ (value, "value");
547  _visitor_ (selected, "selected");
548  }
549 };
550 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PartControl&);
551 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PartControl&);
552 
553 struct SrvT_PartControlSeq : public std::vector<SrvT_PartControl>
554 {
556  reference append_back()
557  { resize (size() + 1); return back(); }
558  std::string __aida_type_name__ () const { return "Bse::PartControlSeq"; }
559  std::vector<std::string> __aida_aux_data__ () const;
560  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
561  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
562 };
563 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PartControlSeq&);
564 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PartControlSeq&);
565 
566 class PartIface;
569 
572 class PartIface : public virtual ItemIface
574 {
575 protected:
576  explicit PartIface ();
577  virtual /*Des*/ ~PartIface () override = 0;
578 public:
579  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
580  virtual std::string __aida_type_name__ () const override { return "Bse::Part"; }
581  virtual std::vector<std::string> __aida_aux_data__ () const override;
582  virtual std::vector<std::string> __aida_dir__ () const override;
583  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
584  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
585  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
586  virtual SrvT_PartControlSeq list_selected_controls (MidiSignalType control_type) = 0;
587  virtual SrvT_PartControlSeq list_controls (int tick,
588  int duration,
589  MidiSignalType control_type) = 0;
590  virtual SrvT_PartControlSeq get_channel_controls (int channel,
591  int tick,
592  int duration,
593  MidiSignalType control_type) = 0;
594  virtual SrvT_PartControlSeq get_controls (int tick,
595  MidiSignalType control_type) = 0;
596  virtual SrvT_SongTiming get_timing (int tick) = 0;
597  virtual int get_max_note () = 0;
598  virtual int get_min_note () = 0;
599  virtual ErrorType change_control (int id,
600  int tick,
601  MidiSignalType control_type,
602  double value) = 0;
603  virtual ErrorType change_note (int id,
604  int tick,
605  int duration,
606  int note,
607  int fine_tune,
608  double velocity) = 0;
609  virtual ErrorType delete_event (int id) = 0;
610  virtual int insert_control (int tick,
611  MidiSignalType control_type,
612  double value) = 0;
613  virtual int insert_note (int channel,
614  int tick,
615  int duration,
616  int note,
617  int fine_tune,
618  double velocity) = 0;
619  virtual int insert_note_auto (int tick,
620  int duration,
621  int note,
622  int fine_tune,
623  double velocity) = 0;
624  virtual bool is_event_selected (int id) = 0;
625  virtual void queue_controls (int tick,
626  int duration) = 0;
627  virtual void queue_notes (int tick,
628  int duration,
629  int min_note,
630  int max_note) = 0;
631  virtual void select_notes_exclusive (int tick,
632  int duration,
633  int min_note,
634  int max_note) = 0;
635  virtual void select_controls_exclusive (int tick,
636  int duration,
637  MidiSignalType control_type) = 0;
638  virtual void select_notes (int tick,
639  int duration,
640  int min_note,
641  int max_note) = 0;
642  virtual void select_event (int id) = 0;
643  virtual void select_controls (int tick,
644  int duration,
645  MidiSignalType control_type) = 0;
646  virtual void deselect_notes (int tick,
647  int duration,
648  int min_note,
649  int max_note) = 0;
650  virtual void deselect_event (int id) = 0;
651  virtual void deselect_controls (int tick,
652  int duration,
653  MidiSignalType control_type) = 0;
654  virtual SrvT_PartNoteSeq list_notes_crossing (int tick,
655  int duration) = 0;
656  virtual SrvT_PartNoteSeq list_notes_within (int channel,
657  int tick,
658  int duration) = 0;
659  virtual SrvT_PartNoteSeq list_selected_notes () = 0;
660  virtual SrvT_PartNoteSeq check_overlap (int tick,
661  int duration,
662  int note) = 0;
663  virtual SrvT_PartNoteSeq get_notes (int tick,
664  int note) = 0;
665  virtual SrvT_PartLinkSeq list_links () = 0;
666  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
667  {
668  this->ItemIface::__accept_accessor__ (__visitor_);
669  }
670 };
671 void operator<<= (Rapicorn::Aida::ProtoMsg&, const PartIfaceP&);
672 void operator>>= (Rapicorn::Aida::ProtoReader&, PartIface*&);
673 void operator>>= (Rapicorn::Aida::ProtoReader&, PartIfaceP&);
674 
675 class SourceIface;
676 typedef std::shared_ptr<SourceIface> SourceIfaceP;
677 typedef std::weak_ptr <SourceIface> SourceIfaceW;
678 
681 class SourceIface : public virtual ItemIface
683 {
684 protected:
685  explicit SourceIface ();
686  virtual /*Des*/ ~SourceIface () override = 0;
687 public:
688  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
689  virtual std::string __aida_type_name__ () const override { return "Bse::Source"; }
690  virtual std::vector<std::string> __aida_aux_data__ () const override;
691  virtual std::vector<std::string> __aida_dir__ () const override;
692  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
693  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
694  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
695  virtual SourceIfaceP ichannel_get_osource (int input_channel,
696  int input_joint) = 0;
697  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
698  {
699  this->ItemIface::__accept_accessor__ (__visitor_);
700  }
701 };
702 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SourceIfaceP&);
703 void operator>>= (Rapicorn::Aida::ProtoReader&, SourceIface*&);
704 void operator>>= (Rapicorn::Aida::ProtoReader&, SourceIfaceP&);
705 
706 class ContextMergerIface;
707 typedef std::shared_ptr<ContextMergerIface> ContextMergerIfaceP;
708 typedef std::weak_ptr <ContextMergerIface> ContextMergerIfaceW;
709 
712 class ContextMergerIface : public virtual SourceIface
714 {
715 protected:
716  explicit ContextMergerIface ();
717  virtual /*Des*/ ~ContextMergerIface () override = 0;
718 public:
719  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
720  virtual std::string __aida_type_name__ () const override { return "Bse::ContextMerger"; }
721  virtual std::vector<std::string> __aida_aux_data__ () const override;
722  virtual std::vector<std::string> __aida_dir__ () const override;
723  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
724  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
725  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
726  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
727  {
728  this->SourceIface::__accept_accessor__ (__visitor_);
729  }
730 };
731 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ContextMergerIfaceP&);
732 void operator>>= (Rapicorn::Aida::ProtoReader&, ContextMergerIface*&);
733 void operator>>= (Rapicorn::Aida::ProtoReader&, ContextMergerIfaceP&);
734 
735 class ContainerIface;
736 typedef std::shared_ptr<ContainerIface> ContainerIfaceP;
737 typedef std::weak_ptr <ContainerIface> ContainerIfaceW;
738 
741 class ContainerIface : public virtual SourceIface
743 {
744 protected:
745  explicit ContainerIface ();
746  virtual /*Des*/ ~ContainerIface () override = 0;
747 public:
748  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
749  virtual std::string __aida_type_name__ () const override { return "Bse::Container"; }
750  virtual std::vector<std::string> __aida_aux_data__ () const override;
751  virtual std::vector<std::string> __aida_dir__ () const override;
752  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
753  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
754  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
755  virtual ItemIfaceP lookup_item (const std::string &uname) = 0;
756  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
757  {
758  this->SourceIface::__accept_accessor__ (__visitor_);
759  }
760 };
761 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ContainerIfaceP&);
762 void operator>>= (Rapicorn::Aida::ProtoReader&, ContainerIface*&);
763 void operator>>= (Rapicorn::Aida::ProtoReader&, ContainerIfaceP&);
764 
765 class SuperIface;
766 typedef std::shared_ptr<SuperIface> SuperIfaceP;
767 typedef std::weak_ptr <SuperIface> SuperIfaceW;
768 
771 class SuperIface : public virtual ContainerIface
773 {
774 protected:
775  explicit SuperIface ();
776  virtual /*Des*/ ~SuperIface () override = 0;
777 public:
778  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
779  virtual std::string __aida_type_name__ () const override { return "Bse::Super"; }
780  virtual std::vector<std::string> __aida_aux_data__ () const override;
781  virtual std::vector<std::string> __aida_dir__ () const override;
782  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
783  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
784  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
785  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
786  {
787  this->ContainerIface::__accept_accessor__ (__visitor_);
788  }
789 };
790 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SuperIfaceP&);
791 void operator>>= (Rapicorn::Aida::ProtoReader&, SuperIface*&);
792 void operator>>= (Rapicorn::Aida::ProtoReader&, SuperIfaceP&);
793 
794 class SNetIface;
795 typedef std::shared_ptr<SNetIface> SNetIfaceP;
796 typedef std::weak_ptr <SNetIface> SNetIfaceW;
797 
800 class SNetIface : public virtual SuperIface
802 {
803 protected:
804  explicit SNetIface ();
805  virtual /*Des*/ ~SNetIface () override = 0;
806 public:
807  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
808  virtual std::string __aida_type_name__ () const override { return "Bse::SNet"; }
809  virtual std::vector<std::string> __aida_aux_data__ () const override;
810  virtual std::vector<std::string> __aida_dir__ () const override;
811  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
812  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
813  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
814  virtual bool supports_user_synths () = 0;
815  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
816  {
817  this->SuperIface::__accept_accessor__ (__visitor_);
818  }
819 };
820 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SNetIfaceP&);
821 void operator>>= (Rapicorn::Aida::ProtoReader&, SNetIface*&);
822 void operator>>= (Rapicorn::Aida::ProtoReader&, SNetIfaceP&);
823 
824 class CSynthIface;
825 typedef std::shared_ptr<CSynthIface> CSynthIfaceP;
826 typedef std::weak_ptr <CSynthIface> CSynthIfaceW;
827 
830 class CSynthIface : public virtual SNetIface
832 {
833 protected:
834  explicit CSynthIface ();
835  virtual /*Des*/ ~CSynthIface () override = 0;
836 public:
837  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
838  virtual std::string __aida_type_name__ () const override { return "Bse::CSynth"; }
839  virtual std::vector<std::string> __aida_aux_data__ () const override;
840  virtual std::vector<std::string> __aida_dir__ () const override;
841  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
842  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
843  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
844  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
845  {
846  this->SNetIface::__accept_accessor__ (__visitor_);
847  }
848 };
849 void operator<<= (Rapicorn::Aida::ProtoMsg&, const CSynthIfaceP&);
850 void operator>>= (Rapicorn::Aida::ProtoReader&, CSynthIface*&);
851 void operator>>= (Rapicorn::Aida::ProtoReader&, CSynthIfaceP&);
852 
853 class SubSynthIface;
854 typedef std::shared_ptr<SubSynthIface> SubSynthIfaceP;
855 typedef std::weak_ptr <SubSynthIface> SubSynthIfaceW;
856 
859 class SubSynthIface : public virtual SourceIface
861 {
862 protected:
863  explicit SubSynthIface ();
864  virtual /*Des*/ ~SubSynthIface () override = 0;
865 public:
866  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
867  virtual std::string __aida_type_name__ () const override { return "Bse::SubSynth"; }
868  virtual std::vector<std::string> __aida_aux_data__ () const override;
869  virtual std::vector<std::string> __aida_dir__ () const override;
870  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
871  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
872  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
873  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
874  {
875  this->SourceIface::__accept_accessor__ (__visitor_);
876  }
877 };
878 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SubSynthIfaceP&);
879 void operator>>= (Rapicorn::Aida::ProtoReader&, SubSynthIface*&);
880 void operator>>= (Rapicorn::Aida::ProtoReader&, SubSynthIfaceP&);
881 
882 class TrackIface;
883 typedef std::shared_ptr<TrackIface> TrackIfaceP;
884 typedef std::weak_ptr <TrackIface> TrackIfaceW;
885 
888 class TrackIface : public virtual ContextMergerIface
890 {
891 protected:
892  explicit TrackIface ();
893  virtual /*Des*/ ~TrackIface () override = 0;
894 public:
895  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
896  virtual std::string __aida_type_name__ () const override { return "Bse::Track"; }
897  virtual std::vector<std::string> __aida_aux_data__ () const override;
898  virtual std::vector<std::string> __aida_dir__ () const override;
899  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
900  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
901  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
902  virtual SrvT_SongTiming get_timing (int tick) = 0;
903  virtual int insert_part (int tick,
904  PartIface &part) = 0;
905  virtual void remove_tick (int tick) = 0;
906  virtual PartIfaceP get_part (int tick) = 0;
907  virtual int get_last_tick () = 0;
908  virtual ErrorType ensure_output () = 0;
909  virtual SourceIfaceP get_output_source () = 0;
910  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
911  {
912  this->ContextMergerIface::__accept_accessor__ (__visitor_);
913  }
914 };
915 void operator<<= (Rapicorn::Aida::ProtoMsg&, const TrackIfaceP&);
916 void operator>>= (Rapicorn::Aida::ProtoReader&, TrackIface*&);
917 void operator>>= (Rapicorn::Aida::ProtoReader&, TrackIfaceP&);
918 
920 {
922  TrackIfaceP track;
923  int tick;
924  PartIfaceP part;
925  int duration;
927  inline SrvT_PartLink () { tick = 0; duration = 0; }
928  std::string __aida_type_name__ () const { return "Bse::PartLink"; }
929  std::vector<std::string> __aida_aux_data__ () const;
930  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
931  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
932  bool operator== (const SrvT_PartLink &other) const;
933  bool operator!= (const SrvT_PartLink &other) const { return !operator== (other); }
934  template<class Visitor> void __accept__ (Visitor &_visitor_)
935  {
936  _visitor_ (track, "track");
937  _visitor_ (tick, "tick");
938  _visitor_ (part, "part");
939  _visitor_ (duration, "duration");
940  }
941 };
942 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PartLink&);
943 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PartLink&);
944 
945 struct SrvT_PartLinkSeq : public std::vector<SrvT_PartLink>
946 {
948  reference append_back()
949  { resize (size() + 1); return back(); }
950  std::string __aida_type_name__ () const { return "Bse::PartLinkSeq"; }
951  std::vector<std::string> __aida_aux_data__ () const;
952  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
953  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
954 };
955 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PartLinkSeq&);
956 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PartLinkSeq&);
957 
958 class BusIface;
961 
964 class BusIface : public virtual SubSynthIface
966 {
967 protected:
968  explicit BusIface ();
969  virtual /*Des*/ ~BusIface () override = 0;
970 public:
971  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
972  virtual std::string __aida_type_name__ () const override { return "Bse::Bus"; }
973  virtual std::vector<std::string> __aida_aux_data__ () const override;
974  virtual std::vector<std::string> __aida_dir__ () const override;
975  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
976  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
977  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
978  virtual ErrorType ensure_output () = 0;
979  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
980  {
981  this->SubSynthIface::__accept_accessor__ (__visitor_);
982  }
983 };
984 void operator<<= (Rapicorn::Aida::ProtoMsg&, const BusIfaceP&);
985 void operator>>= (Rapicorn::Aida::ProtoReader&, BusIface*&);
986 void operator>>= (Rapicorn::Aida::ProtoReader&, BusIfaceP&);
987 
988 class SongIface;
989 typedef std::shared_ptr<SongIface> SongIfaceP;
990 typedef std::weak_ptr <SongIface> SongIfaceW;
991 
994 class SongIface : public virtual SNetIface
996 {
997 protected:
998  explicit SongIface ();
999  virtual /*Des*/ ~SongIface () override = 0;
1000 public:
1001  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1002  virtual std::string __aida_type_name__ () const override { return "Bse::Song"; }
1003  virtual std::vector<std::string> __aida_aux_data__ () const override;
1004  virtual std::vector<std::string> __aida_dir__ () const override;
1005  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1006  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1007  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1008  virtual double bpm () const = 0;
1009  virtual void bpm (double) = 0;
1010  virtual SrvT_SongTiming get_timing (int tick) = 0;
1011  virtual TrackIfaceP find_any_track_for_part (PartIface &part) = 0;
1012  virtual BusIfaceP create_bus () = 0;
1013  virtual void remove_bus (BusIface &bus) = 0;
1014  virtual PartIfaceP create_part () = 0;
1015  virtual void remove_part (PartIface &part) = 0;
1016  virtual TrackIfaceP create_track () = 0;
1017  virtual void remove_track (TrackIface &track) = 0;
1018  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1019  {
1020  __visitor_ (*this, "bpm", &SongIface::bpm, &SongIface::bpm);
1021  this->SNetIface::__accept_accessor__ (__visitor_);
1022  }
1023 };
1024 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SongIfaceP&);
1025 void operator>>= (Rapicorn::Aida::ProtoReader&, SongIface*&);
1026 void operator>>= (Rapicorn::Aida::ProtoReader&, SongIfaceP&);
1027 
1028 class EditableSampleIface;
1029 typedef std::shared_ptr<EditableSampleIface> EditableSampleIfaceP;
1030 typedef std::weak_ptr <EditableSampleIface> EditableSampleIfaceW;
1031 
1034 class EditableSampleIface : public virtual ItemIface
1036 {
1037 protected:
1038  explicit EditableSampleIface ();
1039  virtual /*Des*/ ~EditableSampleIface () override = 0;
1040 public:
1041  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1042  virtual std::string __aida_type_name__ () const override { return "Bse::EditableSample"; }
1043  virtual std::vector<std::string> __aida_aux_data__ () const override;
1044  virtual std::vector<std::string> __aida_dir__ () const override;
1045  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1046  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1047  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1048  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1049  {
1050  this->ItemIface::__accept_accessor__ (__visitor_);
1051  }
1052 };
1053 void operator<<= (Rapicorn::Aida::ProtoMsg&, const EditableSampleIfaceP&);
1054 void operator>>= (Rapicorn::Aida::ProtoReader&, EditableSampleIface*&);
1055 void operator>>= (Rapicorn::Aida::ProtoReader&, EditableSampleIfaceP&);
1056 
1057 class WaveIface;
1058 typedef std::shared_ptr<WaveIface> WaveIfaceP;
1059 typedef std::weak_ptr <WaveIface> WaveIfaceW;
1060 
1063 class WaveIface : public virtual SourceIface
1065 {
1066 protected:
1067  explicit WaveIface ();
1068  virtual /*Des*/ ~WaveIface () override = 0;
1069 public:
1070  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1071  virtual std::string __aida_type_name__ () const override { return "Bse::Wave"; }
1072  virtual std::vector<std::string> __aida_aux_data__ () const override;
1073  virtual std::vector<std::string> __aida_dir__ () const override;
1074  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1075  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1076  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1077  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1078  {
1079  this->SourceIface::__accept_accessor__ (__visitor_);
1080  }
1081 };
1082 void operator<<= (Rapicorn::Aida::ProtoMsg&, const WaveIfaceP&);
1083 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveIface*&);
1084 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveIfaceP&);
1085 
1086 class WaveRepoIface;
1087 typedef std::shared_ptr<WaveRepoIface> WaveRepoIfaceP;
1088 typedef std::weak_ptr <WaveRepoIface> WaveRepoIfaceW;
1089 
1092 class WaveRepoIface : public virtual SuperIface
1094 {
1095 protected:
1096  explicit WaveRepoIface ();
1097  virtual /*Des*/ ~WaveRepoIface () override = 0;
1098 public:
1099  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1100  virtual std::string __aida_type_name__ () const override { return "Bse::WaveRepo"; }
1101  virtual std::vector<std::string> __aida_aux_data__ () const override;
1102  virtual std::vector<std::string> __aida_dir__ () const override;
1103  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1104  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1105  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1106  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1107  {
1108  this->SuperIface::__accept_accessor__ (__visitor_);
1109  }
1110 };
1111 void operator<<= (Rapicorn::Aida::ProtoMsg&, const WaveRepoIfaceP&);
1112 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveRepoIface*&);
1113 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveRepoIfaceP&);
1114 
1115 class MidiNotifierIface;
1116 typedef std::shared_ptr<MidiNotifierIface> MidiNotifierIfaceP;
1117 typedef std::weak_ptr <MidiNotifierIface> MidiNotifierIfaceW;
1118 
1121 class MidiNotifierIface : public virtual ItemIface
1123 {
1124 protected:
1125  explicit MidiNotifierIface ();
1126  virtual /*Des*/ ~MidiNotifierIface () override = 0;
1127 public:
1128  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1129  virtual std::string __aida_type_name__ () const override { return "Bse::MidiNotifier"; }
1130  virtual std::vector<std::string> __aida_aux_data__ () const override;
1131  virtual std::vector<std::string> __aida_dir__ () const override;
1132  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1133  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1134  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1135  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1136  {
1137  this->ItemIface::__accept_accessor__ (__visitor_);
1138  }
1139 };
1140 void operator<<= (Rapicorn::Aida::ProtoMsg&, const MidiNotifierIfaceP&);
1141 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiNotifierIface*&);
1142 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiNotifierIfaceP&);
1143 
1144 class MidiSynthIface;
1145 typedef std::shared_ptr<MidiSynthIface> MidiSynthIfaceP;
1146 typedef std::weak_ptr <MidiSynthIface> MidiSynthIfaceW;
1147 
1150 class MidiSynthIface : public virtual SNetIface
1152 {
1153 protected:
1154  explicit MidiSynthIface ();
1155  virtual /*Des*/ ~MidiSynthIface () override = 0;
1156 public:
1157  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1158  virtual std::string __aida_type_name__ () const override { return "Bse::MidiSynth"; }
1159  virtual std::vector<std::string> __aida_aux_data__ () const override;
1160  virtual std::vector<std::string> __aida_dir__ () const override;
1161  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1162  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1163  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1164  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1165  {
1166  this->SNetIface::__accept_accessor__ (__visitor_);
1167  }
1168 };
1169 void operator<<= (Rapicorn::Aida::ProtoMsg&, const MidiSynthIfaceP&);
1170 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiSynthIface*&);
1171 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiSynthIfaceP&);
1172 
1173 class ProjectIface;
1174 typedef std::shared_ptr<ProjectIface> ProjectIfaceP;
1175 typedef std::weak_ptr <ProjectIface> ProjectIfaceW;
1176 
1179 class ProjectIface : public virtual ContainerIface
1181 {
1182 protected:
1183  explicit ProjectIface ();
1184  virtual /*Des*/ ~ProjectIface () override = 0;
1185 public:
1186  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1187  virtual std::string __aida_type_name__ () const override { return "Bse::Project"; }
1188  virtual std::vector<std::string> __aida_aux_data__ () const override;
1189  virtual std::vector<std::string> __aida_dir__ () const override;
1190  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1191  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1192  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1193  virtual void change_name (const std::string &name) = 0;
1194  virtual ErrorType play () = 0;
1195  virtual ErrorType activate () = 0;
1196  virtual bool can_play () = 0;
1197  virtual bool is_playing () = 0;
1198  virtual bool is_active () = 0;
1199  virtual void start_playback () = 0;
1200  virtual void stop_playback () = 0;
1201  virtual void deactivate () = 0;
1202  virtual void stop () = 0;
1203  virtual void auto_deactivate (int msec_delay) = 0;
1204  virtual int undo_depth () = 0;
1205  virtual void undo () = 0;
1206  virtual int redo_depth () = 0;
1207  virtual void redo () = 0;
1208  virtual void clear_undo () = 0;
1209  virtual void clean_dirty () = 0;
1210  virtual bool is_dirty () = 0;
1211  virtual void inject_midi_control (int midi_channel,
1212  int midi_control,
1213  double control_value) = 0;
1214  virtual ErrorType import_midi_file (const std::string &file_name) = 0;
1215  virtual ErrorType restore_from_file (const std::string &file_name) = 0;
1216  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1217  {
1218  this->ContainerIface::__accept_accessor__ (__visitor_);
1219  }
1220 };
1221 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ProjectIfaceP&);
1222 void operator>>= (Rapicorn::Aida::ProtoReader&, ProjectIface*&);
1223 void operator>>= (Rapicorn::Aida::ProtoReader&, ProjectIfaceP&);
1224 
1225 class PcmWriterIface;
1226 typedef std::shared_ptr<PcmWriterIface> PcmWriterIfaceP;
1227 typedef std::weak_ptr <PcmWriterIface> PcmWriterIfaceW;
1228 
1231 class PcmWriterIface : public virtual ItemIface
1233 {
1234 protected:
1235  explicit PcmWriterIface ();
1236  virtual /*Des*/ ~PcmWriterIface () override = 0;
1237 public:
1238  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1239  virtual std::string __aida_type_name__ () const override { return "Bse::PcmWriter"; }
1240  virtual std::vector<std::string> __aida_aux_data__ () const override;
1241  virtual std::vector<std::string> __aida_dir__ () const override;
1242  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1243  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1244  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1245  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1246  {
1247  this->ItemIface::__accept_accessor__ (__visitor_);
1248  }
1249 };
1250 void operator<<= (Rapicorn::Aida::ProtoMsg&, const PcmWriterIfaceP&);
1251 void operator>>= (Rapicorn::Aida::ProtoReader&, PcmWriterIface*&);
1252 void operator>>= (Rapicorn::Aida::ProtoReader&, PcmWriterIfaceP&);
1253 
1254 class ServerIface;
1255 typedef std::shared_ptr<ServerIface> ServerIfaceP;
1256 typedef std::weak_ptr <ServerIface> ServerIfaceW;
1257 
1260 class ServerIface : public virtual ObjectIface
1262 {
1263 protected:
1264  explicit ServerIface ();
1265  virtual /*Des*/ ~ServerIface () override = 0;
1266 public:
1267  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1268  virtual std::string __aida_type_name__ () const override { return "Bse::Server"; }
1269  virtual std::vector<std::string> __aida_aux_data__ () const override;
1270  virtual std::vector<std::string> __aida_dir__ () const override;
1271  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1272  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1273  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1274  typedef Rapicorn::Aida::Signal<void (const SrvT_UserMessage &umsg)> Signal_user_message;
1275  Signal_user_message sig_user_message;
1276  virtual TestObjectIfaceP get_test_object () = 0;
1277  virtual ObjectIfaceP from_proxy (int64_t proxyid) = 0;
1278  virtual std::string get_mp3_version () = 0;
1279  virtual std::string get_vorbis_version () = 0;
1280  virtual std::string get_ladspa_path () = 0;
1281  virtual std::string get_plugin_path () = 0;
1282  virtual std::string get_script_path () = 0;
1283  virtual std::string get_instrument_path () = 0;
1284  virtual std::string get_sample_path () = 0;
1285  virtual std::string get_effect_path () = 0;
1286  virtual std::string get_demo_path () = 0;
1287  virtual std::string get_custom_instrument_dir () = 0;
1288  virtual std::string get_custom_effect_dir () = 0;
1289  virtual std::string get_version () = 0;
1290  virtual void save_preferences () = 0;
1291  virtual void register_ladspa_plugins () = 0;
1292  virtual void register_core_plugins () = 0;
1293  virtual void register_scripts () = 0;
1294  virtual bool preferences_locked () = 0;
1295  virtual int n_scripts () = 0;
1296  virtual bool can_load (const std::string &file_name) = 0;
1297  virtual void start_recording (const std::string &wave_file,
1298  double n_seconds) = 0;
1299  virtual ProjectIfaceP create_project (const std::string &project_name) = 0;
1300  virtual void destroy_project (ProjectIface &project) = 0;
1301  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1302  {
1303  this->ObjectIface::__accept_accessor__ (__visitor_);
1304  }
1305 };
1306 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ServerIfaceP&);
1307 void operator>>= (Rapicorn::Aida::ProtoReader&, ServerIface*&);
1308 void operator>>= (Rapicorn::Aida::ProtoReader&, ServerIfaceP&);
1309 } // Bse
1310 
1311 #define BSE_IDL_INTERFACE_LIST \
1312  BSE_IDL_INTERFACE_NAME (Bse::TestObject) \
1313  BSE_IDL_INTERFACE_NAME (Bse::Object) \
1314  BSE_IDL_INTERFACE_NAME (Bse::Item) \
1315  BSE_IDL_INTERFACE_NAME (Bse::Part) \
1316  BSE_IDL_INTERFACE_NAME (Bse::Source) \
1317  BSE_IDL_INTERFACE_NAME (Bse::ContextMerger) \
1318  BSE_IDL_INTERFACE_NAME (Bse::Container) \
1319  BSE_IDL_INTERFACE_NAME (Bse::Super) \
1320  BSE_IDL_INTERFACE_NAME (Bse::SNet) \
1321  BSE_IDL_INTERFACE_NAME (Bse::CSynth) \
1322  BSE_IDL_INTERFACE_NAME (Bse::SubSynth) \
1323  BSE_IDL_INTERFACE_NAME (Bse::Track) \
1324  BSE_IDL_INTERFACE_NAME (Bse::Bus) \
1325  BSE_IDL_INTERFACE_NAME (Bse::Song) \
1326  BSE_IDL_INTERFACE_NAME (Bse::EditableSample) \
1327  BSE_IDL_INTERFACE_NAME (Bse::Wave) \
1328  BSE_IDL_INTERFACE_NAME (Bse::WaveRepo) \
1329  BSE_IDL_INTERFACE_NAME (Bse::MidiNotifier) \
1330  BSE_IDL_INTERFACE_NAME (Bse::MidiSynth) \
1331  BSE_IDL_INTERFACE_NAME (Bse::Project) \
1332  BSE_IDL_INTERFACE_NAME (Bse::PcmWriter) \
1333  BSE_IDL_INTERFACE_NAME (Bse::Server)
1334 
1335 // C++ Aliases
1336 #ifndef __BSE_IDL_ALIASES__
1337 #define __BSE_IDL_ALIASES__ 2
1338 #endif
1339 #if __BSE_IDL_ALIASES__ == 2
1340 namespace Bse {
1341 typedef SrvT_UserMessage UserMessage;
1342 typedef SrvT_SongTiming SongTiming;
1343 typedef SrvT_PartNote PartNote;
1344 typedef SrvT_PartNoteSeq PartNoteSeq;
1345 typedef SrvT_PartControl PartControl;
1346 typedef SrvT_PartControlSeq PartControlSeq;
1347 typedef SrvT_PartLink PartLink;
1348 typedef SrvT_PartLinkSeq PartLinkSeq;
1349 } // Bse
1350 #endif // __BSE_IDL_ALIASES__
1351 
1352 #endif /* __SRVT__BSE_IDL */
virtual SrvT_SongTiming get_timing(int tick)=0
See Part::get_timing()
virtual int64_t proxy_id()=0
See Object::proxy_id()
See also the corresponding IDL class SubSynth.
Definition: bseserverapi.hh:860
See also the corresponding IDL class Bus.
Definition: bseserverapi.hh:965
virtual void select_controls(int tick, int duration, MidiSignalType control_type)=0
See Part::select_controls()
virtual std::string get_custom_instrument_dir()=0
See Server::get_custom_instrument_dir()
virtual void start_playback()=0
See Project::start_playback()
Definition: bseserverapi.hh:328
virtual bool is_event_selected(int id)=0
See Part::is_event_selected()
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:67
virtual ErrorType activate()=0
See Project::activate()
virtual void select_notes_exclusive(int tick, int duration, int min_note, int max_note)=0
See Part::select_notes_exclusive()
virtual SrvT_PartNoteSeq get_notes(int tick, int note)=0
See Part::get_notes()
virtual std::string get_sample_path()=0
See Server::get_sample_path()
Definition: bstserverapi.cc:544
virtual ItemIfaceP lookup_item(const std::string &uname)=0
See Container::lookup_item()
virtual ErrorType change_note(int id, int tick, int duration, int note, int fine_tune, double velocity)=0
See Part::change_note()
virtual SrvT_PartNoteSeq check_overlap(int tick, int duration, int note)=0
See Part::check_overlap()
virtual SrvT_PartControlSeq list_controls(int tick, int duration, MidiSignalType control_type)=0
See Part::list_controls()
virtual std::string get_demo_path()=0
See Server::get_demo_path()
typedef int64_t
virtual int insert_note(int channel, int tick, int duration, int note, int fine_tune, double velocity)=0
See Part::insert_note()
virtual bool is_playing()=0
See Project::is_playing()
virtual void start_recording(const std::string &wave_file, double n_seconds)=0
See Server::start_recording()
virtual SrvT_SongTiming get_timing(int tick)=0
See Track::get_timing()
virtual PartIfaceP get_part(int tick)=0
See Track::get_part()
virtual SourceIfaceP get_output_source()=0
See Track::get_output_source()
virtual void select_notes(int tick, int duration, int min_note, int max_note)=0
See Part::select_notes()
virtual void remove_bus(BusIface &bus)=0
See Song::remove_bus()
virtual SourceIfaceP ichannel_get_osource(int input_channel, int input_joint)=0
See Source::ichannel_get_osource()
Definition: bseserverapi.hh:553
virtual SrvT_PartLinkSeq list_links()=0
See Part::list_links()
virtual int get_last_tick()=0
See Track::get_last_tick()
virtual ErrorType change_control(int id, int tick, MidiSignalType control_type, double value)=0
See Part::change_control()
virtual void queue_controls(int tick, int duration)=0
See Part::queue_controls()
SrvT_PartNote resize(SrvT_PartNote...args)
STL class.
virtual void stop()=0
See Project::stop()
virtual std::string debug_name()=0
See Object::debug_name()
Definition: bseserverapi.hh:945
virtual ItemIfaceP common_ancestor(ItemIface &other)=0
See Item::common_ancestor()
Definition: bseserverapi.hh:525
Indicate a message about an error condition.
Definition: bseapi.idl:305
virtual void inject_midi_control(int midi_channel, int midi_control, double control_value)=0
See Project::inject_midi_control()
virtual int echo_test(const std::string &msg)=0
See TestObject::echo_test()
virtual SrvT_PartNoteSeq list_notes_within(int channel, int tick, int duration)=0
See Part::list_notes_within()
virtual void remove_track(TrackIface &track)=0
See Song::remove_track()
virtual SrvT_PartControlSeq get_channel_controls(int channel, int tick, int duration, MidiSignalType control_type)=0
See Part::get_channel_controls()
virtual std::string get_effect_path()=0
See Server::get_effect_path()
virtual void remove_tick(int tick)=0
See Track::remove_tick()
virtual ErrorType delete_event(int id)=0
See Part::delete_event()
virtual SrvT_PartNoteSeq list_notes_crossing(int tick, int duration)=0
See Part::list_notes_crossing()
Indicate an informational message.
Definition: bseapi.idl:307
virtual bool is_dirty()=0
See Project::is_dirty()
virtual bool can_load(const std::string &file_name)=0
See Server::can_load()
virtual std::string get_version()=0
See Server::get_version()
virtual void deactivate()=0
See Project::deactivate()
virtual SrvT_SongTiming get_timing(int tick)=0
See Song::get_timing()
Definition: bseobject.hh:60
virtual ProjectIfaceP create_project(const std::string &project_name)=0
See Server::create_project()
virtual void stop_playback()=0
See Project::stop_playback()
virtual bool is_active()=0
See Project::is_active()
virtual void register_core_plugins()=0
See Server::register_core_plugins()
virtual void select_event(int id)=0
See Part::select_event()
virtual int get_max_note()=0
See Part::get_max_note()
virtual ErrorType play()=0
See Project::play()
SrvT_PartNote size(SrvT_PartNote...args)
See also the corresponding IDL class Part.
Definition: bseserverapi.hh:573
virtual int n_scripts()=0
See Server::n_scripts()
STL class.
UserMessageType
Definition: bseapi.idl:304
virtual TrackIfaceP find_any_track_for_part(PartIface &part)=0
See Song::find_any_track_for_part()
virtual TrackIfaceP create_track()=0
See Song::create_track()
Definition: bseserverapi.hh:512
Indicate a debugging message (usually insignificant).
Definition: bseapi.idl:308
virtual int insert_part(int tick, PartIface &part)=0
See Track::insert_part()
virtual void select_controls_exclusive(int tick, int duration, MidiSignalType control_type)=0
See Part::select_controls_exclusive()
virtual void register_ladspa_plugins()=0
See Server::register_ladspa_plugins()
virtual void undo()=0
See Project::undo()
virtual std::string get_instrument_path()=0
See Server::get_instrument_path()
virtual PartIfaceP create_part()=0
See Song::create_part()
virtual void deselect_notes(int tick, int duration, int min_note, int max_note)=0
See Part::deselect_notes()
virtual ErrorType import_midi_file(const std::string &file_name)=0
See Project::import_midi_file()
Indicate a message about a possibly harmful condition.
Definition: bseapi.idl:306
Definition: bseserverapi.hh:427
virtual bool can_play()=0
See Project::can_play()
SrvT_PartNote back(SrvT_PartNote...args)
virtual SrvT_PartControlSeq list_selected_controls(MidiSignalType control_type)=0
See Part::list_selected_controls()
virtual bool preferences_locked()=0
See Server::preferences_locked()
virtual int insert_control(int tick, MidiSignalType control_type, double value)=0
See Part::insert_control()
virtual ErrorType ensure_output()=0
See Bus::ensure_output()
virtual int insert_note_auto(int tick, int duration, int note, int fine_tune, double velocity)=0
See Part::insert_note_auto()
virtual void change_name(const std::string &name)=0
See Project::change_name()
See also the corresponding IDL class Object.
Definition: bseserverapi.hh:401
virtual void save_preferences()=0
See Server::save_preferences()
virtual void deselect_event(int id)=0
See Part::deselect_event()
virtual ErrorType ensure_output()=0
See Track::ensure_output()
virtual double bpm() const =0
See Song::bpm.
virtual void clean_dirty()=0
See Project::clean_dirty()
virtual void destroy_project(ProjectIface &project)=0
See Server::destroy_project()
Definition: bseserverapi.hh:358
virtual SrvT_PartNoteSeq list_selected_notes()=0
See Part::list_selected_notes()
virtual SrvT_PartControlSeq get_controls(int tick, MidiSignalType control_type)=0
See Part::get_controls()
virtual int undo_depth()=0
See Project::undo_depth()
virtual std::string get_vorbis_version()=0
See Server::get_vorbis_version()
virtual std::string get_script_path()=0
See Server::get_script_path()
virtual std::string get_mp3_version()=0
See Server::get_mp3_version()
virtual std::string get_custom_effect_dir()=0
See Server::get_custom_effect_dir()
See also the corresponding IDL class Item.
Definition: bseserverapi.hh:455
virtual TestObjectIfaceP get_test_object()=0
See Server::get_test_object()
virtual int redo_depth()=0
See Project::redo_depth()
virtual ErrorType restore_from_file(const std::string &file_name)=0
See Project::restore_from_file()
virtual void register_scripts()=0
See Server::register_scripts()
virtual std::string get_plugin_path()=0
See Server::get_plugin_path()
virtual bool supports_user_synths()=0
See SNet::supports_user_synths()
virtual void clear_undo()=0
See Project::clear_undo()
virtual ObjectIfaceP from_proxy(int64_t proxyid)=0
See Server::from_proxy()
virtual void auto_deactivate(int msec_delay)=0
See Project::auto_deactivate()
virtual void queue_notes(int tick, int duration, int min_note, int max_note)=0
See Part::queue_notes()
virtual int get_min_note()=0
See Part::get_min_note()
virtual void redo()=0
See Project::redo()
virtual BusIfaceP create_bus()=0
See Song::create_bus()
virtual void deselect_controls(int tick, int duration, MidiSignalType control_type)=0
See Part::deselect_controls()
virtual void remove_part(PartIface &part)=0
See Song::remove_part()
virtual std::string get_ladspa_path()=0
See Server::get_ladspa_path()
Definition: bseserverapi.hh:478