diff --git a/CHANGELOG.md b/CHANGELOG.md index c17d50c..92305d9 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] -## [0.3.0] - 2022-07-15 +## [0.3.0] - 2022-07-16 ### Added @@ -30,7 +30,6 @@ Before any major/minor/patch bump all unit tests will be run to verify they pass ### Fixed - is_updated in strip/bus levels now returns a bool, is level dirty or not? -- range expressions in vban. - for basic kind only, virtual bus now subclasses physical bus, since it is the only version you may attach a physical device to a virtual out. @@ -40,47 +39,42 @@ Before any major/minor/patch bump all unit tests will be run to verify they pass ## [0.2.3] - 2022-07-09 -### Added +### Changed -- obs added to examples +- only compute strip_comp, bus_comp if ldirty. +- switch from strip to bus in obs example. ### Fixed - bug in strip fadeto/fadeby +- comp added to util. +- range expressions in vban. -## [0.2.2] - 2022-06-27 +## [0.2.0] - 2022-07-02 ### Added +- obs added to examples - Readme updated to reflect changes. - device, gainlayers, levels, bus mode sections added. +- minor version bump (probably should have been major since changes to ldirty effect client code) ### Changed - No longer passing data in ldirty notification. - rw changed to rew in recorder class to match capi -### Fixed - -- mdirty added to observer updates - -## [0.2.1] - 2022-06-18 +## [0.1.10] - 2022-06-28 ### Added -- dsl added to examples - pre-commit.ps1 added for use with git hook ### Fixed +- mdirty added to observer updates - Error in cbindings -## [0.2.0] - 2022-06-16 - -### Fixed - -- Bug in factory builder - ## [0.1.9] - 2022-06-21 ### Added @@ -138,6 +132,10 @@ Before any major/minor/patch bump all unit tests will be run to verify they pass - bus mode mixin added to bus factory method - type, version implemented into base class. +### Fixed + +- Bug in factory builder + ## [0.1.5] - 2022-06-14 ### Added diff --git a/README.md b/README.md index db6a9e1..b13d0d9 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,20 @@ The following properties are available. - `bass`: float, from -12.0 to 12.0 - `mid`: float, from -12.0 to 12.0 - `treble`: float, from -12.0 to 12.0 +- `reverb`: float, from 0.0 to 10.0 +- `delay`: float, from 0.0 to 10.0 +- `fx1`: float, from 0.0 to 10.0 +- `fx2`: float, from 0.0 to 10.0 +- `pan_x`: float, from -0.5 to 0.5 +- `pan_y`: float, from 0.0 to 1.0 +- `color_x`: float, from -0.5 to 0.5 +- `color_y`: float, from 0.0 to 1.0 +- `fx_x`: float, from -0.5 to 0.5 +- `fx_y`: float, from 0.0 to 1.0 +- `postreverb`: boolean +- `postdelay`: boolean +- `postfx1`: boolean +- `postfx2`: boolean example: @@ -186,6 +200,11 @@ The following properties are available. - `label`: string - `device`: string - `sr`: int +- `returnreverb`: float, from 0.0 to 10.0 +- `returndelay`: float, from 0.0 to 10.0 +- `returnfx1`: float, from 0.0 to 10.0 +- `returnfx2`: float, from 0.0 to 10.0 +- `monitor`: boolean example: @@ -344,6 +363,7 @@ vm.vban.outstream[3].bit = 24 ### Command Certain 'special' commands are defined by the API as performing actions rather than setting values. + The following methods are available: - `show()` : Bring Voiceemeter GUI to the front @@ -379,6 +399,15 @@ with voicemeeterlib.api(kind_id) as vm: print(vm.device.input(i)) ``` +### FX + +The following methods are available: + +- `reverb`: boolean +- `reverb_ab`: boolean +- `delay`: boolean +- `delay_ab`: boolean + ### Multiple parameters - `apply` diff --git a/tests/test_factory.py b/tests/test_factory.py index 5fdbfab..a12a257 100644 --- a/tests/test_factory.py +++ b/tests/test_factory.py @@ -25,7 +25,7 @@ class TestRemoteFactories: @pytest.mark.skipif( data.name != "banana", - reason="Skip test if kind is not basic", + reason="Skip test if kind is not banana", ) def test_it_tests_remote_attrs_for_banana(self): assert hasattr(tests, "strip") @@ -43,7 +43,7 @@ class TestRemoteFactories: @pytest.mark.skipif( data.name != "potato", - reason="Skip test if kind is not basic", + reason="Skip test if kind is not potato", ) def test_it_tests_remote_attrs_for_potato(self): assert hasattr(tests, "strip") diff --git a/voicemeeterlib/bus.py b/voicemeeterlib/bus.py index ecf4339..5c04b6c 100644 --- a/voicemeeterlib/bus.py +++ b/voicemeeterlib/bus.py @@ -238,7 +238,7 @@ def _make_bus_mode_mixin(): def _make_effects_mixin(): """creates an fx mixin""" return type( - f"FX", + "FX", (), { **{ diff --git a/voicemeeterlib/misc.py b/voicemeeterlib/misc.py index e662e64..228aece 100644 --- a/voicemeeterlib/misc.py +++ b/voicemeeterlib/misc.py @@ -4,7 +4,7 @@ from .iremote import IRemote class FX(IRemote): @property def identifier(self) -> str: - return f"FX" + return "FX" @property def reverb(self) -> bool: diff --git a/voicemeeterlib/strip.py b/voicemeeterlib/strip.py index 547e640..dccb3a9 100644 --- a/voicemeeterlib/strip.py +++ b/voicemeeterlib/strip.py @@ -298,7 +298,7 @@ _make_channelout_mixins = { def _make_effects_mixin(kind): """creates an effects mixin for a kind""" XY_cls = type( - f"XY", + "XY", (), { param: float_prop(param) @@ -314,7 +314,7 @@ def _make_effects_mixin(kind): ) FX_cls = type( - f"FX", + "FX", (), { **{