From d3e9ad2bf4f516929215df98ef9718c2a3cdabf8 Mon Sep 17 00:00:00 2001 From: pblivingston <71585805+pblivingston@users.noreply.github.com> Date: Thu, 27 Nov 2025 12:59:46 -0500 Subject: [PATCH 1/4] Create fx.ps1 --- lib/fx.ps1 | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 lib/fx.ps1 diff --git a/lib/fx.ps1 b/lib/fx.ps1 new file mode 100644 index 0000000..b5a25d3 --- /dev/null +++ b/lib/fx.ps1 @@ -0,0 +1,37 @@ +class Fx : IRemote { + [Object]$reverb + [Object]$delay + + Fx ([Object]$remote) : base ($remote) { + $this.reverb = [FxReverb]::new($remote) + $this.delay = [FxDelay]::new($remote) + } + + [string] identifier () { + return 'Fx' + } +} + +class FxReverb : IRemote { + FxReverb ([Object]$remote) : base ($remote) { + AddBoolMembers -PARAMS @('on', 'ab') + } + + [string] identifier () { + return 'Fx.Reverb' + } +} + +class FxDelay : IRemote { + FxDelay ([Object]$remote) : base ($remote) { + AddBoolMembers -PARAMS @('on', 'ab') + } + + [string] identifier () { + return 'Fx.Delay' + } +} + +function Make_Fx ([Object]$remote) { + return [Fx]::new($remote) +} \ No newline at end of file From aa2c2a24af0cad1bfdb7ec467bbf2b138efabd42 Mon Sep 17 00:00:00 2001 From: pblivingston <71585805+pblivingston@users.noreply.github.com> Date: Thu, 27 Nov 2025 13:06:18 -0500 Subject: [PATCH 2/4] Update Voicemeeter.psm1 --- lib/Voicemeeter.psm1 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/Voicemeeter.psm1 b/lib/Voicemeeter.psm1 index b786667..271a8e5 100644 --- a/lib/Voicemeeter.psm1 +++ b/lib/Voicemeeter.psm1 @@ -14,6 +14,7 @@ . $PSScriptRoot\recorder.ps1 . $PSScriptRoot\patch.ps1 . $PSScriptRoot\option.ps1 +. $PSScriptRoot\fx.ps1 . $PSScriptRoot\profiles.ps1 class Remote { @@ -125,6 +126,7 @@ class RemotePotato : Remote { [System.Collections.ArrayList]$button [PSCustomObject]$vban [Object]$command + [Object]$fx [Object]$patch [Object]$option [Object]$recorder @@ -135,6 +137,7 @@ class RemotePotato : Remote { $this.button = Make_Buttons $this.vban = Make_Vban($this) $this.command = Make_Command($this) + $this.fx = Make_Fx($this) $this.patch = Make_Patch($this) $this.option = Make_Option($this) $this.recorder = Make_Recorder($this) From 438fa525dab3196cffeb1cb0dc6617fe364ed61a Mon Sep 17 00:00:00 2001 From: pblivingston <71585805+pblivingston@users.noreply.github.com> Date: Thu, 27 Nov 2025 13:14:11 -0500 Subject: [PATCH 3/4] Update higher.Tests.ps1 pester tests pass for all kinds --- tests/higher.Tests.ps1 | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/higher.Tests.ps1 b/tests/higher.Tests.ps1 index 68af850..a7a1b03 100644 --- a/tests/higher.Tests.ps1 +++ b/tests/higher.Tests.ps1 @@ -136,6 +136,32 @@ Describe -Tag 'higher', -TestName 'All Higher Tests' { $vmr.command.lock = $value } } + + Context 'Fx' -Skip:$ifNotPotato { + Context 'Delay' { + It 'Should set and get Fx.delay.on' { + $vmr.fx.delay.on = $value + $vmr.fx.delay.on | Should -Be $expected + } + + It 'Should set and get Fx.delay.ab' { + $vmr.fx.delay.ab = $value + $vmr.fx.delay.ab | Should -Be $expected + } + } + + Context 'Reverb' { + It 'Should set and get Fx.reverb.on' { + $vmr.fx.reverb.on = $value + $vmr.fx.reverb.on | Should -Be $expected + } + + It 'Should set and get Fx.reverb.ab' { + $vmr.fx.reverb.ab = $value + $vmr.fx.reverb.ab | Should -Be $expected + } + } + } Context 'Patch' { It 'Should set and get Patch.insert[$insert]' -Skip:$ifBasic { From 8d97df2d92754c29aaf7fe7a94055c3590151241 Mon Sep 17 00:00:00 2001 From: pblivingston <71585805+pblivingston@users.noreply.github.com> Date: Thu, 27 Nov 2025 13:17:57 -0500 Subject: [PATCH 4/4] update docs --- CHANGELOG.md | 1 + README.md | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e56a5c4..ef31a21 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ Before any major/minor/patch is released all test units will be run to verify th - Option class - Device classes - EQ class +- FX class ## [3.3.0] - 2024-06-29 diff --git a/README.md b/README.md index 3024ac1..55007ca 100644 --- a/README.md +++ b/README.md @@ -440,6 +440,21 @@ $vmr.command.Load("path/to/filename.xml") $vmr.command.RunMacrobuttons() ``` +### Fx + +The following Fx commands are available: + +- Reverb.on: bool +- Reverb.ab: bool +- Delay.on: bool +- Delay.ab: bool + +for example: + +```powershell +$vmr.fx.reverb.ab = $false +``` + ### Patch The following Patch commands are available: