implement iremote
This commit is contained in:
pblivingston 2025-11-25 16:04:42 -05:00
parent b372cf8087
commit a6f7d8efe0

View File

@ -1,35 +1,4 @@
class IRecorder { class Recorder : IRemote {
[Object]$remote
IRecorder ([Object]$remote) {
$this.remote = $remote
}
[single] Getter ($param) {
$this.Cmd($param) | Write-Debug
return $this.remote.Getter($this.Cmd($param))
}
[void] Setter ($param, $val) {
"$($this.Cmd($param))=$val" | Write-Debug
if ($val -is [Boolean]) {
$this.remote.Setter($this.Cmd($param), $(if ($val) { 1 } else { 0 }))
}
else {
$this.remote.Setter($this.Cmd($param), $val)
}
}
[string] Cmd ($param) {
if ([string]::IsNullOrEmpty($param)) {
return $this.identifier()
}
return "$($this.identifier()).$param"
}
}
class Recorder : IRecorder {
[Object]$remote
[Object]$mode [Object]$mode
[System.Collections.ArrayList]$armstrip [System.Collections.ArrayList]$armstrip
[System.Collections.ArrayList]$armbus [System.Collections.ArrayList]$armbus
@ -54,10 +23,6 @@ class Recorder : IRecorder {
return 'Recorder' return 'Recorder'
} }
[string] ToString() {
return $this.GetType().Name
}
hidden $_loop = $($this | Add-Member ScriptProperty 'loop' ` hidden $_loop = $($this | Add-Member ScriptProperty 'loop' `
{ {
[bool]$this.mode.loop [bool]$this.mode.loop
@ -160,7 +125,7 @@ class Recorder : IRecorder {
} }
} }
class RecorderMode : IRecorder { class RecorderMode : IRemote {
RecorderMode ([Object]$remote) : base ($remote) { RecorderMode ([Object]$remote) : base ($remote) {
AddBoolMembers -PARAMS @('recbus', 'playonload', 'loop', 'multitrack') AddBoolMembers -PARAMS @('recbus', 'playonload', 'loop', 'multitrack')
} }
@ -170,11 +135,8 @@ class RecorderMode : IRecorder {
} }
} }
class RecorderArm : IRecorder { class RecorderArm : IRemote {
[int]$index RecorderArm ([int]$index, [Object]$remote) : base ($index, $remote) {
RecorderArm ([int]$index, [Object]$remote) : base ($remote) {
$this.index = $index
} }
Set ([bool]$val) { Set ([bool]$val) {