mirror of
https://github.com/onyx-and-iris/voicemeeter-api-powershell.git
synced 2025-12-05 05:07:47 +00:00
commit
5c623711f7
@ -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
|
||||
|
||||
|
||||
15
README.md
15
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:
|
||||
|
||||
@ -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
37
lib/fx.ps1
Normal 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)
|
||||
}
|
||||
@ -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 {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user