SpectMorph
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SpectMorph::MorphOperator Class Referenceabstract
Inheritance diagram for SpectMorph::MorphOperator:
SpectMorph::SignalReceiver SpectMorph::MorphGrid SpectMorph::MorphLFO SpectMorph::MorphLinear SpectMorph::MorphOutput SpectMorph::MorphSource SpectMorph::MorphWavSource

Public Types

enum  OutputType { OUTPUT_NONE , OUTPUT_AUDIO , OUTPUT_CONTROL }
 
enum  ControlType {
  CONTROL_GUI = 1 , CONTROL_SIGNAL_1 = 2 , CONTROL_SIGNAL_2 = 3 , CONTROL_OP = 4 ,
  CONTROL_SIGNAL_3 = 5 , CONTROL_SIGNAL_4 = 6 , CONTROL_VELOCITY = 7
}
 
typedef std::map< std::string, MorphOperator * > OpNameMap
 
typedef uintptr_t PtrID
 

Public Member Functions

 MorphOperator (MorphPlan *morph_plan)
 
virtual const char * type ()=0
 
virtual int insert_order ()=0
 
virtual bool save (OutFile &out_file)=0
 
virtual bool load (InFile &in_file)=0
 
virtual void post_load (OpNameMap &op_name_map)
 
virtual OutputType output_type ()=0
 
virtual std::vector< MorphOperator * > dependencies ()
 
virtual MorphOperatorConfigclone_config ()=0
 
void get_property_dependencies (std::vector< MorphOperator * > &deps, const std::vector< std::string > &identifiers)
 
void register_property (Property *property)
 
Propertyproperty (const std::string &identifier)
 
void write_properties (OutFile &out_file)
 
bool read_property_event (InFile &in_file)
 
void read_properties_post_load (OpNameMap &op_name_map)
 
MorphPlanmorph_plan ()
 
std::string type_name ()
 
std::string name ()
 
void set_name (const std::string &name)
 
bool can_rename (const std::string &name)
 
std::string id ()
 
void set_id (const std::string &id)
 
bool folded () const
 
void set_folded (bool folded)
 
PtrID ptr_id () const
 
- Public Member Functions inherited from SpectMorph::SignalReceiver
template<class... Args, class CbFunction >
uint64 connect (Signal< Args... > &signal, const CbFunction &callback)
 
template<class... Args, class Instance , class Method >
uint64 connect (Signal< Args... > &signal, Instance *instance, const Method &method)
 
void disconnect (uint64 id)
 
void dead_signal (uint64 id)
 

Static Public Member Functions

static MorphOperatorcreate (const std::string &type, MorphPlan *plan)
 

Protected Member Functions

LogPropertyadd_property_log (float *value, const std::string &identifier, const std::string &label, const std::string &value_label, float def, float mn, float mx)
 
LogPropertyadd_property_log (ModulationData *mod_data, const std::string &identifier, const std::string &label, const std::string &value_label, float def, float mn, float mx)
 
XParamPropertyadd_property_xparam (float *value, const std::string &identifier, const std::string &label, const std::string &value_label, float def, float mn, float mx, float slope)
 
LinearPropertyadd_property (float *value, const std::string &identifier, const std::string &label, const std::string &value_label, float def, float mn, float mx)
 
LinearPropertyadd_property (ModulationData *mod_data, const std::string &identifier, const std::string &label, const std::string &value_label, float def, float mn, float mx)
 
IntPropertyadd_property (int *value, const std::string &identifier, const std::string &label, const std::string &value_label, int def, int mn, int mx)
 
IntVecPropertyadd_property (int *value, const std::string &identifier, const std::string &label, const std::string &value_label, int def, const std::vector< int > &vec)
 
BoolPropertyadd_property (bool *value, const std::string &identifier, const std::string &label, bool def)
 
template<typename Enum >
EnumPropertyadd_property_enum (Enum *value, const std::string &identifier, const std::string &label, int def, const EnumInfo &ei)
 
EnumPropertyadd_property_enum (const std::string &identifier, const std::string &label, int def, const EnumInfo &ei, std::function< int()> read_func, std::function< void(int)> write_func)
 

Protected Attributes

MorphPlanm_morph_plan
 
std::string m_name
 
std::string m_id
 
bool m_folded
 
std::map< std::string, std::unique_ptr< Property > > m_properties
 

The documentation for this class was generated from the following files: