Direct Accessible OSC

Could someone please help me understand when and why I would use the Direct Accessible OSC assignment? I was toying with it, using a fader to talk with a remote machine on the network running my lighting rig. The address is “/dmxis/ch/1” and it controls the first fader in the DMX software. However, I don’t get OSC back out from DMXIS to control the widget.

You wouldn’t. You should use the regular OSC where you define a HANDLE for the widget.

The Direct Accessible OSC functionality is to allow arbitrary remote control of disparate devices - it is not bidirectional at this point.

While you can use host automation with DMXIS, why would you bother to use OSC with it? :thinking:

Because as you and I discovered in this thread, DMXIS does not update widgets in GP with the current state of its faders. I can send information from the widget to DMXIS, but not DMXIS to the widget.

DMXIS does support OSC, so I can run it as a standalone instance, independently of Gig Performer and send OSC messages to control it. Since Direct Accessible OSC is not bidirectional (I was hoping it was), my only solution thus far is to use Direct Access OSC to send OSC out to DMXIS, and then use OSCulator to to reroute the message and send it back in to GP to address the HANDLE for the widget. A bit convoluted for sure, but the only way I’ve found yet to accomplish bidirectional communication with DMXIS.

Additionally, I prefer using OSC wherever I can, especially since I discovered how to use it to retain mappings between Rackspaces, seen here. :grin:

Not yet :slight_smile:

That will definitely make my life better! :grin:

Don’t hold your breath - it could be years — frankly I added that direct accessibility for a specific need (to control certain applications) and to be honest I consider it to be experimental. That’s the reason it’s hidden by default and you need to use a special OSC option to enable it.

Edit: right now, the best way to do arbitrary OSC is to use GPScript

Fair enough. Let’s just call it a feature request :wink:

1 Like

@mrdrennan have you looked at the OSC callbacks in GP script, which will respond to incoming OSC messages? It would allow you to detect those sent by dmxis and then you can directly update the widgets.

1 Like

Yes, that’s the approach to use for now

I still can’t figure out how to get bidirectional communication via GP Script alone.

Again, I draw your attention to the GP Script language documentation.

Thank you! I’m trying to learn from the documentation, but for an amateur scripter, it can be a bit overwhelming. That’s the first time I’ve seen that particular callback. Thanks for pointing me in the right direction!

My two cents - sorry if it seems a bit blunt.

I understand that and to some extent the community will help but unfortunately we have to assume that anyone using GP Script has at least some background/experience in programming and is familiar with basic concepts such as variables and their types, for example. We’re not in a position to teach basic programming skills.

The main reasons you’re not probably hearing very much from other users are because (a) they know this stuff is documented and people are expected to read the documentation and (b) a lot of your posts just say you tried but couldn’t do something, but you never say what you tried, what went wrong, what errors you got and so there’s no information to which people can respond.

It would be a bit like calling your doctor and telling him/her that you don’t feel well but then not describing any of your symptoms!

Well, it’s been there for a long time! Unfortunately, as any experienced programmer will tell you, one really has to carefully read all the documentation and glance through the rather large list of system functions to get a feel for how it all works. So, for example, it might be reasonable to say something like “I tried to use the OSC Callback function and got the following error” but it’s not reasonable to not know that their exists an OSC Callback function when it’s in the documentation.

1 Like

No offense taken. I’ve found that my questions are handled promptly and effectively by the power users and developers (including you), and I appreciate it very much. I’m learning a lot, and while the presumption is that the program is built for musicians before programmers, we all have to start somewhere. The reason I was drawn to GP over Mainstage is the ability to customize it for myself. I think more examples in the documentation could be helpful for those trying to learn…just my two cents. :relaxed:

Edit: I’ll try to be more specific in my posts!

1 Like

Not exactly, GP Widgets and DMXIS faders keep in sync using host automation. You can also use a GP widget and map it to the preset parameter of the DMXIS parameter, and it willl recall perfectly your DMXIS presets. BUT, while the presets are correctly recalled in DMXIS and the faders moved accordingly, when the faders are moved by changing a DMXIS preset, the corresponding parameter changes are not sent to GP.

Regarding bi-directionnal OSC communication, I do this using GPScript.

1 Like

Good to know — we can be a bit blunt on these forums :slight_smile:

1 Like

Tough love :smiley:

I got my bidirectional osc working this morning with a combination of the articles you referred me to :grin: