Compare commits

..

No commits in common. "e944dc46e672d7847b24e470613da75adaaa3aea" and "b92a2422a763e7ca1ec2f38a90a2a11044314468" have entirely different histories.

6 changed files with 123 additions and 351 deletions

View File

@ -18,29 +18,6 @@ Before any major/minor/patch is released all test units will be run to verify th
- Device classes - Device classes
- EQ class - EQ class
- FX class - FX class
- Vban.port sets Vban.Instream[0].port
- Vban Midi and Command streams
- on, write-only
- name, write-only
- ip, write-only
### Changed
- some vban.instream | vban.outstream commands now added with meta functions
- on
- name
- ip
- cast vban getters to types for consistency
### Fixed
- some vban commands incorrectly read-only/write-only
- enable
- instream|outstream.quality
- instream|outstream.route
- vban.stream.port: [string]$arg -> [int]$arg
- vban route range (API documentation is incorrect)
- vban.stream.sr: $this._port -> $this._sr
## [3.3.0] - 2024-06-29 ## [3.3.0] - 2024-06-29

View File

@ -382,16 +382,14 @@ $vmr.button[5].trigger = $true
### VBAN ### VBAN
The following vban commands are available: - vmr.vban.enable: Toggle VBAN on or off. Accepts a bool value.
- enable: bool
- port: int, from 1024 - 65535
For each vban in/out stream the following parameters are defined: For each vban in/out stream the following parameters are defined:
- on: bool - on: bool
- name: string - name: string
- ip: string - ip: string
- port: int, from 1024 - 65535
- sr: in, (11025, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000) - sr: in, (11025, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000)
- channel: int from 1 to 8 - channel: int from 1 to 8
- bit: int, 16 or 24 - bit: int, 16 or 24
@ -405,9 +403,9 @@ example:
```powershell ```powershell
$vmr.vban.enable = $true $vmr.vban.enable = $true
$vmr.vban.port = 6990
$vmr.vban.instream[0].on = $true $vmr.vban.instream[0].on = $true
$vmr.vban.instream[2].port = 6990
$vmr.vban.outstream[3].bit = 16 $vmr.vban.outstream[3].bit = 16
``` ```

View File

@ -9,7 +9,8 @@ $KindMap = @{
'asio_out' = 8 'asio_out' = 8
'composite' = 0 'composite' = 0
'insert' = 0 'insert' = 0
'vban' = @{ 'in' = 4; 'out' = 4; 'midi' = 1; 'text' = 1 } 'vban_in' = 4
'vban_out' = 4
'eq_ch' = @{ 'strip' = 0; 'bus' = 0 } 'eq_ch' = @{ 'strip' = 0; 'bus' = 0 }
'cells' = 0 'cells' = 0
}; };
@ -23,7 +24,8 @@ $KindMap = @{
'asio_out' = 8 'asio_out' = 8
'composite' = 8 'composite' = 8
'insert' = 22 'insert' = 22
'vban' = @{ 'in' = 8; 'out' = 8; 'midi' = 1; 'text' = 1 } 'vban_in' = 8
'vban_out' = 8
'eq_ch' = @{ 'strip' = 0; 'bus' = 8 } 'eq_ch' = @{ 'strip' = 0; 'bus' = 8 }
'cells' = 6 'cells' = 6
}; };
@ -37,7 +39,8 @@ $KindMap = @{
'asio_out' = 8 'asio_out' = 8
'composite' = 8 'composite' = 8
'insert' = 34 'insert' = 34
'vban' = @{ 'in' = 8; 'out' = 8; 'midi' = 1; 'text' = 1 } 'vban_in' = 8
'vban_out' = 8
'eq_ch' = @{ 'strip' = 2; 'bus' = 8 } 'eq_ch' = @{ 'strip' = 2; 'bus' = 8 }
'cells' = 6 'cells' = 6
}; };

View File

