mirror of
https://github.com/onyx-and-iris/voicemeeter-api-powershell.git
synced 2025-01-18 13:20:47 +00:00
2846e46592
Added gain, comp and limit attributes to strip class Updated pester unit tests to reflect changes. Update changelog
79 lines
1.6 KiB
PowerShell
79 lines
1.6 KiB
PowerShell
class Bus {
|
|
[int32]$id
|
|
|
|
# Constructor
|
|
Bus ([Int]$id)
|
|
{
|
|
$this.id = $id
|
|
}
|
|
|
|
[void] Setter($cmd, $set) {
|
|
Param_Set -PARAM $cmd -VALUE $set
|
|
}
|
|
|
|
[Single] Getter($cmd) {
|
|
return Param_Get -PARAM $cmd
|
|
}
|
|
|
|
[string] cmd ($arg) {
|
|
return "Bus[" + $this.id + "].$arg"
|
|
}
|
|
|
|
hidden $_mono = $($this | Add-Member ScriptProperty 'mono' `
|
|
{
|
|
$this.Getter($this.cmd('Mono'))
|
|
}`
|
|
{
|
|
param ( [Single]$arg )
|
|
$this._mono = $this.Setter($this.cmd('Mono'), $arg)
|
|
}
|
|
)
|
|
|
|
hidden $_mute = $($this | Add-Member ScriptProperty 'mute' `
|
|
{
|
|
$this.Getter($this.cmd('Mute'))
|
|
}`
|
|
{
|
|
param ( [Single]$arg )
|
|
$this._mute = $this.Setter($this.cmd('Mute'), $arg)
|
|
}
|
|
)
|
|
|
|
hidden $_gain = $($this | Add-Member ScriptProperty 'gain' `
|
|
{
|
|
[math]::Round($this.Getter($this.cmd('gain')), 1)
|
|
}`
|
|
{
|
|
param ( [Single]$arg )
|
|
$this._gain = $this.Setter($this.cmd('gain'), $arg)
|
|
}
|
|
)
|
|
}
|
|
|
|
Function Buses {
|
|
[System.Collections.ArrayList]$bus = @()
|
|
0..$($layout.Bus-1) | ForEach-Object {
|
|
[void]$bus.Add([Bus]::new($_))
|
|
}
|
|
$bus
|
|
}
|
|
|
|
if ($MyInvocation.InvocationName -ne '.')
|
|
{
|
|
. .\voicemeeter.ps1
|
|
try {
|
|
$vmr = [Remote]::new('potato')
|
|
|
|
$vmr.bus[0].mono = $true
|
|
$vmr.bus[0].mono
|
|
$vmr.bus[0].mono = $false
|
|
$vmr.bus[0].mono
|
|
|
|
$vmr.bus[1].gain = 3.2
|
|
$vmr.bus[1].gain
|
|
$vmr.bus[2].gain = -2.0
|
|
$vmr.bus[2].gain
|
|
}
|
|
finally { $vmr.Logout() }
|
|
}
|