voicemeeter-api-powershell/lib/Voicemeeter.psm1
onyx-and-iris 5b3a4e2b4f add load profiles, examples, update readme
add Get_Profiles and Set_Profile functions.

Now possible to load many parameters from a psd1 config file.

example config added

add Config Files section to readme
2022-01-24 20:01:12 +00:00

75 lines
1.6 KiB
PowerShell

. $PSScriptRoot\base.ps1
class Remote {
[String]$kind
[System.Collections.ArrayList]$strip
[System.Collections.ArrayList]$bus
[System.Collections.ArrayList]$button
[PSCustomObject]$vban
[Object]$command
[Object]$profiles
# Constructor
Remote ([String]$kind)
{
$this.kind = $kind
$this.Setup()
}
[void] Setup() {
if(Setup_DLL) {
Login -KIND $this.kind
$this.profiles = Get_Profiles
$this.strip = Make_Strips
$this.bus = Make_Buses
$this.button = Make_Buttons
$this.vban = Make_Vban
$this.command = Make_Command
}
else { Exit }
}
[void] Logout() {
Logout
}
[void] Set_Profile([String]$config) {
Set_Profile -DATA $this.profiles -CONF $config
}
[Single] Getter([String]$param) {
return Param_Get -PARAM $param
}
[String] Getter_String([String]$param) {
return Param_Get -PARAM $param -IS_STRING $true
}
[void] Setter([String]$param, [Object]$value) {
Param_Set -PARAM $param -VALUE $value
}
[void] Set_Multi([HashTable]$hash) {
Param_Set_Multi -HASH $hash
}
[void] PDirty() { P_Dirty }
[void] MDirty() { M_Dirty }
}
Function Get-RemoteBasic {
return [Remote]::new('basic')
}
Function Get-RemoteBanana {
return [Remote]::new('banana')
}
Function Get-RemotePotato {
return [Remote]::new('potato')
}
Export-ModuleMember -Function Get-RemoteBasic, Get-RemoteBanana, Get-RemotePotato