The Open Master Hearing Aid (openMHA)
openMHA
Open community platform for hearing aid algorithm research
|
Single class implementing plugin altconfig. More...
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_t & | operator= (const base_t &)=default |
base_t (base_t &&)=delete | |
base_t & | operator= (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_t > | save_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_t > | configs |
Storage for alternative configuration commands. More... | |
MHAEvents::patchbay_t< altconfig_t > | patchbay |
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_t & | ac |
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_t * | plug |
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.
altconfig_t::altconfig_t | ( | MHA_AC::algo_comm_t & | iac, |
const std::string & | configured_name | ||
) |
Constructor initializes an instance of the altconfig plugin.
iac | Algorithm communication variable space, not used by this plugin except to initialize base class. |
configured_name | Configured name of this plugin. |
|
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.
cf | signal dimensions, forwarded to loaded plugin which may change the signal dimensions. |
Implements MHAPlugin::plugin_t< char >.
|
inlinevirtual |
Invoked by MHA when this plugin should call its release function.
altconfig delegates to the loaded plugin.
Reimplemented from MHAPlugin::plugin_t< char >.
|
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"
|
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.
|
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.
|
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.
old_state | old parser state |
|
private |
Restore the old parser state from a saved state.
state | old parser state |
|
private |
|
private |
|
private |
|
private |
Storage for alternative configuration commands.
New entries are registered with the plugin's parser when parser_algos is updated.
|
private |
Configuration event broker.