The Open Master Hearing Aid (openMHA)  openMHA
Open community platform for hearing aid algorithm research
ac_mul_t Class Reference

The class which implements the ac_mul_t plugin. More...

Inheritance diagram for ac_mul_t:
Inheritance graph

Public Member Functions

 ac_mul_t (MHA_AC::algo_comm_t &iac, const std::string &configured_name)
 Plugin constructor. More...
 
void prepare_ (mhaconfig_t &)
 Prepare method, called prepare_() with trailing underscore because ac_mul_t does not inherit from plugin_t<>. More...
 
void release_ ()
 
mha_wave_tprocess (mha_wave_t *)
 
mha_spec_tprocess (mha_spec_t *)
 
- Public Member Functions inherited from MHAParser::string_t
 string_t (const std::string &, const std::string &)
 Constructor of a openMHA configuration variable for string values. More...
 
- Public Member Functions inherited from MHAParser::variable_t
 variable_t (const std::string &)
 
std::string query_perm (const std::string &)
 
void setlock (const bool &)
 Lock a variable against write access. More...
 
- Public Member Functions inherited from MHAParser::monitor_t
 monitor_t (const std::string &)
 
 monitor_t (const monitor_t &)
 
monitor_toperator= (const monitor_t &)=default
 
std::string op_query (expression_t &)
 
std::string query_dump (const std::string &)
 
- Public Member Functions inherited from MHAParser::base_t
 base_t (const std::string &)
 Constructor for base class of all parser nodes. More...
 
 base_t (const base_t &)
 Copy constructor for base_t. More...
 
base_toperator= (const base_t &)=default
 
 base_t (base_t &&)=delete
 
base_toperator= (base_t &&)=delete
 
virtual ~base_t ()
 
virtual std::string parse (const std::string &)
 Causes this node to process a command in the openMHA configuration language. More...
 
virtual void parse (const char *, char *, unsigned int)
 This function parses a command and writes the parsing result into a C character array. More...
 
virtual void parse (const std::vector< std::string > &, std::vector< std::string > &)
 
virtual std::string op_subparse (expression_t &)
 
virtual std::string query_entries (const std::string &)
 
virtual std::string query_range (const std::string &)
 
virtual std::string query_readfile (const std::string &)
 
virtual std::string query_savefile (const std::string &)
 
virtual std::string query_savefile_compact (const std::string &)
 
virtual std::string query_savemons (const std::string &)
 
virtual std::string query_listids (const std::string &)
 
std::string query_version (const std::string &)
 
std::string query_id (const std::string &)
 
std::string query_subst (const std::string &)
 
std::string query_addsubst (const std::string &)
 
std::string query_help (const std::string &)
 
std::string query_cmds (const std::string &)
 
void set_node_id (const std::string &)
 Set the identification string of this parser node. More...
 
void set_help (const std::string &)
 Set the help comment of a variable or parser. More...
 
void add_parent_on_insert (parser_t *, std::string)
 
void rm_parent_on_remove (parser_t *)
 
const std::string & fullname () const
 Return the full dot-separated path name of this parser node in the openMHA configuration tree. More...
 

Private Member Functions

void scan_syntax ()
 
void get_arg_type_and_dimension ()
 
void get_arg_type_and_dimension (const std::string &, val_type_t &, unsigned int &, unsigned int &)
 
void process ()
 
void process_rr ()
 
void process_rc ()
 
void process_cr ()
 
void process_cc ()
 

Private Attributes

MHA_AC::algo_comm_tac
 
std::string algo
 
arg_type_t argt
 
std::string str_a
 
std::string str_b
 
MHA_AC::waveform_tres_r
 
MHA_AC::spectrum_tres_c
 
unsigned int num_frames
 
unsigned int num_channels
 

Additional Inherited Members

- Public Attributes inherited from MHAParser::string_t
std::string data
 Data field. More...
 
- Public Attributes inherited from MHAParser::base_t
MHAEvents::emitter_t writeaccess
 Event emitted on write access. More...
 
MHAEvents::emitter_t valuechanged
 Event emitted if the value has changed. More...
 
MHAEvents::emitter_t readaccess
 Event emitted on read access. More...
 
MHAEvents::emitter_t prereadaccess
 Event emitted on read access, before the data field is accessed. More...
 
- Protected Member Functions inherited from MHAParser::string_t
std::string op_setval (expression_t &)
 
std::string query_type (const std::string &)
 
std::string query_val (const std::string &)
 
- Protected Member Functions inherited from MHAParser::base_t
void activate_query (const std::string &, query_t)
 
void notify ()
 
- Protected Attributes inherited from MHAParser::base_t
query_map_t queries
 
bool data_is_initialized
 

Detailed Description

The class which implements the ac_mul_t plugin.

Different from most other plugins, the ac_mul plugin's interface class does not inherit from plugin_t<>, but from MHAParser::string_t. This way, it does not get inserted into the MHA configuration tree as a parser node wich can have multiple variables, but as a string variable.

The ac_mul_t variable multiplies two AC variables element-wise.

Constructor & Destructor Documentation

◆ ac_mul_t()

ac_mul_t::ac_mul_t ( MHA_AC::algo_comm_t iac,
const std::string &  configured_name 
)

Plugin constructor.

Member Function Documentation

◆ prepare_()

void ac_mul_t::prepare_ ( mhaconfig_t )

Prepare method, called prepare_() with trailing underscore because ac_mul_t does not inherit from plugin_t<>.

Leaves signal dimensions unchanged. The AC variables contained in the string expression must exist at this point.

◆ release_()

void ac_mul_t::release_ ( )

◆ process() [1/3]

mha_wave_t * ac_mul_t::process ( mha_wave_t s)

◆ process() [2/3]

mha_spec_t * ac_mul_t::process ( mha_spec_t s)

◆ scan_syntax()

void ac_mul_t::scan_syntax ( )
private

◆ get_arg_type_and_dimension() [1/2]

void ac_mul_t::get_arg_type_and_dimension ( )
private

◆ get_arg_type_and_dimension() [2/2]

void ac_mul_t::get_arg_type_and_dimension ( const std::string &  name,
val_type_t vt,
unsigned int &  num_frames,
unsigned int &  num_channels 
)
private

◆ process() [3/3]

void ac_mul_t::process ( void  )
private

◆ process_rr()

void ac_mul_t::process_rr ( )
private

◆ process_rc()

void ac_mul_t::process_rc ( )
private

◆ process_cr()

void ac_mul_t::process_cr ( )
private

◆ process_cc()

void ac_mul_t::process_cc ( )
private

Member Data Documentation

◆ ac

MHA_AC::algo_comm_t& ac_mul_t::ac
private

◆ algo

std::string ac_mul_t::algo
private

◆ argt

arg_type_t ac_mul_t::argt
private

◆ str_a

std::string ac_mul_t::str_a
private

◆ str_b

std::string ac_mul_t::str_b
private

◆ res_r

MHA_AC::waveform_t* ac_mul_t::res_r
private

◆ res_c

MHA_AC::spectrum_t* ac_mul_t::res_c
private

◆ num_frames

unsigned int ac_mul_t::num_frames
private

◆ num_channels

unsigned int ac_mul_t::num_channels
private

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