Companion - Module request proposed

I have made a request for a Companion Module for Gig Performer.

I already have it running with the their generic OSC module, that is:

  • Stream Deck > Companion > Gig Performer

Missing the bi-directional, could be nice, for example lit the PLAY button green.
(ok maybe with some clever scripting this could be easily achieved :wink:

1 Like

Hello keyman, were you able to develop this further? During lockdowns, I used a Stream Deck with Companion and vMix to do livestream music. Would love to use the Stream Deck with GP now :slight_smile:

Nothing ā€œmoved an inchā€ā€¦
I always use OSC for ā€œbasicā€ Play/Stop, Up/down, tunerā€¦ although would be nice to have tighter integration.

1 Like

Thanks. Yeah, I got the basic OSC working with Companion for Last Song / Next Song, also Next Part, Last Part, and triggering a few audio files. :slight_smile: I like it a lot, and as soon as I can figure out how to get my Kawai to connect to GP and trigger itself (Kawai ES920), Integra 7, and some VSTs hosted on GP, Iā€™ll be able to get rid of my Sipario midi router.

1 Like

Adding my name to the Companion module request. Iā€™ve used Companion with a streamdeck for all sorts of things in the past, and remote controlling Gig Performer would be a great use.

BTW - if anyone can share some quick tips on getting Companion with the Generic OSC module working with GP that would be awesome. Thanks!

1 Like

Is this still usefull now that we have a Stream Deck GP extension?

Yes it is. Companion can run on a Raspberry Pi as a network client - it doesnā€™t require the stream deck to be attached via usb to the same computer running GP - it just needs to be on the network.

Companion can also directly control many other devices (and software) that we use, so it makes it easier to combine commands on a single button.

1 Like

Iā€™ve been hearing about Companion but I donā€™t understand what it brings to the table in terms of controlling GP? What exactly can you accomplish with it in terms of usefulness for a musician using GP?

1 Like

I havenā€™t worked with a Streamdeck yet, but I found this video which may be of some use for Companion.

EDIT: Or, is this what the Streamdeck extension already does?

My use for GP and Companion is for FOH. I have a rack mixer on stage that is controlled via Ethernet from FOH. While the rack mixer has built in effects, pairing it with a laptop and GP allows a much wider range of plugin effects.

At FOH we try to keep tactile controls as much a possible - and companion is a great way to trigger cues, presets, enable or bypass a plugin, etc. Plus companion already talks to just about every digital mixer out there, so with a single button press I can not only control GP, but trigger a cue on my mixer at the same time, or even send a command to my lighting controller or program changes to sound modules.

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.