vaio, knobs

- vaio bool on physical strips
- denoiser.threshold
- StripAudibility class with knob float
- knob getters/setters types

prelim pester tests for potato and basic pass
This commit is contained in:
pblivingston 2025-12-07 13:55:42 -05:00
parent 0bdfb1c38f
commit 2cf265b3b6
4 changed files with 65 additions and 7 deletions

View File

@ -46,6 +46,9 @@ Recorder.FileType changed from method to write-only property
- AddAliasMembers meta function takes a hashtable `-MAP` of `alias = property`
- Strip.Karaoke alias for Strip.K
- Strip.EQGain1|EQGain2|EQGain3 with bass/low, mid/med, treble/high aliases, respectively
- StripAudibility class with Strip.Audibility.Knob
- Strip.Denoiser.Threshold
- Strip.VAIO
### Changed
@ -63,6 +66,7 @@ Recorder.FileType changed from method to write-only property
- Floats getters/setters now default to two decimal places.
- Strip.Mono is now an alias for Strip.MC on virtual strips
- Strip.AppMute|AppGain can now take an app index; see README for details
- Strip Knob setters: explicit $arg types for consistency
### Fixed
@ -76,6 +80,7 @@ Recorder.FileType changed from method to write-only property
- Recorder.channel values: 1..8 -> (2, 4, 6, 8)
- Strip.Limit type [int] -> [float]
- Missing closing parenthesis in AppMute value string
- Strip Knob getters: `this.Getter_String('') -> [math]::Round($this.Getter(''), 2)`
## [3.3.0] - 2024-06-29

View File

@ -122,6 +122,7 @@ The following strip commands are available:
- solo: bool
- A1-A5: bool
- B1-B3: bool
- vaio: bool
- limit: float, from -40.00 to 12.00
- gain: float, from -60.00 to 12.00
- label: string
@ -199,6 +200,7 @@ $vmr.strip[3].gate.threshold = -40.5
The following strip.denoiser commands are available:
- knob: float, from 0.00 to 10.00
- threshold: float, from 0.00 to 10.00
for example:
@ -206,6 +208,18 @@ for example:
$vmr.strip[3].denoiser.knob = 5
```
#### audibility
The following strip.audibility commands are available:
- knob: float, from 0.00 to 10.00
for example:
```powershell
$vmr.strip[1].audibility.knob = 2.66
```
#### AppGain | AppMute
- AppGain($appname or $appindex, $gain) : string or int, float, from 0.00 to 1.00

View File

@ -77,16 +77,18 @@ class PhysicalStrip : Strip {
[Object]$denoiser
[Object]$eq
[Object]$device
[Object]$audibility
PhysicalStrip ([int]$index, [Object]$remote) : base ($index, $remote) {
AddFloatMembers -PARAMS @('color_x', 'color_y', 'fx_x', 'fx_y')
AddFloatMembers -PARAMS @('reverb', 'delay', 'fx1', 'fx2')
AddBoolMembers -PARAMS @('postreverb', 'postdelay', 'postfx1', 'postfx2')
AddBoolMembers -PARAMS @('mono')
AddBoolMembers -PARAMS @('mono', 'vaio')
$this.comp = [StripComp]::new($index, $remote)
$this.gate = [StripGate]::new($index, $remote)
$this.denoiser = [StripDenoiser]::new($index, $remote)
$this.audibility = [StripAudibility]::new($index, $remote)
$this.eq = [StripEq]::new($index, $remote)
$this.device = [StripDevice]::new($index, $remote)
}
@ -104,10 +106,10 @@ class StripComp : IRemote {
hidden $_knob = $($this | Add-Member ScriptProperty 'knob' `
{
$this.Getter_String('')
[math]::Round($this.Getter(''), 2)
} `
{
param($arg)
param([single]$arg)
return $this.Setter('', $arg)
}
)
@ -124,10 +126,10 @@ class StripGate : IRemote {
hidden $_knob = $($this | Add-Member ScriptProperty 'knob' `
{
$this.Getter_String('')
[math]::Round($this.Getter(''), 2)
} `
{
param($arg)
param([single]$arg)
return $this.Setter('', $arg)
}
)
@ -135,6 +137,7 @@ class StripGate : IRemote {
class StripDenoiser : IRemote {
StripDenoiser ([int]$index, [Object]$remote) : base ($index, $remote) {
AddFloatMembers -PARAMS @('threshold')
}
[string] identifier () {
@ -143,10 +146,29 @@ class StripDenoiser : IRemote {
hidden $_knob = $($this | Add-Member ScriptProperty 'knob' `
{
$this.Getter_String('')
[math]::Round($this.Getter(''), 2)
} `
{
param($arg)
param([single]$arg)
return $this.Setter('', $arg)
}
)
}
class StripAudibility : IRemote {
StripAudibility ([int]$index, [Object]$remote) : base ($index, $remote) {
}
[string] identifier () {
return 'Strip[' + $this.index + '].Audibility'
}
hidden $_knob = $($this | Add-Member ScriptProperty 'knob' `
{
[math]::Round($this.Getter(''), 2)
} `
{
param([single]$arg)
return $this.Setter('', $arg)
}
)

View File

@ -34,6 +34,11 @@ Describe -Tag 'higher', -TestName 'All Higher Tests' {
$vmr.strip[$index].mono = $value
$vmr.strip[$index].mono | Should -Be $expected
}
It "Should set Strip[$index].VAIO" {
$vmr.strip[$index].vaio = $value
$vmr.strip[$index].vaio | Should -Be $expected
}
Context 'Eq' -Skip:$ifNotPotato -ForEach @(
@{ Eq = $vmr.strip[$index].eq }
@ -320,6 +325,18 @@ Describe -Tag 'higher', -TestName 'All Higher Tests' {
$vmr.strip[$index].denoiser.knob = $knob
$vmr.strip[$index].denoiser.knob | Should -Be $knob
}
It "Should set Strip[$index].Denoiser.Threshold" {
$vmr.strip[$index].denoiser.threshold = $knob
$vmr.strip[$index].denoiser.threshold | Should -Be $knob
}
}
Context 'Audibility' -Skip:$ifNotBasic {
It "Should set Strip[$index].Audibility" {
$vmr.strip[$index].audibility.knob = $knob
$vmr.strip[$index].audibility.knob | Should -Be $knob
}
}
Context 'EQ' -Skip:$ifNotPotato -ForEach @(