general parser improvements.

index and ctx parameters now show as required in help output
This commit is contained in:
onyx-and-iris 2026-03-02 12:30:22 +00:00
parent a1da5c7256
commit 1f6811d5a0
10 changed files with 99 additions and 109 deletions

View File

@ -58,7 +58,7 @@ def sendtext(
text: Annotated[str, Argument()], text: Annotated[str, Argument()],
/, /,
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Send a text command to the current Voicemeeter/Matrix instance.""" """Send a text command to the current Voicemeeter/Matrix instance."""
if resp := ctx.client.sendtext(text): if resp := ctx.client.sendtext(text):

View File

@ -13,19 +13,18 @@ app = App(name='bus', help_formatter=BusHelpFormatter())
@app.meta.default @app.meta.default
def launcher( def launcher(
index: Annotated[int, Argument()] = None, index: Annotated[int, Argument()],
/,
*tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)], *tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Control the bus parameters.""" """Control the bus parameters."""
additional_kwargs = {} additional_kwargs = {}
command, bound, _ = app.parse_args(tokens) command, bound, _ = app.parse_args(tokens)
if tokens[0] == 'eq': if tokens[0] == 'eq':
additional_kwargs['eq_kind'] = app.name[0] additional_kwargs['eq_kind'] = app.name[0]
if index is not None: additional_kwargs['index'] = index
additional_kwargs['index'] = index additional_kwargs['ctx'] = ctx
if ctx is not None:
additional_kwargs['ctx'] = ctx
return command(*bound.args, **bound.kwargs, **additional_kwargs) return command(*bound.args, **bound.kwargs, **additional_kwargs)
@ -36,8 +35,8 @@ def mono(
Optional[Literal['off', 'mono', 'stereoreverse']], Argument() Optional[Literal['off', 'mono', 'stereoreverse']], Argument()
] = None, ] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the mono state of the specified bus. """Get or set the mono state of the specified bus.
@ -56,8 +55,8 @@ def mono(
def mute( def mute(
new_value: Annotated[Optional[bool], Argument()] = None, new_value: Annotated[Optional[bool], Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the mute state of the specified bus. """Get or set the mute state of the specified bus.
@ -94,8 +93,8 @@ def mode(
Argument(), Argument(),
] = None, ] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the bus mode of the specified bus. """Get or set the bus mode of the specified bus.

View File

@ -12,7 +12,7 @@ app = App(name='command', help_formatter=BaseHelpFormatter())
@app.command(name='show') @app.command(name='show')
def show( def show(
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)] = None,
): ):
"""Bring the Voicemeeter GUI to the foreground.""" """Bring the Voicemeeter GUI to the foreground."""
ctx.client.command.show() ctx.client.command.show()
@ -22,7 +22,7 @@ def show(
@app.command(name='hide') @app.command(name='hide')
def hide( def hide(
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Send the Voicemeeter GUI to the background.""" """Send the Voicemeeter GUI to the background."""
ctx.client.command.hide() ctx.client.command.hide()
@ -32,7 +32,7 @@ def hide(
@app.command(name='shutdown') @app.command(name='shutdown')
def shutdown( def shutdown(
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Shut down Voicemeeter.""" """Shut down Voicemeeter."""
ctx.client.command.shutdown() ctx.client.command.shutdown()
@ -42,7 +42,7 @@ def shutdown(
@app.command(name='restart') @app.command(name='restart')
def restart( def restart(
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Restart the Voicemeeter engine.""" """Restart the Voicemeeter engine."""
ctx.client.command.restart() ctx.client.command.restart()

View File

@ -11,16 +11,14 @@ app = App(name='comp', help_formatter=StripHelpFormatter())
@app.meta.default @app.meta.default
def launcher( def launcher(
*tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)], *tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)],
index: Annotated[int, Argument()] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Control the compressor parameters.""" """Control the compressor parameters."""
additional_kwargs = {} additional_kwargs = {}
command, bound, _ = app.parse_args(tokens) command, bound, _ = app.parse_args(tokens)
if index is not None: additional_kwargs['index'] = index
additional_kwargs['index'] = index additional_kwargs['ctx'] = ctx
if ctx is not None:
additional_kwargs['ctx'] = ctx
return command(*bound.args, **bound.kwargs, **additional_kwargs) return command(*bound.args, **bound.kwargs, **additional_kwargs)
@ -29,8 +27,8 @@ def launcher(
def knob( def knob(
new_knob: Annotated[float, Argument()] = None, new_knob: Annotated[float, Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the knob of the specified compressor. """Get or set the knob of the specified compressor.
@ -50,8 +48,8 @@ def knob(
def input_gain( def input_gain(
new_gain: Annotated[float, Argument()] = None, new_gain: Annotated[float, Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the input gain of the specified compressor. """Get or set the input gain of the specified compressor.

View File

@ -11,16 +11,14 @@ app = App(name='denoiser', help_formatter=StripHelpFormatter())
@app.meta.default @app.meta.default
def launcher( def launcher(
*tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)], *tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)],
index: Annotated[int, Argument()] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Control the denoiser parameters.""" """Control the denoiser parameters."""
additional_kwargs = {} additional_kwargs = {}
command, bound, _ = app.parse_args(tokens) command, bound, _ = app.parse_args(tokens)
if index is not None: additional_kwargs['index'] = index
additional_kwargs['index'] = index additional_kwargs['ctx'] = ctx
if ctx is not None:
additional_kwargs['ctx'] = ctx
return command(*bound.args, **bound.kwargs, **additional_kwargs) return command(*bound.args, **bound.kwargs, **additional_kwargs)
@ -29,8 +27,8 @@ def launcher(
def knob( def knob(
new_knob: Annotated[float, Argument()] = None, new_knob: Annotated[float, Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the knob of the specified denoiser. """Get or set the knob of the specified denoiser.

View File

@ -14,9 +14,9 @@ app.command(cell_app.meta, name='cell')
@app.meta.default @app.meta.default
def launcher( def launcher(
*tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)], *tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)],
eq_kind: Annotated[str, Parameter(show=False)] = None, eq_kind: Annotated[str, Parameter(parse=False)],
index: Annotated[int, Argument()] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Control the EQ parameters.""" """Control the EQ parameters."""
additional_kwargs = {} additional_kwargs = {}
@ -37,7 +37,7 @@ def launcher(
def on( def on(
new_state: Annotated[bool, Argument()] = None, new_state: Annotated[bool, Argument()] = None,
*, *,
target: Annotated[object, Parameter(show=False)] = None, target: Annotated[object, Parameter(parse=False)],
): ):
"""Get or set the on state of the specified EQ band. """Get or set the on state of the specified EQ band.
@ -55,9 +55,10 @@ def on(
@cell_app.meta.default @cell_app.meta.default
def cell_launcher( def cell_launcher(
band: Annotated[int, Argument()] = None, band: Annotated[int, Argument()],
/,
*tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)], *tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)],
target: Annotated[object, Parameter(show=False)] = None, target: Annotated[object, Parameter(parse=False)],
): ):
"""Control the EQ Cell parameters. """Control the EQ Cell parameters.
@ -74,7 +75,7 @@ def cell_launcher(
def cell_on( def cell_on(
new_state: Annotated[bool, Argument()] = None, new_state: Annotated[bool, Argument()] = None,
*, *,
target: Annotated[object, Parameter(show=False)] = None, target: Annotated[object, Parameter(parse=False)],
): ):
"""Get or set the on state of the specified EQ cell. """Get or set the on state of the specified EQ cell.
@ -94,7 +95,7 @@ def cell_on(
def cell_freq( def cell_freq(
new_freq: Annotated[float, Argument()] = None, new_freq: Annotated[float, Argument()] = None,
*, *,
target: Annotated[object, Parameter(show=False)] = None, target: Annotated[object, Parameter(parse=False)],
): ):
"""Get or set the frequency of the specified EQ cell. """Get or set the frequency of the specified EQ cell.
@ -114,7 +115,7 @@ def cell_freq(
def cell_gain( def cell_gain(
new_gain: Annotated[float, Argument()] = None, new_gain: Annotated[float, Argument()] = None,
*, *,
target: Annotated[object, Parameter(show=False)] = None, target: Annotated[object, Parameter(parse=False)],
): ):
"""Get or set the gain of the specified EQ cell. """Get or set the gain of the specified EQ cell.
@ -134,7 +135,7 @@ def cell_gain(
def cell_q( def cell_q(
new_q: Annotated[float, Argument()] = None, new_q: Annotated[float, Argument()] = None,
*, *,
target: Annotated[object, Parameter(show=False)] = None, target: Annotated[object, Parameter(parse=False)],
): ):
"""Get or set the Q of the specified EQ cell. """Get or set the Q of the specified EQ cell.
@ -154,7 +155,7 @@ def cell_q(
def cell_type( def cell_type(
new_type: Annotated[int, Argument()] = None, new_type: Annotated[int, Argument()] = None,
*, *,
target: Annotated[object, Parameter(show=False)] = None, target: Annotated[object, Parameter(parse=False)],
): ):
"""Get or set the type of the specified EQ cell. """Get or set the type of the specified EQ cell.

View File

@ -11,21 +11,18 @@ app = App(name='gainlayer', help_formatter=GainlayerHelpFormatter())
@app.meta.default @app.meta.default
def launcher( def launcher(
gainlayer_index: Annotated[int, Argument()] = None, gainlayer_index: Annotated[int, Argument()],
/,
*tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)], *tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)],
index: Annotated[int, Argument()] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Control the gainlayers.""" """Control the gainlayers."""
additional_kwargs = {} additional_kwargs = {}
command, bound, _ = app.parse_args(tokens) command, bound, _ = app.parse_args(tokens)
if index is not None and gainlayer_index is not None: additional_kwargs['strip_index'] = index
additional_kwargs['strip_index'] = index additional_kwargs['gainlayer_index'] = gainlayer_index
additional_kwargs['gainlayer_index'] = gainlayer_index additional_kwargs['ctx'] = ctx
else:
raise ValueError('Both gainlayer_index and index must be provided.')
if ctx is not None:
additional_kwargs['ctx'] = ctx
return command(*bound.args, **bound.kwargs, **additional_kwargs) return command(*bound.args, **bound.kwargs, **additional_kwargs)
@ -34,9 +31,9 @@ def launcher(
def level( def level(
new_level: Annotated[float, Argument()] = None, new_level: Annotated[float, Argument()] = None,
*, *,
strip_index: Annotated[int, Parameter(show=False)] = None, strip_index: Annotated[int, Parameter(parse=False)],
gainlayer_index: Annotated[int, Parameter(show=False)] = None, gainlayer_index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the level of the specified gainlayer. """Get or set the level of the specified gainlayer.

View File

@ -11,16 +11,14 @@ app = App(name='gate', help_formatter=StripHelpFormatter())
@app.meta.default @app.meta.default
def launcher( def launcher(
*tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)], *tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)],
index: Annotated[int, Argument()] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Control the compressor parameters.""" """Control the compressor parameters."""
additional_kwargs = {} additional_kwargs = {}
command, bound, _ = app.parse_args(tokens) command, bound, _ = app.parse_args(tokens)
if index is not None: additional_kwargs['index'] = index
additional_kwargs['index'] = index additional_kwargs['ctx'] = ctx
if ctx is not None:
additional_kwargs['ctx'] = ctx
return command(*bound.args, **bound.kwargs, **additional_kwargs) return command(*bound.args, **bound.kwargs, **additional_kwargs)
@ -29,8 +27,8 @@ def launcher(
def knob( def knob(
new_knob: Annotated[float, Argument()] = None, new_knob: Annotated[float, Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the knob of the specified gate. """Get or set the knob of the specified gate.
@ -50,8 +48,8 @@ def knob(
def threshold( def threshold(
new_threshold: Annotated[float, Argument()] = None, new_threshold: Annotated[float, Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the threshold of the specified gate. """Get or set the threshold of the specified gate.

View File

@ -13,7 +13,7 @@ app = App(name='recorder', help_formatter=BaseHelpFormatter())
@app.command(name='play') @app.command(name='play')
def play( def play(
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Start the recorder playback.""" """Start the recorder playback."""
ctx.client.recorder.play() ctx.client.recorder.play()
@ -23,7 +23,7 @@ def play(
@app.command(name='pause') @app.command(name='pause')
def pause( def pause(
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Pause the recorder playback.""" """Pause the recorder playback."""
ctx.client.recorder.stop() ctx.client.recorder.stop()
@ -33,7 +33,7 @@ def pause(
@app.command(name='stop') @app.command(name='stop')
def stop( def stop(
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Stop the recorder playback/recording and reset to the beginning.""" """Stop the recorder playback/recording and reset to the beginning."""
ctx.client.recorder.stop() ctx.client.recorder.stop()
@ -46,7 +46,7 @@ def stop(
@app.command(name='replay') @app.command(name='replay')
def replay( def replay(
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Replay the recorder playback.""" """Replay the recorder playback."""
ctx.client.recorder.replay() ctx.client.recorder.replay()
@ -56,7 +56,7 @@ def replay(
@app.command(name='record') @app.command(name='record')
def record( def record(
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Start recording.""" """Start recording."""
ctx.client.recorder.record() ctx.client.recorder.record()
@ -66,7 +66,7 @@ def record(
@app.command(name='pause-recording') @app.command(name='pause-recording')
def pause_recording( def pause_recording(
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Pause the recorder recording.""" """Pause the recorder recording."""
ctx.client.recorder.pause() ctx.client.recorder.pause()
@ -76,7 +76,7 @@ def pause_recording(
@app.command(name='ff') @app.command(name='ff')
def ff( def ff(
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Fast forward the recorder playback.""" """Fast forward the recorder playback."""
ctx.client.recorder.ff() ctx.client.recorder.ff()
@ -86,7 +86,7 @@ def ff(
@app.command(name='rew') @app.command(name='rew')
def rew( def rew(
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Rewind the recorder playback.""" """Rewind the recorder playback."""
ctx.client.recorder.rew() ctx.client.recorder.rew()
@ -104,7 +104,7 @@ def load(
], ],
/, /,
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Load a file into the recorder. """Load a file into the recorder.
@ -124,7 +124,7 @@ def goto(
], ],
/, /,
*, *,
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Go to a specific timestamp in the recorder playback.""" """Go to a specific timestamp in the recorder playback."""
ctx.client.recorder.goto(time_string) ctx.client.recorder.goto(time_string)

View File

@ -16,19 +16,18 @@ app.command(gainlayer.app.meta, name='gainlayer')
@app.meta.default @app.meta.default
def launcher( def launcher(
index: Annotated[int, Argument()] = None, index: Annotated[int, Argument()],
/,
*tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)], *tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Control the strip parameters.""" """Control the strip parameters."""
additional_kwargs = {} additional_kwargs = {}
command, bound, _ = app.parse_args(tokens) command, bound, _ = app.parse_args(tokens)
if tokens[0] == 'eq': if tokens[0] == 'eq':
additional_kwargs['eq_kind'] = app.name[0] additional_kwargs['eq_kind'] = app.name[0]
if index is not None: additional_kwargs['index'] = index
additional_kwargs['index'] = index additional_kwargs['ctx'] = ctx
if ctx is not None:
additional_kwargs['ctx'] = ctx
return command(*bound.args, **bound.kwargs, **additional_kwargs) return command(*bound.args, **bound.kwargs, **additional_kwargs)
@ -37,8 +36,8 @@ def launcher(
def mono( def mono(
new_state: Annotated[Optional[bool], Argument()] = None, new_state: Annotated[Optional[bool], Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the mono state of the specified strip. """Get or set the mono state of the specified strip.
@ -57,8 +56,8 @@ def mono(
def solo( def solo(
new_state: Annotated[Optional[bool], Argument()] = None, new_state: Annotated[Optional[bool], Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the solo state of the specified strip. """Get or set the solo state of the specified strip.
@ -77,8 +76,8 @@ def solo(
def mute( def mute(
new_state: Annotated[Optional[bool], Argument()] = None, new_state: Annotated[Optional[bool], Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the mute state of the specified strip. """Get or set the mute state of the specified strip.
@ -97,8 +96,8 @@ def mute(
def gain( def gain(
new_value: Annotated[Optional[float], Argument()] = None, new_value: Annotated[Optional[float], Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the gain of the specified strip. """Get or set the gain of the specified strip.
@ -117,8 +116,8 @@ def gain(
def a1( def a1(
new_value: Annotated[Optional[bool], Argument()] = None, new_value: Annotated[Optional[bool], Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the A1 state of the specified strip. """Get or set the A1 state of the specified strip.
@ -137,8 +136,8 @@ def a1(
def a2( def a2(
new_value: Annotated[Optional[bool], Argument()] = None, new_value: Annotated[Optional[bool], Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the A2 state of the specified strip. """Get or set the A2 state of the specified strip.
@ -157,8 +156,8 @@ def a2(
def a3( def a3(
new_value: Annotated[Optional[bool], Argument()] = None, new_value: Annotated[Optional[bool], Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the A3 state of the specified strip. """Get or set the A3 state of the specified strip.
@ -177,8 +176,8 @@ def a3(
def a4( def a4(
new_value: Annotated[Optional[bool], Argument()] = None, new_value: Annotated[Optional[bool], Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the A4 state of the specified strip. """Get or set the A4 state of the specified strip.
@ -197,8 +196,8 @@ def a4(
def a5( def a5(
new_value: Annotated[Optional[bool], Argument()] = None, new_value: Annotated[Optional[bool], Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the A5 state of the specified strip. """Get or set the A5 state of the specified strip.
@ -217,8 +216,8 @@ def a5(
def b1( def b1(
new_value: Annotated[Optional[bool], Argument()] = None, new_value: Annotated[Optional[bool], Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the B1 state of the specified strip. """Get or set the B1 state of the specified strip.
@ -237,8 +236,8 @@ def b1(
def b2( def b2(
new_value: Annotated[Optional[bool], Argument()] = None, new_value: Annotated[Optional[bool], Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the B2 state of the specified strip. """Get or set the B2 state of the specified strip.
@ -257,8 +256,8 @@ def b2(
def b3( def b3(
new_value: Annotated[Optional[bool], Argument()] = None, new_value: Annotated[Optional[bool], Argument()] = None,
*, *,
index: Annotated[int, Parameter(show=False)] = None, index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(show=False)] = None, ctx: Annotated[Context, Parameter(parse=False)],
): ):
"""Get or set the B3 state of the specified strip. """Get or set the B3 state of the specified strip.