strip comp,gate,denoiser,eq sections added

fix eq.on example in apply
This commit is contained in:
onyx-and-iris 2023-07-18 08:19:17 +01:00
parent 12d519ad10
commit 049b8614a2
3 changed files with 98 additions and 11 deletions

103
README.md
View File

@ -71,14 +71,12 @@ The following properties are available.
- `solo`: boolean - `solo`: boolean
- `mute`: boolean - `mute`: boolean
- `gain`: float, from -60.0 to 12.0 - `gain`: float, from -60.0 to 12.0
- `comp`: float, from 0.0 to 10.0
- `gate`: float, from 0.0 to 10.0
- `audibility`: float, from 0.0 to 10.0 - `audibility`: float, from 0.0 to 10.0
- `limit`: int, from -40 to 12 - `limit`: int, from -40 to 12
- `A1 - A5`, `B1 - B3`: boolean - `A1 - A5`, `B1 - B3`: boolean
- `label`: string - `label`: string
- `mc`: boolean - `mc`: boolean
- `k`: int, from 0 to 4 - `karaoke`: int, from 0 to 4
- `bass`: float, from -12.0 to 12.0 - `bass`: float, from -12.0 to 12.0
- `mid`: float, from -12.0 to 12.0 - `mid`: float, from -12.0 to 12.0
- `treble`: float, from -12.0 to 12.0 - `treble`: float, from -12.0 to 12.0
@ -121,6 +119,81 @@ vm.strip[5].appgain("Spotify", 0.5)
vm.strip[5].appmute("Spotify", true) vm.strip[5].appmute("Spotify", true)
``` ```
#### Comp
The following properties are available.
- `knob`: float, from 0.0 to 10.0
- `gainin`: float, from -24.0 to 24.0
- `ratio`: float, from 1.0 to 8.0
- `threshold`: float, from -40.0 to -3.0
- `attack`: float, from 0.0 to 200.0
- `release`: float, from 0.0 to 5000.0
- `knee`: float, from 0.0 to 1.0
- `gainout`: float, from -24.0 to 24.0
- `makeup`: boolean
example:
```ruby
puts vm.strip[4].comp.knob
```
Strip Comp parameters are defined for PhysicalStrips.
`knob` defined for all versions, all other parameters potato only.
#### Gate
The following properties are available.
- `knob`: float, from 0.0 to 10.0
- `threshold`: float, from -60.0 to -10.0
- `damping`: float, from -60.0 to -10.0
- `bpsidechain`: int, from 100 to 4000
- `attack`: float, from 0.0 to 1000.0
- `hold`: float, from 0.0 to 5000.0
- `release`: float, from 0.0 to 5000.0
example:
```ruby
vm.strip[2].gate.attack = 300.8
```
Strip Gate parameters are defined for PhysicalStrips.
`knob` defined for all versions, all other parameters potato only.
#### Denoiser
The following properties are available.
- `knob`: float, from 0.0 to 10.0
example:
```ruby
vm.strip[0].denoiser.knob = 0.5
```
Strip Denoiser parameters are defined for PhysicalStrips, potato version only.
#### EQ
The following properties are available.
- `on`: boolean
- `ab`: boolean
example:
```ruby
vm.strip[0].eq.ab = True
```
Strip EQ parameters are defined for PhysicalStrips, potato version only.
##### Gainlayers ##### Gainlayers
- `gain`: float, from -60.0 to 12.0 - `gain`: float, from -60.0 to 12.0
@ -156,7 +229,6 @@ The following properties are available.
- `mono`: boolean - `mono`: boolean
- `mute`: boolean - `mute`: boolean
- `eq`: boolean - `eq`: boolean
- `eq_ab`: boolean
- `sel`: boolean - `sel`: boolean
- `gain`: float, from -60.0 to 12.0 - `gain`: float, from -60.0 to 12.0
- `label`: string - `label`: string
@ -175,6 +247,19 @@ puts vm.bus[0].label
vm.bus[4].mono = true vm.bus[4].mono = true
``` ```
##### EQ
The following properties are available.
- `eq`: boolean
- `ab`: boolean
example:
```ruby
vm.bus[4].eq.on = true
```
##### Modes ##### Modes
- `normal`: boolean - `normal`: boolean
@ -394,7 +479,9 @@ vm.apply(
}, },
"bus-3" => { "bus-3" => {
gain: -3.2, gain: -3.2,
eq: true eq: {
on: true
}
}, },
"button-39" => { "button-39" => {
stateonly: true stateonly: true
@ -453,7 +540,7 @@ Use the register/deregister methods to register/deregister callbacks and event o
example: example:
```ruby ```ruby
# register an app to receive updates # register a callback to receive updates
class App(): class App():
def initialize(vm) def initialize(vm)
@vm = vm @vm = vm
@ -548,10 +635,10 @@ To enable logs set an environmental variable `LOG_LEVEL` to the appropriate leve
example in powershell: example in powershell:
```powershell ```powershell
$env:LOG_LEVEL="DEBUG" $env:VM_LOG_LEVEL="DEBUG"
``` ```
### Run tests ### Tests
To run all tests: To run all tests:

View File

@ -3,7 +3,7 @@ require "obsws"
require "yaml" require "yaml"
require "pathname" require "pathname"
class Observer class Main
attr_reader :running attr_reader :running
def initialize(vm, **kwargs) def initialize(vm, **kwargs)
@ -61,6 +61,6 @@ end
if $0 == __FILE__ if $0 == __FILE__
Voicemeeter::Remote.new(:potato).run do |vm| Voicemeeter::Remote.new(:potato).run do |vm|
Observer.new(vm, **conn_from_yml).run Main.new(vm, **conn_from_yml).run
end end
end end

View File

@ -3,7 +3,7 @@ require "logger"
module Voicemeeter module Voicemeeter
module Logging module Logging
def logger def logger
@logger = Logger.new($stdout, level: ENV.fetch("LOG_LEVEL", "WARN")) @logger = Logger.new($stdout, level: ENV.fetch("VM_LOG_LEVEL", "WARN"))
@logger.progname = self.class.name @logger.progname = self.class.name
@logger @logger
end end