6 Commits

Author SHA1 Message Date
6cd92a2975 add bus label/gain commands
patch bump
2026-03-05 20:05:00 +00:00
36a8ec124a add strip label command
patch bump
2026-03-05 20:04:40 +00:00
4dd01a0e99 add missing help messages
patch bump
2026-03-05 19:59:32 +00:00
cd5b8b0636 upd lockfile 2026-03-03 20:29:04 +00:00
77e21617af increase subheading size 2026-03-03 20:05:26 +00:00
5f448fa48e add Strip Denoiser to README 2026-03-03 16:29:44 +00:00
10 changed files with 106 additions and 14 deletions

View File

@@ -63,7 +63,7 @@ vban-cli strip 2 gain -18.7
see `vban-cli strip --help` for more info. see `vban-cli strip --help` for more info.
##### Strip EQ #### Strip EQ
*Usage: vban-cli strip \<index> eq COMMAND [OPTIONS]* *Usage: vban-cli strip \<index> eq COMMAND [OPTIONS]*
@@ -75,7 +75,7 @@ vban-cli strip 0 eq on true
see `vban-cli strip eq --help` for more info. see `vban-cli strip eq --help` for more info.
##### Strip EQ Cell Command #### Strip EQ Cell Command
*Usage: vban-cli strip \<index> eq cell \<band> COMMAND [ARGS]* *Usage: vban-cli strip \<index> eq cell \<band> COMMAND [ARGS]*
@@ -91,7 +91,7 @@ vban-cli strip 4 eq cell 5 type 5
see `vban-cli strip eq cell --help` for more info. see `vban-cli strip eq cell --help` for more info.
##### Strip Comp Command #### Strip Comp Command
*Usage: vban-cli strip \<index> comp COMMAND [OPTIONS]* *Usage: vban-cli strip \<index> comp COMMAND [OPTIONS]*
@@ -105,7 +105,7 @@ vban-cli strip 3 comp auto-makeup true
see `vban-cli strip comp --help` for more info. see `vban-cli strip comp --help` for more info.
##### Strip Gate Command #### Strip Gate Command
*Usage: vban-cli strip \<index> gate COMMAND [OPTIONS]* *Usage: vban-cli strip \<index> gate COMMAND [OPTIONS]*
@@ -119,7 +119,19 @@ vban-cli strip 5 gate hold 2088.7
see `vban-cli strip comp --help` for more info. see `vban-cli strip comp --help` for more info.
##### Strip Gainlayer Command #### Strip Denoiser Command
*Usage: vban-cli strip \<index> denoiser COMMAND [OPTIONS]*
examples:
```console
vban-cli strip 4 denoiser knob 3.6
```
see `vban-cli strip denoiser --help` for more info.
#### Strip Gainlayer Command
*Usage: vban-cli strip \<index> gainlayer \<gainlayer_index> COMMAND [OPTIONS] [ARGS]* *Usage: vban-cli strip \<index> gainlayer \<gainlayer_index> COMMAND [OPTIONS] [ARGS]*

View File

