Voicemeeter.psm1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
. $PSScriptRoot\base.ps1 class Remote { [String]$kind [System.Collections.ArrayList]$strip [System.Collections.ArrayList]$bus [System.Collections.ArrayList]$button [PSCustomObject]$vban [Object]$command [Object]$recorder [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 $this.recorder = Make_Recorder } 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 |