2 #ifndef __SRVT__BSE_IDL
3 #define __SRVT__BSE_IDL
7 #include <rapicorn-core.hh>
9 #include <rapicorn-core.hh>
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
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)
50 #endif // !RAPICORN_AIDA_ENABLE_ENUM_ARITHMETIC
52 #ifndef __ENUMHH__BSE_IDL__
53 #define __ENUMHH__BSE_IDL__
70 FILE_OPEN_FAILED = 11,
71 FILE_SEEK_FAILED = 12,
72 FILE_READ_FAILED = 13,
73 FILE_WRITE_FAILED = 14,
82 WRONG_N_CHANNELS = 23,
90 INVALID_PROPERTY = 31,
91 INVALID_MIDI_CONTROL = 32,
94 DEVICE_NOT_AVAILABLE = 35,
100 DEVICE_CHANNELS = 41,
101 DEVICE_FREQUENCY = 42,
102 DEVICES_MISMATCH = 43,
103 SOURCE_NO_SUCH_MODULE = 44,
104 SOURCE_NO_SUCH_ICHANNEL = 45,
105 SOURCE_NO_SUCH_OCHANNEL = 46,
106 SOURCE_NO_SUCH_CONNECTION = 47,
107 SOURCE_PRIVATE_ICHANNEL = 48,
108 SOURCE_ICHANNEL_IN_USE = 49,
109 SOURCE_CHANNELS_CONNECTED = 50,
110 SOURCE_CONNECTION_INVALID = 51,
111 SOURCE_PARENT_MISMATCH = 52,
112 SOURCE_BAD_LOOPBACK = 53,
114 SOURCE_TYPE_INVALID = 55,
117 PROC_PARAM_INVAL = 58,
125 INVALID_DURATION = 66,
126 INVALID_OVERLAP = 67,
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);
135 enum class MidiSignal :
int64_t {
174 CONSTANT_CENTER = 97,
176 CONSTANT_NEGATIVE_CENTER = 99,
177 CONSTANT_NEGATIVE_HIGH = 100,
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);
316 enum class MusicalTuning :
int64_t {
322 PYTHAGOREAN_TUNING = 6,
323 PENTATONIC_5_LIMIT = 7,
324 PENTATONIC_BLUES = 8,
326 QUARTER_COMMA_MEANTONE = 10,
327 SILBERMANN_SORGE = 11,
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);
348 inline void operator<<= (Rapicorn::Aida::ProtoMsg &__p_,
UserMessageType e) { __p_ <<= Rapicorn::Aida::EnumValue (e); }
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> ();
365 #endif // __ENUMHH__BSE_IDL__
375 reference append_back()
377 std::string __aida_type_name__ ()
const {
return "Bse::StringSeq"; }
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); }
382 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SrvT_StringSeq&);
388 reference append_back()
390 std::string __aida_type_name__ ()
const {
return "Bse::PixelSeq"; }
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); }
395 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SrvT_PixelSeq&);
396 void operator>>= (Rapicorn::Aida::ProtoReader&,
SrvT_PixelSeq&);
405 inline SrvT_Icon () { width = 0; height = 0; }
406 std::string __aida_type_name__ ()
const {
return "Bse::Icon"; }
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_)
414 _visitor_ (width,
"width");
415 _visitor_ (height,
"height");
416 _visitor_ (pixels,
"pixels");
419 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SrvT_Icon&);
420 void operator>>= (Rapicorn::Aida::ProtoReader&,
SrvT_Icon&);
429 std::string __aida_type_name__ ()
const {
return "Bse::AuxData"; }
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); }
434 bool operator!= (
const SrvT_AuxData &other)
const {
return !operator== (other); }
435 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
437 _visitor_ (entity,
"entity");
438 _visitor_ (attributes,
"attributes");
441 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SrvT_AuxData&);
442 void operator>>= (Rapicorn::Aida::ProtoReader&,
SrvT_AuxData&);
447 reference append_back()
449 std::string __aida_type_name__ ()
const {
return "Bse::AuxDataSeq"; }
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); }
470 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
471 virtual std::string __aida_type_name__ ()
const override {
return "Bse::TestObject"; }
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;
480 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
483 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const TestObjectIfaceP&);
484 void operator>>= (Rapicorn::Aida::ProtoReader&, TestObjectIface*&);
485 void operator>>= (Rapicorn::Aida::ProtoReader&, TestObjectIfaceP&);
498 std::string __aida_type_name__ ()
const {
return "Bse::UserMessage"; }
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); }
503 bool operator!= (
const SrvT_UserMessage &other)
const {
return !operator== (other); }
504 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
506 _visitor_ (utype,
"utype");
507 _visitor_ (title,
"title");
508 _visitor_ (text1,
"text1");
509 _visitor_ (text2,
"text2");
510 _visitor_ (text3,
"text3");
511 _visitor_ (label,
"label");
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"; }
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); }
534 bool operator!= (
const SrvT_SongTiming &other)
const {
return !operator== (other); }
535 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
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");
552 MusicalTuning musical_tuning;
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"; }
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); }
569 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
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");
599 class ObjectIface :
public virtual Rapicorn::Aida::ImplicitBase
606 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
607 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Object"; }
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;
619 template<class BseObjectPtr, typename ::std::enable_if<std::is_pointer<BseObjectPtr>::value,
bool>::type =
true>
625 return this ? (BseObjectPtr) this->as_bse_object() : NULL;
632 template<class ObjectImplP, typename ::std::enable_if<DERIVES_shared_ptr<ObjectImplP>::value,
bool>::type =
true>
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;
642 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
645 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const ObjectIfaceP&);
646 void operator>>= (Rapicorn::Aida::ProtoReader&, ObjectIface*&);
647 void operator>>= (Rapicorn::Aida::ProtoReader&, ObjectIfaceP&);
655 class ItemIface :
public virtual ObjectIface
659 explicit ItemIface ();
660 virtual ~ItemIface ()
override = 0;
662 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
663 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Item"; }
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;
672 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
675 this->ObjectIface::__accept_accessor__ (__visitor_);
678 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const ItemIfaceP&);
679 void operator>>= (Rapicorn::Aida::ProtoReader&, ItemIface*&);
680 void operator>>= (Rapicorn::Aida::ProtoReader&, ItemIfaceP&);
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"; }
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); }
700 bool operator!= (
const SrvT_PartNote &other)
const {
return !operator== (other); }
701 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
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");
713 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SrvT_PartNote&);
714 void operator>>= (Rapicorn::Aida::ProtoReader&,
SrvT_PartNote&);
719 reference append_back()
721 std::string __aida_type_name__ ()
const {
return "Bse::PartNoteSeq"; }
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); }
734 MidiSignal control_type;
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"; }
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); }
744 bool operator!= (
const SrvT_PartControl &other)
const {
return !operator== (other); }
745 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
747 _visitor_ (
id,
"id");
748 _visitor_ (tick,
"tick");
749 _visitor_ (control_type,
"control_type");
750 _visitor_ (value,
"value");
751 _visitor_ (selected,
"selected");
760 reference append_back()
762 std::string __aida_type_name__ ()
const {
return "Bse::PartControlSeq"; }
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); }
783 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
784 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Part"; }
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__ ();
793 MidiSignal control_type) = 0;
797 MidiSignal control_type) = 0;
799 MidiSignal control_type) = 0;
800 virtual SrvT_SongTiming
get_timing (
int tick) = 0;
805 MidiSignal control_type,
812 double velocity) = 0;
815 MidiSignal control_type,
822 double velocity) = 0;
827 double velocity) = 0;
841 MidiSignal control_type) = 0;
849 MidiSignal control_type) = 0;
857 MidiSignal control_type) = 0;
867 virtual SrvT_PartNoteSeq
get_notes (
int tick,
870 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
872 this->ItemIface::__accept_accessor__ (__visitor_);
875 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const PartIfaceP&);
876 void operator>>= (Rapicorn::Aida::ProtoReader&, PartIface*&);
877 void operator>>= (Rapicorn::Aida::ProtoReader&, PartIfaceP&);
882 reference append_back()
884 std::string __aida_type_name__ ()
const {
return "Bse::PartSeq"; }
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); }
889 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SrvT_PartSeq&);
890 void operator>>= (Rapicorn::Aida::ProtoReader&,
SrvT_PartSeq&);
905 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
906 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Source"; }
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__ ();
913 int input_joint) = 0;
914 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
916 this->ItemIface::__accept_accessor__ (__visitor_);
919 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SourceIfaceP&);
920 void operator>>= (Rapicorn::Aida::ProtoReader&, SourceIface*&);
921 void operator>>= (Rapicorn::Aida::ProtoReader&, SourceIfaceP&);
923 class ContextMergerIface;
929 class ContextMergerIface :
public virtual SourceIface
933 explicit ContextMergerIface ();
934 virtual ~ContextMergerIface ()
override = 0;
936 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
937 virtual std::string __aida_type_name__ ()
const override {
return "Bse::ContextMerger"; }
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_)
945 this->SourceIface::__accept_accessor__ (__visitor_);
948 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const ContextMergerIfaceP&);
949 void operator>>= (Rapicorn::Aida::ProtoReader&, ContextMergerIface*&);
950 void operator>>= (Rapicorn::Aida::ProtoReader&, ContextMergerIfaceP&);
952 class ContainerIface;
958 class ContainerIface :
public virtual SourceIface
962 explicit ContainerIface ();
963 virtual ~ContainerIface ()
override = 0;
965 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
966 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Container"; }
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__ ();
973 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
975 this->SourceIface::__accept_accessor__ (__visitor_);
978 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const ContainerIfaceP&);
979 void operator>>= (Rapicorn::Aida::ProtoReader&, ContainerIface*&);
980 void operator>>= (Rapicorn::Aida::ProtoReader&, ContainerIfaceP&);
988 class SuperIface :
public virtual ContainerIface
992 explicit SuperIface ();
993 virtual ~SuperIface ()
override = 0;
995 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
996 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Super"; }
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_)
1004 this->ContainerIface::__accept_accessor__ (__visitor_);
1007 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SuperIfaceP&);
1008 void operator>>= (Rapicorn::Aida::ProtoReader&, SuperIface*&);
1009 void operator>>= (Rapicorn::Aida::ProtoReader&, SuperIfaceP&);
1017 class SNetIface :
public virtual SuperIface
1021 explicit SNetIface ();
1022 virtual ~SNetIface ()
override = 0;
1024 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1025 virtual std::string __aida_type_name__ ()
const override {
return "Bse::SNet"; }
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__ ();
1033 typedef Rapicorn::Aida::Signal<void ()> Signal_port_unregistered;
1034 Signal_port_unregistered sig_port_unregistered;
1039 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
1042 this->SuperIface::__accept_accessor__ (__visitor_);
1045 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SNetIfaceP&);
1046 void operator>>= (Rapicorn::Aida::ProtoReader&, SNetIface*&);
1047 void operator>>= (Rapicorn::Aida::ProtoReader&, SNetIfaceP&);
1055 class CSynthIface :
public virtual SNetIface
1059 explicit CSynthIface ();
1060 virtual ~CSynthIface ()
override = 0;
1062 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1063 virtual std::string __aida_type_name__ ()
const override {
return "Bse::CSynth"; }
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_)
1071 this->SNetIface::__accept_accessor__ (__visitor_);
1074 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const CSynthIfaceP&);
1075 void operator>>= (Rapicorn::Aida::ProtoReader&, CSynthIface*&);
1076 void operator>>= (Rapicorn::Aida::ProtoReader&, CSynthIfaceP&);
1078 class SubSynthIface;
1084 class SubSynthIface :
public virtual SourceIface
1088 explicit SubSynthIface ();
1089 virtual ~SubSynthIface ()
override = 0;
1091 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1092 virtual std::string __aida_type_name__ ()
const override {
return "Bse::SubSynth"; }
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_)
1100 this->SourceIface::__accept_accessor__ (__visitor_);
1103 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SubSynthIfaceP&);
1104 void operator>>= (Rapicorn::Aida::ProtoReader&, SubSynthIface*&);
1105 void operator>>= (Rapicorn::Aida::ProtoReader&, SubSynthIfaceP&);
1113 class TrackIface :
public virtual ContextMergerIface
1117 explicit TrackIface ();
1118 virtual ~TrackIface ()
override = 0;
1120 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1121 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Track"; }
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;
1129 PartIface &part) = 0;
1134 virtual PartIfaceP
get_part (
int tick) = 0;
1138 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
1140 this->ContextMergerIface::__accept_accessor__ (__visitor_);
1143 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const TrackIfaceP&);
1144 void operator>>= (Rapicorn::Aida::ProtoReader&, TrackIface*&);
1145 void operator>>= (Rapicorn::Aida::ProtoReader&, TrackIfaceP&);
1156 std::string __aida_type_name__ ()
const {
return "Bse::PartLink"; }
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); }
1161 bool operator!= (
const SrvT_PartLink &other)
const {
return !operator== (other); }
1162 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
1164 _visitor_ (track,
"track");
1165 _visitor_ (tick,
"tick");
1166 _visitor_ (part,
"part");
1167 _visitor_ (duration,
"duration");
1170 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SrvT_PartLink&);
1171 void operator>>= (Rapicorn::Aida::ProtoReader&,
SrvT_PartLink&);
1176 reference append_back()
1178 std::string __aida_type_name__ ()
const {
return "Bse::PartLinkSeq"; }
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); }
1194 std::string __aida_type_name__ ()
const {
return "Bse::TrackPart"; }
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); }
1199 bool operator!= (
const SrvT_TrackPart &other)
const {
return !operator== (other); }
1200 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
1202 _visitor_ (tick,
"tick");
1203 _visitor_ (part,
"part");
1204 _visitor_ (duration,
"duration");
1207 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SrvT_TrackPart&);
1208 void operator>>= (Rapicorn::Aida::ProtoReader&,
SrvT_TrackPart&);
1213 reference append_back()
1215 std::string __aida_type_name__ ()
const {
return "Bse::TrackPartSeq"; }
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); }
1236 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1237 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Bus"; }
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__ ();
1248 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
1250 this->SubSynthIface::__accept_accessor__ (__visitor_);
1253 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const BusIfaceP&);
1254 void operator>>= (Rapicorn::Aida::ProtoReader&, BusIface*&);
1255 void operator>>= (Rapicorn::Aida::ProtoReader&, BusIfaceP&);
1263 class SongIface :
public virtual SNetIface
1267 explicit SongIface ();
1268 virtual ~SongIface ()
override = 0;
1270 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1271 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Song"; }
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;
1281 virtual SrvT_SongTiming
get_timing (
int tick) = 0;
1289 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
1293 this->SNetIface::__accept_accessor__ (__visitor_);
1296 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const SongIfaceP&);
1297 void operator>>= (Rapicorn::Aida::ProtoReader&, SongIface*&);
1298 void operator>>= (Rapicorn::Aida::ProtoReader&, SongIfaceP&);
1311 std::string __aida_type_name__ ()
const {
return "Bse::SampleFileInfo"; }
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); }
1317 template<
class Visitor>
void __accept__ (Visitor &_visitor_)
1319 _visitor_ (file,
"file");
1320 _visitor_ (size,
"size");
1321 _visitor_ (mtime,
"mtime");
1322 _visitor_ (loader,
"loader");
1323 _visitor_ (waves,
"waves");
1324 _visitor_ (error,
"error");
1343 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1344 virtual std::string __aida_type_name__ ()
const override {
return "Bse::EditableSample"; }
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_)
1352 this->ItemIface::__accept_accessor__ (__visitor_);
1355 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const EditableSampleIfaceP&);
1356 void operator>>= (Rapicorn::Aida::ProtoReader&, EditableSampleIface*&);
1357 void operator>>= (Rapicorn::Aida::ProtoReader&, EditableSampleIfaceP&);
1365 class WaveIface :
public virtual SourceIface
1369 explicit WaveIface ();
1370 virtual ~WaveIface ()
override = 0;
1372 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1373 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Wave"; }
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_)
1381 this->SourceIface::__accept_accessor__ (__visitor_);
1384 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const WaveIfaceP&);
1385 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveIface*&);
1386 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveIfaceP&);
1388 class WaveRepoIface;
1394 class WaveRepoIface :
public virtual SuperIface
1398 explicit WaveRepoIface ();
1399 virtual ~WaveRepoIface ()
override = 0;
1401 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1402 virtual std::string __aida_type_name__ ()
const override {
return "Bse::WaveRepo"; }
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_)
1410 this->SuperIface::__accept_accessor__ (__visitor_);
1413 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const WaveRepoIfaceP&);
1414 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveRepoIface*&);
1415 void operator>>= (Rapicorn::Aida::ProtoReader&, WaveRepoIfaceP&);
1417 class MidiNotifierIface;
1423 class MidiNotifierIface :
public virtual ItemIface
1427 explicit MidiNotifierIface ();
1428 virtual ~MidiNotifierIface ()
override = 0;
1430 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1431 virtual std::string __aida_type_name__ ()
const override {
return "Bse::MidiNotifier"; }
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_)
1439 this->ItemIface::__accept_accessor__ (__visitor_);
1442 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const MidiNotifierIfaceP&);
1443 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiNotifierIface*&);
1444 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiNotifierIfaceP&);
1446 class MidiSynthIface;
1452 class MidiSynthIface :
public virtual SNetIface
1456 explicit MidiSynthIface ();
1457 virtual ~MidiSynthIface ()
override = 0;
1459 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1460 virtual std::string __aida_type_name__ ()
const override {
return "Bse::MidiSynth"; }
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_)
1468 this->SNetIface::__accept_accessor__ (__visitor_);
1471 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const MidiSynthIfaceP&);
1472 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiSynthIface*&);
1473 void operator>>= (Rapicorn::Aida::ProtoReader&, MidiSynthIfaceP&);
1481 class ProjectIface :
public virtual ContainerIface
1485 explicit ProjectIface ();
1486 virtual ~ProjectIface ()
override = 0;
1488 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1489 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Project"; }
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__ ();
1496 virtual Error
play () = 0;
1504 virtual void stop () = 0;
1507 virtual void undo () = 0;
1509 virtual void redo () = 0;
1515 double control_value) = 0;
1518 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
1520 this->ContainerIface::__accept_accessor__ (__visitor_);
1523 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const ProjectIfaceP&);
1524 void operator>>= (Rapicorn::Aida::ProtoReader&, ProjectIface*&);
1525 void operator>>= (Rapicorn::Aida::ProtoReader&, ProjectIfaceP&);
1527 class PcmWriterIface;
1533 class PcmWriterIface :
public virtual ItemIface
1537 explicit PcmWriterIface ();
1538 virtual ~PcmWriterIface ()
override = 0;
1540 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1541 virtual std::string __aida_type_name__ ()
const override {
return "Bse::PcmWriter"; }
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_)
1549 this->ItemIface::__accept_accessor__ (__visitor_);
1552 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const PcmWriterIfaceP&);
1553 void operator>>= (Rapicorn::Aida::ProtoReader&, PcmWriterIface*&);
1554 void operator>>= (Rapicorn::Aida::ProtoReader&, PcmWriterIfaceP&);
1562 class ServerIface :
public virtual ObjectIface
1566 explicit ServerIface ();
1567 virtual ~ServerIface ()
override = 0;
1569 virtual Rapicorn::Aida::TypeHashList __aida_typelist__ ()
const override;
1570 virtual std::string __aida_type_name__ ()
const override {
return "Bse::Server"; }
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;
1579 virtual ObjectIfaceP
from_proxy (int64_t proxyid) = 0;
1600 double n_seconds) = 0;
1607 virtual SrvT_NoteDescription
note_describe (MusicalTuning musical_tuning,
1612 virtual SrvT_NoteDescription
note_construct (MusicalTuning musical_tuning,
1616 virtual SrvT_NoteDescription
note_from_string (MusicalTuning musical_tuning,
1619 double frequency) = 0;
1620 virtual double note_to_freq (MusicalTuning musical_tuning,
1623 template<
class Visitor>
void __accept_accessor__ (Visitor &__visitor_)
1625 this->ObjectIface::__accept_accessor__ (__visitor_);
1628 void operator<<= (Rapicorn::Aida::ProtoMsg&,
const ServerIfaceP&);
1629 void operator>>= (Rapicorn::Aida::ProtoReader&, ServerIface*&);
1630 void operator>>= (Rapicorn::Aida::ProtoReader&, ServerIfaceP&);
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)
1658 #ifndef __BSE_IDL_ALIASES__
1659 #define __BSE_IDL_ALIASES__ 2
1661 #if __BSE_IDL_ALIASES__ == 2
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;
1682 #endif // __BSE_IDL_ALIASES__
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()
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)
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()
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()
Definition: bseserverapi.hh:1147
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