2 #ifndef __SRVT__BSE_IDL
3 #define __SRVT__BSE_IDL
7 #include <rapicorn-core.hh>
9 #include <rapicorn-core.hh>
11 #ifndef __ENUMHH__BSE_IDL__
12 #define __ENUMHH__BSE_IDL__
24 ERROR_FILE_EXISTS = 6,
27 ERROR_FILE_NOT_FOUND = 9,
28 ERROR_FILE_IS_DIR = 10,
29 ERROR_FILE_OPEN_FAILED = 11,
30 ERROR_FILE_SEEK_FAILED = 12,
31 ERROR_FILE_READ_FAILED = 13,
32 ERROR_FILE_WRITE_FAILED = 14,
33 ERROR_MANY_FILES = 15,
38 ERROR_NO_SEEK_INFO = 20,
40 ERROR_DATA_CORRUPT = 22,
41 ERROR_WRONG_N_CHANNELS = 23,
42 ERROR_FORMAT_INVALID = 24,
43 ERROR_FORMAT_UNKNOWN = 25,
44 ERROR_DATA_UNMATCHED = 26,
46 ERROR_WAVE_NOT_FOUND = 28,
47 ERROR_CODEC_FAILURE = 29,
48 ERROR_UNIMPLEMENTED = 30,
49 ERROR_INVALID_PROPERTY = 31,
50 ERROR_INVALID_MIDI_CONTROL = 32,
51 ERROR_PARSE_ERROR = 33,
53 ERROR_DEVICE_NOT_AVAILABLE = 35,
54 ERROR_DEVICE_ASYNC = 36,
55 ERROR_DEVICE_BUSY = 37,
56 ERROR_DEVICE_FORMAT = 38,
57 ERROR_DEVICE_BUFFER = 39,
58 ERROR_DEVICE_LATENCY = 40,
59 ERROR_DEVICE_CHANNELS = 41,
60 ERROR_DEVICE_FREQUENCY = 42,
61 ERROR_DEVICES_MISMATCH = 43,
62 ERROR_SOURCE_NO_SUCH_MODULE = 44,
63 ERROR_SOURCE_NO_SUCH_ICHANNEL = 45,
64 ERROR_SOURCE_NO_SUCH_OCHANNEL = 46,
65 ERROR_SOURCE_NO_SUCH_CONNECTION = 47,
66 ERROR_SOURCE_PRIVATE_ICHANNEL = 48,
67 ERROR_SOURCE_ICHANNEL_IN_USE = 49,
68 ERROR_SOURCE_CHANNELS_CONNECTED = 50,
69 ERROR_SOURCE_CONNECTION_INVALID = 51,
70 ERROR_SOURCE_PARENT_MISMATCH = 52,
71 ERROR_SOURCE_BAD_LOOPBACK = 53,
72 ERROR_SOURCE_BUSY = 54,
73 ERROR_SOURCE_TYPE_INVALID = 55,
74 ERROR_PROC_NOT_FOUND = 56,
76 ERROR_PROC_PARAM_INVAL = 58,
77 ERROR_PROC_EXECUTION = 59,
78 ERROR_PROC_ABORT = 60,
83 ERROR_INVALID_OFFSET = 65,
84 ERROR_INVALID_DURATION = 66,
85 ERROR_INVALID_OVERLAP = 67,
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()); }
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,
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()); }
277 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_,
UserMessageType e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
285 template<> EnumInfo enum_info<Bse::ErrorType> ();
286 template<> EnumInfo enum_info<Bse::MidiSignalType> ();
287 template<> EnumInfo enum_info<Bse::UserMessageType> ();
291 #endif // __ENUMHH__BSE_IDL__
298 class TestObjectIface;
304 class TestObjectIface :
public virtual Rapicorn::Aida::ImplicitBase
308 explicit TestObjectIface ();
309 virtual ~TestObjectIface ()
override = 0;
311 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
312 virtual std::string __aida_type_name__ ()
const override {
return "Bse::TestObject"; }
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;
321 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
324 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const TestObjectIfaceP&);
325 void operator>>= (Rapicorn::Aida::ProtoReader&, TestObjectIface*&);
326 void operator>>= (Rapicorn::Aida::ProtoReader&, TestObjectIfaceP&);
339 std::string __aida_type_name__ ()
const {
return "Bse::UserMessage"; }
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); }
344 bool operator!= (
const SrvT_UserMessage &other)
const {
return !operator== (other); }
345 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
347 _visitor_ (type,
"type");
348 _visitor_ (title,
"title");
349 _visitor_ (text1,
"text1");
350 _visitor_ (text2,
"text2");
351 _visitor_ (text3,
"text3");
352 _visitor_ (label,
"label");
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"; }
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); }
375 bool operator!= (
const SrvT_SongTiming &other)
const {
return !operator== (other); }
376 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
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");
400 class ObjectIface :
public virtual Rapicorn::Aida::ImplicitBase
407 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
408 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Object"; }
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__ ();
418 template<class BseObjectPtr, typename ::std::enable_if<std::is_pointer<BseObjectPtr>::value,
bool>::type =
true>
424 return this ? (BseObjectPtr) this->as_bse_object() : NULL;
431 template<class ObjectImplP, typename ::std::enable_if<DERIVES_shared_ptr<ObjectImplP>::value,
bool>::type =
true>
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;
441 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
444 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const ObjectIfaceP&);
445 void operator>>= (Rapicorn::Aida::ProtoReader&, ObjectIface*&);
446 void operator>>= (Rapicorn::Aida::ProtoReader&, ObjectIfaceP&);
454 class ItemIface :
public virtual ObjectIface
458 explicit ItemIface ();
459 virtual ~ItemIface ()
override = 0;
461 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
462 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Item"; }
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__ ();
469 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
471 this->ObjectIface::__accept_accessor__ (__visitor_);
474 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const ItemIfaceP&);
475 void operator>>= (Rapicorn::Aida::ProtoReader&, ItemIface*&);
476 void operator>>= (Rapicorn::Aida::ProtoReader&, ItemIfaceP&);
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"; }
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); }
496 bool operator!= (
const SrvT_PartNote &other)
const {
return !operator== (other); }
497 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
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");
509 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SrvT_PartNote&);
510 void operator>>= (Rapicorn::Aida::ProtoReader&,
SrvT_PartNote&);
515 reference append_back()
517 std::string __aida_type_name__ ()
const {
return "Bse::PartNoteSeq"; }
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); }
530 MidiSignalType control_type;
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"; }
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); }
540 bool operator!= (
const SrvT_PartControl &other)
const {
return !operator== (other); }
541 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
543 _visitor_ (
id,
"id");
544 _visitor_ (tick,
"tick");
545 _visitor_ (control_type,
"control_type");
546 _visitor_ (value,
"value");
547 _visitor_ (selected,
"selected");
556 reference append_back()
558 std::string __aida_type_name__ ()
const {
return "Bse::PartControlSeq"; }
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); }
579 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
580 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Part"; }
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__ ();
589 MidiSignalType control_type) = 0;
593 MidiSignalType control_type) = 0;
595 MidiSignalType control_type) = 0;
596 virtual SrvT_SongTiming
get_timing (
int tick) = 0;
601 MidiSignalType control_type,
608 double velocity) = 0;
611 MidiSignalType control_type,
618 double velocity) = 0;
623 double velocity) = 0;
637 MidiSignalType control_type) = 0;
645 MidiSignalType control_type) = 0;
653 MidiSignalType control_type) = 0;
663 virtual SrvT_PartNoteSeq
get_notes (
int tick,
666 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
668 this->ItemIface::__accept_accessor__ (__visitor_);
671 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const PartIfaceP&);
672 void operator>>= (Rapicorn::Aida::ProtoReader&, PartIface*&);
673 void operator>>= (Rapicorn::Aida::ProtoReader&, PartIfaceP&);
681 class SourceIface :
public virtual ItemIface
685 explicit SourceIface ();
686 virtual ~SourceIface ()
override = 0;
688 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
689 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Source"; }
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__ ();
696 int input_joint) = 0;
697 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
699 this->ItemIface::__accept_accessor__ (__visitor_);
702 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SourceIfaceP&);
703 void operator>>= (Rapicorn::Aida::ProtoReader&, SourceIface*&);
704 void operator>>= (Rapicorn::Aida::ProtoReader&, SourceIfaceP&);
706 class ContextMergerIface;
712 class ContextMergerIface :
public virtual SourceIface
716 explicit ContextMergerIface ();
717 virtual ~ContextMergerIface ()
override = 0;
719 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
720 virtual std::string __aida_type_name__ ()
const override {
return "Bse::ContextMerger"; }
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_)
728 this->SourceIface::__accept_accessor__ (__visitor_);
731 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const ContextMergerIfaceP&);
732 void operator>>= (Rapicorn::Aida::ProtoReader&, ContextMergerIface*&);
733 void operator>>= (Rapicorn::Aida::ProtoReader&, ContextMergerIfaceP&);
735 class ContainerIface;
741 class ContainerIface :
public virtual SourceIface
745 explicit ContainerIface ();
746 virtual ~ContainerIface ()
override = 0;
748 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
749 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Container"; }
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__ ();
756 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
758 this->SourceIface::__accept_accessor__ (__visitor_);
761 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const ContainerIfaceP&);
762 void operator>>= (Rapicorn::Aida::ProtoReader&, ContainerIface*&);
763 void operator>>= (Rapicorn::Aida::ProtoReader&, ContainerIfaceP&);
771 class SuperIface :
public virtual ContainerIface
775 explicit SuperIface ();
776 virtual ~SuperIface ()
override = 0;
778 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
779 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Super"; }
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_)
787 this->ContainerIface::__accept_accessor__ (__visitor_);
790 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SuperIfaceP&);
791 void operator>>= (Rapicorn::Aida::ProtoReader&, SuperIface*&);
792 void operator>>= (Rapicorn::Aida::ProtoReader&, SuperIfaceP&);
800 class SNetIface :
public virtual SuperIface
804 explicit SNetIface ();
805 virtual ~SNetIface ()
override = 0;
807 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
808 virtual std::string __aida_type_name__ ()
const override {
return "Bse::SNet"; }
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__ ();
815 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
817 this->SuperIface::__accept_accessor__ (__visitor_);
820 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SNetIfaceP&);
821 void operator>>= (Rapicorn::Aida::ProtoReader&, SNetIface*&);
822 void operator>>= (Rapicorn::Aida::ProtoReader&, SNetIfaceP&);
830 class CSynthIface :
public virtual SNetIface
834 explicit CSynthIface ();
835 virtual ~CSynthIface ()
override = 0;
837 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
838 virtual std::string __aida_type_name__ ()
const override {
return "Bse::CSynth"; }
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_)
846 this->SNetIface::__accept_accessor__ (__visitor_);
849 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const CSynthIfaceP&);
850 void operator>>= (Rapicorn::Aida::ProtoReader&, CSynthIface*&);
851 void operator>>= (Rapicorn::Aida::ProtoReader&, CSynthIfaceP&);
859 class SubSynthIface :
public virtual SourceIface
863 explicit SubSynthIface ();
864 virtual ~SubSynthIface ()
override = 0;
866 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
867 virtual std::string __aida_type_name__ ()
const override {
return "Bse::SubSynth"; }
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_)
875 this->SourceIface::__accept_accessor__ (__visitor_);
878 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SubSynthIfaceP&);
879 void operator>>= (Rapicorn::Aida::ProtoReader&, SubSynthIface*&);
880 void operator>>= (Rapicorn::Aida::ProtoReader&, SubSynthIfaceP&);
888 class TrackIface :
public virtual ContextMergerIface
892 explicit TrackIface ();
893 virtual ~TrackIface ()
override = 0;
895 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
896 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Track"; }
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;
904 PartIface &part) = 0;
906 virtual PartIfaceP
get_part (
int tick) = 0;
910 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
912 this->ContextMergerIface::__accept_accessor__ (__visitor_);
915 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const TrackIfaceP&);
916 void operator>>= (Rapicorn::Aida::ProtoReader&, TrackIface*&);
917 void operator>>= (Rapicorn::Aida::ProtoReader&, TrackIfaceP&);
928 std::string __aida_type_name__ ()
const {
return "Bse::PartLink"; }
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); }
933 bool operator!= (
const SrvT_PartLink &other)
const {
return !operator== (other); }
934 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
936 _visitor_ (track,
"track");
937 _visitor_ (tick,
"tick");
938 _visitor_ (part,
"part");
939 _visitor_ (duration,
"duration");
942 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SrvT_PartLink&);
943 void operator>>= (Rapicorn::Aida::ProtoReader&,
SrvT_PartLink&);
948 reference append_back()
950 std::string __aida_type_name__ ()
const {
return "Bse::PartLinkSeq"; }
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); }
971 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
972 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Bus"; }
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__ ();
979 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
981 this->SubSynthIface::__accept_accessor__ (__visitor_);
984 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const BusIfaceP&);
985 void operator>>= (Rapicorn::Aida::ProtoReader&, BusIface*&);
986 void operator>>= (Rapicorn::Aida::ProtoReader&, BusIfaceP&);
994 class SongIface :
public virtual SNetIface
998 explicit SongIface ();
999 virtual ~SongIface ()
override = 0;
1001 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1002 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Song"; }
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;
1018 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
1021 this->SNetIface::__accept_accessor__ (__visitor_);
1024 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SongIfaceP&);
1025 void operator>>= (Rapicorn::Aida::ProtoReader&, SongIface*&);
1026 void operator>>= (Rapicorn::Aida::ProtoReader&, SongIfaceP&);
1028 class EditableSampleIface;
1034 class EditableSampleIface :
public virtual ItemIface
1038 explicit EditableSampleIface ();
1039 virtual ~EditableSampleIface ()
override = 0;
1041 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1042 virtual std::string __aida_type_name__ ()
const override {
return "Bse::EditableSample"; }
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_)
1050 this->ItemIface::__accept_accessor__ (__visitor_);
1053 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const EditableSampleIfaceP&);
1054 void operator>>= (Rapicorn::Aida::ProtoReader&, EditableSampleIface*&);
1055 void operator>>= (Rapicorn::Aida::ProtoReader&, EditableSampleIfaceP&);
1063 class WaveIface :
public virtual SourceIface
1067 explicit WaveIface ();
1068 virtual ~WaveIface ()
override = 0;
1070 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1071 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Wave"; }
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_)
1079 this->SourceIface::__accept_accessor__ (__visitor_);
1082 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const WaveIfaceP&);
1083 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveIface*&);
1084 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveIfaceP&);
1086 class WaveRepoIface;
1092 class WaveRepoIface :
public virtual SuperIface
1096 explicit WaveRepoIface ();
1097 virtual ~WaveRepoIface ()
override = 0;
1099 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1100 virtual std::string __aida_type_name__ ()
const override {
return "Bse::WaveRepo"; }
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_)
1108 this->SuperIface::__accept_accessor__ (__visitor_);
1111 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const WaveRepoIfaceP&);
1112 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveRepoIface*&);
1113 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveRepoIfaceP&);
1115 class MidiNotifierIface;
1121 class MidiNotifierIface :
public virtual ItemIface
1125 explicit MidiNotifierIface ();
1126 virtual ~MidiNotifierIface ()
override = 0;
1128 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1129 virtual std::string __aida_type_name__ ()
const override {
return "Bse::MidiNotifier"; }
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_)
1137 this->ItemIface::__accept_accessor__ (__visitor_);
1140 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const MidiNotifierIfaceP&);
1141 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiNotifierIface*&);
1142 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiNotifierIfaceP&);
1144 class MidiSynthIface;
1150 class MidiSynthIface :
public virtual SNetIface
1154 explicit MidiSynthIface ();
1155 virtual ~MidiSynthIface ()
override = 0;
1157 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1158 virtual std::string __aida_type_name__ ()
const override {
return "Bse::MidiSynth"; }
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_)
1166 this->SNetIface::__accept_accessor__ (__visitor_);
1169 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const MidiSynthIfaceP&);
1170 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiSynthIface*&);
1171 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiSynthIfaceP&);
1179 class ProjectIface :
public virtual ContainerIface
1183 explicit ProjectIface ();
1184 virtual ~ProjectIface ()
override = 0;
1186 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1187 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Project"; }
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__ ();
1194 virtual ErrorType
play () = 0;
1202 virtual void stop () = 0;
1205 virtual void undo () = 0;
1207 virtual void redo () = 0;
1213 double control_value) = 0;
1216 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
1218 this->ContainerIface::__accept_accessor__ (__visitor_);
1221 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const ProjectIfaceP&);
1222 void operator>>= (Rapicorn::Aida::ProtoReader&, ProjectIface*&);
1223 void operator>>= (Rapicorn::Aida::ProtoReader&, ProjectIfaceP&);
1225 class PcmWriterIface;
1231 class PcmWriterIface :
public virtual ItemIface
1235 explicit PcmWriterIface ();
1236 virtual ~PcmWriterIface ()
override = 0;
1238 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1239 virtual std::string __aida_type_name__ ()
const override {
return "Bse::PcmWriter"; }
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_)
1247 this->ItemIface::__accept_accessor__ (__visitor_);
1250 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const PcmWriterIfaceP&);
1251 void operator>>= (Rapicorn::Aida::ProtoReader&, PcmWriterIface*&);
1252 void operator>>= (Rapicorn::Aida::ProtoReader&, PcmWriterIfaceP&);
1260 class ServerIface :
public virtual ObjectIface
1264 explicit ServerIface ();
1265 virtual ~ServerIface ()
override = 0;
1267 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1268 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Server"; }
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;
1277 virtual ObjectIfaceP
from_proxy (int64_t proxyid) = 0;
1298 double n_seconds) = 0;
1301 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
1303 this->ObjectIface::__accept_accessor__ (__visitor_);
1306 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const ServerIfaceP&);
1307 void operator>>= (Rapicorn::Aida::ProtoReader&, ServerIface*&);
1308 void operator>>= (Rapicorn::Aida::ProtoReader&, ServerIfaceP&);
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)
1336 #ifndef __BSE_IDL_ALIASES__
1337 #define __BSE_IDL_ALIASES__ 2
1339 #if __BSE_IDL_ALIASES__ == 2
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;
1350 #endif // __BSE_IDL_ALIASES__
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()
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)
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()
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()
Definition: bseserverapi.hh:919
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