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

Matlab wraper plugin interface class. More...

Inheritance diagram for matlab_wrapper::matlab_wrapper_t:
Inheritance graph

Classes

class  wrapped_plugin_t
 Wrapper class around the matlab-generated library. More...
 

Public Member Functions

 matlab_wrapper_t (MHA_AC::algo_comm_t &iac, const std::string &configured_name)
 Ctor of the plugin interface class. More...
 
void process (mha_wave_t *sin, mha_wave_t **sout)
 Pure waveform processing. More...
 
void process (mha_spec_t *sin, mha_spec_t **sout)
 Pure spectrum processing. More...
 
void process (mha_wave_t *sin, mha_spec_t **sout)
 Signal processing with domain transformation from waveform to spectrum. More...
 
void process (mha_spec_t *sin, mha_wave_t **sout)
 Signal processing with domain transformation from spectrum to waveform. More...
 
void prepare (mhaconfig_t &signal_info)
 Prepare callback. More...
 
void release ()
 Release callback. More...
 
- Public Member Functions inherited from MHAPlugin::plugin_t< matlab_wrapper_rt_cfg_t >
 plugin_t (const std::string &, MHA_AC::algo_comm_t &)
 Constructor of plugin template base class. More...
 
virtual ~plugin_t ()
 Destructor of plugin template base class. More...
 
void prepare_ (mhaconfig_t &)
 
void release_ ()
 
bool is_prepared () const
 Flag, if the prepare method is successfully called (or currently evaluated) More...
 
mhaconfig_t input_cfg () const
 Current input channel configuration. More...
 
mhaconfig_t output_cfg () const
 Current output channel configuration. More...
 
- Public Member Functions inherited from MHAParser::parser_t
 parser_t (const std::string &help_text="")
 Construct detached node to be used in the configuration tree. More...
 
 ~parser_t ()
 
void insert_item (const std::string &, base_t *)
 Register a parser item into this sub-parser. More...
 
void remove_item (const std::string &)
 Remove an item by name. More...
 
void force_remove_item (const std::string &)
 Remove an item by name. More...
 
void remove_item (const base_t *)
 Remove an item by address. More...
 
- 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 query_perm (const std::string &)
 
