Compare commits

...

7 Commits

Author SHA1 Message Date
b92a2422a7
Merge pull request #17 from pblivingston/fix-test-run
Update run.ps1
2025-11-28 02:32:40 +00:00
pblivingston
2eecdd7def Update run.ps1 2025-11-27 21:23:16 -05:00
5c623711f7
Merge pull request #16 from pblivingston/fx-params
Fx params
2025-11-28 02:17:05 +00:00
pblivingston
8d97df2d92 update docs 2025-11-27 20:56:06 -05:00
pblivingston
438fa525da Update higher.Tests.ps1
pester tests pass for all kinds
2025-11-27 20:55:12 -05:00
pblivingston
aa2c2a24af Update Voicemeeter.psm1 2025-11-27 20:55:12 -05:00
pblivingston
d3e9ad2bf4 Create fx.ps1 2025-11-27 20:55:12 -05:00
6 changed files with 84 additions and 2 deletions

View File

@ -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

View File

@ -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:

View File

@ -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)

37
lib/fx.ps1 Normal file
View File

@ -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)
}

View File

@ -137,6 +137,32 @@ Describe -Tag 'higher', -TestName 'All Higher Tests' {
}
}
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 {
$vmr.patch.insert[$insert].set($value)

View File

@ -18,8 +18,8 @@ function main() {
$vban_out = $vmr.kind.vban_out - 1
$insert = $vmr.kind.insert - 1
$composite = $vmr.kind.composite - 1
$strip_ch = $vmr.kind.strip_ch - 1
$bus_ch = $vmr.kind.bus_ch - 1
$strip_ch = $vmr.kind.eq_ch['strip'] - 1
$bus_ch = $vmr.kind.eq_ch['bus'] - 1
$cells = $vmr.kind.cells - 1
# skip conditions by kind