Skip to content

Commit 3e65a2a

Browse files
committed
gainlayer router implemented
reorganise package structure and update imports. patch bump
1 parent b7b35c7 commit 3e65a2a

12 files changed

Lines changed: 53 additions & 8 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "vmr-http"
3-
version = "0.5.1"
3+
version = "0.6.0"
44
description = "HTTP API for controlling Voicemeeter"
55
readme = "README.md"
66
authors = [{ name = "onyx-and-iris", email = "code@onyxandiris.online" }]

src/vmr_http/web/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"""API endpoints for controlling various Voicemeeter components."""
2+
3+
from . import bus, strip
4+
5+
__all__ = ['bus', 'strip']

src/vmr_http/web/bus/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"""module for bus-related endpoints, including the bus equalizer."""
2+
3+
from .bus import router
4+
5+
__all__ = ['router']
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@
44

55
from vmr_http.dependencies import get_voicemeeter_client
66
from vmr_http.models.bus import BusParams
7+
from vmr_http.web import eq
78

8-
from . import busmode, eq
9+
from . import mode
910

1011
router = APIRouter()
11-
router.include_router(busmode.router, prefix='/mode', tags=['bus mode'])
12+
router.include_router(mode.router, prefix='/mode', tags=['bus mode'])
1213
router.include_router(eq.create_router(eq_kind='bus'), prefix='/eq', tags=['bus eq'])
1314

1415

src/vmr_http/web/strip/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"""module for strip-related endpoints, including the strip equalizer."""
2+
3+
from .strip import router
4+
5+
__all__ = ['router']
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"""module for strip gain layer related endpoints."""
2+
3+
from fastapi import APIRouter, Body, Depends
4+
5+
from vmr_http.dependencies import get_voicemeeter_client
6+
7+
router = APIRouter()
8+
9+
10+
@router.patch('')
11+
@router.put('')
12+
async def update_strip_comp_params(
13+
index: int,
14+
gainlayer_index: int,
15+
level: float = Body(..., ge=-60.0, le=12.0, embed=True),
16+
voicemeeter=Depends(get_voicemeeter_client),
17+
):
18+
"""Update one or more compressor parameters for the specified strip index."""
19+
gainlayer = voicemeeter.strip[index].gainlayer[gainlayer_index]
20+
gainlayer.gain = level
21+
return {'gain_layer': {'level': gainlayer.gain}}
22+
23+
24+
@router.get('/level')
25+
async def get_strip_gain_layer_level(index: int, gainlayer_index: int, voicemeeter=Depends(get_voicemeeter_client)):
26+
"""Get the current gain layer level for the specified strip index."""
27+
return {'gain_layer': {'level': voicemeeter.strip[index].gainlayer[gainlayer_index].gain}}

0 commit comments

Comments
 (0)