bitfocus / companion-module-studiocoast-vmix

Studiocoast vMix module for Bitfocus Companion
MIT License
32 stars 13 forks source link

Increase/Decrease commands for SD+ #184

Closed robertskiba closed 1 year ago

robertskiba commented 1 year ago

Describe the feature Now as Streamdeck Plus/+ is arriving, it would be really nice to have specific commands to increase/decrease values for vmix. This would be very helpful with the encoders on the SD+, but maybe also useful for regular buttons.

The companions internal function "Modify Variable Value with Math Operation" could serve as a template how I would imagine the function.

The function should contain at least:

Next to the audio values, it would of course also be helpful to go up/down in lists and maybe even jog through a video file if paused.

Is this version dependent (vMix v24.)? not really.

If documentation is required to implement, do you know where to find it? not needed, I guess

Usecases Using vMix with the new Streamdeck Plus

thedist commented 1 year ago

I'll certainly look in to this for Companion 3. Without a StreamDeck+ this is a little hard for me to test though so I'm not sure when I'll be able to work on this feature request.

One thing of note, your request for delay of all inputs/busses, I don't believe vMix has any API for controlling the delay, and as for controlling of stepping it should be noted that the API returns an 'Invalid params' error when using anything other than a whole number between 0 and 100 inclusive, so that'll be one thing to be aware of as you may not be able to fine tune the volume with external tools.

robertskiba commented 1 year ago

Don't worry, it doesn't need to have to do something with the plus. Those commands are also important to have to be able to change volume in configurable steps with the buttons (e.g. '+"-button and '-'-Button. Currently there is no possibility to do that. Those encoders just execute a command like a button press, depending if you turn it to the left or right.

thedist commented 1 year ago

That can be worked on. It is possible to do similar things like that already by doing math operations on the input/bus volume, and then using that new variable as the volume to use in a function.

It's not used a particularly great deal though because although the vMix API represents volume as 0 to 100, that's not the same scale as the value used in the API. For example using the API to set the volume to 50 actually has a volume of 6.25. and setting the volume to 90 translates to about 65 in vMix, that means that there's only 10 steps between 90 and 100 which represent changing volume from 65 to 100 in vMix. This is a standard way of representing volume but doesn't help with the API isn't granular enough to make fine adjustments.

If it's something people have a use for though I'll put it on the list of features I'll work on when able.

thedist commented 1 year ago

Most of the feature requests have now been implemented, such as more audio related options supporting parsing variables, and for audio values to have an increase/decrease option for easier use with StreamDeck+.

Some stuff couldn't be implemented though, for example I may be mistaken but I don't believe there's a function for adjusting delay.

The most recent Companion v3 release should include these changes.