From d47650b150e4efb3f851ee9ed4f4e5af809b586d Mon Sep 17 00:00:00 2001 From: onyx-and-iris Date: Sat, 29 Jun 2024 05:15:09 +0100 Subject: [PATCH] promote value for all kinds if 64 bit system, unless overriden --- voicemeeterlib/remote.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/voicemeeterlib/remote.py b/voicemeeterlib/remote.py index 5c0267b..6c36c4e 100644 --- a/voicemeeterlib/remote.py +++ b/voicemeeterlib/remote.py @@ -9,7 +9,7 @@ from typing import Iterable, Optional, Union from .cbindings import CBindings from .error import CAPIError, VMError from .event import Event -from .inst import bits +from .inst import BITS from .kinds import KindId from .misc import Midi, VmGui from .subject import Subject @@ -39,6 +39,12 @@ class Remote(CBindings): for attr, val in kwargs.items(): setattr(self, attr, val) + if self.bits not in (32, 64): + self.logger.warning( + f"kwarg bits got {self.bits}, expected either 32 or 64, defaulting to 64" + ) + self.bits = 64 + def __enter__(self): """setup procedures""" self.login() @@ -80,10 +86,9 @@ class Remote(CBindings): def run_voicemeeter(self, kind_id: str) -> None: if kind_id not in (kind.name.lower() for kind in KindId): raise VMError(f"Unexpected Voicemeeter type: '{kind_id}'") - if kind_id == "potato" and bits == 64: - value = KindId[kind_id.upper()].value + 3 - else: - value = KindId[kind_id.upper()].value + value = KindId[kind_id.upper()].value + if BITS == 64 and self.bits == 64: + value += 3 self.call(self.bind_run_voicemeeter, value) @property