forked from genewildish/Mainline
Add 'available' command to list all effect types
- Add _cmd_available() method to list all registered effect types - Discover plugins and query registry to get complete list - Add 'available' to help text and command processing - Update help description for 'effects' command to clarify it shows current pipeline
This commit is contained in:
@@ -249,6 +249,8 @@ class ReplEffect(EffectPlugin):
|
|||||||
self._cmd_param(cmd_args, ctx)
|
self._cmd_param(cmd_args, ctx)
|
||||||
elif cmd_name == "pipeline":
|
elif cmd_name == "pipeline":
|
||||||
self._cmd_pipeline(ctx)
|
self._cmd_pipeline(ctx)
|
||||||
|
elif cmd_name == "available":
|
||||||
|
self._cmd_available(ctx)
|
||||||
elif cmd_name == "add_stage":
|
elif cmd_name == "add_stage":
|
||||||
self._cmd_add_stage(cmd_args)
|
self._cmd_add_stage(cmd_args)
|
||||||
elif cmd_name == "remove_stage":
|
elif cmd_name == "remove_stage":
|
||||||
@@ -273,7 +275,8 @@ class ReplEffect(EffectPlugin):
|
|||||||
self.state.output_buffer.append("Available commands:")
|
self.state.output_buffer.append("Available commands:")
|
||||||
self.state.output_buffer.append(" help - Show this help")
|
self.state.output_buffer.append(" help - Show this help")
|
||||||
self.state.output_buffer.append(" status - Show pipeline status")
|
self.state.output_buffer.append(" status - Show pipeline status")
|
||||||
self.state.output_buffer.append(" effects - List all effects")
|
self.state.output_buffer.append(" effects - List effects in current pipeline")
|
||||||
|
self.state.output_buffer.append(" available - List all available effect types")
|
||||||
self.state.output_buffer.append(" effect <name> <on|off> - Toggle effect")
|
self.state.output_buffer.append(" effect <name> <on|off> - Toggle effect")
|
||||||
self.state.output_buffer.append(
|
self.state.output_buffer.append(
|
||||||
" param <effect> <param> <value> - Set parameter"
|
" param <effect> <param> <value> - Set parameter"
|
||||||
@@ -318,6 +321,26 @@ class ReplEffect(EffectPlugin):
|
|||||||
else:
|
else:
|
||||||
self.state.output_buffer.append("No context available")
|
self.state.output_buffer.append("No context available")
|
||||||
|
|
||||||
|
def _cmd_available(self, ctx: EffectContext | None):
|
||||||
|
"""List all available effect types."""
|
||||||
|
try:
|
||||||
|
from engine.effects import get_registry
|
||||||
|
from engine.effects.plugins import discover_plugins
|
||||||
|
|
||||||
|
# Discover plugins if not already done
|
||||||
|
discover_plugins()
|
||||||
|
registry = get_registry()
|
||||||
|
all_effects = registry.list_all()
|
||||||
|
|
||||||
|
if all_effects:
|
||||||
|
self.state.output_buffer.append("Available effect types:")
|
||||||
|
for name in sorted(all_effects.keys()):
|
||||||
|
self.state.output_buffer.append(f" - {name}")
|
||||||
|
else:
|
||||||
|
self.state.output_buffer.append("No effects registered")
|
||||||
|
except Exception as e:
|
||||||
|
self.state.output_buffer.append(f"Error listing effects: {e}")
|
||||||
|
|
||||||
def _cmd_effect(self, args: list[str], ctx: EffectContext | None):
|
def _cmd_effect(self, args: list[str], ctx: EffectContext | None):
|
||||||
"""Toggle effect on/off."""
|
"""Toggle effect on/off."""
|
||||||
if len(args) < 2:
|
if len(args) < 2:
|
||||||
|
|||||||
Reference in New Issue
Block a user