BSE Interface Reference

/opt/src/beast/bse/bsecxxmodule.hh

SYNOPSIS

DESCRIPTION

Bse::Effect

/opt/src/beast/bse/bsecxxmodule.hh:107

   
  Effect 
();

void  set_property 
(guint         prop_id,
 const Value  &value,
 GParamSpec   *pspec);

void  get_property 
(guint       prop_id,
 Value      &value,
 GParamSpec *pspec);

bool  is_prepared 
();




bool  is_joint_ichannel 
(guint i);










SynthesisModule*  create_module 
(unsigned int context_handle,
 BseTrans    *trans);

SynthesisModule::Closure*  make_module_config_closure 
();

SynthesisModule::AutoUpdate  get_module_auto_update 
();

void  update_modules 
(BseTrans *trans);


void  prepare1 
();

void  prepare2 
();

void  reset1 
();

void  reset2 
();

void  class_init 
(CxxBaseClass *klass);

const BseModuleClass*  create_engine_class 
(SynthesisModule *sample_module,
 int              cost,
 int              n_istreams,
 int              n_jstreams,
 int              n_ostreams);

BseModule*  integrate_engine_module 
(unsigned int context_handle,
 BseTrans    *trans);

void  dismiss_engine_module 
(BseModule *engine_module,
 guint      context_handle,
 BseTrans  *trans);



Bse::EffectBase

/opt/src/beast/bse/bsecxxmodule.hh:106

Bse::IStream

/opt/src/beast/bse/bsecxxmodule.hh:37
struct Bse::IStream
{
  const float *values;
  gboolean     connected;
};

Bse::JStream

/opt/src/beast/bse/bsecxxmodule.hh:31
struct Bse::JStream
{
  const float **values;
  unsigned int  n_connections;
  unsigned int  jcount;
};

Bse::OStream

/opt/src/beast/bse/bsecxxmodule.hh:41
struct Bse::OStream
{
  float   *values;
  gboolean connected;
};

Bse::SynthesisModule

/opt/src/beast/bse/bsecxxmodule.hh:48

   
  SynthesisModule 
();

virtual  ~SynthesisModule 
();

void  reset 
();

void  process 
(unsigned int n_values);


const IStream &  istream 
(unsigned int istream_index);

const JStream &  jstream 
(unsigned int jstream_index);

const OStream &  ostream 
(unsigned int ostream_index);

void  ostream_set 
(unsigned int ostream_index,
 const float *values);

const float*  const_values 
(float value);





void  set_module 
(BseModule *module);

int  dtoi 
(double d);

int  ftoi 
(float f);

Closure*  make_closure 
(void(C::*)(D *)method,
 const D       &data);

Bse::SynthesisModule::AutoUpdateData

/opt/src/beast/bse/bsecxxmodule.hh:83
struct Bse::SynthesisModule::AutoUpdateData
{
  guint       prop_id;
  double      prop_value;
  guint64     tick_stamp;
  GParamSpec *pspec;
  Effect     *effect;
};

Bse::SynthesisModule::Closure

/opt/src/beast/bse/bsecxxmodule.hh:70

   
void  operator() 
();

virtual  ~Closure 
();

Bse::SynthesisModule::ClosureP1

/opt/src/beast/bse/bsecxxmodule.hh:252
class Bse::SynthesisModule::ClosureP1
{
  Member func;
  P     *data;
    ClosureP1  (f, p);
  void  operator()  (p);
    ~ClosureP1  ();
};

   
  ClosureP1 
(void(T::*)(P *)f,
 P             *p);

void  operator() 
(SynthesisModule *p);

  ~ClosureP1 
();

Bse::SynthesisModule::NeedAutoUpdateTag

/opt/src/beast/bse/bsecxxmodule.hh:91

Bse::SynthesisModule::Trampoline

/opt/src/beast/bse/bsecxxmodule.hh:93

bse_module_tick_stamp

/opt/src/beast/bse/bsecxxmodule.hh:211
Any thread may call this function on a valid engine module. The module specific tick stamp is updated to gsl_tick_stamp() + n_values every time its BseProcessFunc() function was called. See also gsl_tick_stamp(). This function is MT-safe and may be called from any thread.
module: a BSE Engine Module
RETURNS: the module's tick stamp, indicating its process status