summaryrefslogtreecommitdiff
path: root/core/signal_processor.py
diff options
context:
space:
mode:
Diffstat (limited to 'core/signal_processor.py')
-rw-r--r--core/signal_processor.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/core/signal_processor.py b/core/signal_processor.py
index 417d142..723de66 100644
--- a/core/signal_processor.py
+++ b/core/signal_processor.py
@@ -185,6 +185,16 @@ def filter_from_dict(d: dict) -> FilterBase:
return cls(**params)
+def register_filter_class(name: str, cls) -> None:
+ """Register a plugin-provided filter class by type name."""
+ FILTER_CLASSES[name] = cls
+
+
+def unregister_filter_class(name: str) -> None:
+ """Remove a previously registered plugin filter class."""
+ FILTER_CLASSES.pop(name, None)
+
+
# ══════════════════════════════════════════════════════════════════════════════
# Derived channel definitions
# ══════════════════════════════════════════════════════════════════════════════