nvdweem / PCPanel

Third party/community managed controller software for the PCPanel (getpcpanel.com) devices.
Other
90 stars 6 forks source link

Control two Voicemeeter Strips with one knob. (ChatMix) #67

Open basmith7 opened 2 days ago

basmith7 commented 2 days ago

I use Voicemeeter Input for my game audio, and Voicemeeter AUX Input for my chat/discord audio.

I would like to be able to control both gain levels with one knob.

The ideal way it would work is when the knob is at 50%, both gains are at their max. As the knob goes from 50% to 0%, the Voicemeeter AUX Input goes down from 100% to 0%. Voicemeeter Input stays at 100% As the knob goes from 50% to 100% the Voicemeeter Input goes down from 100% to 0%. Voicemeeter AUX Input stays at 100%

basmith7 commented 2 days ago

This kinda already works on the 1.7 snapshot, but I don't know how to get both gains to be 100% at the same time?

basmith7 commented 2 days ago

made a mockup https://codepen.io/basmith7/pen/QWeaNZK

nvdweem commented 17 hours ago

This seems to be a relatively big change, so I hope I didn't break too much implementing it :) The option to have additional actions and allowing to invert it was to start introducing something like this, but I hadn't figured out a nice way to configure it.

I think I should include the trimMin/Max and logarithmic scaling to this dialog now instead of the dial settings, that hasn't been done yet.

The first version of this feature should be available in 1.7 Snapshot 157. Let me know if this is what you expected and/or if you have other suggestions.

Dials now show a graph of what the volume will do (if it's not shown for new commands, click Ok and re-open the dialog): image

Clicking the graph will open a few additional options: image

De default with no moving will be a lineair (or logarithmic if configured) graph. The move-start and move-end (both percentage) will introduce dead-zones at the start or end. I think this will allow what you want by having 2 actions in the same dial/slider. Set one to move-start: 50, the other move-end: 50 and invert it: ujOLH3NiCF

This also makes it possible to have even more items: 7WI82WFRGr