diff --git a/CHANGELOG.md b/CHANGELOG.md index e70cb40..322be71 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ Recorder.FileType changed from method to write-only property - Command.RecallPreset() - 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 ### Changed diff --git a/README.md b/README.md index 533b065..4cb2c73 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,9 @@ The following strip commands are available: - postfx1: bool - postfx2: bool - gainlayer0-gainlayer7: float +- eqgain1/bass/low: float, from -12.00 to 12.00 +- eqgain2/mid/med: float, from -12.00 to 12.00 +- eqgain3/treble/high: float, from -12.00 to 12.00 for example: diff --git a/lib/strip.ps1 b/lib/strip.ps1 index c4b44c6..965941d 100644 --- a/lib/strip.ps1 +++ b/lib/strip.ps1 @@ -174,8 +174,18 @@ class VirtualStrip : Strip { VirtualStrip ([int]$index, [Object]$remote) : base ($index, $remote) { AddBoolMembers -PARAMS @('mc') AddIntMembers -PARAMS @('k') + AddFloatMembers -PARAMS @('eqgain1', 'eqgain2', 'eqgain3') - AddAliasMembers -MAP @{ mono = 'mc'; karaoke = 'k' } + AddAliasMembers -MAP @{ + mono = 'mc' + karaoke = 'k' + bass = 'eqgain1' + low = 'eqgain1' + mid = 'eqgain2' + med = 'eqgain2' + treble = 'eqgain3' + high = 'eqgain3' + } } [void] AppGain ([string]$appname, [single]$gain) { diff --git a/tests/higher.Tests.ps1 b/tests/higher.Tests.ps1 index fdcb5db..7bf8cad 100644 --- a/tests/higher.Tests.ps1 +++ b/tests/higher.Tests.ps1 @@ -342,6 +342,48 @@ Describe -Tag 'higher', -TestName 'All Higher Tests' { } } + Context 'Strip, virtual only' -ForEach @( + @{ Index = $virt_in } + ) { + Context 'EQ' { + BeforeEach { + $vmr.strip[$index].eqgain1 = 0 + $vmr.strip[$index].eqgain2 = 0 + $vmr.strip[$index].eqgain3 = 0 + } + + It "Should set Strip[$index].EQGain1 via alias 'bass'" { + $vmr.strip[$index].bass = $slide + $vmr.strip[$index].eqgain1 | Should -Be $slide + } + + It "Should set Strip[$index].EQGain1 via alias 'low'" { + $vmr.strip[$index].low = $slide + $vmr.strip[$index].eqgain1 | Should -Be $slide + } + + It "Should set Strip[$index].EQGain2 via alias 'mid'" { + $vmr.strip[$index].mid = $slide + $vmr.strip[$index].eqgain2 | Should -Be $slide + } + + It "Should set Strip[$index].EQGain2 via alias 'med'" { + $vmr.strip[$index].med = $slide + $vmr.strip[$index].eqgain2 | Should -Be $slide + } + + It "Should set Strip[$index].EQGain3 via alias 'treble'" { + $vmr.strip[$index].treble = $slide + $vmr.strip[$index].eqgain3 | Should -Be $slide + } + + It "Should set Strip[$index].EQGain3 via alias 'high'" { + $vmr.strip[$index].high = $slide + $vmr.strip[$index].eqgain3 | Should -Be $slide + } + } + } + Context 'Bus, one physical one virtual' -ForEach @( @{ Index = $phys_out }, @{ Index = $virt_out } ) {