mirror of
https://github.com/onyx-and-iris/voicemeeter-api-python.git
synced 2024-11-22 11:00:47 +00:00
comp, gate, denoiser, eq params updated in
TOMLStrBuilder Path.home() / ".config" / "voicemeeter" / kind.name added to loader path
This commit is contained in:
parent
b5c8641c11
commit
92e04f1419
@ -2,6 +2,8 @@ import itertools
|
|||||||
import logging
|
import logging
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
from .error import VMError
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import tomllib
|
import tomllib
|
||||||
except ModuleNotFoundError:
|
except ModuleNotFoundError:
|
||||||
@ -9,6 +11,8 @@ except ModuleNotFoundError:
|
|||||||
|
|
||||||
from .kinds import request_kind_map as kindmap
|
from .kinds import request_kind_map as kindmap
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class TOMLStrBuilder:
|
class TOMLStrBuilder:
|
||||||
"""builds a config profile, as a string, for the toml parser"""
|
"""builds a config profile, as a string, for the toml parser"""
|
||||||
@ -32,10 +36,17 @@ class TOMLStrBuilder:
|
|||||||
+ [f"B{i} = false" for i in range(1, self.kind.virt_out + 1)]
|
+ [f"B{i} = false" for i in range(1, self.kind.virt_out + 1)]
|
||||||
)
|
)
|
||||||
self.phys_strip_params = self.virt_strip_params + [
|
self.phys_strip_params = self.virt_strip_params + [
|
||||||
"comp = 0.0",
|
"comp.knob = 0.0",
|
||||||
"gate = 0.0",
|
"gate.knob = 0.0",
|
||||||
|
"denoiser.knob = 0.0",
|
||||||
|
"eq.on = false",
|
||||||
|
]
|
||||||
|
self.bus_params = [
|
||||||
|
"mono = false",
|
||||||
|
"eq.on = false",
|
||||||
|
"mute = false",
|
||||||
|
"gain = 0.0",
|
||||||
]
|
]
|
||||||
self.bus_bool = ["mono = false", "eq = false", "mute = false"]
|
|
||||||
|
|
||||||
if profile == "reset":
|
if profile == "reset":
|
||||||
self.reset_config()
|
self.reset_config()
|
||||||
@ -66,7 +77,7 @@ class TOMLStrBuilder:
|
|||||||
else self.virt_strip_params
|
else self.virt_strip_params
|
||||||
)
|
)
|
||||||
case "bus":
|
case "bus":
|
||||||
toml_str += ("\n").join(self.bus_bool)
|
toml_str += ("\n").join(self.bus_params)
|
||||||
case _:
|
case _:
|
||||||
pass
|
pass
|
||||||
return toml_str + "\n"
|
return toml_str + "\n"
|
||||||
@ -119,10 +130,9 @@ class Loader(metaclass=SingletonType):
|
|||||||
loads data into memory if not found
|
loads data into memory if not found
|
||||||
"""
|
"""
|
||||||
|
|
||||||
logger = logging.getLogger("config.Loader")
|
|
||||||
|
|
||||||
def __init__(self, kind):
|
def __init__(self, kind):
|
||||||
self._kind = kind
|
self._kind = kind
|
||||||
|
self.logger = logger.getChild(self.__class__.__name__)
|
||||||
self._configs = dict()
|
self._configs = dict()
|
||||||
self.defaults(kind)
|
self.defaults(kind)
|
||||||
self.parser = None
|
self.parser = None
|
||||||
@ -166,16 +176,16 @@ def loader(kind):
|
|||||||
|
|
||||||
returns configs loaded into memory
|
returns configs loaded into memory
|
||||||
"""
|
"""
|
||||||
logger = logging.getLogger("config.loader")
|
logger_loader = logger.getChild("loader")
|
||||||
loader = Loader(kind)
|
loader = Loader(kind)
|
||||||
|
|
||||||
for path in (
|
for path in (
|
||||||
Path.cwd() / "configs" / kind.name,
|
Path.cwd() / "configs" / kind.name,
|
||||||
Path(__file__).parent / "configs" / kind.name,
|
Path.home() / ".config" / "voicemeeter" / kind.name,
|
||||||
Path.home() / "Documents/Voicemeeter" / "configs" / kind.name,
|
Path.home() / "Documents" / "Voicemeeter" / "configs" / kind.name,
|
||||||
):
|
):
|
||||||
if path.is_dir():
|
if path.is_dir():
|
||||||
logger.info(f"Checking [{path}] for TOML config files:")
|
logger_loader.info(f"Checking [{path}] for TOML config files:")
|
||||||
for file in path.glob("*.toml"):
|
for file in path.glob("*.toml"):
|
||||||
identifier = file.with_suffix("").stem
|
identifier = file.with_suffix("").stem
|
||||||
if loader.parse(identifier, file):
|
if loader.parse(identifier, file):
|
||||||
@ -192,5 +202,5 @@ def request_config(kind_id: str):
|
|||||||
try:
|
try:
|
||||||
configs = loader(kindmap(kind_id))
|
configs = loader(kindmap(kind_id))
|
||||||
except KeyError as e:
|
except KeyError as e:
|
||||||
print(f"Unknown Voicemeeter kind '{kind_id}'")
|
raise VMError(f"Unknown Voicemeeter kind {kind_id}") from e
|
||||||
return configs
|
return configs
|
||||||
|
Loading…
Reference in New Issue
Block a user