25 #define BSE_TYPE_BUS_MODULE BSE_CXX_DECLARED_CLASS_TYPE (Bse, BusModule)
26 #define BSE_IS_BUS_MODULE(o) (::Bse::CxxBase::instance_is_a (o, BSE_TYPE_BUS_MODULE))
51 BSE_CXX_DECLARE_CLASS (BusModule);
54 static inline const unsigned char* pixstream () {
return NULL; }
56 static inline const char* options () {
return ""; }
57 static inline const char* category () {
static const char *c = NULL;
58 return c ? c : c = sfi_category_concat (
"/Modules",
""); }
59 static inline const char* i18n_category () {
static const char *c = NULL;
60 return c ? c : c = sfi_category_concat (
"/Modules",
""); }
61 static inline const char* blurb () {
return _(
"Synthesis module used internally by BseBus"); }
62 static inline const char* authors () {
return "Tim Janik"; }
63 static inline const char* license () {
return _(
"GNU Lesser General Public License"); }
64 static inline const char* type_name () {
return "BseBusModule"; }
78 enum BusModulePropertyID {
85 typedef BusModulePropertyID IDType;
95 typedef void AutoUpdateCategory;
100 void get_property (BusModulePropertyID prop_id, ::
Bse::Value &value, GParamSpec *pspec)
104 sfi_value_set_real (&value, volume1);
107 sfi_value_set_real (&value, volume2);
111 void set_property (BusModulePropertyID prop_id, const ::Bse::Value &value, GParamSpec *pspec)
115 volume1 = sfi_value_get_real (&value);
118 volume2 = sfi_value_get_real (&value);
121 property_changed (BusModulePropertyID (prop_id));
127 virtual bool editable_property (BusModulePropertyID prop_id, GParamSpec *pspec)
134 void property_updated (BusModulePropertyID prop_id, guint64 tick_stamp,
double prop_value, GParamSpec *pspec)
136 bool seen_change =
false;
141 property_changed (BusModulePropertyID (prop_id)))
145 static struct StaticData {
149 virtual bool property_changed (BusModulePropertyID) {
return false; }
150 virtual ~BusModuleBase ()
170 klass->set_accessors (::Bse::cxx_get_property_trampoline<BusModuleBase, BusModulePropertyID>,
171 ::Bse::cxx_set_property_trampoline<BusModuleBase, BusModulePropertyID>,
172 ::Bse::cxx_editable_property_trampoline<BusModuleBase, BusModulePropertyID>,
173 ::Bse::cxx_get_candidates_trampoline<BusModuleBase, BusModulePropertyID>,
175 klass->add_param (PROP_VOLUME1, sfidl_pspec_SfiReal (_(
"Volume"),
"/opt/src/beast/bse/bsebusmodule.idl",495,
"volume1",
"" ,
"" , 1LL , 0LL , 1000LL , 10LL ,
":r:w:S:G:"));
176 klass->add_param (PROP_VOLUME2, sfidl_pspec_SfiReal (_(
"Volume"),
"/opt/src/beast/bse/bsebusmodule.idl",496,
"volume2",
"" ,
"" , 1LL , 0LL , 1000LL , 10LL ,
":r:w:S:G:"));
177 klass->add_ichannel (
"audio_in1", _(
"Audio In1"), _(
"First audio input"), ICHANNEL_AUDIO_IN1);
178 klass->add_ichannel (
"audio_in2", _(
"Audio In2"), _(
"Second audio input"), ICHANNEL_AUDIO_IN2);
179 klass->add_ochannel (
"audio_out1", _(
"Audio Out1"), _(
"First audio output"), OCHANNEL_AUDIO_OUT1);
180 klass->add_ochannel (
"audio_out2", _(
"Audio Out2"), _(
"Second audio output"), OCHANNEL_AUDIO_OUT2);
188 #define BSE_CXX_REGISTER_ALL_TYPES_FROM_BSEBUSMODULE_IDL() \
189 BSE_CXX_REGISTER_EFFECT (BusModule); \
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:67
Definition: bsebusmodule.genidl.hh:52
Definition: bsecxxvalue.hh:13
Definition: bsebusmodule.genidl.hh:84
Definition: sficxx.hh:169
Definition: bsecxxmodule.hh:92
Definition: bsecxxbase.hh:14