Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSC input from Resolume does not work #1255

Open
MilkMGN opened this issue Oct 10, 2024 · 16 comments
Open

OSC input from Resolume does not work #1255

MilkMGN opened this issue Oct 10, 2024 · 16 comments

Comments

@MilkMGN
Copy link

MilkMGN commented Oct 10, 2024

Hello,

It's Christmas rehearsals time again, and again I am here automating Ontime. This year, we are not timecoding the whole show. This means I have to either manually trigger Ontime, or figure out another way, which leads me to my problem.

I am trying to output an OSC message from Resolume to trigger cues.
image
This is what I am sending as a test (Will use Event IDs in the production deck)
image
image
These are the configs from Resolume and Ontime.

Using an OSC monitor tool, like Protokol, I can see the message being sent when i click the column in Resolume, however when I have Ontime running and do the same, nothing happens.

Maybe I'm doing something wrong.

Thanks

@MilkMGN
Copy link
Author

MilkMGN commented Oct 10, 2024

Here is the output from Protokol when using that OSC command (Ontime cannot be running for it to see it): RECEIVE | ENDPOINT([::ffff:127.0.0.1]:58234) ADDRESS(/ontime/start) INT32(3)

It has this when clicking away from the column: RECEIVE | ENDPOINT([::ffff:127.0.0.1]:58234) ADDRESS(/ontime/start) INT32(1)

@cpvalente
Copy link
Owner

Hi @MilkMGN, thank you for this

I will try to see if there are any issues on ontimes side, meanwhile, could you please send us your project file?
You can send it to the email [email protected] or hop in to discord and find me there
https://discord.com/invite/eje3CSUEXm

@MilkMGN
Copy link
Author

MilkMGN commented Oct 11, 2024 via email

@cpvalente
Copy link
Owner

Hey, the showfile used is the standard one that comes default on install.

I see. Could it be as simple as Ontime OSC input not being enabled? It isn’t in the demo file

@MilkMGN
Copy link
Author

MilkMGN commented Oct 11, 2024

Hey, the showfile used is the standard one that comes default on install.

I see. Could it be as simple as Ontime OSC input not being enabled? It isn’t in the demo file

Hey, it does say enabled in the screenshots? Is there something else I have to do to enable it?

@cpvalente
Copy link
Owner

Hey, it does say enabled in the screenshots? Is there something else I have to do to enable it?

Hi, no. I apologise I didnt see the Ontime screenshot.

To debug this you will need the Network logger Editor > Settings > Network
As long as Ontime receives the message, you should see a log entry if there is an issue

Can you please double-check that?
I suspect that you may be sending a message we do not recognise, according to our docs, to start by index (which is what I believe you are trying to do), the message should be

/ontime/start/index <number>
https://docs.getontime.no/api/protocols/osc/#start-event-at-index

@juzz197
Copy link

juzz197 commented Oct 11, 2024

Just done some quick testing here (on 3.6.1):

  1. Sending /ontime/start gives RX OSC IN: Error: Unable to start (no event loaded)
  2. Sending /ontime/start after loading event 1 is successful
  3. Sending /ontime/start/index/1 is successful

@cpvalente
Copy link
Owner

Thank you @juzz197 , this sounds correct

/ontime/start basically tells ontime to start the event. If nothing is selected, we cannot start, as indicated by the error
/ontime/start 1 will clarify, "start event with at index 1"

@MilkMGN , can you please confirm that this is helps with your issue?

@MilkMGN
Copy link
Author

MilkMGN commented Oct 12, 2024

Thank you @juzz197 , this sounds correct

/ontime/start basically tells ontime to start the event. If nothing is selected, we cannot start, as indicated by the error

/ontime/start 1 will clarify, "start event with at index 1"

@MilkMGN , can you please confirm that this is helps with your issue?

Hey, sorry work is stretching my time thin. Going to have a look at this in half an hour or so. I did try using ontime/start/id with no luck but will try the one supplied. Thanks!

@MilkMGN
Copy link
Author

MilkMGN commented Oct 12, 2024

@cpvalente Sending /ontime/start/index/1 nets me a OSC IN Error: Payload is not a valid number. Also happens with a space instead of a slash between index and 1.

@cpvalente
Copy link
Owner

Hi @MilkMGN

I believe you may be sending the index as part of the address and not the payload.

I suggest you test the OSC into Ontime independently to understand the API and then try and apply in Resolume

if you are having a hard time figuring it out hop into the discord server and we can help

@alex-Arc
Copy link
Collaborator

hey @MilkMGN
I think there is some incompatibility between Ontime a Resolume
I just made a test sending from chataigne and that works
both /ontime/start/index/1 and /ontime/start/index 1 (also works as int or float)
looks like @juzz197 also has it working

Do you by chance have Wireshark on you computer and could take a look at the packet?
Or do you have another program that can send osc you could try OSCTester

@MilkMGN
Copy link
Author

MilkMGN commented Oct 13, 2024

hey @MilkMGN I think there is some incompatibility between Ontime a Resolume I just made a test sending from chataigne and that works both /ontime/start/index/1 and /ontime/start/index 1 (also works as int or float) looks like @juzz197 also has it working

Do you by chance have Wireshark on you computer and could take a look at the packet? Or do you have another program that can send osc you could try OSCTester

Hey, using Protokol to try the same command i get

RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:57375) ADDRESS(/ontime/start/index/1) INT32(1)
RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:57375) ADDRESS(/ontime/start/index/1) INT32(3)

@jwetzell
Copy link
Collaborator

I think the issue is the output from Resolume I tested with the latest version of Resolume and when you set an OSC shortcut Resolume tacks on additional arguments to indicate pressed/released/active or something like that.

Example of having the select of a clip set to the address /ontime/start/index/1 and Resolume tacking on arguments which I think is what ontime is not happy about.

resolume_osc.mov

@MilkMGN
Copy link
Author

MilkMGN commented Oct 14, 2024

I think this is it, thanks. @cpvalente Is there a way to have it trash those values / only listen to the value 1 and trash 0? i don't think people will need the ability to trigger on time when a clip gets deselected

@cpvalente
Copy link
Owner

Hi @MilkMGN , we took some time to investigate from our side
As we have seen here, Resolume is adding payload to your message which causes the data to appear malformed to Ontime.

We believe that Ontime is behaving appropriately to the data that is receiving, and that patching behaviour from Resolume on our side is not correct. As a system integrator, I believe there is no valid reason for an application to inject payload out of my control.

As a work around, I suggest routing the message from a middleware application such as companion or chataigne. This middleware would be able to do the translation and trigger Ontime

In the meantime, I would also suggest that you open a ticket in the Resolume side so that this behaviour can be revised by their team

Hope this helps, please let us know if we can provide any further help here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants