Merge pull request #31 from pblivingston/update-docs

Update docs
This commit is contained in:
Onyx and Iris 2025-12-12 09:02:32 +00:00 committed by GitHub
commit 837211424f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 145 additions and 115 deletions

View File

@ -26,26 +26,32 @@ Strip Gainlayers are now FloatArrayMember objects, see README for details
- ArrayMember classes for array-like properties - ArrayMember classes for array-like properties
- Patch class - Patch class
- Option class - Option class
- Device classes - Device class
- EQ class - EQ class
- FX class - FX class
- AddAliasMembers meta function takes a hashtable `-MAP` of `alias = property`
- Vban.port sets Vban.Instream[0].port - Vban.port sets Vban.Instream[0].port
- Vban Midi and Command streams - Vban Midi and Command streams
- on, write-only - on, write-only
- name, write-only - name, write-only
- ip, write-only - ip, write-only
- Bus.Sel, Bus.Monitor, Bus.Vaio
- Bus.Mode.Set($mode)
- Recorder.Armedbus - Recorder.Armedbus
- Recorder.PreRecTime - Recorder.PreRecTime
- Recorder.Prefix - Recorder.Prefix
- Recorder.Eject() references 'Command.Eject' - Recorder.Eject() references 'Command.Eject'
- Recorder.State - Recorder.State
- Command.Reset() - Command.Reset()
- Command.Save($filepath) - Command.Save($filepath)
- Command.StorePreset() - Command.StorePreset()
- Command.RecallPreset() - Command.RecallPreset()
- AddAliasMembers meta function takes a hashtable `-MAP` of `alias = property`
- Bus.Sel, Bus.Monitor, Bus.Vaio
- Bus.Mode.Set($mode)
- Strip.Karaoke alias for Strip.K - Strip.Karaoke alias for Strip.K
- Strip.EQGain1|EQGain2|EQGain3 with bass/low, mid/med, treble/high aliases, respectively - Strip.EQGain1|EQGain2|EQGain3 with bass/low, mid/med, treble/high aliases, respectively
- StripAudibility class with Strip.Audibility.Knob - StripAudibility class with Strip.Audibility.Knob
@ -62,18 +68,21 @@ Strip Gainlayers are now FloatArrayMember objects, see README for details
### Changed ### Changed
- Device: explicit $arg types for consistency
- Meta: AddBoolMembers, AddIntMembers $arg types for consistency
- Float getters/setters now default to two decimal places.
- some vban.instream | vban.outstream commands now added with meta functions - some vban.instream | vban.outstream commands now added with meta functions
- on - on
- name - name
- ip - ip
- cast vban getters to types for consistency - cast vban getters to types for consistency
- Bus.Mono -> [int] for stereo reverse
- Bus.Levels.Convert return type [float] -> [single] for naming consistency, no functional change
- Meta: AddBoolMembers, AddIntMembers $arg types for consistency
- Device: explicit $arg types for consistency
- Recorder.Armstrip|Armbus -> BoolArrayMember: now have .Get() - Recorder.Armstrip|Armbus -> BoolArrayMember: now have .Get()
- Cast Recorder getters to types for consistency - Cast Recorder getters to types for consistency
- Floats getters/setters now default to two decimal places.
- Bus.Levels.Convert hidden and return type [float] -> [single] for naming consistency
- Strip.Mono is now an alias for Strip.MC on virtual strips - 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.AppMute|AppGain can now take an app index; see README for details
- Strip Knob setters: explicit $arg types for consistency - Strip Knob setters: explicit $arg types for consistency
@ -88,7 +97,11 @@ Strip Gainlayers are now FloatArrayMember objects, see README for details
- vban.stream.port: [string]$arg -> [int]$arg - vban.stream.port: [string]$arg -> [int]$arg
- vban route range (API documentation is incorrect) - vban route range (API documentation is incorrect)
- vban.stream.sr: $this._port -> $this._sr - vban.stream.sr: $this._port -> $this._sr
- Recorder.channel values: 1..8 -> (2, 4, 6, 8) - Recorder.channel values: 1..8 -> (2, 4, 6, 8)
- Bus.Mono -> [int] for stereo reverse
- Strip.Limit type [int] -> [float] - Strip.Limit type [int] -> [float]
- Missing closing parenthesis in AppMute value string - Missing closing parenthesis in AppMute value string
- Strip Knob getters: `this.Getter_String('') -> [math]::Round($this.Getter(''), 2)` - Strip Knob getters: `this.Getter_String('') -> [math]::Round($this.Getter(''), 2)`

