diff --git a/src/vban_cli/app.py b/src/vban_cli/app.py index ee5f93d..c437c23 100644 --- a/src/vban_cli/app.py +++ b/src/vban_cli/app.py @@ -58,7 +58,7 @@ def sendtext( 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.""" if resp := ctx.client.sendtext(text): diff --git a/src/vban_cli/bus.py b/src/vban_cli/bus.py index 142b319..da9b0e6 100644 --- a/src/vban_cli/bus.py +++ b/src/vban_cli/bus.py @@ -13,19 +13,18 @@ app = App(name='bus', help_formatter=BusHelpFormatter()) @app.meta.default def launcher( - index: Annotated[int, Argument()] = None, + index: Annotated[int, Argument()], + /, *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.""" additional_kwargs = {} command, bound, _ = app.parse_args(tokens) if tokens[0] == 'eq': additional_kwargs['eq_kind'] = app.name[0] - if index is not None: - additional_kwargs['index'] = index - if ctx is not None: - additional_kwargs['ctx'] = ctx + additional_kwargs['index'] = index + additional_kwargs['ctx'] = ctx return command(*bound.args, **bound.kwargs, **additional_kwargs) @@ -36,8 +35,8 @@ def mono( Optional[Literal['off', 'mono', 'stereoreverse']], Argument() ] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the mono state of the specified bus. @@ -56,8 +55,8 @@ def mono( def mute( new_value: Annotated[Optional[bool], Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the mute state of the specified bus. @@ -94,8 +93,8 @@ def mode( Argument(), ] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the bus mode of the specified bus. diff --git a/src/vban_cli/command.py b/src/vban_cli/command.py index 34a0fb3..888be79 100644 --- a/src/vban_cli/command.py +++ b/src/vban_cli/command.py @@ -12,7 +12,7 @@ app = App(name='command', help_formatter=BaseHelpFormatter()) @app.command(name='show') def show( *, - ctx: Annotated[Context, Parameter(show=False)] = None, + ctx: Annotated[Context, Parameter(parse=False)] = None, ): """Bring the Voicemeeter GUI to the foreground.""" ctx.client.command.show() @@ -22,7 +22,7 @@ def show( @app.command(name='hide') def hide( *, - ctx: Annotated[Context, Parameter(show=False)] = None, + ctx: Annotated[Context, Parameter(parse=False)], ): """Send the Voicemeeter GUI to the background.""" ctx.client.command.hide() @@ -32,7 +32,7 @@ def hide( @app.command(name='shutdown') def shutdown( *, - ctx: Annotated[Context, Parameter(show=False)] = None, + ctx: Annotated[Context, Parameter(parse=False)], ): """Shut down Voicemeeter.""" ctx.client.command.shutdown() @@ -42,7 +42,7 @@ def shutdown( @app.command(name='restart') def restart( *, - ctx: Annotated[Context, Parameter(show=False)] = None, + ctx: Annotated[Context, Parameter(parse=False)], ): """Restart the Voicemeeter engine.""" ctx.client.command.restart() diff --git a/src/vban_cli/comp.py b/src/vban_cli/comp.py index bf012fb..ce3b295 100644 --- a/src/vban_cli/comp.py +++ b/src/vban_cli/comp.py @@ -11,16 +11,14 @@ app = App(name='comp', help_formatter=StripHelpFormatter()) @app.meta.default def launcher( *tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)], - index: Annotated[int, Argument()] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Control the compressor parameters.""" additional_kwargs = {} command, bound, _ = app.parse_args(tokens) - if index is not None: - additional_kwargs['index'] = index - if ctx is not None: - additional_kwargs['ctx'] = ctx + additional_kwargs['index'] = index + additional_kwargs['ctx'] = ctx return command(*bound.args, **bound.kwargs, **additional_kwargs) @@ -29,8 +27,8 @@ def launcher( def knob( new_knob: Annotated[float, Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the knob of the specified compressor. @@ -50,8 +48,8 @@ def knob( def input_gain( new_gain: Annotated[float, Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the input gain of the specified compressor. diff --git a/src/vban_cli/denoiser.py b/src/vban_cli/denoiser.py index cc290b0..7b2b918 100644 --- a/src/vban_cli/denoiser.py +++ b/src/vban_cli/denoiser.py @@ -11,16 +11,14 @@ app = App(name='denoiser', help_formatter=StripHelpFormatter()) @app.meta.default def launcher( *tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)], - index: Annotated[int, Argument()] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Control the denoiser parameters.""" additional_kwargs = {} command, bound, _ = app.parse_args(tokens) - if index is not None: - additional_kwargs['index'] = index - if ctx is not None: - additional_kwargs['ctx'] = ctx + additional_kwargs['index'] = index + additional_kwargs['ctx'] = ctx return command(*bound.args, **bound.kwargs, **additional_kwargs) @@ -29,8 +27,8 @@ def launcher( def knob( new_knob: Annotated[float, Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the knob of the specified denoiser. diff --git a/src/vban_cli/eq.py b/src/vban_cli/eq.py index eb99760..389b581 100644 --- a/src/vban_cli/eq.py +++ b/src/vban_cli/eq.py @@ -14,9 +14,9 @@ app.command(cell_app.meta, name='cell') @app.meta.default def launcher( *tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)], - eq_kind: Annotated[str, Parameter(show=False)] = None, - index: Annotated[int, Argument()] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + eq_kind: Annotated[str, Parameter(parse=False)], + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Control the EQ parameters.""" additional_kwargs = {} @@ -37,7 +37,7 @@ def launcher( def on( 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. @@ -55,9 +55,10 @@ def on( @cell_app.meta.default def cell_launcher( - band: Annotated[int, Argument()] = None, + band: Annotated[int, Argument()], + /, *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. @@ -74,7 +75,7 @@ def cell_launcher( def cell_on( 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. @@ -94,7 +95,7 @@ def cell_on( def cell_freq( 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. @@ -114,7 +115,7 @@ def cell_freq( def cell_gain( 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. @@ -134,7 +135,7 @@ def cell_gain( def cell_q( 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. @@ -154,7 +155,7 @@ def cell_q( def cell_type( 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. diff --git a/src/vban_cli/gainlayer.py b/src/vban_cli/gainlayer.py index e425b22..3830080 100644 --- a/src/vban_cli/gainlayer.py +++ b/src/vban_cli/gainlayer.py @@ -11,21 +11,18 @@ app = App(name='gainlayer', help_formatter=GainlayerHelpFormatter()) @app.meta.default def launcher( - gainlayer_index: Annotated[int, Argument()] = None, + gainlayer_index: Annotated[int, Argument()], + /, *tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)], - index: Annotated[int, Argument()] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Control the gainlayers.""" additional_kwargs = {} command, bound, _ = app.parse_args(tokens) - if index is not None and gainlayer_index is not None: - additional_kwargs['strip_index'] = index - additional_kwargs['gainlayer_index'] = gainlayer_index - else: - raise ValueError('Both gainlayer_index and index must be provided.') - if ctx is not None: - additional_kwargs['ctx'] = ctx + additional_kwargs['strip_index'] = index + additional_kwargs['gainlayer_index'] = gainlayer_index + additional_kwargs['ctx'] = ctx return command(*bound.args, **bound.kwargs, **additional_kwargs) @@ -34,9 +31,9 @@ def launcher( def level( new_level: Annotated[float, Argument()] = None, *, - strip_index: Annotated[int, Parameter(show=False)] = None, - gainlayer_index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + strip_index: Annotated[int, Parameter(parse=False)], + gainlayer_index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the level of the specified gainlayer. diff --git a/src/vban_cli/gate.py b/src/vban_cli/gate.py index ede7238..fbea466 100644 --- a/src/vban_cli/gate.py +++ b/src/vban_cli/gate.py @@ -11,16 +11,14 @@ app = App(name='gate', help_formatter=StripHelpFormatter()) @app.meta.default def launcher( *tokens: Annotated[str, Parameter(show=False, allow_leading_hyphen=True)], - index: Annotated[int, Argument()] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Control the compressor parameters.""" additional_kwargs = {} command, bound, _ = app.parse_args(tokens) - if index is not None: - additional_kwargs['index'] = index - if ctx is not None: - additional_kwargs['ctx'] = ctx + additional_kwargs['index'] = index + additional_kwargs['ctx'] = ctx return command(*bound.args, **bound.kwargs, **additional_kwargs) @@ -29,8 +27,8 @@ def launcher( def knob( new_knob: Annotated[float, Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the knob of the specified gate. @@ -50,8 +48,8 @@ def knob( def threshold( new_threshold: Annotated[float, Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the threshold of the specified gate. diff --git a/src/vban_cli/recorder.py b/src/vban_cli/recorder.py index d7f3d17..1cfb744 100644 --- a/src/vban_cli/recorder.py +++ b/src/vban_cli/recorder.py @@ -13,7 +13,7 @@ app = App(name='recorder', help_formatter=BaseHelpFormatter()) @app.command(name='play') def play( *, - ctx: Annotated[Context, Parameter(show=False)] = None, + ctx: Annotated[Context, Parameter(parse=False)], ): """Start the recorder playback.""" ctx.client.recorder.play() @@ -23,7 +23,7 @@ def play( @app.command(name='pause') def pause( *, - ctx: Annotated[Context, Parameter(show=False)] = None, + ctx: Annotated[Context, Parameter(parse=False)], ): """Pause the recorder playback.""" ctx.client.recorder.stop() @@ -33,7 +33,7 @@ def pause( @app.command(name='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.""" ctx.client.recorder.stop() @@ -46,7 +46,7 @@ def stop( @app.command(name='replay') def replay( *, - ctx: Annotated[Context, Parameter(show=False)] = None, + ctx: Annotated[Context, Parameter(parse=False)], ): """Replay the recorder playback.""" ctx.client.recorder.replay() @@ -56,7 +56,7 @@ def replay( @app.command(name='record') def record( *, - ctx: Annotated[Context, Parameter(show=False)] = None, + ctx: Annotated[Context, Parameter(parse=False)], ): """Start recording.""" ctx.client.recorder.record() @@ -66,7 +66,7 @@ def record( @app.command(name='pause-recording') def pause_recording( *, - ctx: Annotated[Context, Parameter(show=False)] = None, + ctx: Annotated[Context, Parameter(parse=False)], ): """Pause the recorder recording.""" ctx.client.recorder.pause() @@ -76,7 +76,7 @@ def pause_recording( @app.command(name='ff') def ff( *, - ctx: Annotated[Context, Parameter(show=False)] = None, + ctx: Annotated[Context, Parameter(parse=False)], ): """Fast forward the recorder playback.""" ctx.client.recorder.ff() @@ -86,7 +86,7 @@ def ff( @app.command(name='rew') def rew( *, - ctx: Annotated[Context, Parameter(show=False)] = None, + ctx: Annotated[Context, Parameter(parse=False)], ): """Rewind the recorder playback.""" 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. @@ -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.""" ctx.client.recorder.goto(time_string) diff --git a/src/vban_cli/strip.py b/src/vban_cli/strip.py index 70cd0a7..d476ae5 100644 --- a/src/vban_cli/strip.py +++ b/src/vban_cli/strip.py @@ -16,19 +16,18 @@ app.command(gainlayer.app.meta, name='gainlayer') @app.meta.default def launcher( - index: Annotated[int, Argument()] = None, + index: Annotated[int, Argument()], + /, *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.""" additional_kwargs = {} command, bound, _ = app.parse_args(tokens) if tokens[0] == 'eq': additional_kwargs['eq_kind'] = app.name[0] - if index is not None: - additional_kwargs['index'] = index - if ctx is not None: - additional_kwargs['ctx'] = ctx + additional_kwargs['index'] = index + additional_kwargs['ctx'] = ctx return command(*bound.args, **bound.kwargs, **additional_kwargs) @@ -37,8 +36,8 @@ def launcher( def mono( new_state: Annotated[Optional[bool], Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the mono state of the specified strip. @@ -57,8 +56,8 @@ def mono( def solo( new_state: Annotated[Optional[bool], Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the solo state of the specified strip. @@ -77,8 +76,8 @@ def solo( def mute( new_state: Annotated[Optional[bool], Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the mute state of the specified strip. @@ -97,8 +96,8 @@ def mute( def gain( new_value: Annotated[Optional[float], Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the gain of the specified strip. @@ -117,8 +116,8 @@ def gain( def a1( new_value: Annotated[Optional[bool], Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the A1 state of the specified strip. @@ -137,8 +136,8 @@ def a1( def a2( new_value: Annotated[Optional[bool], Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the A2 state of the specified strip. @@ -157,8 +156,8 @@ def a2( def a3( new_value: Annotated[Optional[bool], Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the A3 state of the specified strip. @@ -177,8 +176,8 @@ def a3( def a4( new_value: Annotated[Optional[bool], Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the A4 state of the specified strip. @@ -197,8 +196,8 @@ def a4( def a5( new_value: Annotated[Optional[bool], Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the A5 state of the specified strip. @@ -217,8 +216,8 @@ def a5( def b1( new_value: Annotated[Optional[bool], Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the B1 state of the specified strip. @@ -237,8 +236,8 @@ def b1( def b2( new_value: Annotated[Optional[bool], Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the B2 state of the specified strip. @@ -257,8 +256,8 @@ def b2( def b3( new_value: Annotated[Optional[bool], Argument()] = None, *, - index: Annotated[int, Parameter(show=False)] = None, - ctx: Annotated[Context, Parameter(show=False)] = None, + index: Annotated[int, Parameter(parse=False)], + ctx: Annotated[Context, Parameter(parse=False)], ): """Get or set the B3 state of the specified strip.