@@ -1,11 +1,11 @@
[project] [project]
name = "vban-cli" name = "vban-cli"
version = "0.12.1" version = "0.12.4"
description = "A command-line interface for Voicemeeter leveraging VBAN." description = "A command-line interface for Voicemeeter leveraging VBAN."
readme = "README.md" readme = "README.md"
license = { text = "LICENSE" } license = { text = "LICENSE" }
requires-python = ">=3.13" requires-python = ">=3.13"
dependencies = ["cyclopts>=4.6.0", "loguru>=0.7.3", "vban-cmd>=2.9.4"] dependencies = ["cyclopts>=4.6.0", "loguru>=0.7.3", "vban-cmd>=2.9.6"]
classifiers = [ classifiers = [
"Development Status :: 4 - Beta", "Development Status :: 4 - Beta",
"Programming Language :: Python", "Programming Language :: Python",

View File

@@ -106,3 +106,43 @@ def mode(
app.console.print(ctx.client.bus[index].mode.get()) app.console.print(ctx.client.bus[index].mode.get())
return return
setattr(ctx.client.bus[index].mode, type_, True) setattr(ctx.client.bus[index].mode, type_, True)
@app.command(name='gain')
def gain(
new_value: Annotated[Optional[float], Argument()] = None,
*,
index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(parse=False)],
):
"""Get or set the gain of the specified bus.
Parameters
----------
new_value : float, optional
If provided, sets the gain to this value. If not provided, the current gain is printed.
"""
if new_value is None:
app.console.print(ctx.client.bus[index].gain)
return
ctx.client.bus[index].gain = new_value
@app.command(name='label')
def label(
new_value: Annotated[Optional[str], Argument()] = None,
*,
index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(parse=False)],
):
"""Get or set the label of the specified bus.
Parameters
----------
new_value : str, optional
If provided, sets the label to this value. If not provided, the current label is printed.
"""
if new_value is None:
app.console.print(ctx.client.bus[index].label)
return
ctx.client.bus[index].label = new_value

View File

@@ -5,7 +5,11 @@ from cyclopts import App, Parameter
from .context import Context from .context import Context
from .help import BaseHelpFormatter from .help import BaseHelpFormatter
app = App(name='command', help_formatter=BaseHelpFormatter()) app = App(
name='command',
help='Execute commands that perform actions',
help_formatter=BaseHelpFormatter(),
)
@app.command(name='show') @app.command(name='show')

View File

@@ -5,7 +5,11 @@ from cyclopts import App, Argument, Parameter
from .context import Context from .context import Context
from .help import StripHelpFormatter from .help import StripHelpFormatter
app = App(name='comp', help_formatter=StripHelpFormatter()) app = App(
name='comp',
help='Control the compressor settings',
help_formatter=StripHelpFormatter(),
)
@app.command(name='knob') @app.command(name='knob')

View File

@@ -5,7 +5,11 @@ from cyclopts import App, Argument, Parameter
from .context import Context from .context import Context
from .help import StripHelpFormatter from .help import StripHelpFormatter
app = App(name='denoiser', help_formatter=StripHelpFormatter()) app = App(
name='denoiser',
help='Control the denoiser settings',
help_formatter=StripHelpFormatter(),
)
@app.command(name='knob') @app.command(name='knob')

View File

@@ -5,7 +5,11 @@ from cyclopts import App, Argument, Parameter
from .context import Context from .context import Context
from .help import StripHelpFormatter from .help import StripHelpFormatter
app = App(name='gate', help_formatter=StripHelpFormatter()) app = App(
name='gate',
help='Control the gate settings',
help_formatter=StripHelpFormatter(),
)
@app.command(name='knob') @app.command(name='knob')

View File

@@ -7,7 +7,11 @@ from . import validation
from .context import Context from .context import Context
from .help import BaseHelpFormatter from .help import BaseHelpFormatter
app = App(name='recorder', help_formatter=BaseHelpFormatter()) app = App(
name='recorder',
help='Control the recorder playback and recording',
help_formatter=BaseHelpFormatter(),
)
@app.command(name='play') @app.command(name='play')

View File

@@ -270,3 +270,23 @@ def b3(
app.console.print(ctx.client.strip[index].B3) app.console.print(ctx.client.strip[index].B3)
return return
ctx.client.strip[index].B3 = new_value ctx.client.strip[index].B3 = new_value
@app.command(name='label')
def label(
new_value: Annotated[Optional[str], Argument()] = None,
*,
index: Annotated[int, Parameter(parse=False)],
ctx: Annotated[Context, Parameter(parse=False)],
):
"""Get or set the label of the specified strip.
Parameters
----------
new_value : str, optional
If provided, sets the label to this value. If not provided, the current label is printed.
"""
if new_value is None:
app.console.print(ctx.client.strip[index].label)
return
ctx.client.strip[index].label = new_value

4
uv.lock generated
View File

@@ -124,7 +124,7 @@ wheels = [
[[package]] [[package]]
name = "vban-cli" name = "vban-cli"
version = "0.12.1" version = "0.12.4"
source = { editable = "." } source = { editable = "." }
dependencies = [ dependencies = [
{ name = "cyclopts" }, { name = "cyclopts" },
@@ -141,7 +141,7 @@ requires-dist = [
[[package]] [[package]]
name = "vban-cmd" name = "vban-cmd"
version = "2.9.4" version = "2.9.6"
source = { editable = "../vban-cmd-python" } source = { editable = "../vban-cmd-python" }
[package.metadata] [package.metadata]