-
-
Notifications
You must be signed in to change notification settings - Fork 47
Description
GUI controls in the plugin set the value outside of the maximum range allowed by the plugin description:
> lv2info https://github.com/laixinyuan/StereoSourceSepartion
https://github.com/laixinyuan/StereoSourceSepartion
Name: StereoSourceSeparation
Class: Plugin
Author: AnnieShin
Has latency: no
Bundle: file:///run/current-system/sw/lib/lv2/StereoSourceSeparation.lv2/
Binary: file:///run/current-system/sw/lib/lv2/StereoSourceSeparation.lv2/StereoSourceSeparation.so
UIs:
https://github.com/laixinyuan/StereoSourceSepartion#ExternalUI
Class: http://kxstudio.sf.net/ns/lv2ext/external-ui#Widget
Binary: file:///run/current-system/sw/lib/lv2/StereoSourceSeparation.lv2/StereoSourceSeparation.so
Bundle: file:///run/current-system/sw/lib/lv2/StereoSourceSeparation.lv2/
https://github.com/laixinyuan/StereoSourceSepartion#ParentUI
Class: http://lv2plug.in/ns/extensions/ui#X11UI
Binary: file:///run/current-system/sw/lib/lv2/StereoSourceSeparation.lv2/StereoSourceSeparation.so
Bundle: file:///run/current-system/sw/lib/lv2/StereoSourceSeparation.lv2/
Data URIs: file:///run/current-system/sw/lib/lv2/StereoSourceSeparation.lv2/manifest.ttl
file:///run/current-system/sw/lib/lv2/StereoSourceSeparation.lv2/StereoSourceSeparation.ttl
Required Features: http://lv2plug.in/ns/ext/buf-size#boundedBlockLength
http://lv2plug.in/ns/ext/urid#map
Extension Data: http://lv2plug.in/ns/ext/options#interface
http://kxstudio.sf.net/ns/lv2ext/programs#Interface
Presets:
Port 0:
Type: http://lv2plug.in/ns/lv2core#InputPort
http://lv2plug.in/ns/lv2core#ControlPort
Symbol: lv2_freewheel
Name: Freewheel
Designation: http://lv2plug.in/ns/lv2core#freeWheeling
Minimum: 0.000000
Maximum: 1.000000
Default: 0.000000
Properties: http://lv2plug.in/ns/ext/port-props#notOnGUI
http://lv2plug.in/ns/lv2core#toggled
Port 1:
Type: http://lv2plug.in/ns/lv2core#AudioPort
http://lv2plug.in/ns/lv2core#InputPort
Symbol: lv2_audio_in_1
Name: Audio Input 1
Port 2:
Type: http://lv2plug.in/ns/lv2core#AudioPort
http://lv2plug.in/ns/lv2core#InputPort
Symbol: lv2_audio_in_2
Name: Audio Input 2
Port 3:
Type: http://lv2plug.in/ns/lv2core#AudioPort
http://lv2plug.in/ns/lv2core#OutputPort
Symbol: lv2_audio_out_1
Name: Audio Output 1
Port 4:
Type: http://lv2plug.in/ns/lv2core#AudioPort
http://lv2plug.in/ns/lv2core#OutputPort
Symbol: lv2_audio_out_2
Name: Audio Output 2
Port 5:
Type: http://lv2plug.in/ns/lv2core#ControlPort
http://lv2plug.in/ns/lv2core#InputPort
Symbol: status
Name: Status
Minimum: 0.000000
Maximum: 1.000000
Default: 0.000000
Port 6:
Type: http://lv2plug.in/ns/lv2core#ControlPort
http://lv2plug.in/ns/lv2core#InputPort
Symbol: direction
Name: Direction
Minimum: 0.000000
Maximum: 1.000000
Default: 1.000000
Port 7:
Type: http://lv2plug.in/ns/lv2core#ControlPort
http://lv2plug.in/ns/lv2core#InputPort
Symbol: width
Name: Width
Minimum: 0.000000
Maximum: 1.000000
Default: 1.000000
Port 8:
Type: http://lv2plug.in/ns/lv2core#ControlPort
http://lv2plug.in/ns/lv2core#InputPort
Symbol: filtertype
Name: FilterType
Minimum: 0.000000
Maximum: 1.000000
Default: 0.000000
Port 9:
Type: http://lv2plug.in/ns/lv2core#InputPort
http://lv2plug.in/ns/lv2core#ControlPort
Symbol: cutofffrequency
Name: CutOffFrequency
Minimum: 0.000000
Maximum: 1.000000
Default: 0.000000
But the allowed values in the GUI are way higher, for example 0 to 100 for the Direction.
Carla and Ardour don't allow you to set the values outside of the max range, as far as I know, or at least not in an obvious way, so this causes problems.
Also the values between the GUI and standard controls aren't synced, when you change the filter type it isn't updated in the parameters.
Quite funnily though pipewire lv2 module allows you to set values outside of the allowed range, which is my use case of this plugin, so I don't care much.
My pipewire config with the values outside of the range:
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.description = "Noise Canceling source"
media.name = "Noise Canceling source"
filter.graph = {
nodes = [
{
type = lv2
name = noise_canceling
plugin = "https://github.com/laixinyuan/StereoSourceSepartion"
label = noise_suppressor_stereo
control = {
status = 1
direction = 50
width = 45
# filtertype = 1
# cutofffrequency = 6000
}
}
]
}
capture.props = {
node.name = "effect_input.noise_canceling_source"
node.passive = true
}
playback.props = {
node.name = "effect_output.noise_canceling_source"
media.class = Audio/Source
}
}
}
]
Tested on the NixOS 24.05.20240303.b8697e5
But DISTRHO Ports are from the 2021-03-15, which seems to be the latest release?