virtual std::string query_range (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...
 
- Public Member Functions inherited from MHAPlugin::config_t< runtime_cfg_t >
 config_t ()
 
 ~config_t ()
 

Private Member Functions

void insert_monitors ()
 
void update_monitors ()
 
void insert_config_vars ()
 
void load_lib ()
 Create new library wrapper and load library. More...
 
void update ()
 Create new real time safe user config from user config. More...
 

Private Attributes

friend callback
 
MHAParser::string_t library_name {"Name of matlab generated library",""}
 Configuration variable holding the file name of the matlab generated library. More...
 
MHAEvents::patchbay_t< matlab_wrapper_tpatchbay
 Patchbay for the interface plugins. More...
 
MHAEvents::patchbay_t< callbackcb_patchbay
 Patchbay for the custom callbacks. More...
 
std::unique_ptr< wrapped_plugin_tplug
 Unique ptr holding the instance of the plugin wrapper class. More...
 
std::deque< MHAParser::mfloat_tvars
 Deque holding the user defined configuration variables. More...
 
std::deque< callbackcallbacks
 Deque holding the callbacks for the user defined variables' write access. More...
 
std::deque< MHAParser::mfloat_mon_tmonitors
 Deque holding the monitors corresponding to user state. More...
 

Additional Inherited Members

- 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::parser_t
std::string op_subparse (expression_t &)
 
std::string op_setval (expression_t &)
 
std::string op_query (expression_t &)
 
std::string query_type (const std::string &)
 
std::string query_dump (const std::string &)
 
std::string query_entries (const std::string &)
 
std::string query_readfile (const std::string &)
 
std::string query_savefile (const std::string &)
 
std::string query_savefile_compact (const std::string &)
 
std::string query_savemons (const std::string &)
 
std::string query_val (const std::string &)
 
std::string query_listids (const std::string &)
 
void set_id_string (const std::string &)
 
bool has_entry (const std::string &)
 
- Protected Member Functions inherited from MHAParser::base_t
void activate_query (const std::string &, query_t)
 
void notify ()
 
- Protected Member Functions inherited from MHAPlugin::config_t< runtime_cfg_t >
runtime_cfg_t * poll_config ()
 Receive the latest run time configuration. More...
 
runtime_cfg_t * peek_config () const
 Receive the latest run time configuration without changing the configuration pointer. More...
 
void push_config (runtime_cfg_t *ncfg)
 Push a new run time configuration into the configuration fifo. More...
 
void cleanup_unused_cfg ()
 To be called by the push_config() for housekeeping. More...
 
void remove_all_cfg ()
 To be called on Plugin destruction, will delete all runtime configuration list nodes and objects regardless of their in_use flag. More...
 
- Protected Attributes inherited from MHAPlugin::plugin_t< matlab_wrapper_rt_cfg_t >
mhaconfig_t tftype
 Member for storage of plugin interface configuration. More...
 
MHA_AC::algo_comm_tac
 AC handle of the chain. More...
 
- Protected Attributes inherited from MHAParser::base_t
query_map_t queries
 
bool data_is_initialized
 
- Protected Attributes inherited from MHAPlugin::config_t< runtime_cfg_t >
runtime_cfg_t * cfg
 Pointer to the runtime configuration currently used by the signal processing thread. More...
 

Detailed Description

Matlab wraper plugin interface class.

Constructor & Destructor Documentation

◆ matlab_wrapper_t()

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

Ctor of the plugin interface class.

Parameters
iacHandle to ac space
configured_nameConfigured name of this plugin

Member Function Documentation

◆ process() [1/4]

void matlab_wrapper::matlab_wrapper_t::process ( mha_wave_t sin,
mha_wave_t **  sout 
)

Pure waveform processing.

Parameters
sininput waveform signal
soutoutput waveform signal

◆ process() [2/4]

void matlab_wrapper::matlab_wrapper_t::process ( mha_spec_t sin,
mha_spec_t **  sout 
)

Pure spectrum processing.

Parameters
sininput spectrum signal
soutoutput spectrum signal

◆ process() [3/4]

void matlab_wrapper::matlab_wrapper_t::process ( mha_wave_t sin,
mha_spec_t **  sout 
)

Signal processing with domain transformation from waveform to spectrum.

Parameters
sininput waveform signal
soutoutput spectrum signal

◆ process() [4/4]

void matlab_wrapper::matlab_wrapper_t::process ( mha_spec_t sin,
mha_wave_t **  sout 
)

Signal processing with domain transformation from spectrum to waveform.

Parameters
sininput spectrum signal
soutoutput waveform signal

◆ prepare()

void matlab_wrapper::matlab_wrapper_t::prepare ( mhaconfig_t signal_info)
virtual

Prepare callback.

Parameters
signal_infostruct holding the input/output signal dimensions

Implements MHAPlugin::plugin_t< matlab_wrapper_rt_cfg_t >.

◆ release()

void matlab_wrapper::matlab_wrapper_t::release ( void  )
virtual

Release callback.

Reimplemented from MHAPlugin::plugin_t< matlab_wrapper_rt_cfg_t >.

◆ insert_monitors()

void matlab_wrapper::matlab_wrapper_t::insert_monitors ( )
private

◆ update_monitors()

void matlab_wrapper::matlab_wrapper_t::update_monitors ( )
private

◆ insert_config_vars()

void matlab_wrapper::matlab_wrapper_t::insert_config_vars ( )
private

◆ load_lib()

void matlab_wrapper::matlab_wrapper_t::load_lib ( )
private

Create new library wrapper and load library.

To be called write access to library_name.

◆ update()

void matlab_wrapper::matlab_wrapper_t::update ( )
private

Create new real time safe user config from user config.

Called by the custom callbacks.

Member Data Documentation

◆ callback

friend matlab_wrapper::matlab_wrapper_t::callback
private

◆ library_name

MHAParser::string_t matlab_wrapper::matlab_wrapper_t::library_name {"Name of matlab generated library",""}
private

Configuration variable holding the file name of the matlab generated library.

◆ patchbay

MHAEvents::patchbay_t<matlab_wrapper_t> matlab_wrapper::matlab_wrapper_t::patchbay
private

Patchbay for the interface plugins.

◆ cb_patchbay

MHAEvents::patchbay_t<callback> matlab_wrapper::matlab_wrapper_t::cb_patchbay
private

Patchbay for the custom callbacks.

Can use normal patchbay bc/ of the interface of patchbay_t

◆ plug

std::unique_ptr<wrapped_plugin_t> matlab_wrapper::matlab_wrapper_t::plug
private

Unique ptr holding the instance of the plugin wrapper class.

◆ vars

std::deque<MHAParser::mfloat_t> matlab_wrapper::matlab_wrapper_t::vars
private

Deque holding the user defined configuration variables.

Deque is used because we need an indexable container that does not invalidate pointers

◆ callbacks

std::deque<callback> matlab_wrapper::matlab_wrapper_t::callbacks
private

Deque holding the callbacks for the user defined variables' write access.

Deque is used because we need an indexable container that does not invalidate pointers

◆ monitors

std::deque<MHAParser::mfloat_mon_t> matlab_wrapper::matlab_wrapper_t::monitors
private

Deque holding the monitors corresponding to user state.

Deque is used because we need an indexable container that does not invalidate pointers.


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