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

Single class implementing plugin altconfig. More...

Inheritance diagram for altconfig_t:
Inheritance graph

Public Member Functions

 altconfig_t (MHA_AC::algo_comm_t &iac, const std::string &configured_name)
 Constructor initializes an instance of the altconfig plugin. More...
 
void prepare (mhaconfig_t &cf)
 Invoked by MHA when this plugin should prepare for signal processing. More...
 
void release ()
 Invoked by MHA when this plugin should call its release function. More...
 
- Public Member Functions inherited from MHAPlugin::plugin_t< char >
 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 ()
 
- Public Member Functions inherited from MHAParser::mhapluginloader_t
 mhapluginloader_t (MHAParser::parser_t &parent, MHA_AC::algo_comm_t &ac, const std::string &plugname_name="plugin_name", const std::string &prefix="")
 
 ~mhapluginloader_t ()
 
void prepare (mhaconfig_t &cf)
 
void release ()
 
void process (mha_wave_t *sIn, mha_wave_t **sOut)
 
void process (mha_spec_t *sIn, mha_spec_t **sOut)
 
void process (mha_wave_t *sIn, mha_spec_t **sOut)
 
void process (mha_spec_t *sIn, mha_wave_t **sOut)
 
mhaconfig_t get_cfin () const
 
mhaconfig_t get_cfout () const
 
const std::string & get_last_name () const
 

Private Member Functions

void on_set_algos ()
 Callback executed when the configuration variable "algos" is written to at run time. More...
 
void on_set_select ()
 Callback executed when the configuration variable "select" is successfully written to at run time. More...
 
void event_select_all ()
 Callback executed when the configuration variable "selectall" is written to at run time. More...
 
std::map< std::string, MHAParser::string_tsave_state ()
 Save the old state of the user-defined sub-parsers for eventual restoration later. More...
 
void restore_state (std::map< std::string, MHAParser::string_t > &state, std::map< std::string, MHAParser::string_t > &failed_state)
 Restore the old parser state from a saved state. More...
 

Private Attributes

MHAParser::vstring_t parser_algos
 
MHAParser::kw_t select_plug
 
MHAParser::bool_t selectall
 
std::map< std::string, MHAParser::string_tconfigs
 Storage for alternative configuration commands. More...
 
MHAEvents::patchbay_t< altconfig_tpatchbay
 Configuration event broker. 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< char >
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...
 
- Protected Attributes inherited from MHAParser::mhapluginloader_t
PluginLoader::mhapluginloader_tplug
 

Detailed Description

Single class implementing plugin altconfig.

altconfig loads another plugin and can send configuration commands to that plugin. altconfig does not need a separate runtime configuration class, template parameter char is used as a placeholder. Uses parser variable names "algos" and "select" even though the alternatives that can be selected in this plugin are not algorithms or plugins but configuration commands in order to be interface-compatible with plugin altplugs. mhacontrol has a UI area that automatically fills with the alternatives found in either altplugs or altconfig if the complete MHA loads exactly one plugin with this interface.

Constructor & Destructor Documentation

◆ altconfig_t()

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

Constructor initializes an instance of the altconfig plugin.

Parameters
iacAlgorithm communication variable space, not used by this plugin except to initialize base class.
configured_nameConfigured name of this plugin.

Member Function Documentation

◆ prepare()

void altconfig_t::prepare ( mhaconfig_t cf)
inlinevirtual

Invoked by MHA when this plugin should prepare for signal processing.

altconfig delegates to the loaded plugin and does not need to do more work to prepare.

Parameters
cfsignal dimensions, forwarded to loaded plugin which may change the signal dimensions.

Implements MHAPlugin::plugin_t< char >.

◆ release()

void altconfig_t::release ( void  )
inlinevirtual

Invoked by MHA when this plugin should call its release function.

altconfig delegates to the loaded plugin.

Reimplemented from MHAPlugin::plugin_t< char >.

◆ on_set_algos()

void altconfig_t::on_set_algos ( )
private

Callback executed when the configuration variable "algos" is written to at run time.

Adds the configuration variables that store the alternative configuration commands based on the new names and sets the allowed values of configuration variable "select"

◆ on_set_select()

void altconfig_t::on_set_select ( )
private

Callback executed when the configuration variable "select" is successfully written to at run time.

Causes the execution of the stored command for the selected condition in the context of the loaded plugin.

◆ event_select_all()

void altconfig_t::event_select_all ( )
private

Callback executed when the configuration variable "selectall" is written to at run time.

When set to yes, iterates once through all stored configurations in the order they appear in configuration variable algos.

◆ save_state()

std::map< std::string, MHAParser::string_t > altconfig_t::save_state ( )
private

Save the old state of the user-defined sub-parsers for eventual restoration later.

operator= does not suffice to store/restore the old state because we need to re-insert the string_t's that were removed, but a copy of the string_t keeps a pointer to its parent and complains if we try to insert_item it again. So we just copy the relevant data into a new string_t.

Parameters
old_stateold parser state
Returns
Copy of the old state

◆ restore_state()

void altconfig_t::restore_state ( std::map< std::string, MHAParser::string_t > &  state,
std::map< std::string, MHAParser::string_t > &  failed_state 
)
private

Restore the old parser state from a saved state.

Parameters
stateold parser state

Member Data Documentation

◆ parser_algos

MHAParser::vstring_t altconfig_t::parser_algos
private

◆ select_plug

MHAParser::kw_t altconfig_t::select_plug
private

◆ selectall

MHAParser::bool_t altconfig_t::selectall
private

◆ configs

std::map<std::string,MHAParser::string_t> altconfig_t::configs
private

Storage for alternative configuration commands.

New entries are registered with the plugin's parser when parser_algos is updated.

◆ patchbay

MHAEvents::patchbay_t<altconfig_t> altconfig_t::patchbay
private

Configuration event broker.


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