BEAST - Free Software Audio Synthesizer and Tracker  0.10.0
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 #define RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_EQ(Enum) \
12  bool constexpr operator== (Enum v, int64_t n) { return int64_t (v) == n; } \
13  bool constexpr operator== (int64_t n, Enum v) { return n == int64_t (v); } \
14  bool constexpr operator!= (Enum v, int64_t n) { return int64_t (v) != n; } \
15  bool constexpr operator!= (int64_t n, Enum v) { return n != int64_t (v); }
16 #define RAPICORN_AIDA_FLAGS_DEFINE_ARITHMETIC_OPS(Enum) \
17  static constexpr int64_t operator>> (Enum v, int64_t n) { return int64_t (v) >> n; } \
18  static constexpr int64_t operator<< (Enum v, int64_t n) { return int64_t (v) << n; } \
19  static constexpr int64_t operator^ (Enum v, int64_t n) { return int64_t (v) ^ n; } \
20  static constexpr int64_t operator^ (int64_t n, Enum v) { return n ^ int64_t (v); } \
21  static constexpr int64_t operator| (Enum v, int64_t n) { return int64_t (v) | n; } \
22  static constexpr int64_t operator| (int64_t n, Enum v) { return n | int64_t (v); } \
23  static constexpr int64_t operator& (Enum v, int64_t n) { return int64_t (v) & n; } \
24  static constexpr int64_t operator& (int64_t n, Enum v) { return n & int64_t (v); } \
25  static constexpr int64_t operator~ (Enum v) { return ~int64_t (v); } \
26  static constexpr int64_t operator+ (Enum v) { return +int64_t (v); } \
27  static constexpr int64_t operator- (Enum v) { return -int64_t (v); } \
28  static constexpr int64_t operator+ (Enum v, int64_t n) { return int64_t (v) + n; } \
29  static constexpr int64_t operator+ (int64_t n, Enum v) { return n + int64_t (v); } \
30  static constexpr int64_t operator- (Enum v, int64_t n) { return int64_t (v) - n; } \
31  static constexpr int64_t operator- (int64_t n, Enum v) { return n - int64_t (v); } \
32  static constexpr int64_t operator* (Enum v, int64_t n) { return int64_t (v) * n; } \
33  static constexpr int64_t operator* (int64_t n, Enum v) { return n * int64_t (v); } \
34  static constexpr int64_t operator/ (Enum v, int64_t n) { return int64_t (v) / n; } \
35  static constexpr int64_t operator/ (int64_t n, Enum v) { return n / int64_t (v); } \
36  static constexpr int64_t operator% (Enum v, int64_t n) { return int64_t (v) % n; } \
37  static constexpr int64_t operator% (int64_t n, Enum v) { return n % int64_t (v); } \
38  RAPICORN_FIXCYTHON_ENUM (Enum)
39 #ifdef CYTHON_COMPILING_IN_CPYTHON
40 // Use C++ ADL, so PyInt_FromLong as generated by Cython works on scoped enums.
41 #define RAPICORN_FIXCYTHON_ENUM(Enum) \
42  extern inline PyObject* PyInt_FromLong (Enum __e_) { return ::PyInt_FromLong (long (__e_)); }
43 #else // !CYTHON_COMPILING_IN_CPYTHON
44 #define RAPICORN_FIXCYTHON_ENUM(Enum)
45 #endif // !CYTHON_COMPILING_IN_CPYTHON
46 #ifdef RAPICORN_AIDA_ENABLE_ENUM_ARITHMETIC
47 #define RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_OPS RAPICORN_AIDA_FLAGS_DEFINE_ARITHMETIC_OPS
48 #else // !RAPICORN_AIDA_ENABLE_ENUM_ARITHMETIC
49 #define RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_OPS(Enum) /* no arithmetic ops */
50 #endif // !RAPICORN_AIDA_ENABLE_ENUM_ARITHMETIC
51 
52 #ifndef __ENUMHH__BSE_IDL__
53 #define __ENUMHH__BSE_IDL__
54 
55 namespace Bse {
56 
58 enum class Error : int64_t {
59  NONE = 0, // _("OK")
60  INTERNAL = 1, // _("Internal error (please report)")
61  UNKNOWN = 2, // _("Unknown error")
62  IO = 3, // _("Input/output error")
63  PERMS = 4, // _("Insufficient permissions")
64  FILE_BUSY = 5, // _("Device or resource busy")
65  FILE_EXISTS = 6, // _("File exists already")
66  FILE_EOF = 7, // _("End of file")
67  FILE_EMPTY = 8, // _("File empty")
68  FILE_NOT_FOUND = 9, // _("No such file, device or directory")
69  FILE_IS_DIR = 10, // _("Is a directory")
70  FILE_OPEN_FAILED = 11, // _("Open failed")
71  FILE_SEEK_FAILED = 12, // _("Seek failed")
72  FILE_READ_FAILED = 13, // _("Read failed")
73  FILE_WRITE_FAILED = 14, // _("Write failed")
74  MANY_FILES = 15, // _("Too many open files")
75  NO_FILES = 16, // _("Too many open files in system")
76  NO_SPACE = 17, // _("No space left on device")
77  NO_MEMORY = 18, // _("Out of memory")
78  NO_HEADER = 19, // _("Failed to detect header")
79  NO_SEEK_INFO = 20, // _("Failed to retrieve seek information")
80  NO_DATA = 21, // _("No data available")
81  DATA_CORRUPT = 22, // _("Data corrupt")
82  WRONG_N_CHANNELS = 23, // _("Wrong number of channels")
83  FORMAT_INVALID = 24, // _("Invalid format")
84  FORMAT_UNKNOWN = 25, // _("Unknown format")
85  DATA_UNMATCHED = 26, // _("Requested data values unmatched")
86  TEMP = 27, // _("Temporary error")
87  WAVE_NOT_FOUND = 28, // _("No such wave")
88  CODEC_FAILURE = 29, // _("Codec failure")
89  UNIMPLEMENTED = 30, // _("Functionality not implemented")
90  INVALID_PROPERTY = 31, // _("Invalid object property")
91  INVALID_MIDI_CONTROL = 32, // _("Invalid MIDI control type")
92  PARSE_ERROR = 33, // _("Parsing error")
93  SPAWN = 34, // _("Failed to spawn child process")
94  DEVICE_NOT_AVAILABLE = 35, // _("No device (driver) available")
95  DEVICE_ASYNC = 36, // _("Device not async capable")
96  DEVICE_BUSY = 37, // _("Device busy")
97  DEVICE_FORMAT = 38, // _("Failed to configure device format")
98  DEVICE_BUFFER = 39, // _("Failed to configure device buffer")
99  DEVICE_LATENCY = 40, // _("Failed to configure device latency")
100  DEVICE_CHANNELS = 41, // _("Failed to configure number of device channels")
101  DEVICE_FREQUENCY = 42, // _("Failed to configure device frequency")
102  DEVICES_MISMATCH = 43, // _("Device configurations mismatch")
103  SOURCE_NO_SUCH_MODULE = 44, // _("No such synthesis module")
104  SOURCE_NO_SUCH_ICHANNEL = 45, // _("No such input channel")
105  SOURCE_NO_SUCH_OCHANNEL = 46, // _("No such output channel")
106  SOURCE_NO_SUCH_CONNECTION = 47, // _("Input/Output channels not connected")
107  SOURCE_PRIVATE_ICHANNEL = 48, // _("Input channel is private")
108  SOURCE_ICHANNEL_IN_USE = 49, // _("Input channel already in use")
109  SOURCE_CHANNELS_CONNECTED = 50, // _("Input/output channels already connected")
110  SOURCE_CONNECTION_INVALID = 51, // _("Invalid synthesis module connection")
111  SOURCE_PARENT_MISMATCH = 52, // _("Parent mismatch")
112  SOURCE_BAD_LOOPBACK = 53, // _("Bad loopback")
113  SOURCE_BUSY = 54, // _("Synthesis module currently busy")
114  SOURCE_TYPE_INVALID = 55, // _("Invalid synthsis module type")
115  PROC_NOT_FOUND = 56, // _("No such procedure")
116  PROC_BUSY = 57, // _("Procedure currently busy")
117  PROC_PARAM_INVAL = 58, // _("Procedure parameter invalid")
118  PROC_EXECUTION = 59, // _("Procedure execution failed")
119  PROC_ABORT = 60, // _("Procedure execution aborted")
120  NO_ENTRY = 61, // _("No such entry")
121  NO_EVENT = 62, // _("No such event")
122  NO_TARGET = 63, // _("No target")
123  NOT_OWNER = 64, // _("Ownership mismatch")
124  INVALID_OFFSET = 65, // _("Invalid offset")
125  INVALID_DURATION = 66, // _("Invalid duration")
126  INVALID_OVERLAP = 67, // _("Invalid overlap")
127 };
128 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, Error e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
129 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, Error &e) { e = Error (__f_.pop_evalue()); }
130 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_EQ (Error);
131 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_OPS (Error);
133 
135 enum class MidiSignal : int64_t {
136  PROGRAM = 1,
137  PRESSURE = 2,
138  PITCH_BEND = 3,
139  VELOCITY = 4,
140  FINE_TUNE = 5,
141  CONTINUOUS_0 = 64,
142  CONTINUOUS_1 = 65,
143  CONTINUOUS_2 = 66,
144  CONTINUOUS_3 = 67,
145  CONTINUOUS_4 = 68,
146  CONTINUOUS_5 = 69,
147  CONTINUOUS_6 = 70,
148  CONTINUOUS_7 = 71,
149  CONTINUOUS_8 = 72,
150  CONTINUOUS_9 = 73,
151  CONTINUOUS_10 = 74,
152  CONTINUOUS_11 = 75,
153  CONTINUOUS_12 = 76,
154  CONTINUOUS_13 = 77,
155  CONTINUOUS_14 = 78,
156  CONTINUOUS_15 = 79,
157  CONTINUOUS_16 = 80,
158  CONTINUOUS_17 = 81,
159  CONTINUOUS_18 = 82,
160  CONTINUOUS_19 = 83,
161  CONTINUOUS_20 = 84,
162  CONTINUOUS_21 = 85,
163  CONTINUOUS_22 = 86,
164  CONTINUOUS_23 = 87,
165  CONTINUOUS_24 = 88,
166  CONTINUOUS_25 = 89,
167  CONTINUOUS_26 = 90,
168  CONTINUOUS_27 = 91,
169  CONTINUOUS_28 = 92,
170  CONTINUOUS_29 = 93,
171  CONTINUOUS_30 = 94,
172  CONTINUOUS_31 = 95,
173  CONSTANT_HIGH = 96,
174  CONSTANT_CENTER = 97,
175  CONSTANT_LOW = 98,
176  CONSTANT_NEGATIVE_CENTER = 99,
177  CONSTANT_NEGATIVE_HIGH = 100,
178  PARAMETER = 101,
179  NON_PARAMETER = 102,
180  CONTROL_0 = 128,
181  CONTROL_1 = 129,
182  CONTROL_2 = 130,
183  CONTROL_3 = 131,
184  CONTROL_4 = 132,
185  CONTROL_5 = 133,
186  CONTROL_6 = 134,
187  CONTROL_7 = 135,
188  CONTROL_8 = 136,
189  CONTROL_9 = 137,
190  CONTROL_10 = 138,
191  CONTROL_11 = 139,
192  CONTROL_12 = 140,
193  CONTROL_13 = 141,
194  CONTROL_14 = 142,
195  CONTROL_15 = 143,
196  CONTROL_16 = 144,
197  CONTROL_17 = 145,
198  CONTROL_18 = 146,
199  CONTROL_19 = 147,
200  CONTROL_20 = 148,
201  CONTROL_21 = 149,
202  CONTROL_22 = 150,
203  CONTROL_23 = 151,
204  CONTROL_24 = 152,
205  CONTROL_25 = 153,
206  CONTROL_26 = 154,
207  CONTROL_27 = 155,
208  CONTROL_28 = 156,
209  CONTROL_29 = 157,
210  CONTROL_30 = 158,
211  CONTROL_31 = 159,
212  CONTROL_32 = 160,
213  CONTROL_33 = 161,
214  CONTROL_34 = 162,
215  CONTROL_35 = 163,
216  CONTROL_36 = 164,
217  CONTROL_37 = 165,
218  CONTROL_38 = 166,
219  CONTROL_39 = 167,
220  CONTROL_40 = 168,
221  CONTROL_41 = 169,
222  CONTROL_42 = 170,
223  CONTROL_43 = 171,
224  CONTROL_44 = 172,
225  CONTROL_45 = 173,
226  CONTROL_46 = 174,
227  CONTROL_47 = 175,
228  CONTROL_48 = 176,
229  CONTROL_49 = 177,
230  CONTROL_50 = 178,
231  CONTROL_51 = 179,
232  CONTROL_52 = 180,
233  CONTROL_53 = 181,
234  CONTROL_54 = 182,
235  CONTROL_55 = 183,
236  CONTROL_56 = 184,
237  CONTROL_57 = 185,
238  CONTROL_58 = 186,
239  CONTROL_59 = 187,
240  CONTROL_60 = 188,
241  CONTROL_61 = 189,
242  CONTROL_62 = 190,
243  CONTROL_63 = 191,
244  CONTROL_64 = 192,
245  CONTROL_65 = 193,
246  CONTROL_66 = 194,
247  CONTROL_67 = 195,
248  CONTROL_68 = 196,
249  CONTROL_69 = 197,
250  CONTROL_70 = 198,
251  CONTROL_71 = 199,
252  CONTROL_72 = 200,
253  CONTROL_73 = 201,
254  CONTROL_74 = 202,
255  CONTROL_75 = 203,
256  CONTROL_76 = 204,
257  CONTROL_77 = 205,
258  CONTROL_78 = 206,
259  CONTROL_79 = 207,
260  CONTROL_80 = 208,
261  CONTROL_81 = 209,
262  CONTROL_82 = 210,
263  CONTROL_83 = 211,
264  CONTROL_84 = 212,
265  CONTROL_85 = 213,
266  CONTROL_86 = 214,
267  CONTROL_87 = 215,
268  CONTROL_88 = 216,
269  CONTROL_89 = 217,
270  CONTROL_90 = 218,
271  CONTROL_91 = 219,
272  CONTROL_92 = 220,
273  CONTROL_93 = 221,
274  CONTROL_94 = 222,
275  CONTROL_95 = 223,
276  CONTROL_96 = 224,
277  CONTROL_97 = 225,
278  CONTROL_98 = 226,
279  CONTROL_99 = 227,
280  CONTROL_100 = 228,
281  CONTROL_101 = 229,
282  CONTROL_102 = 230,
283  CONTROL_103 = 231,
284  CONTROL_104 = 232,
285  CONTROL_105 = 233,
286  CONTROL_106 = 234,
287  CONTROL_107 = 235,
288  CONTROL_108 = 236,
289  CONTROL_109 = 237,
290  CONTROL_110 = 238,
291  CONTROL_111 = 239,
292  CONTROL_112 = 240,
293  CONTROL_113 = 241,
294  CONTROL_114 = 242,
295  CONTROL_115 = 243,
296  CONTROL_116 = 244,
297  CONTROL_117 = 245,
298  CONTROL_118 = 246,
299  CONTROL_119 = 247,
300  CONTROL_120 = 248,
301  CONTROL_121 = 249,
302  CONTROL_122 = 250,
303  CONTROL_123 = 251,
304  CONTROL_124 = 252,
305  CONTROL_125 = 253,
306  CONTROL_126 = 254,
307  CONTROL_127 = 255,
308 };
309 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, MidiSignal e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
310 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, MidiSignal &e) { e = MidiSignal (__f_.pop_evalue()); }
311 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_EQ (MidiSignal);
312 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_OPS (MidiSignal);
314 
316 enum class MusicalTuning : int64_t {
317  OD_12_TET = 1, // _("The most common tuning system for modern Western music, is the twelve-tone equal temperament, abbreviated as 12-TET, which divides the octave into 12 equal parts.")
318  OD_7_TET = 2, // _("A fairly common tuning system is the seven-tone equal temperament tuning system, abbreviated as 7-TET. It divides the octave into 7 equal parts using 171 cent steps.")
319  OD_5_TET = 3, // _("A fairly common tuning system is the five-tone equal temperament tuning system, abbreviated as 5-TET. It divides the octave into 5 equal parts using 240 cent steps.")
320  DIATONIC_SCALE = 4, // _("In music theory, a diatonic scale (also: heptatonia prima) is a seven-note musical scale comprising five whole-tone and two half-tone steps. The half tones are maximally separated, so between two half-tone steps there are either two or three whole tones, repeating per octave.")
321  INDIAN_SCALE = 5, // _("Diatonic scale used in Indian music with wolf interval at Dha, close to 3/2")
322  PYTHAGOREAN_TUNING = 6, // _("Pythagorean tuning is the oldest way of tuning the 12-note chromatic scale, in which the frequency relationships of all intervals are based on the ratio 3:2. Its discovery is generally credited to Pythagoras.")
323  PENTATONIC_5_LIMIT = 7, // _("Pentatonic scales are used in modern jazz and pop/rock contexts because they work exceedingly well over several chords diatonic to the same key, often better than the parent scale.")
324  PENTATONIC_BLUES = 8, // _("The blues scale is the minor pentatonic with an additional augmented fourth, which is referred to as the \"blues note\".")
325  PENTATONIC_GOGO = 9, // _("The Pentatonic Gogo scale is an anhemitonic pentatonic scale used to tune the instruments of the Gogo people of Tanzania.")
326  QUARTER_COMMA_MEANTONE = 10, // _("Quarter-comma meantone was the most common meantone temperament in the sixteenth and seventeenth centuries and sometimes used later.")
327  SILBERMANN_SORGE = 11, // _("The Silbermann-Sorge temperament is a meantone temperament used for Baroque era organs by Gottfried Silbermann.")
328  WERCKMEISTER_3 = 12, // _("This tuning uses mostly pure (perfect) fifths, as in Pythagorean tuning, but each of the fifths C-G, G-D, D-A and B-F# is made smaller, i.e. tempered by 1/4 comma. Werckmeister designated this tuning as particularly suited for playing chromatic music.")
329  WERCKMEISTER_4 = 13, // _("In this tuning the fifths C-G, D-A, E-B, F#-C#, and Bb-F are tempered narrow by 1/3 comma, and the fifths G#-D# and Eb-Bb are widened by 1/3 comma. The other fifths are pure. Most of its intervals are close to sixth-comma meantone. Werckmeister designed this tuning for playing mainly diatonic music.")
330  WERCKMEISTER_5 = 14, // _("In this tuning the fifths D-A, A-E, F#-C#, C#-G#, and F-C are narrowed by 1/4 comma, and the fifth G#-D# is widened by 1/4 comma. The other fifths are pure. This temperament is closer to equal temperament than Werckmeister III or IV.")
331  WERCKMEISTER_6 = 15, // _("This tuning is also known as Septenarius tuning is based on a division of the monochord length into 196 = 7 * 7 * 4 parts. The resulting scale has rational frequency relationships, but in practice involves pure and impure sounding fifths. Werckmeister described the Septenarius as a \"temperament which has nothing at all to do with the divisions of the comma, nevertheless in practice so correct that one can be really satisfied with it\".")
332  KIRNBERGER_3 = 16, // _("Kirnberger's method of compensating for and closing the circle of fifths is to split the \"wolf\" interval known to those who have used meantone temperaments between four fifths instead, allowing for four 1/4-comma wolves to take their place. 1/4-comma wolves are used extensively in meantone and are much easier to tune and to listen to. Therefore, only one third remains pure (between C and E).")
333  YOUNG = 17, // _("Thomas Young devised a form of musical tuning to make the harmony most perfect in those keys which are the most frequently used (give better major thirds in those keys), but to not have any unplayable keys. This is attempted by tuning upwards from C a sequence of six pure fourths, as well as six equally imperfect fifths.")
334 };
335 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, MusicalTuning e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
336 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, MusicalTuning &e) { e = MusicalTuning (__f_.pop_evalue()); }
337 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_EQ (MusicalTuning);
338 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_OPS (MusicalTuning);
340 
342 enum class UserMessageType : int64_t {
343  ERROR = 1,
344  WARNING = 2,
345  INFO = 3,
346  DEBUG = 4,
347 };
348 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_, UserMessageType e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
349 inline void operator>>= (Rapicorn::Aida::ProtoReader &__f_, UserMessageType &e) { e = UserMessageType (__f_.pop_evalue()); }
350 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_EQ (UserMessageType);
351 RAPICORN_AIDA_ENUM_DEFINE_ARITHMETIC_OPS (UserMessageType);
353 } // Bse
354 
355 namespace Rapicorn {
356 
357 namespace Aida {
358 template<> const EnumInfo& enum_info<Bse::Error> ();
359 template<> const EnumInfo& enum_info<Bse::MidiSignal> ();
360 template<> const EnumInfo& enum_info<Bse::MusicalTuning> ();
361 template<> const EnumInfo& enum_info<Bse::UserMessageType> ();
362 } // Aida
363 } // Rapicorn
364 
365 #endif // __ENUMHH__BSE_IDL__
366 
367 
368 // --- Interfaces (class declarations) ---
369 
370 namespace Bse {
371 
372 struct SrvT_StringSeq : public std::vector<std::string>
373 {
375  reference append_back()
376  { resize (size() + 1); return back(); }
377  std::string __aida_type_name__ () const { return "Bse::StringSeq"; }
378  std::vector<std::string> __aida_aux_data__ () const;
379  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
380  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
381 };
382 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_StringSeq&);
383 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_StringSeq&);
384 
385 struct SrvT_PixelSeq : public std::vector<int>
386 {
387  typedef std::vector<int> Sequence;
388  reference append_back()
389  { resize (size() + 1); return back(); }
390  std::string __aida_type_name__ () const { return "Bse::PixelSeq"; }
391  std::vector<std::string> __aida_aux_data__ () const;
392  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
393  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
394 };
395 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PixelSeq&);
396 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PixelSeq&);
397 
398 struct SrvT_Icon
399 {
401  int width;
402  int height;
403  SrvT_PixelSeq pixels;
405  inline SrvT_Icon () { width = 0; height = 0; }
406  std::string __aida_type_name__ () const { return "Bse::Icon"; }
407  std::vector<std::string> __aida_aux_data__ () const;
408  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
409  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
410  bool operator== (const SrvT_Icon &other) const;
411  bool operator!= (const SrvT_Icon &other) const { return !operator== (other); }
412  template<class Visitor> void __accept__ (Visitor &_visitor_)
413  {
414  _visitor_ (width, "width");
415  _visitor_ (height, "height");
416  _visitor_ (pixels, "pixels");
417  }
418 };
419 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_Icon&);
420 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_Icon&);
421 
423 {
425  std::string entity;
426  SrvT_StringSeq attributes;
428  inline SrvT_AuxData () { }
429  std::string __aida_type_name__ () const { return "Bse::AuxData"; }
430  std::vector<std::string> __aida_aux_data__ () const;
431  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
432  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
433  bool operator== (const SrvT_AuxData &other) const;
434  bool operator!= (const SrvT_AuxData &other) const { return !operator== (other); }
435  template<class Visitor> void __accept__ (Visitor &_visitor_)
436  {
437  _visitor_ (entity, "entity");
438  _visitor_ (attributes, "attributes");
439  }
440 };
441 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_AuxData&);
442 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_AuxData&);
443 
444 struct SrvT_AuxDataSeq : public std::vector<SrvT_AuxData>
445 {
447  reference append_back()
448  { resize (size() + 1); return back(); }
449  std::string __aida_type_name__ () const { return "Bse::AuxDataSeq"; }
450  std::vector<std::string> __aida_aux_data__ () const;
451  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
452  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
453 };
454 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_AuxDataSeq&);
455 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_AuxDataSeq&);
456 
457 class TestObjectIface;
460 
463 class TestObjectIface : public virtual Rapicorn::Aida::ImplicitBase
465 {
466 protected:
467  explicit TestObjectIface ();
468  virtual /*Des*/ ~TestObjectIface () override = 0;
469 public:
470  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
471  virtual std::string __aida_type_name__ () const override { return "Bse::TestObject"; }
472  virtual std::vector<std::string> __aida_aux_data__ () const override;
473  virtual std::vector<std::string> __aida_dir__ () const override;
474  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
475  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
476  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
477  typedef Rapicorn::Aida::Signal<void (const std::string &msg)> Signal_echo_reply;
478  Signal_echo_reply sig_echo_reply;
479  virtual int echo_test (const std::string &msg) = 0;
480  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
481  {}
482 };
483 void operator<<= (Rapicorn::Aida::ProtoMsg&, const TestObjectIfaceP&);
484 void operator>>= (Rapicorn::Aida::ProtoReader&, TestObjectIface*&);
485 void operator>>= (Rapicorn::Aida::ProtoReader&, TestObjectIfaceP&);
486 
488 {
490  UserMessageType utype;
491  std::string title;
492  std::string text1;
493  std::string text2;
494  std::string text3;
495  std::string label;
497  inline SrvT_UserMessage () { utype = UserMessageType (0); }
498  std::string __aida_type_name__ () const { return "Bse::UserMessage"; }
499  std::vector<std::string> __aida_aux_data__ () const;
500  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
501  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
502  bool operator== (const SrvT_UserMessage &other) const;
503  bool operator!= (const SrvT_UserMessage &other) const { return !operator== (other); }
504  template<class Visitor> void __accept__ (Visitor &_visitor_)
505  {
506  _visitor_ (utype, "utype");
507  _visitor_ (title, "title");
508  _visitor_ (text1, "text1");
509  _visitor_ (text2, "text2");
510  _visitor_ (text3, "text3");
511  _visitor_ (label, "label");
512  }
513 };
514 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_UserMessage&);
515 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_UserMessage&);
516 
518 {
520  int tick;
521  double bpm;
522  int numerator;
523  int denominator;
524  int tpqn;
525  int tpt;
526  double stamp_ticks;
528  inline SrvT_SongTiming () { tick = 0; bpm = 0; numerator = 0; denominator = 0; tpqn = 0; tpt = 0; stamp_ticks = 0; }
529  std::string __aida_type_name__ () const { return "Bse::SongTiming"; }
530  std::vector<std::string> __aida_aux_data__ () const;
531  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
532  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
533  bool operator== (const SrvT_SongTiming &other) const;
534  bool operator!= (const SrvT_SongTiming &other) const { return !operator== (other); }
535  template<class Visitor> void __accept__ (Visitor &_visitor_)
536  {
537  _visitor_ (tick, "tick");
538  _visitor_ (bpm, "bpm");
539  _visitor_ (numerator, "numerator");
540  _visitor_ (denominator, "denominator");
541  _visitor_ (tpqn, "tpqn");
542  _visitor_ (tpt, "tpt");
543  _visitor_ (stamp_ticks, "stamp_ticks");
544  }
545 };
546 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_SongTiming&);
547 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_SongTiming&);
548 
550 {
552  MusicalTuning musical_tuning;
553  int note;
554  int octave;
555  double freq;
556  int finetune;
557  int semitone;
558  bool upshift;
559  int letter;
560  std::string name;
562  inline SrvT_NoteDescription () { musical_tuning = MusicalTuning (0); note = 0; octave = 0; freq = 0; finetune = 0; semitone = 0; upshift = 0; letter = 0; }
563  std::string __aida_type_name__ () const { return "Bse::NoteDescription"; }
564  std::vector<std::string> __aida_aux_data__ () const;
565  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
566  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
567  bool operator== (const SrvT_NoteDescription &other) const;
568  bool operator!= (const SrvT_NoteDescription &other) const { return !operator== (other); }
569  template<class Visitor> void __accept__ (Visitor &_visitor_)
570  {
571  _visitor_ (musical_tuning, "musical_tuning");
572  _visitor_ (note, "note");
573  _visitor_ (octave, "octave");
574  _visitor_ (freq, "freq");
575  _visitor_ (finetune, "finetune");
576  _visitor_ (semitone, "semitone");
577  _visitor_ (upshift, "upshift");
578  _visitor_ (letter, "letter");
579  _visitor_ (name, "name");
580  }
581 };
582 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_NoteDescription&);
583 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_NoteDescription&);
584 
585 class SrvT_PartLink;
586 
587 class SrvT_PartLinkSeq;
588 
589 class SrvT_TrackPart;
590 
591 class SrvT_TrackPartSeq;
592 
593 class ObjectIface;
596 
599 class ObjectIface : public virtual Rapicorn::Aida::ImplicitBase
601 {
602 protected:
603  explicit ObjectIface ();
604  virtual /*Des*/ ~ObjectIface () override = 0;
605 public:
606  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
607  virtual std::string __aida_type_name__ () const override { return "Bse::Object"; }
608  virtual std::vector<std::string> __aida_aux_data__ () const override;
609  virtual std::vector<std::string> __aida_dir__ () const override;
610  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
611  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
612  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
613  typedef Rapicorn::Aida::Signal<void (const std::string &what)> Signal_changed;
614  Signal_changed sig_changed;
615  virtual std::string debug_name () = 0;
616  virtual int64_t proxy_id () = 0;
617  // class_scope:Object:
618  // as<BseObjectPtr>()
619  template<class BseObjectPtr, typename ::std::enable_if<std::is_pointer<BseObjectPtr>::value, bool>::type = true>
620  BseObjectPtr as ()
621  {
622  static_assert (std::is_pointer<BseObjectPtr>::value, "'BseObject*' required");
623  typedef typename std::remove_pointer<BseObjectPtr>::type BseObjectT;
624  static_assert (std::is_base_of<GObject, BseObjectT>::value, "'BseObject*' required");
625  return this ? (BseObjectPtr) this->as_bse_object() : NULL;
626  }
627  // DERIVES_shared_ptr (uses void_t to prevent errors for T without shared_ptr's typedefs)
628  template<class T, typename = void> struct DERIVES_shared_ptr : std::false_type {};
629  template<class T> struct DERIVES_shared_ptr<T, Rapicorn::void_t< typename T::element_type > > :
630  std::is_base_of< std::shared_ptr<typename T::element_type>, T > {};
631  // as<shared_ptr<T>>()
632  template<class ObjectImplP, typename ::std::enable_if<DERIVES_shared_ptr<ObjectImplP>::value, bool>::type = true>
633  ObjectImplP as ()
634  {
635  typedef typename ObjectImplP::element_type ObjectImplT;
637  ObjectImplT *impl = this ? dynamic_cast<ObjectImplT*> (this) : NULL;
638  return impl ? Rapicorn::shared_ptr_cast<ObjectImplT> (impl) : NULL;
639  }
640 protected:
641  virtual BseObject* as_bse_object() = 0;
642  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
643  {}
644 };
645 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ObjectIfaceP&);
646 void operator>>= (Rapicorn::Aida::ProtoReader&, ObjectIface*&);
647 void operator>>= (Rapicorn::Aida::ProtoReader&, ObjectIfaceP&);
648 
649 class ItemIface;
650 typedef std::shared_ptr<ItemIface> ItemIfaceP;
651 typedef std::weak_ptr <ItemIface> ItemIfaceW;
652 
655 class ItemIface : public virtual ObjectIface
657 {
658 protected:
659  explicit ItemIface ();
660  virtual /*Des*/ ~ItemIface () override = 0;
661 public:
662  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
663  virtual std::string __aida_type_name__ () const override { return "Bse::Item"; }
664  virtual std::vector<std::string> __aida_aux_data__ () const override;
665  virtual std::vector<std::string> __aida_dir__ () const override;
666  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
667  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
668  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
669  virtual SrvT_Icon icon () const = 0;
670  virtual void icon (const SrvT_Icon&) = 0;
671  virtual ItemIfaceP common_ancestor (ItemIface &other) = 0;
672  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
673  {
674  __visitor_ (*this, "icon", &ItemIface::icon, &ItemIface::icon);
675  this->ObjectIface::__accept_accessor__ (__visitor_);
676  }
677 };
678 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ItemIfaceP&);
679 void operator>>= (Rapicorn::Aida::ProtoReader&, ItemIface*&);
680 void operator>>= (Rapicorn::Aida::ProtoReader&, ItemIfaceP&);
681 
683 {
685  int id;
686  int channel;
687  int tick;
688  int duration;
689  int note;
690  int fine_tune;
691  double velocity;
692  bool selected;
694  inline SrvT_PartNote () { id = 0; channel = 0; tick = 0; duration = 0; note = 0; fine_tune = 0; velocity = 0; selected = 0; }
695  std::string __aida_type_name__ () const { return "Bse::PartNote"; }
696  std::vector<std::string> __aida_aux_data__ () const;
697  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
698  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
699  bool operator== (const SrvT_PartNote &other) const;
700  bool operator!= (const SrvT_PartNote &other) const { return !operator== (other); }
701  template<class Visitor> void __accept__ (Visitor &_visitor_)
702  {
703  _visitor_ (id, "id");
704  _visitor_ (channel, "channel");
705  _visitor_ (tick, "tick");
706  _visitor_ (duration, "duration");
707  _visitor_ (note, "note");
708  _visitor_ (fine_tune, "fine_tune");
709  _visitor_ (velocity, "velocity");
710  _visitor_ (selected, "selected");
711  }
712 };
713 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PartNote&);
714 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PartNote&);
715 
716 struct SrvT_PartNoteSeq : public std::vector<SrvT_PartNote>
717 {
719  reference append_back()
720  { resize (size() + 1); return back(); }
721  std::string __aida_type_name__ () const { return "Bse::PartNoteSeq"; }
722  std::vector<std::string> __aida_aux_data__ () const;
723  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
724  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
725 };
726 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PartNoteSeq&);
727 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PartNoteSeq&);
728 
730 {
732  int id;
733  int tick;
734  MidiSignal control_type;
735  double value;
736  bool selected;
738  inline SrvT_PartControl () { id = 0; tick = 0; control_type = MidiSignal (0); value = 0; selected = 0; }
739  std::string __aida_type_name__ () const { return "Bse::PartControl"; }
740  std::vector<std::string> __aida_aux_data__ () const;
741  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
742  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
743  bool operator== (const SrvT_PartControl &other) const;
744  bool operator!= (const SrvT_PartControl &other) const { return !operator== (other); }
745  template<class Visitor> void __accept__ (Visitor &_visitor_)
746  {
747  _visitor_ (id, "id");
748  _visitor_ (tick, "tick");
749  _visitor_ (control_type, "control_type");
750  _visitor_ (value, "value");
751  _visitor_ (selected, "selected");
752  }
753 };
754 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PartControl&);
755 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PartControl&);
756 
757 struct SrvT_PartControlSeq : public std::vector<SrvT_PartControl>
758 {
760  reference append_back()
761  { resize (size() + 1); return back(); }
762  std::string __aida_type_name__ () const { return "Bse::PartControlSeq"; }
763  std::vector<std::string> __aida_aux_data__ () const;
764  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
765  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
766 };
767 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PartControlSeq&);
768 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PartControlSeq&);
769 
770 class PartIface;
773 
776 class PartIface : public virtual ItemIface
778 {
779 protected:
780  explicit PartIface ();
781  virtual /*Des*/ ~PartIface () override = 0;
782 public:
783  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
784  virtual std::string __aida_type_name__ () const override { return "Bse::Part"; }
785  virtual std::vector<std::string> __aida_aux_data__ () const override;
786  virtual std::vector<std::string> __aida_dir__ () const override;
787  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
788  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
789  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
790  virtual SrvT_PartControlSeq list_selected_controls (MidiSignal control_type) = 0;
791  virtual SrvT_PartControlSeq list_controls (int tick,
792  int duration,
793  MidiSignal control_type) = 0;
794  virtual SrvT_PartControlSeq get_channel_controls (int channel,
795  int tick,
796  int duration,
797  MidiSignal control_type) = 0;
798  virtual SrvT_PartControlSeq get_controls (int tick,
799  MidiSignal control_type) = 0;
800  virtual SrvT_SongTiming get_timing (int tick) = 0;
801  virtual int get_max_note () = 0;
802  virtual int get_min_note () = 0;
803  virtual Error change_control (int id,
804  int tick,
805  MidiSignal control_type,
806  double value) = 0;
807  virtual Error change_note (int id,
808  int tick,
809  int duration,
810  int note,
811  int fine_tune,
812  double velocity) = 0;
813  virtual Error delete_event (int id) = 0;
814  virtual int insert_control (int tick,
815  MidiSignal control_type,
816  double value) = 0;
817  virtual int insert_note (int channel,
818  int tick,
819  int duration,
820  int note,
821  int fine_tune,
822  double velocity) = 0;
823  virtual int insert_note_auto (int tick,
824  int duration,
825  int note,
826  int fine_tune,
827  double velocity) = 0;
828  virtual bool is_event_selected (int id) = 0;
829  virtual void queue_controls (int tick,
830  int duration) = 0;
831  virtual void queue_notes (int tick,
832  int duration,
833  int min_note,
834  int max_note) = 0;
835  virtual void select_notes_exclusive (int tick,
836  int duration,
837  int min_note,
838  int max_note) = 0;
839  virtual void select_controls_exclusive (int tick,
840  int duration,
841  MidiSignal control_type) = 0;
842  virtual void select_notes (int tick,
843  int duration,
844  int min_note,
845  int max_note) = 0;
846  virtual void select_event (int id) = 0;
847  virtual void select_controls (int tick,
848  int duration,
849  MidiSignal control_type) = 0;
850  virtual void deselect_notes (int tick,
851  int duration,
852  int min_note,
853  int max_note) = 0;
854  virtual void deselect_event (int id) = 0;
855  virtual void deselect_controls (int tick,
856  int duration,
857  MidiSignal control_type) = 0;
858  virtual SrvT_PartNoteSeq list_notes_crossing (int tick,
859  int duration) = 0;
860  virtual SrvT_PartNoteSeq list_notes_within (int channel,
861  int tick,
862  int duration) = 0;
863  virtual SrvT_PartNoteSeq list_selected_notes () = 0;
864  virtual SrvT_PartNoteSeq check_overlap (int tick,
865  int duration,
866  int note) = 0;
867  virtual SrvT_PartNoteSeq get_notes (int tick,
868  int note) = 0;
869  virtual SrvT_PartLinkSeq list_links () = 0;
870  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
871  {
872  this->ItemIface::__accept_accessor__ (__visitor_);
873  }
874 };
875 void operator<<= (Rapicorn::Aida::ProtoMsg&, const PartIfaceP&);
876 void operator>>= (Rapicorn::Aida::ProtoReader&, PartIface*&);
877 void operator>>= (Rapicorn::Aida::ProtoReader&, PartIfaceP&);
878 
879 struct SrvT_PartSeq : public std::vector<PartIfaceP>
880 {
882  reference append_back()
883  { resize (size() + 1); return back(); }
884  std::string __aida_type_name__ () const { return "Bse::PartSeq"; }
885  std::vector<std::string> __aida_aux_data__ () const;
886  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
887  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
888 };
889 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PartSeq&);
890 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PartSeq&);
891 
892 class SourceIface;
895 
898 class SourceIface : public virtual ItemIface
900 {
901 protected:
902  explicit SourceIface ();
903  virtual /*Des*/ ~SourceIface () override = 0;
904 public:
905  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
906  virtual std::string __aida_type_name__ () const override { return "Bse::Source"; }
907  virtual std::vector<std::string> __aida_aux_data__ () const override;
908  virtual std::vector<std::string> __aida_dir__ () const override;
909  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
910  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
911  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
912  virtual SourceIfaceP ichannel_get_osource (int input_channel,
913  int input_joint) = 0;
914  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
915  {
916  this->ItemIface::__accept_accessor__ (__visitor_);
917  }
918 };
919 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SourceIfaceP&);
920 void operator>>= (Rapicorn::Aida::ProtoReader&, SourceIface*&);
921 void operator>>= (Rapicorn::Aida::ProtoReader&, SourceIfaceP&);
922 
923 class ContextMergerIface;
924 typedef std::shared_ptr<ContextMergerIface> ContextMergerIfaceP;
925 typedef std::weak_ptr <ContextMergerIface> ContextMergerIfaceW;
926 
929 class ContextMergerIface : public virtual SourceIface
931 {
932 protected:
933  explicit ContextMergerIface ();
934  virtual /*Des*/ ~ContextMergerIface () override = 0;
935 public:
936  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
937  virtual std::string __aida_type_name__ () const override { return "Bse::ContextMerger"; }
938  virtual std::vector<std::string> __aida_aux_data__ () const override;
939  virtual std::vector<std::string> __aida_dir__ () const override;
940  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
941  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
942  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
943  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
944  {
945  this->SourceIface::__accept_accessor__ (__visitor_);
946  }
947 };
948 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ContextMergerIfaceP&);
949 void operator>>= (Rapicorn::Aida::ProtoReader&, ContextMergerIface*&);
950 void operator>>= (Rapicorn::Aida::ProtoReader&, ContextMergerIfaceP&);
951 
952 class ContainerIface;
953 typedef std::shared_ptr<ContainerIface> ContainerIfaceP;
954 typedef std::weak_ptr <ContainerIface> ContainerIfaceW;
955 
958 class ContainerIface : public virtual SourceIface
960 {
961 protected:
962  explicit ContainerIface ();
963  virtual /*Des*/ ~ContainerIface () override = 0;
964 public:
965  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
966  virtual std::string __aida_type_name__ () const override { return "Bse::Container"; }
967  virtual std::vector<std::string> __aida_aux_data__ () const override;
968  virtual std::vector<std::string> __aida_dir__ () const override;
969  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
970  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
971  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
972  virtual ItemIfaceP lookup_item (const std::string &uname) = 0;
973  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
974  {
975  this->SourceIface::__accept_accessor__ (__visitor_);
976  }
977 };
978 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ContainerIfaceP&);
979 void operator>>= (Rapicorn::Aida::ProtoReader&, ContainerIface*&);
980 void operator>>= (Rapicorn::Aida::ProtoReader&, ContainerIfaceP&);
981 
982 class SuperIface;
983 typedef std::shared_ptr<SuperIface> SuperIfaceP;
984 typedef std::weak_ptr <SuperIface> SuperIfaceW;
985 
988 class SuperIface : public virtual ContainerIface
990 {
991 protected:
992  explicit SuperIface ();
993  virtual /*Des*/ ~SuperIface () override = 0;
994 public:
995  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
996  virtual std::string __aida_type_name__ () const override { return "Bse::Super"; }
997  virtual std::vector<std::string> __aida_aux_data__ () const override;
998  virtual std::vector<std::string> __aida_dir__ () const override;
999  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1000  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1001  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1002  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1003  {
1004  this->ContainerIface::__accept_accessor__ (__visitor_);
1005  }
1006 };
1007 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SuperIfaceP&);
1008 void operator>>= (Rapicorn::Aida::ProtoReader&, SuperIface*&);
1009 void operator>>= (Rapicorn::Aida::ProtoReader&, SuperIfaceP&);
1010 
1011 class SNetIface;
1012 typedef std::shared_ptr<SNetIface> SNetIfaceP;
1013 typedef std::weak_ptr <SNetIface> SNetIfaceW;
1014 
1017 class SNetIface : public virtual SuperIface
1019 {
1020 protected:
1021  explicit SNetIface ();
1022  virtual /*Des*/ ~SNetIface () override = 0;
1023 public:
1024  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1025  virtual std::string __aida_type_name__ () const override { return "Bse::SNet"; }
1026  virtual std::vector<std::string> __aida_aux_data__ () const override;
1027  virtual std::vector<std::string> __aida_dir__ () const override;
1028  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1029  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1030  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1031  virtual bool auto_activate () const = 0;
1032  virtual void auto_activate (bool) = 0;
1033  typedef Rapicorn::Aida::Signal<void ()> Signal_port_unregistered;
1034  Signal_port_unregistered sig_port_unregistered;
1035  virtual bool supports_user_synths () = 0;
1036  virtual Error can_create_source (const std::string &module_type) = 0;
1037  virtual SourceIfaceP create_source (const std::string &module_type) = 0;
1038  virtual Error remove_source (SourceIface &module) = 0;
1039  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1040  {
1041  __visitor_ (*this, "auto_activate", &SNetIface::auto_activate, &SNetIface::auto_activate);
1042  this->SuperIface::__accept_accessor__ (__visitor_);
1043  }
1044 };
1045 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SNetIfaceP&);
1046 void operator>>= (Rapicorn::Aida::ProtoReader&, SNetIface*&);
1047 void operator>>= (Rapicorn::Aida::ProtoReader&, SNetIfaceP&);
1048 
1049 class CSynthIface;
1050 typedef std::shared_ptr<CSynthIface> CSynthIfaceP;
1051 typedef std::weak_ptr <CSynthIface> CSynthIfaceW;
1052 
1055 class CSynthIface : public virtual SNetIface
1057 {
1058 protected:
1059  explicit CSynthIface ();
1060  virtual /*Des*/ ~CSynthIface () override = 0;
1061 public:
1062  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1063  virtual std::string __aida_type_name__ () const override { return "Bse::CSynth"; }
1064  virtual std::vector<std::string> __aida_aux_data__ () const override;
1065  virtual std::vector<std::string> __aida_dir__ () const override;
1066  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1067  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1068  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1069  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1070  {
1071  this->SNetIface::__accept_accessor__ (__visitor_);
1072  }
1073 };
1074 void operator<<= (Rapicorn::Aida::ProtoMsg&, const CSynthIfaceP&);
1075 void operator>>= (Rapicorn::Aida::ProtoReader&, CSynthIface*&);
1076 void operator>>= (Rapicorn::Aida::ProtoReader&, CSynthIfaceP&);
1077 
1078 class SubSynthIface;
1079 typedef std::shared_ptr<SubSynthIface> SubSynthIfaceP;
1080 typedef std::weak_ptr <SubSynthIface> SubSynthIfaceW;
1081 
1084 class SubSynthIface : public virtual SourceIface
1086 {
1087 protected:
1088  explicit SubSynthIface ();
1089  virtual /*Des*/ ~SubSynthIface () override = 0;
1090 public:
1091  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1092  virtual std::string __aida_type_name__ () const override { return "Bse::SubSynth"; }
1093  virtual std::vector<std::string> __aida_aux_data__ () const override;
1094  virtual std::vector<std::string> __aida_dir__ () const override;
1095  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1096  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1097  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1098  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1099  {
1100  this->SourceIface::__accept_accessor__ (__visitor_);
1101  }
1102 };
1103 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SubSynthIfaceP&);
1104 void operator>>= (Rapicorn::Aida::ProtoReader&, SubSynthIface*&);
1105 void operator>>= (Rapicorn::Aida::ProtoReader&, SubSynthIfaceP&);
1106 
1107 class TrackIface;
1108 typedef std::shared_ptr<TrackIface> TrackIfaceP;
1109 typedef std::weak_ptr <TrackIface> TrackIfaceW;
1110 
1113 class TrackIface : public virtual ContextMergerIface
1115 {
1116 protected:
1117  explicit TrackIface ();
1118  virtual /*Des*/ ~TrackIface () override = 0;
1119 public:
1120  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1121  virtual std::string __aida_type_name__ () const override { return "Bse::Track"; }
1122  virtual std::vector<std::string> __aida_aux_data__ () const override;
1123  virtual std::vector<std::string> __aida_dir__ () const override;
1124  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1125  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1126  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1127  virtual SrvT_SongTiming get_timing (int tick) = 0;
1128  virtual int insert_part (int tick,
1129  PartIface &part) = 0;
1130  virtual void remove_tick (int tick) = 0;
1131  virtual void remove_link (int id) = 0;
1132  virtual SrvT_PartSeq list_parts_uniq () = 0;
1133  virtual SrvT_TrackPartSeq list_parts () = 0;
1134  virtual PartIfaceP get_part (int tick) = 0;
1135  virtual int get_last_tick () = 0;
1136  virtual Error ensure_output () = 0;
1137  virtual SourceIfaceP get_output_source () = 0;
1138  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1139  {
1140  this->ContextMergerIface::__accept_accessor__ (__visitor_);
1141  }
1142 };
1143 void operator<<= (Rapicorn::Aida::ProtoMsg&, const TrackIfaceP&);
1144 void operator>>= (Rapicorn::Aida::ProtoReader&, TrackIface*&);
1145 void operator>>= (Rapicorn::Aida::ProtoReader&, TrackIfaceP&);
1146 
1148 {
1150  TrackIfaceP track;
1151  int tick;
1152  PartIfaceP part;
1153  int duration;
1155  inline SrvT_PartLink () { tick = 0; duration = 0; }
1156  std::string __aida_type_name__ () const { return "Bse::PartLink"; }
1157  std::vector<std::string> __aida_aux_data__ () const;
1158  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
1159  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
1160  bool operator== (const SrvT_PartLink &other) const;
1161  bool operator!= (const SrvT_PartLink &other) const { return !operator== (other); }
1162  template<class Visitor> void __accept__ (Visitor &_visitor_)
1163  {
1164  _visitor_ (track, "track");
1165  _visitor_ (tick, "tick");
1166  _visitor_ (part, "part");
1167  _visitor_ (duration, "duration");
1168  }
1169 };
1170 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PartLink&);
1171 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PartLink&);
1172 
1173 struct SrvT_PartLinkSeq : public std::vector<SrvT_PartLink>
1174 {
1176  reference append_back()
1177  { resize (size() + 1); return back(); }
1178  std::string __aida_type_name__ () const { return "Bse::PartLinkSeq"; }
1179  std::vector<std::string> __aida_aux_data__ () const;
1180  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
1181  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
1182 };
1183 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_PartLinkSeq&);
1184 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_PartLinkSeq&);
1185 
1187 {
1189  int tick;
1190  PartIfaceP part;
1191  int duration;
1193  inline SrvT_TrackPart () { tick = 0; duration = 0; }
1194  std::string __aida_type_name__ () const { return "Bse::TrackPart"; }
1195  std::vector<std::string> __aida_aux_data__ () const;
1196  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
1197  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
1198  bool operator== (const SrvT_TrackPart &other) const;
1199  bool operator!= (const SrvT_TrackPart &other) const { return !operator== (other); }
1200  template<class Visitor> void __accept__ (Visitor &_visitor_)
1201  {
1202  _visitor_ (tick, "tick");
1203  _visitor_ (part, "part");
1204  _visitor_ (duration, "duration");
1205  }
1206 };
1207 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_TrackPart&);
1208 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_TrackPart&);
1209 
1210 struct SrvT_TrackPartSeq : public std::vector<SrvT_TrackPart>
1211 {
1213  reference append_back()
1214  { resize (size() + 1); return back(); }
1215  std::string __aida_type_name__ () const { return "Bse::TrackPartSeq"; }
1216  std::vector<std::string> __aida_aux_data__ () const;
1217  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_sequence (*this); }
1218  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_sequence (any, *this); }
1219 };
1220 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_TrackPartSeq&);
1221 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_TrackPartSeq&);
1222 
1223 class BusIface;
1226 
1229 class BusIface : public virtual SubSynthIface
1231 {
1232 protected:
1233  explicit BusIface ();
1234  virtual /*Des*/ ~BusIface () override = 0;
1235 public:
1236  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1237  virtual std::string __aida_type_name__ () const override { return "Bse::Bus"; }
1238  virtual std::vector<std::string> __aida_aux_data__ () const override;
1239  virtual std::vector<std::string> __aida_dir__ () const override;
1240  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1241  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1242  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1243  virtual Error ensure_output () = 0;
1244  virtual Error connect_bus (BusIface &bus) = 0;
1245  virtual Error connect_track (TrackIface &track) = 0;
1246  virtual Error disconnect_bus (BusIface &bus) = 0;
1247  virtual Error disconnect_track (TrackIface &track) = 0;
1248  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1249  {
1250  this->SubSynthIface::__accept_accessor__ (__visitor_);
1251  }
1252 };
1253 void operator<<= (Rapicorn::Aida::ProtoMsg&, const BusIfaceP&);
1254 void operator>>= (Rapicorn::Aida::ProtoReader&, BusIface*&);
1255 void operator>>= (Rapicorn::Aida::ProtoReader&, BusIfaceP&);
1256 
1257 class SongIface;
1258 typedef std::shared_ptr<SongIface> SongIfaceP;
1259 typedef std::weak_ptr <SongIface> SongIfaceW;
1260 
1263 class SongIface : public virtual SNetIface
1265 {
1266 protected:
1267  explicit SongIface ();
1268  virtual /*Des*/ ~SongIface () override = 0;
1269 public:
1270  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1271  virtual std::string __aida_type_name__ () const override { return "Bse::Song"; }
1272  virtual std::vector<std::string> __aida_aux_data__ () const override;
1273  virtual std::vector<std::string> __aida_dir__ () const override;
1274  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1275  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1276  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1277  virtual double bpm () const = 0;
1278  virtual void bpm (double) = 0;
1279  virtual MusicalTuning musical_tuning () const = 0;
1280  virtual void musical_tuning (MusicalTuning) = 0;
1281  virtual SrvT_SongTiming get_timing (int tick) = 0;
1282  virtual TrackIfaceP find_any_track_for_part (PartIface &part) = 0;
1283  virtual BusIfaceP create_bus () = 0;
1284  virtual void remove_bus (BusIface &bus) = 0;
1285  virtual PartIfaceP create_part () = 0;
1286  virtual void remove_part (PartIface &part) = 0;
1287  virtual TrackIfaceP create_track () = 0;
1288  virtual void remove_track (TrackIface &track) = 0;
1289  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1290  {
1291  __visitor_ (*this, "bpm", &SongIface::bpm, &SongIface::bpm);
1292  __visitor_ (*this, "musical_tuning", &SongIface::musical_tuning, &SongIface::musical_tuning);
1293  this->SNetIface::__accept_accessor__ (__visitor_);
1294  }
1295 };
1296 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SongIfaceP&);
1297 void operator>>= (Rapicorn::Aida::ProtoReader&, SongIface*&);
1298 void operator>>= (Rapicorn::Aida::ProtoReader&, SongIfaceP&);
1299 
1301 {
1303  std::string file;
1304  int64_t size;
1305  int64_t mtime;
1306  std::string loader;
1307  SrvT_StringSeq waves;
1308  Error error;
1310  inline SrvT_SampleFileInfo () { size = 0; mtime = 0; error = Error (0); }
1311  std::string __aida_type_name__ () const { return "Bse::SampleFileInfo"; }
1312  std::vector<std::string> __aida_aux_data__ () const;
1313  Rapicorn::Aida::Any __aida_to_any__ () { return Rapicorn::any_from_visitable (*this); }
1314  void __aida_from_any__ (const Rapicorn::Aida::Any &any) { return Rapicorn::any_to_visitable (any, *this); }
1315  bool operator== (const SrvT_SampleFileInfo &other) const;
1316  bool operator!= (const SrvT_SampleFileInfo &other) const { return !operator== (other); }
1317  template<class Visitor> void __accept__ (Visitor &_visitor_)
1318  {
1319  _visitor_ (file, "file");
1320  _visitor_ (size, "size");
1321  _visitor_ (mtime, "mtime");
1322  _visitor_ (loader, "loader");
1323  _visitor_ (waves, "waves");
1324  _visitor_ (error, "error");
1325  }
1326 };
1327 void operator<<= (Rapicorn::Aida::ProtoMsg&, const SrvT_SampleFileInfo&);
1328 void operator>>= (Rapicorn::Aida::ProtoReader&, SrvT_SampleFileInfo&);
1329 
1330 class EditableSampleIface;
1333 
1336 class EditableSampleIface : public virtual ItemIface
1338 {
1339 protected:
1340  explicit EditableSampleIface ();
1341  virtual /*Des*/ ~EditableSampleIface () override = 0;
1342 public:
1343  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1344  virtual std::string __aida_type_name__ () const override { return "Bse::EditableSample"; }
1345  virtual std::vector<std::string> __aida_aux_data__ () const override;
1346  virtual std::vector<std::string> __aida_dir__ () const override;
1347  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1348  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1349  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1350  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1351  {
1352  this->ItemIface::__accept_accessor__ (__visitor_);
1353  }
1354 };
1355 void operator<<= (Rapicorn::Aida::ProtoMsg&, const EditableSampleIfaceP&);
1356 void operator>>= (Rapicorn::Aida::ProtoReader&, EditableSampleIface*&);
1357 void operator>>= (Rapicorn::Aida::ProtoReader&, EditableSampleIfaceP&);
1358 
1359 class WaveIface;
1360 typedef std::shared_ptr<WaveIface> WaveIfaceP;
1361 typedef std::weak_ptr <WaveIface> WaveIfaceW;
1362 
1365 class WaveIface : public virtual SourceIface
1367 {
1368 protected:
1369  explicit WaveIface ();
1370  virtual /*Des*/ ~WaveIface () override = 0;
1371 public:
1372  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1373  virtual std::string __aida_type_name__ () const override { return "Bse::Wave"; }
1374  virtual std::vector<std::string> __aida_aux_data__ () const override;
1375  virtual std::vector<std::string> __aida_dir__ () const override;
1376  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1377  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1378  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1379  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1380  {
1381  this->SourceIface::__accept_accessor__ (__visitor_);
1382  }
1383 };
1384 void operator<<= (Rapicorn::Aida::ProtoMsg&, const WaveIfaceP&);
1385 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveIface*&);
1386 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveIfaceP&);
1387 
1388 class WaveRepoIface;
1389 typedef std::shared_ptr<WaveRepoIface> WaveRepoIfaceP;
1390 typedef std::weak_ptr <WaveRepoIface> WaveRepoIfaceW;
1391 
1394 class WaveRepoIface : public virtual SuperIface
1396 {
1397 protected:
1398  explicit WaveRepoIface ();
1399  virtual /*Des*/ ~WaveRepoIface () override = 0;
1400 public:
1401  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1402  virtual std::string __aida_type_name__ () const override { return "Bse::WaveRepo"; }
1403  virtual std::vector<std::string> __aida_aux_data__ () const override;
1404  virtual std::vector<std::string> __aida_dir__ () const override;
1405  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1406  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1407  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1408  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1409  {
1410  this->SuperIface::__accept_accessor__ (__visitor_);
1411  }
1412 };
1413 void operator<<= (Rapicorn::Aida::ProtoMsg&, const WaveRepoIfaceP&);
1414 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveRepoIface*&);
1415 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveRepoIfaceP&);
1416 
1417 class MidiNotifierIface;
1418 typedef std::shared_ptr<MidiNotifierIface> MidiNotifierIfaceP;
1419 typedef std::weak_ptr <MidiNotifierIface> MidiNotifierIfaceW;
1420 
1423 class MidiNotifierIface : public virtual ItemIface
1425 {
1426 protected:
1427  explicit MidiNotifierIface ();
1428  virtual /*Des*/ ~MidiNotifierIface () override = 0;
1429 public:
1430  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1431  virtual std::string __aida_type_name__ () const override { return "Bse::MidiNotifier"; }
1432  virtual std::vector<std::string> __aida_aux_data__ () const override;
1433  virtual std::vector<std::string> __aida_dir__ () const override;
1434  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1435  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1436  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1437  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1438  {
1439  this->ItemIface::__accept_accessor__ (__visitor_);
1440  }
1441 };
1442 void operator<<= (Rapicorn::Aida::ProtoMsg&, const MidiNotifierIfaceP&);
1443 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiNotifierIface*&);
1444 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiNotifierIfaceP&);
1445 
1446 class MidiSynthIface;
1447 typedef std::shared_ptr<MidiSynthIface> MidiSynthIfaceP;
1448 typedef std::weak_ptr <MidiSynthIface> MidiSynthIfaceW;
1449 
1452 class MidiSynthIface : public virtual SNetIface
1454 {
1455 protected:
1456  explicit MidiSynthIface ();
1457  virtual /*Des*/ ~MidiSynthIface () override = 0;
1458 public:
1459  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1460  virtual std::string __aida_type_name__ () const override { return "Bse::MidiSynth"; }
1461  virtual std::vector<std::string> __aida_aux_data__ () const override;
1462  virtual std::vector<std::string> __aida_dir__ () const override;
1463  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1464  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1465  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1466  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1467  {
1468  this->SNetIface::__accept_accessor__ (__visitor_);
1469  }
1470 };
1471 void operator<<= (Rapicorn::Aida::ProtoMsg&, const MidiSynthIfaceP&);
1472 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiSynthIface*&);
1473 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiSynthIfaceP&);
1474 
1475 class ProjectIface;
1476 typedef std::shared_ptr<ProjectIface> ProjectIfaceP;
1477 typedef std::weak_ptr <ProjectIface> ProjectIfaceW;
1478 
1481 class ProjectIface : public virtual ContainerIface
1483 {
1484 protected:
1485  explicit ProjectIface ();
1486  virtual /*Des*/ ~ProjectIface () override = 0;
1487 public:
1488  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1489  virtual std::string __aida_type_name__ () const override { return "Bse::Project"; }
1490  virtual std::vector<std::string> __aida_aux_data__ () const override;
1491  virtual std::vector<std::string> __aida_dir__ () const override;
1492  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1493  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1494  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1495  virtual void change_name (const std::string &name) = 0;
1496  virtual Error play () = 0;
1497  virtual Error activate () = 0;
1498  virtual bool can_play () = 0;
1499  virtual bool is_playing () = 0;
1500  virtual bool is_active () = 0;
1501  virtual void start_playback () = 0;
1502  virtual void stop_playback () = 0;
1503  virtual void deactivate () = 0;
1504  virtual void stop () = 0;
1505  virtual void auto_deactivate (int msec_delay) = 0;
1506  virtual int undo_depth () = 0;
1507  virtual void undo () = 0;
1508  virtual int redo_depth () = 0;
1509  virtual void redo () = 0;
1510  virtual void clear_undo () = 0;
1511  virtual void clean_dirty () = 0;
1512  virtual bool is_dirty () = 0;
1513  virtual void inject_midi_control (int midi_channel,
1514  int midi_control,
1515  double control_value) = 0;
1516  virtual Error import_midi_file (const std::string &file_name) = 0;
1517  virtual Error restore_from_file (const std::string &file_name) = 0;
1518  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1519  {
1520  this->ContainerIface::__accept_accessor__ (__visitor_);
1521  }
1522 };
1523 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ProjectIfaceP&);
1524 void operator>>= (Rapicorn::Aida::ProtoReader&, ProjectIface*&);
1525 void operator>>= (Rapicorn::Aida::ProtoReader&, ProjectIfaceP&);
1526 
1527 class PcmWriterIface;
1528 typedef std::shared_ptr<PcmWriterIface> PcmWriterIfaceP;
1529 typedef std::weak_ptr <PcmWriterIface> PcmWriterIfaceW;
1530 
1533 class PcmWriterIface : public virtual ItemIface
1535 {
1536 protected:
1537  explicit PcmWriterIface ();
1538  virtual /*Des*/ ~PcmWriterIface () override = 0;
1539 public:
1540  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1541  virtual std::string __aida_type_name__ () const override { return "Bse::PcmWriter"; }
1542  virtual std::vector<std::string> __aida_aux_data__ () const override;
1543  virtual std::vector<std::string> __aida_dir__ () const override;
1544  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1545  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1546  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1547  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1548  {
1549  this->ItemIface::__accept_accessor__ (__visitor_);
1550  }
1551 };
1552 void operator<<= (Rapicorn::Aida::ProtoMsg&, const PcmWriterIfaceP&);
1553 void operator>>= (Rapicorn::Aida::ProtoReader&, PcmWriterIface*&);
1554 void operator>>= (Rapicorn::Aida::ProtoReader&, PcmWriterIfaceP&);
1555 
1556 class ServerIface;
1557 typedef std::shared_ptr<ServerIface> ServerIfaceP;
1558 typedef std::weak_ptr <ServerIface> ServerIfaceW;
1559 
1562 class ServerIface : public virtual ObjectIface
1564 {
1565 protected:
1566  explicit ServerIface ();
1567  virtual /*Des*/ ~ServerIface () override = 0;
1568 public:
1569  virtual Rapicorn::Aida::TypeHashList __aida_typelist__ () const override;
1570  virtual std::string __aida_type_name__ () const override { return "Bse::Server"; }
1571  virtual std::vector<std::string> __aida_aux_data__ () const override;
1572  virtual std::vector<std::string> __aida_dir__ () const override;
1573  virtual Rapicorn::Aida::Any __aida_get__ (const std::string &name) const override;
1574  virtual bool __aida_set__ (const std::string &name, const Rapicorn::Aida::Any &any) override;
1575  virtual const Rapicorn::Aida::PropertyList& __aida_properties__ ();
1576  typedef Rapicorn::Aida::Signal<void (const SrvT_UserMessage &umsg)> Signal_user_message;
1577  Signal_user_message sig_user_message;
1578  virtual TestObjectIfaceP get_test_object () = 0;
1579  virtual ObjectIfaceP from_proxy (int64_t proxyid) = 0;
1580  virtual std::string get_mp3_version () = 0;
1581  virtual std::string get_vorbis_version () = 0;
1582  virtual std::string get_ladspa_path () = 0;
1583  virtual std::string get_plugin_path () = 0;
1584  virtual std::string get_script_path () = 0;
1585  virtual std::string get_instrument_path () = 0;
1586  virtual std::string get_sample_path () = 0;
1587  virtual std::string get_effect_path () = 0;
1588  virtual std::string get_demo_path () = 0;
1589  virtual std::string get_custom_instrument_dir () = 0;
1590  virtual std::string get_custom_effect_dir () = 0;
1591  virtual std::string get_version () = 0;
1592  virtual void save_preferences () = 0;
1593  virtual void register_ladspa_plugins () = 0;
1594  virtual void register_core_plugins () = 0;
1595  virtual void register_scripts () = 0;
1596  virtual bool preferences_locked () = 0;
1597  virtual int n_scripts () = 0;
1598  virtual bool can_load (const std::string &file_name) = 0;
1599  virtual void start_recording (const std::string &wave_file,
1600  double n_seconds) = 0;
1601  virtual ProjectIfaceP create_project (const std::string &project_name) = 0;
1602  virtual void destroy_project (ProjectIface &project) = 0;
1603  virtual SrvT_AuxDataSeq list_module_types () = 0;
1604  virtual SrvT_AuxData find_module_type (const std::string &module_type) = 0;
1605  virtual SrvT_Icon module_type_icon (const std::string &module_type) = 0;
1606  virtual SrvT_SampleFileInfo sample_file_info (const std::string &file_name) = 0;
1607  virtual SrvT_NoteDescription note_describe (MusicalTuning musical_tuning,
1608  int note,
1609  int fine_tune) = 0;
1610  virtual SrvT_NoteDescription note_describe_from_freq (MusicalTuning musical_tuning,
1611  double freq) = 0;
1612  virtual SrvT_NoteDescription note_construct (MusicalTuning musical_tuning,
1613  int semitone,
1614  int octave,
1615  int fine_tune) = 0;
1616  virtual SrvT_NoteDescription note_from_string (MusicalTuning musical_tuning,
1617  const std::string &name) = 0;
1618  virtual int note_from_freq (MusicalTuning musical_tuning,
1619  double frequency) = 0;
1620  virtual double note_to_freq (MusicalTuning musical_tuning,
1621  int note,
1622  int fine_tune) = 0;
1623  template<class Visitor> void __accept_accessor__ (Visitor &__visitor_)
1624  {
1625  this->ObjectIface::__accept_accessor__ (__visitor_);
1626  }
1627 };
1628 void operator<<= (Rapicorn::Aida::ProtoMsg&, const ServerIfaceP&);
1629 void operator>>= (Rapicorn::Aida::ProtoReader&, ServerIface*&);
1630 void operator>>= (Rapicorn::Aida::ProtoReader&, ServerIfaceP&);
1631 } // Bse
1632 
1633 #define BSE_IDL_INTERFACE_LIST \
1634  BSE_IDL_INTERFACE_NAME (Bse::TestObject) \
1635  BSE_IDL_INTERFACE_NAME (Bse::Object) \
1636  BSE_IDL_INTERFACE_NAME (Bse::Item) \
1637  BSE_IDL_INTERFACE_NAME (Bse::Part) \
1638  BSE_IDL_INTERFACE_NAME (Bse::Source) \
1639  BSE_IDL_INTERFACE_NAME (Bse::ContextMerger) \
1640  BSE_IDL_INTERFACE_NAME (Bse::Container) \
1641  BSE_IDL_INTERFACE_NAME (Bse::Super) \
1642  BSE_IDL_INTERFACE_NAME (Bse::SNet) \
1643  BSE_IDL_INTERFACE_NAME (Bse::CSynth) \
1644  BSE_IDL_INTERFACE_NAME (Bse::SubSynth) \
1645  BSE_IDL_INTERFACE_NAME (Bse::Track) \
1646  BSE_IDL_INTERFACE_NAME (Bse::Bus) \
1647  BSE_IDL_INTERFACE_NAME (Bse::Song) \
1648  BSE_IDL_INTERFACE_NAME (Bse::EditableSample) \
1649  BSE_IDL_INTERFACE_NAME (Bse::Wave) \
1650  BSE_IDL_INTERFACE_NAME (Bse::WaveRepo) \
1651  BSE_IDL_INTERFACE_NAME (Bse::MidiNotifier) \
1652  BSE_IDL_INTERFACE_NAME (Bse::MidiSynth) \
1653  BSE_IDL_INTERFACE_NAME (Bse::Project) \
1654  BSE_IDL_INTERFACE_NAME (Bse::PcmWriter) \
1655  BSE_IDL_INTERFACE_NAME (Bse::Server)
1656 
1657 // C++ Aliases
1658 #ifndef __BSE_IDL_ALIASES__
1659 #define __BSE_IDL_ALIASES__ 2
1660 #endif
1661 #if __BSE_IDL_ALIASES__ == 2
1662 namespace Bse {
1663 typedef SrvT_StringSeq StringSeq;
1664 typedef SrvT_PixelSeq PixelSeq;
1665 typedef SrvT_Icon Icon;
1666 typedef SrvT_AuxData AuxData;
1667 typedef SrvT_AuxDataSeq AuxDataSeq;
1668 typedef SrvT_UserMessage UserMessage;
1669 typedef SrvT_SongTiming SongTiming;
1670 typedef SrvT_NoteDescription NoteDescription;
1671 typedef SrvT_PartNote PartNote;
1672 typedef SrvT_PartNoteSeq PartNoteSeq;
1673 typedef SrvT_PartControl PartControl;
1674 typedef SrvT_PartControlSeq PartControlSeq;
1675 typedef SrvT_PartSeq PartSeq;
1676 typedef SrvT_PartLink PartLink;
1677 typedef SrvT_PartLinkSeq PartLinkSeq;
1678 typedef SrvT_TrackPart TrackPart;
1679 typedef SrvT_TrackPartSeq TrackPartSeq;
1680 typedef SrvT_SampleFileInfo SampleFileInfo;
1681 } // Bse
1682 #endif // __BSE_IDL_ALIASES__
1683 
1684 #endif /* __SRVT__BSE_IDL */
Definition: bseserverapi.hh:879
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:1085
virtual double note_to_freq(MusicalTuning musical_tuning, int note, int fine_tune)=0
See Server::note_to_freq()
virtual SrvT_PartControlSeq get_controls(int tick, MidiSignal control_type)=0
See Part::get_controls()
See also the corresponding IDL class Bus.
Definition: bseserverapi.hh:1230
virtual SrvT_Icon icon() const =0
See Item::icon.
virtual std::string get_custom_instrument_dir()=0
See Server::get_custom_instrument_dir()
Definition: bseserverapi.hh:385
virtual void start_playback()=0
See Project::start_playback()
Definition: bseserverapi.hh:487
virtual bool is_event_selected(int id)=0
See Part::is_event_selected()
See also the corresponding IDL class EditableSample.
Definition: bseserverapi.hh:1337
virtual int note_from_freq(MusicalTuning musical_tuning, double frequency)=0
See Server::note_from_freq()
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:88
virtual Error change_control(int id, int tick, MidiSignal control_type, double value)=0
See Part::change_control()
Definition: bseserverapi.hh:1300
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:585
virtual ItemIfaceP lookup_item(const std::string &uname)=0
See Container::lookup_item()
virtual MusicalTuning musical_tuning() const =0
See Song::musical_tuning.
Definition: bseserverapi.hh:398
virtual SrvT_PartNoteSeq check_overlap(int tick, int duration, int note)=0
See Part::check_overlap()
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 SrvT_NoteDescription note_describe_from_freq(MusicalTuning musical_tuning, double freq)=0
See Server::note_describe_from_freq()
virtual PartIfaceP get_part(int tick)=0
See Track::get_part()
virtual Error connect_bus(BusIface &bus)=0
See Bus::connect_bus()
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:757
virtual SrvT_PartLinkSeq list_links()=0
See Part::list_links()
virtual int get_last_tick()=0
See Track::get_last_tick()
virtual Error ensure_output()=0
See Track::ensure_output()
Definition: bseserverapi.hh:444
virtual void queue_controls(int tick, int duration)=0
See Part::queue_controls()
virtual SrvT_PartControlSeq get_channel_controls(int channel, int tick, int duration, MidiSignal control_type)=0
See Part::get_channel_controls()
std::string resize(std::string...args)
STL class.
virtual void stop()=0
See Project::stop()
virtual std::string debug_name()=0
See Object::debug_name()
Definition: bseserverapi.hh:1173
virtual ItemIfaceP common_ancestor(ItemIface &other)=0
See Item::common_ancestor()
virtual void select_controls_exclusive(int tick, int duration, MidiSignal control_type)=0
See Part::select_controls_exclusive()
Definition: bseserverapi.hh:729
Indicate a message about an error condition.
Definition: bseapi.idl:411
virtual void inject_midi_control(int midi_channel, int midi_control, double control_value)=0
See Project::inject_midi_control()
virtual SourceIfaceP create_source(const std::string &module_type)=0
See SNet::create_source()
virtual int echo_test(const std::string &msg)=0
See TestObject::echo_test()
virtual Error ensure_output()=0
See Bus::ensure_output()
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 std::string get_effect_path()=0
See Server::get_effect_path()
virtual Error restore_from_file(const std::string &file_name)=0
See Project::restore_from_file()
virtual void remove_tick(int tick)=0
See Track::remove_tick()
virtual SrvT_PartControlSeq list_controls(int tick, int duration, MidiSignal control_type)=0
See Part::list_controls()
virtual SrvT_PartNoteSeq list_notes_crossing(int tick, int duration)=0
See Part::list_notes_crossing()
Indicate an informational message.
Definition: bseapi.idl:413
virtual Error can_create_source(const std::string &module_type)=0
See SNet::can_create_source()
virtual Error play()=0
See Project::play()
virtual bool is_dirty()=0
See Project::is_dirty()
virtual bool can_load(const std::string &file_name)=0
See Server::can_load()
virtual SrvT_NoteDescription note_describe(MusicalTuning musical_tuning, int note, int fine_tune)=0
See Server::note_describe()
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:61
virtual SrvT_TrackPartSeq list_parts()=0
See Track::list_parts()
virtual ProjectIfaceP create_project(const std::string &project_name)=0
See Server::create_project()
virtual void stop_playback()=0
See Project::stop_playback()
See also the corresponding IDL class Source.
Definition: bseserverapi.hh:899
virtual SrvT_NoteDescription note_from_string(MusicalTuning musical_tuning, const std::string &name)=0
See Server::note_from_string()
virtual bool auto_activate() const =0
See SNet::auto_activate.
Definition: bseserverapi.hh:1186
virtual SrvT_AuxData find_module_type(const std::string &module_type)=0
See Server::find_module_type()
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 SrvT_SampleFileInfo sample_file_info(const std::string &file_name)=0
See Server::sample_file_info()
Definition: bseserverapi.hh:549
virtual Error remove_source(SourceIface &module)=0
See SNet::remove_source()
virtual Error delete_event(int id)=0
See Part::delete_event()
virtual int get_max_note()=0
See Part::get_max_note()
virtual SrvT_AuxDataSeq list_module_types()=0
See Server::list_module_types()
std::string size(std::string...args)
See also the corresponding IDL class Part.
Definition: bseserverapi.hh:777
virtual Error import_midi_file(const std::string &file_name)=0
See Project::import_midi_file()
virtual int n_scripts()=0
See Server::n_scripts()
STL class.
STL class.
UserMessageType
Definition: bseapi.idl:410
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:716
Indicate a debugging message (usually insignificant).
Definition: bseapi.idl:414
virtual int insert_part(int tick, PartIface &part)=0
See Track::insert_part()
virtual SrvT_Icon module_type_icon(const std::string &module_type)=0
See Server::module_type_icon()
virtual void register_ladspa_plugins()=0
See Server::register_ladspa_plugins()
virtual SrvT_PartControlSeq list_selected_controls(MidiSignal control_type)=0
See Part::list_selected_controls()
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 Error disconnect_bus(BusIface &bus)=0
See Bus::disconnect_bus()
Indicate a message about a possibly harmful condition.
Definition: bseapi.idl:412
Definition: bseserverapi.hh:628
virtual bool can_play()=0
See Project::can_play()
std::string back(std::string...args)
virtual Error change_note(int id, int tick, int duration, int note, int fine_tune, double velocity)=0
See Part::change_note()
virtual void deselect_controls(int tick, int duration, MidiSignal control_type)=0
See Part::deselect_controls()
virtual bool preferences_locked()=0
See Server::preferences_locked()
See also the corresponding IDL class TestObject.
Definition: bseserverapi.hh:464
virtual Error connect_track(TrackIface &track)=0
See Bus::connect_track()
virtual int insert_note_auto(int tick, int duration, int note, int fine_tune, double velocity)=0
See Part::insert_note_auto()
virtual Error activate()=0
See Project::activate()
virtual void change_name(const std::string &name)=0
See Project::change_name()
See also the corresponding IDL class Object.
Definition: bseserverapi.hh:600
Definition: bseserverapi.hh:422
virtual void save_preferences()=0
See Server::save_preferences()
virtual SrvT_NoteDescription note_construct(MusicalTuning musical_tuning, int semitone, int octave, int fine_tune)=0
See Server::note_construct()
virtual void select_controls(int tick, int duration, MidiSignal control_type)=0
See Part::select_controls()
virtual void deselect_event(int id)=0
See Part::deselect_event()
virtual double bpm() const =0
See Song::bpm.
virtual void remove_link(int id)=0
See Track::remove_link()
virtual void clean_dirty()=0
See Project::clean_dirty()
virtual void destroy_project(ProjectIface &project)=0
See Server::destroy_project()
Definition: bseserverapi.hh:517
virtual SrvT_PartNoteSeq list_selected_notes()=0
See Part::list_selected_notes()
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:656
virtual TestObjectIfaceP get_test_object()=0
See Server::get_test_object()
virtual int redo_depth()=0
See Project::redo_depth()
virtual SrvT_PartSeq list_parts_uniq()=0
See Track::list_parts_uniq()
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 int insert_control(int tick, MidiSignal control_type, double value)=0
See Part::insert_control()
virtual void redo()=0
See Project::redo()
Definition: bseserverapi.hh:1210
virtual BusIfaceP create_bus()=0
See Song::create_bus()
virtual void remove_part(PartIface &part)=0
See Song::remove_part()
virtual Error disconnect_track(TrackIface &track)=0
See Bus::disconnect_track()
virtual std::string get_ladspa_path()=0
See Server::get_ladspa_path()
Definition: bseserverapi.hh:372
Definition: bseserverapi.hh:682