mirror of
https://github.com/onyx-and-iris/vban-cli.git
synced 2026-04-16 02:23:30 +00:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 61a3bc38a8 | |||
| 8991737011 | |||
| 84d716b2ad | |||
| b58bb3dde7 | |||
| d414844f8f | |||
| f605178da6 |
20
README.md
20
README.md
@@ -103,7 +103,19 @@ vban-cli bus 1 mute true
|
|||||||
|
|
||||||
see `vban-cli bus --help` for more info.
|
see `vban-cli bus --help` for more info.
|
||||||
|
|
||||||
---
|
### Command Command
|
||||||
|
|
||||||
|
Usage: vban-cli command COMMAND
|
||||||
|
|
||||||
|
examples:
|
||||||
|
|
||||||
|
```console
|
||||||
|
vban-cli command show
|
||||||
|
|
||||||
|
vban-cli command restart
|
||||||
|
```
|
||||||
|
|
||||||
|
see `vban-cli command --help` for more info.
|
||||||
|
|
||||||
### Sendtext Command
|
### Sendtext Command
|
||||||
|
|
||||||
@@ -125,10 +137,14 @@ vban-cli sendtext 'Command.Version = ?'
|
|||||||
vban-cli sendtext 'Point(ASIO128.IN[1..4],ASIO128.OUT[1]).dBGain = -3.0'
|
vban-cli sendtext 'Point(ASIO128.IN[1..4],ASIO128.OUT[1]).dBGain = -3.0'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
see `vban-cli sendtext --help` for more info.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Implementation Notes
|
## Implementation Notes
|
||||||
|
|
||||||
1. The VBAN TEXT subprotocol defines two packet structures [ident:0][ident-0] and [ident:1][ident-1]. Neither of them contain the data for Bus EQ parameters.
|
1. The VBAN TEXT subprotocol defines two packet structures [ident:0][ident-0] and [ident:1][ident-1]. Neither of them contain the data for Bus EQ parameters.
|
||||||
2. Packet structure with [ident:1][ident-1] is emitted by the VBAN server only on pdirty events. This means we do not receive the initial state of those parameters on initial subscription. Therefore any commands which are intended to fetch the value of parameters defined in packet [ident:1][ident-1] will not work in this CLI.
|
2. Packet structure with [ident:1][ident-1] is emitted by the VBAN server only on pdirty events. This means we do not receive the current state of those parameters on initial subscription. Therefore any commands which are intended to fetch the value of parameters defined in packet [ident:1][ident-1] will not work in this CLI.
|
||||||
3. Packet structure with [ident:1][ident-1] defines parameteric EQ data only for the [first channel][ident-1-peq].
|
3. Packet structure with [ident:1][ident-1] defines parameteric EQ data only for the [first channel][ident-1-peq].
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "vban-cli"
|
name = "vban-cli"
|
||||||
version = "0.5.0"
|
version = "0.6.0"
|
||||||
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" }
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import vban_cmd
|
|||||||
from cyclopts import App, Argument, Parameter, config
|
from cyclopts import App, Argument, Parameter, config
|
||||||
|
|
||||||
from . import __version__ as version
|
from . import __version__ as version
|
||||||
from . import bus, console, strip
|
from . import bus, command, console, strip
|
||||||
from .context import Context
|
from .context import Context
|
||||||
|
|
||||||
app = App(
|
app = App(
|
||||||
@@ -16,6 +16,7 @@ app = App(
|
|||||||
)
|
)
|
||||||
app.command(strip.app.meta, name='strip')
|
app.command(strip.app.meta, name='strip')
|
||||||
app.command(bus.app.meta, name='bus')
|
app.command(bus.app.meta, name='bus')
|
||||||
|
app.command(command.app, name='command')
|
||||||
app.register_install_completion_command()
|
app.register_install_completion_command()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
49
src/vban_cli/command.py
Normal file
49
src/vban_cli/command.py
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
from typing import Annotated
|
||||||
|
|
||||||
|
from cyclopts import App, Parameter
|
||||||
|
|
||||||
|
from . import console
|
||||||
|
from .context import Context
|
||||||
|
from .help import BaseHelpFormatter
|
||||||
|
|
||||||
|
app = App(name='command', help_formatter=BaseHelpFormatter())
|
||||||
|
|
||||||
|
|
||||||
|
@app.command(name='show')
|
||||||
|
def show(
|
||||||
|
*,
|
||||||
|
ctx: Annotated[Context, Parameter(show=False)] = None,
|
||||||
|
):
|
||||||
|
"""Bring the Voicemeeter GUI to the foreground."""
|
||||||
|
ctx.client.command.show()
|
||||||
|
console.out.print('Voicemeeter GUI should now be in the foreground.')
|
||||||
|
|
||||||
|
|
||||||
|
@app.command(name='hide')
|
||||||
|
def hide(
|
||||||
|
*,
|
||||||
|
ctx: Annotated[Context, Parameter(show=False)] = None,
|
||||||
|
):
|
||||||
|
"""Send the Voicemeeter GUI to the background."""
|
||||||
|
ctx.client.command.hide()
|
||||||
|
console.out.print('Voicemeeter GUI should now be in the background.')
|
||||||
|
|
||||||
|
|
||||||
|
@app.command(name='shutdown')
|
||||||
|
def shutdown(
|
||||||
|
*,
|
||||||
|
ctx: Annotated[Context, Parameter(show=False)] = None,
|
||||||
|
):
|
||||||
|
"""Shut down Voicemeeter."""
|
||||||
|
ctx.client.command.shutdown()
|
||||||
|
console.out.print('Voicemeeter should now be shut down.')
|
||||||
|
|
||||||
|
|
||||||
|
@app.command(name='restart')
|
||||||
|
def restart(
|
||||||
|
*,
|
||||||
|
ctx: Annotated[Context, Parameter(show=False)] = None,
|
||||||
|
):
|
||||||
|
"""Restart the Voicemeeter engine."""
|
||||||
|
ctx.client.command.restart()
|
||||||
|
console.out.print('Voicemeeter engine should now be restarting.')
|
||||||
Reference in New Issue
Block a user