@ -8,20 +8,43 @@ class Vban : IRemote {
[string] identifier () { [string] identifier () {
return 'vban.' + $this.direction + 'stream[' + $this.index + ']' return 'vban.' + $this.direction + 'stream[' + $this.index + ']'
} }
}
class VbanAudio : Vban { hidden $_on = $($this | Add-Member ScriptProperty 'on' `
VbanAudio ([int]$index, [Object]$remote, [string]$direction) : base ($index, $remote, $direction) { {
AddBoolMembers -PARAMS @('on') $this.Getter('on')
AddStringMembers -PARAMS @('name', 'ip') } `
{
param([bool]$arg)
$this._on = $this.Setter('on', $arg)
} }
)
hidden $_name = $($this | Add-Member ScriptProperty 'name' `
{
$this.Getter_String('name')
} `
{
param([string]$arg)
$this._name = $this.Setter('name', $arg)
}
)
hidden $_ip = $($this | Add-Member ScriptProperty 'ip' `
{
$this.Getter_String('ip')
} `
{
param([string]$arg)
$this._ip = $this.Setter('ip', $arg)
}
)
hidden $_port = $($this | Add-Member ScriptProperty 'port' ` hidden $_port = $($this | Add-Member ScriptProperty 'port' `
{ {
[int]$this.Getter('port') $this.Getter('port')
} ` } `
{ {
param([int]$arg) param([string]$arg)
if ($arg -ge 1024 -and $arg -le 65535) { if ($arg -ge 1024 -and $arg -le 65535) {
$this._port = $this.Setter('port', $arg) $this._port = $this.Setter('port', $arg)
} }
@ -33,7 +56,7 @@ class VbanAudio : Vban {
hidden $_sr = $($this | Add-Member ScriptProperty 'sr' ` hidden $_sr = $($this | Add-Member ScriptProperty 'sr' `
{ {
[int]$this.Getter('sr') $this.Getter('sr')
} ` } `
{ {
param([int]$arg) param([int]$arg)
@ -41,7 +64,7 @@ class VbanAudio : Vban {
else { else {
$opts = @(11025, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000) $opts = @(11025, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000)
if ($opts.Contains($arg)) { if ($opts.Contains($arg)) {
$this._sr = $this.Setter('sr', $arg) $this._port = $this.Setter('sr', $arg)
} }
else { else {
Write-Warning ('Expected one of', $opts) Write-Warning ('Expected one of', $opts)
@ -52,7 +75,7 @@ class VbanAudio : Vban {
hidden $_channel = $($this | Add-Member ScriptProperty 'channel' ` hidden $_channel = $($this | Add-Member ScriptProperty 'channel' `
{ {
[int]$this.Getter('channel') $this.Getter('channel')
} ` } `
{ {
param([int]$arg) param([int]$arg)
@ -90,10 +113,12 @@ class VbanAudio : Vban {
hidden $_quality = $($this | Add-Member ScriptProperty 'quality' ` hidden $_quality = $($this | Add-Member ScriptProperty 'quality' `
{ {
[int]$this.Getter('quality') $this.Getter('quality')
} ` } `
{ {
param([int]$arg) param([int]$arg)
if ($this.direction -eq 'in') { Write-Warning ('Error, read only value') }
else {
if ($arg -ge 0 -and $arg -le 4) { if ($arg -ge 0 -and $arg -le 4) {
$this._quality = $this.Setter('quality', $arg) $this._quality = $this.Setter('quality', $arg)
} }
@ -101,145 +126,50 @@ class VbanAudio : Vban {
Write-Warning ('Expected value from 0 to 4') Write-Warning ('Expected value from 0 to 4')
} }
} }
}
) )
hidden $_route = $($this | Add-Member ScriptProperty 'route' ` hidden $_route = $($this | Add-Member ScriptProperty 'route' `
{ {
[int]$this.Getter('route') $this.Getter('route')
} ` } `
{ {
param([int]$arg) param([int]$arg)
$rt = $this.remote.kind['p_' + $this.direction] + $this.remote.kind['v_' + $this.direction] - 1 if ($this.direction -eq 'in') { Write-Warning ('Error, read only value') }
if ($arg -ge 0 -and $arg -le $rt) { else {
if ($arg -ge 0 -and $arg -le 8) {
$this._route = $this.Setter('route', $arg) $this._route = $this.Setter('route', $arg)
} }
else { else {
Write-Warning ("Expected value from 0 to $rt") Write-Warning ('Expected value from 0 to 8')
}
} }
} }
) )
} }
class VbanMidi : Vban {
VbanMidi ([int]$index, [Object]$remote, [string]$direction) : base ($index, $remote, $direction) {
}
hidden $_on = $($this | Add-Member ScriptProperty 'on' ` class VbanInstream : Vban {
{ VbanInstream ([int]$index, [Object]$remote, [string]$direction) : base ($index, $remote, $direction) {
return Write-Warning ("ERROR: $($this.identifier()).on is write only")
} `
{
param([bool]$arg)
$this._on = $this.Setter('on', $arg)
}
)
hidden $_name = $($this | Add-Member ScriptProperty 'name' `
{
return Write-Warning ("ERROR: $($this.identifier()).name is write only")
} `
{
param([string]$arg)
$this._name = $this.Setter('name', $arg)
}
)
hidden $_ip = $($this | Add-Member ScriptProperty 'ip' `
{
return Write-Warning ("ERROR: $($this.identifier()).ip is write only")
} `
{
param([string]$arg)
$this._ip = $this.Setter('ip', $arg)
}
)
}
class VbanText : Vban {
VbanText ([int]$index, [Object]$remote, [string]$direction) : base ($index, $remote, $direction) {
}
hidden $_on = $($this | Add-Member ScriptProperty 'on' `
{
return Write-Warning ("ERROR: $($this.identifier()).on is write only")
} `
{
param([bool]$arg)
$this._on = $this.Setter('on', $arg)
}
)
hidden $_name = $($this | Add-Member ScriptProperty 'name' `
{
return Write-Warning ("ERROR: $($this.identifier()).name is write only")
} `
{
param([string]$arg)
$this._name = $this.Setter('name', $arg)
}
)
hidden $_ip = $($this | Add-Member ScriptProperty 'ip' `
{
return Write-Warning ("ERROR: $($this.identifier()).ip is write only")
} `
{
param([string]$arg)
$this._ip = $this.Setter('ip', $arg)
}
)
}
class VbanInAudio : VbanAudio {
VbanInAudio ([int]$index, [Object]$remote) : base ($index, $remote, 'in') {
} }
} }
class VbanInMidi : VbanMidi {
VbanInMidi ([int]$index, [Object]$remote) : base ($index, $remote, 'in') { class VbanOutstream : Vban {
VbanOutstream ([int]$index, [Object]$remote, [string]$direction) : base ($index, $remote, $direction) {
} }
} }
class VbanInText : VbanText {
VbanInText ([int]$index, [Object]$remote) : base ($index, $remote, 'in') {
}
}
class VbanOutAudio : VbanAudio {
VbanOutAudio ([int]$index, [Object]$remote) : base ($index, $remote, 'out') {
}
}
class VbanOutMidi : VbanMidi {
VbanOutMidi ([int]$index, [Object]$remote) : base ($index, $remote, 'out') {
}
}
function Make_Vban ([Object]$remote) { function Make_Vban ([Object]$remote) {
[System.Collections.ArrayList]$instream = @() [System.Collections.ArrayList]$instream = @()
[System.Collections.ArrayList]$outstream = @() [System.Collections.ArrayList]$outstream = @()
$totalInstreams = $remote.kind.vban.in + $remote.kind.vban.midi + $remote.kind.vban.text 0..$($remote.kind.vban_in - 1) | ForEach-Object {
$totalOutstreams = $remote.kind.vban.out + $remote.kind.vban.midi [void]$instream.Add([VbanInstream]::new($_, $remote, 'in'))
for ($i = 0; $i -lt $totalInstreams; $i++) {
if ($i -lt $remote.kind.vban.in) {
[void]$instream.Add([VbanInAudio]::new($i, $remote))
}
elseif ($i -lt ($remote.kind.vban.in + $remote.kind.vban.midi)) {
[void]$instream.Add([VbanInMidi]::new($i, $remote))
}
else {
[void]$instream.Add([VbanInText]::new($i, $remote))
}
}
for ($i = 0; $i -lt $totalOutstreams; $i++) {
if ($i -lt $remote.kind.vban.out) {
[void]$outstream.Add([VbanOutAudio]::new($i, $remote))
}
else {
[void]$outstream.Add([VbanOutMidi]::new($i, $remote))
} }
0..$($remote.kind.vban_out - 1) | ForEach-Object {
[void]$outstream.Add([VbanOutstream]::new($_, $remote, 'out'))
} }
$CustomObject = [pscustomobject]@{ $CustomObject = [pscustomobject]@{
@ -249,25 +179,11 @@ function Make_Vban ([Object]$remote) {
$CustomObject | Add-Member ScriptProperty 'enable' ` $CustomObject | Add-Member ScriptProperty 'enable' `
{ {
return [bool]( Param_Get -PARAM 'vban.enable' ) return Write-Warning ('ERROR: vban.enable is write only')
} ` } `
{ {
param([bool]$arg) param([bool]$arg)
Param_Set -PARAM 'vban.enable' -Value $(if ($arg) { 1 } else { 0 }) Param_Set -PARAM 'vban.Enable' -Value $(if ($arg) { 1 } else { 0 })
}
$CustomObject | Add-Member ScriptProperty 'port' `
{
return [int]( Param_Get -PARAM 'vban.instream[0].port' )
} `
{
param([int]$arg)
if ($arg -ge 1024 -and $arg -le 65535) {
Param_Set -PARAM 'vban.instream[0].port' -Value $arg
}
else {
Write-Warning ('Expected value from 1024 to 65535')
}
} }
$CustomObject $CustomObject

View File

@ -1,5 +1,5 @@
Describe -Tag 'higher', -TestName 'All Higher Tests' { Describe -Tag 'higher', -TestName 'All Higher Tests' {
Describe 'Bool tests' -Tag 'bool' -ForEach @( Describe 'Bool tests' -ForEach @(
@{ Value = $true; Expected = $true } @{ Value = $true; Expected = $true }
@{ Value = $false; Expected = $false } @{ Value = $false; Expected = $false }
) { ) {
@ -97,18 +97,8 @@ Describe -Tag 'higher', -TestName 'All Higher Tests' {
} }
} }
Context 'Vban' { Context 'Vban instream' -ForEach @(
It 'Should set and get Vban.enable' { @{ Index = $vban_in }
$vmr.vban.enable = $value
$vmr.command.restart
Start-Sleep -Milliseconds 2000
$vmr.vban.enable | Should -Be $expected
}
Context 'Instream' -ForEach @(
@{ Index = $vban_inA }
# @{ Index = $vban_inM }
# @{ Index = $vban_inT }
) { ) {
It "Should set vban.instream[$index].on" { It "Should set vban.instream[$index].on" {
$vmr.vban.instream[$index].on = $value $vmr.vban.instream[$index].on = $value
@ -116,16 +106,14 @@ Describe -Tag 'higher', -TestName 'All Higher Tests' {
} }
} }
Context 'Outstream' -ForEach @( Context 'Vban outstream' -ForEach @(
@{ Index = $vban_outA } @{ Index = $vban_out }
# @{ Index = $vban_outM }
) { ) {
It "Should set vban.outstream[$index].on" { It "Should set vban.outstream[$index].on" {
$vmr.vban.outstream[$index].on = $value $vmr.vban.outstream[$index].on = $value
$vmr.vban.outstream[$index].on | Should -Be $expected $vmr.vban.outstream[$index].on | Should -Be $expected
} }
} }
}
Context 'Recorder' -Skip:$ifBasic { Context 'Recorder' -Skip:$ifBasic {
It 'Should set and get Recorder.A3' { It 'Should set and get Recorder.A3' {
@ -196,20 +184,20 @@ Describe -Tag 'higher', -TestName 'All Higher Tests' {
It 'Should set and get Option.monitoronsel' -Skip:$ifNotPotato { It 'Should set and get Option.monitoronsel' -Skip:$ifNotPotato {
$vmr.option.monitoronsel = $value $vmr.option.monitoronsel = $value
$vmr.command.restart $vmr.command.restart
Start-Sleep -Milliseconds 2000 Start-Sleep -Milliseconds 500
$vmr.option.monitoronsel | Should -Be $value $vmr.option.monitoronsel | Should -Be $value
} }
It 'Should set and get Option.slidermode' -Skip:$ifNotPotato { It 'Should set and get Option.slidermode' -Skip:$ifNotPotato {
$vmr.option.slidermode = $value $vmr.option.slidermode = $value
$vmr.command.restart $vmr.command.restart
Start-Sleep -Milliseconds 2000 Start-Sleep -Milliseconds 500
$vmr.option.slidermode | Should -Be $value $vmr.option.slidermode | Should -Be $value
} }
} }
} }
Describe 'Float Tests' -Tag 'float' { Describe 'Float Tests' {
Context 'Strip, one physical one virtual' -ForEach @( Context 'Strip, one physical one virtual' -ForEach @(
@{ Index = $phys_in }, @{ Index = $virt_in } @{ Index = $phys_in }, @{ Index = $virt_in }
) { ) {
@ -343,13 +331,13 @@ Describe -Tag 'higher', -TestName 'All Higher Tests' {
) { ) {
$vmr.option.delay[$phys_out].set($value) $vmr.option.delay[$phys_out].set($value)
$vmr.command.restart $vmr.command.restart
Start-Sleep -Milliseconds 2000 Start-Sleep -Milliseconds 500
$vmr.option.delay[$phys_out].get() | Should -Be $value $vmr.option.delay[$phys_out].get() | Should -Be $value
} }
} }
} }
Describe 'Int Tests' -Tag 'int' { Describe 'Int Tests' {
Context 'Strip, one physical, one virtual' -ForEach @( Context 'Strip, one physical, one virtual' -ForEach @(
@{ Index = $phys_in }, @{ Index = $virt_in } @{ Index = $phys_in }, @{ Index = $virt_in }
) { ) {
@ -418,74 +406,10 @@ Describe -Tag 'higher', -TestName 'All Higher Tests' {
} }
} }
Context 'Vban' { Context 'Vban outstream' -ForEach @(
It 'Should set vban.port' -ForEach @( @{ Index = $vban_out }
@{ Value = 1024; Expected = 1024 }
@{ Value = 65535; Expected = 65535 }
) { ) {
$vmr.vban.port = $value It "Should set vban.outstream[$index].sr to $value" -ForEach @(
$vmr.command.restart
Start-Sleep -Milliseconds 2000
$vmr.vban.port | Should -Be $expected
}
Context 'Instream' -ForEach @(
@{ Index = $vban_inA }
) {
It "Should set vban.instream[$index].port" -ForEach @(
@{ Value = 1024; Expected = 1024 }
@{ Value = 65535; Expected = 65535 }
) {
$vmr.vban.instream[$index].port = $value
$vmr.command.restart
Start-Sleep -Milliseconds 2000
$vmr.vban.instream[$index].port | Should -Be $expected
}
It "Should set vban.instream[$index].sr" {
$vmr.vban.instream[$index].sr | Should -BeOfType [int]
}
It "Should set vban.instream[$index].channel" {
$vmr.vban.instream[$index].channel | Should -BeOfType [int]
}
It "Should set vban.instream[$index].bit" {
$vmr.vban.instream[$index].bit | Should -BeOfType [int]
}
It "Should set vban.instream[$index].quality" -ForEach @(
@{ Value = 0; Expected = 0 }
@{ Value = 4; Expected = 4 }
) {
$vmr.vban.instream[$index].quality = $value
Start-Sleep -Milliseconds 500
$vmr.vban.instream[$index].quality | Should -Be $expected
}
It "Should set vban.instream[$index].route" -ForEach @(
@{ Value = $phys_in; Expected = $phys_in }
@{ Value = $virt_in; Expected = $virt_in }
) {
$vmr.vban.instream[$index].route = $value
$vmr.vban.instream[$index].route | Should -Be $expected
}
}
Context 'Outstream' -ForEach @(
@{ Index = $vban_outA }
) {
It "Should set vban.outstream[$index].port" -ForEach @(
@{ Value = 1024; Expected = 1024 }
@{ Value = 65535; Expected = 65535 }
) {
$vmr.vban.outstream[$index].port = $value
$vmr.command.restart
Start-Sleep -Milliseconds 2000
$vmr.vban.outstream[$index].port | Should -Be $expected
}
It "Should set vban.outstream[$index].sr" -ForEach @(
@{ Value = 44100; Expected = 44100 } @{ Value = 44100; Expected = 44100 }
@{ Value = 48000; Expected = 48000 } @{ Value = 48000; Expected = 48000 }
) { ) {
@ -493,39 +417,13 @@ Describe -Tag 'higher', -TestName 'All Higher Tests' {
$vmr.vban.outstream[$index].sr | Should -Be $expected $vmr.vban.outstream[$index].sr | Should -Be $expected
} }
It "Should set vban.outstream[$index].channel" -ForEach @( It 'Should set vban.outstream[0].channel to 1' -ForEach @(
@{ Value = 1; Expected = 1 } @{ Value = 1; Expected = 1 }
@{ Value = 2; Expected = 2 } @{ Value = 2; Expected = 2 }
) { ) {
$vmr.vban.outstream[$index].channel = $value $vmr.vban.outstream[$index].channel = $value
$vmr.vban.outstream[$index].channel | Should -Be $expected $vmr.vban.outstream[$index].channel | Should -Be $expected
} }
It "Should set vban.outstream[$index].bit" -ForEach @(
@{ Value = 16; Expected = 16 }
@{ Value = 24; Expected = 24 }
) {
$vmr.vban.outstream[$index].bit = $value
$vmr.vban.outstream[$index].bit | Should -Be $expected
}
It "Should set vban.outstream[$index].quality" -ForEach @(
@{ Value = 0; Expected = 0 }
@{ Value = 4; Expected = 4 }
) {
$vmr.vban.outstream[$index].quality = $value
Start-Sleep -Milliseconds 500
$vmr.vban.outstream[$index].quality | Should -Be $expected
}
It "Should set vban.outstream[$index].route" -ForEach @(
@{ Value = $phys_out; Expected = $phys_out }
@{ Value = $virt_out; Expected = $virt_out }
) {
$vmr.vban.outstream[$index].route = $value
$vmr.vban.outstream[$index].route | Should -Be $expected
}
}
} }
Context 'Patch' { Context 'Patch' {
@ -570,7 +468,7 @@ Describe -Tag 'higher', -TestName 'All Higher Tests' {
} }
} }
Describe 'String Tests' -Tag 'string' { Describe 'String Tests' {
Context 'Strip, one physical, one virtual' -ForEach @( Context 'Strip, one physical, one virtual' -ForEach @(
@{ Index = $phys_in }, @{ Index = $virt_in } @{ Index = $phys_in }, @{ Index = $virt_in }
) { ) {
@ -759,47 +657,30 @@ Describe -Tag 'higher', -TestName 'All Higher Tests' {
} }
} }
Describe 'Vban' { Describe 'Vban' -ForEach @(
Context 'Instream' -ForEach @( @{ Index = $vban_in }
@{ Index = $vban_inA }
# @{ Index = $vban_inM }
# @{ Index = $vban_inT }
) { ) {
It "Should set vban.instream[$index].name" -ForEach @( Context 'instream' {
@{ Value = 'TestIn0'; Expected = 'TestIn0' } Context 'ip' -ForEach @(
@{ Value = 'TestIn1'; Expected = 'TestIn1' }
) {
$vmr.vban.instream[$index].name = $value
$vmr.vban.instream[$index].name | Should -Be $expected
}
It "Should set vban.instream[$index].ip" -ForEach @(
@{ Value = '0.0.0.0'; Expected = '0.0.0.0' } @{ Value = '0.0.0.0'; Expected = '0.0.0.0' }
) { ) {
It "Should set vban.instream[$index].name to $value" {
$vmr.vban.instream[$index].ip = $value $vmr.vban.instream[$index].ip = $value
$vmr.vban.instream[$index].ip | Should -Be $expected $vmr.vban.instream[$index].ip | Should -Be $expected
} }
} }
Context 'Outstream' -ForEach @(
@{ Index = $vban_outA }
# @{ Index = $vban_outM }
) {
It "Should set vban.outstream[$index].name" -ForEach @(
@{ Value = 'TestOut0'; Expected = 'TestOut0' }
@{ Value = 'TestOut1'; Expected = 'TestOut1' }
) {
$vmr.vban.outstream[$index].name = $value
$vmr.vban.outstream[$index].name | Should -Be $expected
} }
It "Should set vban.outstream[$index].ip" -ForEach @( Context 'outstream' {
Context 'ip' -ForEach @(
@{ Value = '0.0.0.0'; Expected = '0.0.0.0' } @{ Value = '0.0.0.0'; Expected = '0.0.0.0' }
) { ) {
It "Should set vban.outstream[$index].name to $value" {
$vmr.vban.outstream[$index].ip = $value $vmr.vban.outstream[$index].ip = $value
$vmr.vban.outstream[$index].ip | Should -Be $expected $vmr.vban.outstream[$index].ip | Should -Be $expected
} }
} }
} }
} }
}
} }

View File

@ -14,11 +14,8 @@ function main() {
$virt_in = $vmr.kind.p_in + $vmr.kind.v_in - 1 $virt_in = $vmr.kind.p_in + $vmr.kind.v_in - 1
$phys_out = $vmr.kind.p_out - 1 $phys_out = $vmr.kind.p_out - 1
$virt_out = $vmr.kind.p_out + $vmr.kind.v_out - 1 $virt_out = $vmr.kind.p_out + $vmr.kind.v_out - 1
$vban_inA = $vmr.kind.vban.in - 1 $vban_in = $vmr.kind.vban_in - 1
$vban_inM = $vmr.kind.vban.in + $vmr.kind.vban.midi - 1 $vban_out = $vmr.kind.vban_out - 1
$vban_inT = $vmr.kind.vban.in + $vmr.kind.vban.midi + $vmr.kind.vban.text - 1
$vban_outA = $vmr.kind.vban.out - 1
$vban_outM = $vmr.kind.vban.out + $vmr.kind.vban.midi - 1
$insert = $vmr.kind.insert - 1 $insert = $vmr.kind.insert - 1
$composite = $vmr.kind.composite - 1 $composite = $vmr.kind.composite - 1
$strip_ch = $vmr.kind.eq_ch['strip'] - 1 $strip_ch = $vmr.kind.eq_ch['strip'] - 1