229
README.md
View File

@ -113,7 +113,7 @@ $vmr.Logout()
### Strip ### Strip
The following strip commands are available: The following Strip properties are available:
- mute: bool - mute: bool
- mono: bool - mono: bool
@ -154,13 +154,26 @@ $vmr.strip[7].pan_y = -0.38
$vmr.strip[5].treble = -2.43 $vmr.strip[5].treble = -2.43
``` ```
A,B commands depend on Voicemeeter type. The following Strip methods are available:
- AppGain($appname or $appindex, $gain) : string or int, float, from 0.00 to 1.00
- AppMute($appname or $appindex, $mutestate) : string or int, bool
for example:
```powershell
$vmr.strip[5].AppGain("Spotify", 0.5)
$vmr.strip[5].AppMute("Spotify", $true)
$vmr.strip[7].AppGain(0, 0.28)
$vmr.strip[6].AppMute(2, $false)
```
A,B properties depend on Voicemeeter type.
mc, k for virtual strips only. mc, k for virtual strips only.
#### comp #### comp
The following strip.comp commands are available: The following Strip.comp properties are available:
- knob: float, from 0.00 to 10.00 - knob: float, from 0.00 to 10.00
- gainin: float, from -24.00 to 24.00 - gainin: float, from -24.00 to 24.00
@ -180,12 +193,12 @@ $vmr.strip[3].comp.attack = 8.5
#### gate #### gate
The following strip.gate commands are available: The following Strip.gate properties are available:
- knob: float, from 0.00 to 10.00 - knob: float, from 0.00 to 10.00
- threshold: float, from -60.00 to -10.00 - threshold: float, from -60.00 to -10.00
- damping: float, from -60.00 to -10.00 - damping: float, from -60.00 to -10.00
- bpsidechain: int, from 100 to 4000 - bpsidechain: float, from 100.00 to 4000.00
- attack: float, from 0.00 to 1000.00 - attack: float, from 0.00 to 1000.00
- hold: float, from 0.00 to 5000.00 - hold: float, from 0.00 to 5000.00
- release: float, from 0.00 to 5000.00 - release: float, from 0.00 to 5000.00
@ -198,7 +211,7 @@ $vmr.strip[3].gate.threshold = -40.5
#### denoiser #### denoiser
The following strip.denoiser commands are available: The following Strip.denoiser properties are available:
- knob: float, from 0.00 to 10.00 - knob: float, from 0.00 to 10.00
- threshold: float, from 0.00 to 10.00 - threshold: float, from 0.00 to 10.00
@ -211,7 +224,7 @@ $vmr.strip[3].denoiser.knob = 5
#### pitch #### pitch
The following strip.pitch commands are available: The following Strip.pitch properties are available:
- on: bool - on: bool
- drywet: float, from -100.00 to 100.00 - drywet: float, from -100.00 to 100.00
@ -220,7 +233,7 @@ The following strip.pitch commands are available:
- medformant: float, from -12.00 to 12.00 - medformant: float, from -12.00 to 12.00
- hiformant: float, from -12.00 to 12.00 - hiformant: float, from -12.00 to 12.00
The following strip.pitch methods are available: The following Strip.pitch methods are available:
- RecallPreset($presetIndex) : int, from 0 to 7 - RecallPreset($presetIndex) : int, from 0 to 7
@ -234,7 +247,7 @@ $vmr.strip[1].pitch.medformant = 2.1
#### audibility #### audibility
The following strip.audibility commands are available: The following Strip.audibility properties are available:
- knob: float, from 0.00 to 10.00 - knob: float, from 0.00 to 10.00
@ -244,9 +257,9 @@ for example:
$vmr.strip[1].audibility.knob = 2.66 $vmr.strip[1].audibility.knob = 2.66
``` ```
#### Gainlayer[i] #### gainlayer[i]
The following strip.gainlayer[i] methods are available: The following Strip.gainlayer[i] methods are available:
- Set($val) : float, from -60.00 to 12.00 - Set($val) : float, from -60.00 to 12.00
- Get() - Get()
@ -257,23 +270,9 @@ for example:
$vmr.strip[4].gainlayer[7].set(-26.81) $vmr.strip[4].gainlayer[7].set(-26.81)
``` ```
#### AppGain | AppMute
- AppGain($appname or $appindex, $gain) : string or int, float, from 0.00 to 1.00
- AppMute($appname or $appindex, $mutestate) : string or int, bool
for example:
```powershell
$vmr.strip[5].AppGain("Spotify", 0.5)
$vmr.strip[5].AppMute("Spotify", $true)
$vmr.strip[7].AppGain(0, 0.28)
$vmr.strip[6].AppMute(2, $false)
```
#### levels #### levels
The following strip.level commands are available: The following Strip.levels methods are available:
- PreFader() - PreFader()
- PostFader() - PostFader()
@ -287,7 +286,7 @@ $vmr.strip[2].levels.PreFader() -Join ', ' | Write-Host
### Bus ### Bus
The following bus commands are available: The following Bus properties are available:
- mute: bool - mute: bool
- sel: bool - sel: bool
@ -309,7 +308,7 @@ $vmr.bus[3].returnreverb = 5.7
#### modes #### modes
The following bus.mode members are available: The following Bus.mode members are available:
- normal: bool - normal: bool
- amix: bool - amix: bool
@ -324,22 +323,21 @@ The following bus.mode members are available:
- lfeonly: bool - lfeonly: bool
- rearonly: bool - rearonly: bool
The following bus.mode commands are available: The following Bus.mode methods are available:
- Set($mode): string, sets the current bus mode - Set($mode) : string, sets the current bus mode
- Get(): returns the current bus mode. - Get() : returns the current bus mode
for example: for example:
```powershell ```powershell
$vmr.bus[0].mode.centeronly = $true $vmr.bus[0].mode.centeronly = $true
$vmr.bus[0].mode.Set('tvmix')
$vmr.bus[0].mode.Get()
``` ```
#### levels #### levels
The following strip.level commands are available: The following Bus.levels methods are available:
- All() - All()
@ -351,9 +349,23 @@ $vmr.bus[2].levels.All() -Join ', ' | Write-Host
### Strip|Bus ### Strip|Bus
The following Strip | Bus methods are available:
- FadeTo(amount, time) : float, int
- FadeBy(amount, time) : float, int
Modify gain to or by the selected amount in db over a time interval in ms.
for example:
```powershell
$vmr.strip[3].FadeTo(-18.75, 1000)
$vmr.bus[0].FadeBy(-10, 500)
```
#### device #### device
The following strip.device | bus.device commands are available: The following Strip.device | Bus.device properties are available:
- name: string - name: string
- sr: int - sr: int
@ -366,7 +378,7 @@ for example:
```powershell ```powershell
$vmr.strip[0].device.wdm = "Mic|Line|Instrument 1 (Audient EVO4)" $vmr.strip[0].device.wdm = "Mic|Line|Instrument 1 (Audient EVO4)"
$vmr.bus[0].device.name $vmr.bus[0].device.name | Write-Host
``` ```
name, sr are defined as read only. name, sr are defined as read only.
@ -375,12 +387,12 @@ asio only defined for Bus[0].Device
#### eq #### eq
The following strip.eq | bus.eq commands are available: The following Strip.eq | Bus.eq properties are available:
- on: bool - on: bool
- ab: bool - ab: bool
The following strip.eq | bus.eq methods are available: The following Strip.eq | Bus.eq methods are available:
- Load($filepath) : string - Load($filepath) : string
- Save($filepath) : string - Save($filepath) : string
@ -394,7 +406,7 @@ $vmr.bus[0].eq.ab = $false
##### channel.cell ##### channel.cell
The following eq.channel.cell commands are available: The following eq.channel.cell properties are available:
- on: bool - on: bool
- type: int, from 0 to 6 - type: int, from 0 to 6
@ -409,44 +421,39 @@ $vmr.strip[2].eq.channel[1].cell[4].type = 1
$vmr.bus[5].eq.channel[6].cell[3].on = $false $vmr.bus[5].eq.channel[6].cell[3].on = $false
``` ```
#### FadeTo | FadeBy
- `FadeTo(amount, time)` : float, int
- `FadeBy(amount, time)` : float, int
Modify gain to or by the selected amount in db over a time interval in ms.
for example:
```powershell
$vmr.strip[3].FadeTo(-18.7, 1000)
$vmr.bus[0].FadeBy(-10, 500)
```
### Macrobuttons ### Macrobuttons
Three modes defined: state, stateonly and trigger. The following Button properties are available:
- State runs associated scripts - state: bool, runs associated scripts
- Stateonly does not run associated scripts - stateonly: bool, does not run associated scripts
- Index range (0, 69) - trigger: bool
```powershell ```powershell
$vmr.button[3].state = $true $vmr.button[3].state = $true
$vmr.button[4].stateonly = $false $vmr.button[4].stateonly = $false
$vmr.button[5].trigger = $true $vmr.button[5].trigger = $true
``` ```
Index range (0, 79)
### VBAN ### VBAN
The following vban commands are available: The following Vban properties are available:
- enable: bool - enable: bool
- port: int, from 1024 - 65535 - port: int, from 1024 - 65535
For each vban in/out stream the following parameters are defined: for example:
```powershell
$vmr.vban.enable = $true
$vmr.vban.port = 6990
```
#### instream[i]|outstream[i]
The following Vban.instream | Vban.outstream properties are available:
- on: bool - on: bool
- name: string - name: string
@ -457,24 +464,21 @@ For each vban in/out stream the following parameters are defined:
- quality: int, from 0 to 4 - quality: int, from 0 to 4
- route: int, from 0 to 8 - route: int, from 0 to 8
SR, channel and bit are defined as readonly for instreams. Attempting to write for example:
to those parameters will throw an error. They are read and write for outstreams.
example:
```powershell ```powershell
$vmr.vban.enable = $true
$vmr.vban.port = 6990
$vmr.vban.instream[0].on = $true $vmr.vban.instream[0].on = $true
$vmr.vban.outstream[3].bit = 16 $vmr.vban.outstream[3].bit = 16
``` ```
SR, channel and bit are defined as readonly for instreams. Attempting to write
to those parameters will throw an error. They are read and write for outstreams.
### Command ### Command
Certain 'special' commands are defined by the API as performing actions rather than setting values. Certain 'special' commands are defined by the API as performing actions rather than setting values.
The following methods are available: The following Command methods are available:
- Show() - Show()
- Hide() - Hide()
@ -484,15 +488,15 @@ The following methods are available:
- HideVBANChat() - HideVBANChat()
- Restart() - Restart()
- Shutdown() - Shutdown()
- Reset(): Reset all config - Reset() : Reset all config
- Save($filepath): string - Save($filepath) : string
- Load($filepath): string - Load($filepath) : string
- StorePreset($index, $name): (int, string) - StorePreset($index, $name) : (int, string)
- RecallPreset($index or $name): (int or string) - RecallPreset($index or $name) : (int or string)
- RunMacrobuttons(): Launches the macrobuttons app - RunMacrobuttons() : Launches the macrobuttons app
- CloseMacrobuttons(): Closes the macrobuttons app - CloseMacrobuttons() : Closes the macrobuttons app
example: for example:
```powershell ```powershell
$vmr.command.Show() $vmr.command.Show()
@ -514,7 +518,7 @@ StorePreset('') and RecallPreset('') interact with the 'selected' preset. This i
### Fx ### Fx
The following Fx commands are available: The following Fx properties are available:
- Reverb.on: bool - Reverb.on: bool
- Reverb.ab: bool - Reverb.ab: bool
@ -529,12 +533,12 @@ $vmr.fx.reverb.ab = $false
### Patch ### Patch
The following Patch commands are available: The following Patch properties are available:
- postFaderComposite: bool - postFaderComposite: bool
- postFxInsert: bool - postFxInsert: bool
The following Patch members have .Set($val) and .Get() available: The following Patch members have methods Set($val) | Get() available:
- asio[i]: int, from 0 to ASIO input channels - asio[i]: int, from 0 to ASIO input channels
- OutA2[i]-OutA5[i]: int, from 0 to ASIO output channels - OutA2[i]-OutA5[i]: int, from 0 to ASIO output channels
@ -552,7 +556,7 @@ $vmr.patch.insert[4].get()
### Option ### Option
The following Option commands are available: The following Option properties are available:
- sr: int, (32000, 44100, 48000, 88200, 96000, 176400, 192000) - sr: int, (32000, 44100, 48000, 88200, 96000, 176400, 192000)
- asiosr: bool - asiosr: bool
@ -560,21 +564,15 @@ The following Option commands are available:
- sliderMode: bool - sliderMode: bool
- monitoringBus: int, from 0 to bus index - monitoringBus: int, from 0 to bus index
The following Option.delay[i] methods are available:
- Set($val): float, from 0.00 to 500.00
- Get()
for example: for example:
```powershell ```powershell
$vmr.Option.delay[2].set(30.26) # sets the delay for the third (2) bus
$vmr.Option.sliderMode = $false # sets slider mode to absolute $vmr.Option.sliderMode = $false # sets slider mode to absolute
``` ```
#### buffers #### buffers
The following Option.buffer commands are available: The following Option.buffer properties are available:
- mme: int, (441, 480, 512, 576, 640, 704, 768, 896, 1024, 1536, 2048) - mme: int, (441, 480, 512, 576, 640, 704, 768, 896, 1024, 1536, 2048)
- wdm: int, (128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 441, 448, 480, 512, 576, 640, 704, 768, 1024, 1536, 2048) - wdm: int, (128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 441, 448, 480, 512, 576, 640, 704, 768, 1024, 1536, 2048)
@ -588,9 +586,22 @@ $vmr.Option.buffer.wdm = 512
$vmr.Option.buffer.asio = 0 # to use default buffer size $vmr.Option.buffer.asio = 0 # to use default buffer size
``` ```
#### delay[i]
The following Option.delay[i] methods are available:
- Set($val) : float, from 0.00 to 500.00
- Get()
for example:
```powershell
$vmr.Option.delay[2].set(30.26) # sets the delay for the third (2) bus
```
### Recorder ### Recorder
The following commands are available: The following Recorder properties are available:
- A1 - A5: bool - A1 - A5: bool
- B1 - B3: bool - B1 - B3: bool
@ -605,7 +616,15 @@ The following commands are available:
- channel: int, (2, 4, 6, 8) - channel: int, (2, 4, 6, 8)
- kbps: int, (32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320) - kbps: int, (32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320)
The following methods are available: for example:
```powershell
$vmr.recorder.A1 = $true
$vmr.recorder.filetype = 'mp3'
$vmr.recorder.kbps = 256
```
The following Recorder methods are available:
- Play() - Play()
- Stop() - Stop()
@ -615,41 +634,39 @@ The following methods are available:
- Record() - Record()
- Pause() - Pause()
- Eject() - Eject()
- Load($filepath): string - Load($filepath) : string
- GoTo($timestring): string, must match the format 'hh:mm:ss' - GoTo($timestring) : string, must match the format 'hh:mm:ss'
example: for example:
```powershell ```powershell
$vmr.recorder.play() $vmr.recorder.play()
$vmr.recorder.A1 = $true
$vmr.recorder.GoTo("00:01:15") # go to 1min 15sec into track $vmr.recorder.GoTo("00:01:15") # go to 1min 15sec into track
``` ```
#### Mode #### mode
The following commands are available: The following Recorder.mode properties are available:
- recbus - recbus: bool
- playonload - playonload: bool
- loop - loop: bool
- multitrack - multitrack: bool
example: for example:
```powershell ```powershell
$vmr.recorder.mode.loop = $true $vmr.recorder.mode.loop = $true
``` ```
#### ArmStrip[i]|ArmBus[i] #### armstrip[i]|armbus[i]
The following methods are available: The following Recorder.armstrip | Recorder.armbus methods are available:
- Set($val): bool - Set($val) : bool
- Get() - Get()
example: for example:
```powershell ```powershell
$vmr.recorder.armstrip[0].Set($true) $vmr.recorder.armstrip[0].Set($true)