![]()  | 
  
    The Open Master Hearing Aid (openMHA)
    openMHA
    
   Open community platform for hearing aid algorithm research 
   | 
 
Implements split plugin. More...

Public Member Functions | |
| split_t (MHA_AC::algo_comm_t &iac, const std::string &configured_name) | |
| Plugin constructor.  More... | |
| ~split_t () | |
| Plugin destructor. Unloads nested plugins.  More... | |
| void | prepare_ (mhaconfig_t &) | 
| Check signal parameters, prepare chains, and allocate output signal holders.  More... | |
| void | release_ () | 
| Delete output signal holder and release chains.  More... | |
| template<class SigTypeIn , class SigTypeOut > | |
| void | process (SigTypeIn *, SigTypeOut **) | 
| Let the parallel plugins process channel groups of the input signal.  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... | |
Private Member Functions | |
| void | update () | 
| Load plugins in response to a value change in the algos variable.  More... | |
| void | clear_chains () | 
| Unload the plugins.  More... | |
| mha_wave_t * | copy_output_wave () | 
| mha_spec_t * | copy_output_spec () | 
| template<class SigType > | |
| void | trigger_processing (SigType *s_in) | 
| Split the argument input signal to groups of channels for the plugins and initiate signal processing.  More... | |
| template<class SigType > | |
| void | collect_result (SigType *s_out) | 
| Combine the output signal from the plugins.  More... | |
| MHASignal::waveform_t * | signal_out (mha_wave_t **) | 
| Waveform domain output signal structure accessor.  More... | |
| MHASignal::spectrum_t * | signal_out (mha_spec_t **) | 
| Spectrum domain output signal structure. Parameter is ignored.  More... | |
Private Attributes | |
| MHAEvents::patchbay_t< split_t > | patchbay | 
| Reload plugins when the algos variable changes.  More... | |
| MHAParser::vstring_t | algos | 
| Vector of plugins to load in parallel.  More... | |
| MHAParser::vint_t | channels | 
| Number of channels to route through each plugin.  More... | |
| MHAParser::kw_t | thread_platform | 
| Thread platform chooser.  More... | |
| MHAParser::kw_t | worker_thread_scheduler | 
| Scheduler used for worker threads.  More... | |
| MHAParser::int_t | worker_thread_priority | 
| Priority of worker threads.  More... | |
| MHAParser::string_mon_t | framework_thread_scheduler | 
| Scheduler of the signal processing thread.  More... | |
| MHAParser::int_mon_t | framework_thread_priority | 
| Priority of signal processing thread.  More... | |
| MHAParser::bool_t | delay | 
| Switch to activate parallel processing of plugins at the cost of one block of additional delay.  More... | |
| std::vector< splitted_part_t * > | chains | 
| Interfaces to parallel plugins.  More... | |
| MHASignal::waveform_t * | wave_out | 
| Combined output waveforms structure.  More... | |
| MHASignal::spectrum_t * | spec_out | 
| Combined output spectra structure.  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 Attributes inherited from MHAParser::base_t | |
| query_map_t | queries | 
| bool | data_is_initialized | 
Implements split plugin.
An instance of class split_t implements the split plugin functionality: The audio channels are splitted and groups of audio channels are processed by different plugins in parallel.
| MHAPlugin_Split::split_t::split_t | ( | MHA_AC::algo_comm_t & | iac, | 
| const std::string & | configured_name | ||
| ) | 
Plugin constructor.
| MHAPlugin_Split::split_t::~split_t | ( | ) | 
Plugin destructor. Unloads nested plugins.
| void MHAPlugin_Split::split_t::prepare_ | ( | mhaconfig_t & | signal_parameters | ) | 
Check signal parameters, prepare chains, and allocate output signal holders.
| void MHAPlugin_Split::split_t::release_ | ( | ) | 
Delete output signal holder and release chains.
| void MHAPlugin_Split::split_t::process | ( | SigTypeIn * | s_in, | 
| SigTypeOut ** | s_out | ||
| ) | 
Let the parallel plugins process channel groups of the input signal.
      
  | 
  private | 
Load plugins in response to a value change in the algos variable.
      
  | 
  private | 
Unload the plugins.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
Split the argument input signal to groups of channels for the plugins and initiate signal processing.
      
  | 
  private | 
Combine the output signal from the plugins.
      
  | 
  inlineprivate | 
Waveform domain output signal structure accessor.
Parameter is only for domain disambiguation and is ignored.
      
  | 
  inlineprivate | 
Spectrum domain output signal structure. Parameter is ignored.
      
  | 
  private | 
Reload plugins when the algos variable changes.
      
  | 
  private | 
Vector of plugins to load in parallel.
      
  | 
  private | 
Number of channels to route through each plugin.
      
  | 
  private | 
Thread platform chooser.
      
  | 
  private | 
Scheduler used for worker threads.
      
  | 
  private | 
Priority of worker threads.
      
  | 
  private | 
Scheduler of the signal processing thread.
      
  | 
  private | 
Priority of signal processing thread.
      
  | 
  private | 
Switch to activate parallel processing of plugins at the cost of one block of additional delay.
      
  | 
  private | 
Interfaces to parallel plugins.
      
  | 
  private | 
Combined output waveforms structure.
      
  | 
  private | 
Combined output spectra structure.