I donāt know if this will add clarity or mud, but Iāve used Gig Performer to control Companion. Now be warned, Iām a weirdo.
Iāve also used Companion for years very successfully integrating all sorts of things via OSC, including getting a kind of double confirmation handshake working (overcoming the sort of one-way presumption of OSC) for things like toggling Gig Performer start/stop, and being absolutely certain from the status of the Streamdeck button thatās what is really happening and canāt be anything else.
But to do this Iāve just used the generic http or OSC module in Companion - which they discourage in favour of a dedicated Companion module.
I suspect the main utility of a Companion module for GP would be to impose some kind of structure in formulating OSC paths to Gig Performer.
Some convention of drop-down menus etc for specifying an OSC path, maybe? But that would require some sort of conventions that really Gig Performer doesnāt require. It would have to depend on how you are using OSC at the Gig Performer end too. But I could be ill informed, since OSC is so open ended.
I think most of the existing OSC support modules for Companion are to make a very specific way that OSC has been implemented in the case of a specific device easier to specify for authoring in Companion, even including extensive Companion button presets such as for the BMD ATEM support for one example.
In the case of Gig Performer I think youād need a specific OSC mapping set up for a specific instance of a System Actions plugin, because that feature set would be really the only āstandardizableā set of controls you could plant into a Companion plugin for Gig Performer.
Maybe there are Ux changes for Gig Performer too that could be triggered by a Streamdeck device? Like GP menu items etc? But that maybe seems a bit far fetched; if you need to change the GP audio device or something youād just use the mouse; how would you choose the deviceā¦ goes way out of GP scope. But who knowsā¦ use cases; right?
An automatically incrementing āsave asā button on a Streamdeck might be a cool thing to haveā¦ just off the top of my head, or a GP fullscreen button, setlist etc viewā¦ maybe. Thatās just freestyling.
It occurs to me that any such convention wouldnāt necessarily be āGig Performer-yā as such because it would impose some expectation that comes from how Gig Performer functionality is going to be represented in a Companion drop-down menu, and Gig Performer from the little external OSC Iāve implemented in Gig Performer, doesnāt define any expectation of OSC.
Gig Performer kind of takes an absolutistās approach to OSC, in keeping with OSC itself I imagine, and youād have to paint some lines on the road from the Companion end and then be driving within those lines on the Gig Performer end. Or vice versaā¦
It looks like every company that develops OSC support has to lock down specific paths and GP doesnāt really do that itself, it leaves that to the user.
One idea that I think is interesting is maybe a GP extension that could quickly hunt on the LAN for a waiting Companion GP plugin, confirm it by some protocol and then handshake a starting OSC path and populate a few key fields in the GP setupā¦? But then it sounds like reinventing Bonjour, lol.
I might find a Streamdeck button(s) to fullscreen GP views to be an interesting idea myself. Iām fairly sure it could be implemented with a GP script that responds to OSC paths from Companion and maybe confirms back. I havenāt tried it.
It might be a bit of dog wearing a hat. On the other hand I have wished I could programmatically select different GP views in GP full screen mode, and Streamdeck buttons from Companion would be a cool option for that.
But itās not a show stopper use case it would open a couple of things for me; and I assume thereās a number of ways to accomplish it starting with GPscript.
Well now you have meandering weird input on it from probably a weird usage.