Module audian.plugins
Functions
def default_setup_traces(browser)
-
Expand source code
def default_setup_traces(browser): browser.add_trace(BufferedFilter()) browser.add_trace(BufferedSpectrogram())
Classes
class Plugins
-
Expand source code
class Plugins(object): def __init__(self): self.plugins = {} self.trace_factories = [] self.add_trace_factory(default_setup_traces) self.analyzer_factories = [] def add_plugin(self, name, module): self.plugins[name] = module def add_trace_factory(self, factory_func): self.trace_factories.append(factory_func) def clear_trace_factories(self): self.trace_factories = [] def add_analyzer_factory(self, factory_func): self.analyzer_factories.append(factory_func) def clear_analyzer_factories(self): self.analyzer_factories = [] def load_plugins(self): sys.path.append(os.getcwd()) for module in glob.glob('audian*.py'): x = importlib.import_module(module[:-3]) called = False for k in dir(x): if k.startswith('audian_') and callable(getattr(x, k)): if k.endswith('traces'): self.add_trace_factory(getattr(x, k)) called = True elif k.endswith('analyzer'): self.add_analyzer_factory(getattr(x, k)) called = True if called: self.add_plugin(k, x) print(f'loaded audian plugins from {module}') sys.path.pop() def setup_traces(self, browser): for f in self.trace_factories: f(browser) def setup_analyzer(self, browser): for f in self.analyzer_factories: f(browser)
Methods
def add_plugin(self, name, module)
-
Expand source code
def add_plugin(self, name, module): self.plugins[name] = module
def add_trace_factory(self, factory_func)
-
Expand source code
def add_trace_factory(self, factory_func): self.trace_factories.append(factory_func)
def clear_trace_factories(self)
-
Expand source code
def clear_trace_factories(self): self.trace_factories = []
def add_analyzer_factory(self, factory_func)
-
Expand source code
def add_analyzer_factory(self, factory_func): self.analyzer_factories.append(factory_func)
def clear_analyzer_factories(self)
-
Expand source code
def clear_analyzer_factories(self): self.analyzer_factories = []
def load_plugins(self)
-
Expand source code
def load_plugins(self): sys.path.append(os.getcwd()) for module in glob.glob('audian*.py'): x = importlib.import_module(module[:-3]) called = False for k in dir(x): if k.startswith('audian_') and callable(getattr(x, k)): if k.endswith('traces'): self.add_trace_factory(getattr(x, k)) called = True elif k.endswith('analyzer'): self.add_analyzer_factory(getattr(x, k)) called = True if called: self.add_plugin(k, x) print(f'loaded audian plugins from {module}') sys.path.pop()
def setup_traces(self, browser)
-
Expand source code
def setup_traces(self, browser): for f in self.trace_factories: f(browser)
def setup_analyzer(self, browser)
-
Expand source code
def setup_analyzer(self, browser): for f in self.analyzer_factories: f(browser)