diff --git a/CHANGELOG.md b/CHANGELOG.md index 52f8938..d0a609d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ Before any major/minor/patch bump all unit tests will be run to verify they pass - [x] -## [2.1.0] - 2023-07-01 +## [2.1.1] - 2023-07-01 ### Added @@ -24,6 +24,10 @@ Before any major/minor/patch bump all unit tests will be run to verify they pass - Recorder.loop removed from documentation +### Changed + +- When out of bounds values are passed, log warnings instead of raising Errors. See [Issue #6][Issue 6]. + ## [2.0.0] - 2023-06-25 Where possible I've attempted to make the changes backwards compatible. The breaking changes affect two higher classes, Strip and Bus, as well as the behaviour of events. All other changes are additive or QOL aimed at giving more options to the developer. For example, every low-level CAPI call is now logged and error raised on Exception, you can now register callback functions as well as observer classes, extra examples to demonstrate different use cases etc. @@ -376,3 +380,4 @@ I will move this commit to a separate branch in preparation for version 2.0. - project packaged with poetry and added to pypi. [issue 4]: https://github.com/onyx-and-iris/voicemeeter-api-python/issues/4 +[Issue 6]: https://github.com/onyx-and-iris/voicemeeter-api-python/issues/6 diff --git a/README.md b/README.md index e8b64b5..5bb905c 100644 --- a/README.md +++ b/README.md @@ -629,7 +629,9 @@ vm.option.sr = 48000 The following methods are available: -- `buffer(driver, buffer)` : Set buffer size for particular audio driver. +- `buffer(driver, buf)` : Set buffer size for particular audio driver. + - buf: int, from 128 to 2048 + - driver:str, ("mme", "wdm", "ks", "asio") example: @@ -637,10 +639,6 @@ example: vm.option.buffer("wdm", 512) ``` -driver defined as one of ("mme", "wdm", "ks", "asio") - -buffer, from 128 to 2048 - ##### delay[i] - `get()`: int diff --git a/pyproject.toml b/pyproject.toml index 4e0b35b..5e3b126 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "voicemeeter-api" -version = "2.0.2" +version = "2.1.1" description = "A Python wrapper for the Voiceemeter API" authors = ["onyx-and-iris "] license = "MIT" diff --git a/voicemeeterlib/misc.py b/voicemeeterlib/misc.py index 1bbb357..1532f5a 100644 --- a/voicemeeterlib/misc.py +++ b/voicemeeterlib/misc.py @@ -1,6 +1,5 @@ from typing import Optional -from .error import VMError from .iremote import IRemote from .kinds import kinds_all @@ -196,7 +195,7 @@ class Option(IRemote): def sr(self, val: int): opts = (44100, 48000, 88200, 96000, 176400, 192000) if val not in opts: - raise VMError(f"Expected one of: {opts}") + self.logger.warning(f"sr got: {val} but expected a value in {opts}") self.setter("sr", val) @property diff --git a/voicemeeterlib/vban.py b/voicemeeterlib/vban.py index 76f5cd4..383fe98 100644 --- a/voicemeeterlib/vban.py +++ b/voicemeeterlib/vban.py @@ -1,6 +1,5 @@ from abc import abstractmethod -from .error import VMError from .iremote import IRemote @@ -50,7 +49,9 @@ class VbanStream(IRemote): @port.setter def port(self, val: int): if not 1024 <= val <= 65535: - raise VMError("Expected value from 1024 to 65535") + self.logger.warning( + f"port got: {val} but expected a value from 1024 to 65535" + ) self.setter("port", val) @property @@ -61,7 +62,7 @@ class VbanStream(IRemote): def sr(self, val: int): opts = (11025, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000) if val not in opts: - raise VMError(f"Expected one of: {opts}") + self.logger.warning(f"sr got: {val} but expected a value in {opts}") self.setter("sr", val) @property @@ -71,7 +72,7 @@ class VbanStream(IRemote): @channel.setter def channel(self, val: int): if not 1 <= val <= 8: - raise VMError("Expected value from 1 to 8") + self.logger.warning(f"channel got: {val} but expected a value from 1 to 8") self.setter("channel", val) @property @@ -81,7 +82,7 @@ class VbanStream(IRemote): @bit.setter def bit(self, val: int): if val not in (16, 24): - raise VMError("Expected value 16 or 24") + self.logger.warning(f"bit got: {val} but expected value 16 or 24") self.setter("bit", 1 if (val == 16) else 2) @property @@ -91,7 +92,7 @@ class VbanStream(IRemote): @quality.setter def quality(self, val: int): if not 0 <= val <= 4: - raise VMError("Expected value from 0 to 4") + self.logger.warning(f"quality got: {val} but expected a value from 0 to 4") self.setter("quality", val) @property @@ -101,7 +102,7 @@ class VbanStream(IRemote): @route.setter def route(self, val: int): if not 0 <= val <= 8: - raise VMError("Expected value from 0 to 8") + self.logger.warning(f"route got: {val} but expected a value from 0 to 8") self.setter("route", val)