Sean Meighan

Software => Enhancement Requests => Topic started by: mishakoz on July 31, 2017, 02:16:56 AM

Title: OSC/Midi Show Control or Support for remote triggers
Post by: mishakoz on July 31, 2017, 02:16:56 AM
Hi,

I run a rather complicated setup. I have Qlab for audio, Eos for moving lights, and Resolume for projection. I would like to have Xlights for pixel mapping but the problem is synchronization. I use OSC (open sound control) protocol to keep everything in sync right now and trigger projection and lights, but Im unsure if Xlights has any kind of remote trigger protocol yet. Trying to sync timeclocks just dosesnt work, they all get off sync fast and the timing has to be precise.

Does something like remote triggering exist now? I know it didnt last year, but I was hoping it may still be implemented in the future. I currently use Resolume for pixel mapping and its a huge headache, its clearly not what it was meant for. I hope this is possible, I would love to donate to make it happen because i think this software is awesome.

OSC is the preferred method of control.

Thanks,

-MK
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: keithsw1111 on July 31, 2017, 02:54:17 AM
Can you point us to the specific part of the protocol you are talking about.
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: mishakoz on July 31, 2017, 03:18:34 AM
Im not sure I can, I perused the site but its greek to me, Ill report back after I do a little more research but until then here is more elaboration:

In Qlab I can make a cue that says "Target: Fire cue 10". This then sends a command over ethernet to a specific IP. The string I type in is "/eos/cue/1/10/fire" which tells the Eos console (moving light control) to fire cue 10 in cue list 1.

In theory, Id want to do the same for the Xlights Scheduler. The most basic form would be giving a "Go" to initialize a sequence, so I send the command "/xlights/sequence/1/fire" and it begins sequence 1 until it ends. Perhaps there would be other related commands such as Stop, pause, blackout, etc. but all I think I need would be a way to ensure my Xlights sequence starts at the exact same moment as my projection, audio, and lighting.

I hope that clears some things up. Ill dig into the OSC website to see if I can elaborate more, but its just a way  for xlights to receive commands (remote triggering) to ensure it stays in sync, and OSC is one of the simplest methods tho others exist.

Thanks again for reading this.

Bestm

-MK

Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: keithsw1111 on July 31, 2017, 06:05:31 AM
The xLights scheduler already has a web API which can do all of these things ... is just isnt OSC ... adding a OSC listener probably wouldnt be hard if you can find the technical details.
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: Gilrock on July 31, 2017, 08:09:11 AM
http://opensoundcontrol.org/spec-1_0 (http://opensoundcontrol.org/spec-1_0)
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: mishakoz on July 31, 2017, 01:33:57 PM
The xLights scheduler already has a web API which can do all of these things ... is just isnt OSC ... adding a OSC listener probably wouldnt be hard if you can find the technical details.

So how can I send a remote trigger automatically using that web API? and is the latency low enough to be able to use it to have delay of less than 1 second, preferably closer to 100ms?

Like I said, I dont need OSC, just some form of remote trigger Im open. It just cant be manual, i.e. I push a button on a webpage to activate it because the software has to do it to keep it in sync with everything else.

Best,
-MK
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: keithsw1112 on July 31, 2017, 01:51:48 PM
The API documentation that exists is here: https://github.com/smeighan/xLights/blob/master/xSchedule/API%20Documentation.txt
There are several videos where I show calling the API including:
http://videos.xlights.org/real-time-text-rendering-in-xschedule_23124a1d2.html
http://videos.xlights.org/how-to-get-physical-push-buttons-to-control-the-new-xlights-scheduler_8bb6a1520.html

The code used in the later video is here https://github.com/smeighan/xLights/tree/master/xSchedule/xScheduleButtons

Basically the API is just a URL ... pass the right arguments and the scheduler will do its thing. You just need a program like curl that can call a web page.
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: mishakoz on July 31, 2017, 07:13:43 PM
The API documentation that exists is here: https://github.com/smeighan/xLights/blob/master/xSchedule/API%20Documentation.txt
There are several videos where I show calling the API including:
http://videos.xlights.org/real-time-text-rendering-in-xschedule_23124a1d2.html
http://videos.xlights.org/how-to-get-physical-push-buttons-to-control-the-new-xlights-scheduler_8bb6a1520.html

The code used in the later video is here https://github.com/smeighan/xLights/tree/master/xSchedule/xScheduleButtons

Basically the API is just a URL ... pass the right arguments and the scheduler will do its thing. You just need a program like curl that can call a web page.

That's cool, but I dont know if that takes care of my problem. I need to create an automated triggering system, one that does not require human input. To ensure sync, all the programs need to start at the same time.

I dont think I can teach Qlab to send a message via that API. I will check though.

So is OSC not a possibility?

Qlab also support UDP, i dont know if that helps at all.
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: keithsw1111 on August 01, 2017, 04:38:40 AM
The API is designed to be called by programs ... not by people. I demo it using a browser tool but anything that can send a HTTP request can invoke it.

OSC is a possibility ... but it depends on priorities ... and I have lots of competing ones right now. I have added it to my backlog.
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: mishakoz on August 01, 2017, 09:32:40 PM
Thank you so much, Ill be attempting to use the API, hopefully I will be able to figure it out so it can tie into my existing systems.
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: alonper on July 02, 2018, 03:28:10 AM
The API documentation that exists is here: https://github.com/smeighan/xLights/blob/master/xSchedule/API%20Documentation.txt
There are several videos where I show calling the API including:
http://videos.xlights.org/real-time-text-rendering-in-xschedule_23124a1d2.html
http://videos.xlights.org/how-to-get-physical-push-buttons-to-control-the-new-xlights-scheduler_8bb6a1520.html

The code used in the later video is here https://github.com/smeighan/xLights/tree/master/xSchedule/xScheduleButtons

Basically the API is just a URL ... pass the right arguments and the scheduler will do its thing. You just need a program like curl that can call a web page.

Hi, I have watched your video :
http://videos.xlights.org/real-time-text-rendering-in-xschedule_23124a1d2.html
I am trying to understand while creating a matrix, if I did a custom object that in Xlights, is it possible to import xLights layout?
**snapshot attached**
the Scheduler provides only symmetric matrix...

btw, while trying to add text in the scheduler, right click on "unnamed" doesnt open a menu so how can I add Text effect?

Another and last question, I just found the "OSC configurator" but I don't really understand how to use it in this case..is there any tutorial that shows the OSC feature?
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: keithsw1111 on July 02, 2018, 05:59:34 AM
xSchedule can only render to a matrix it can construct ... it cant use a custom model. If your model isnt build that way then the only way to make it work is to use a controller that supports virtual strings and reorganise the data so the complex mapping is done in the controller.

You have to be in advanced mode to add a text item. Either right click to open the playlist editor or set the option.

There is a video on OSC. Search the readme ... find when it was released. Look at the version number then locate the release video that covers that release.
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: alonper on July 02, 2018, 06:08:59 AM
xSchedule can only render to a matrix it can construct ... it cant use a custom model. If your model isnt build that way then the only way to make it work is to use a controller that supports virtual strings and reorganise the data so the complex mapping is done in the controller.

You have to be in advanced mode to add a text item. Either right click to open the playlist editor or set the option.

There is a video on OSC. Search the readme ... find when it was released. Look at the version number then locate the release video that covers that release.

Thank you!
I must say that its really strange that the xLights provides custom model lighting but the scheduler, that is just an extra module for external control of the xLights, doesnt provide an option to use the xLights features...

Is there any other way to control the xLights except the scheduler?

Thanks again
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: keithsw1111 on July 02, 2018, 06:33:06 AM
The scheduler is a player. XLights is a sequencer. The scheduler doesn’t need all the overhead that a sequencer brings with it. That’s how the scheduler can run over 1.5million channels at 20 FPS. Everything comes with a trade off and reliable show playing is our priority. You can always write the code to render the text yourself and call the api to control pixel data. That way you have unlimited flexibility in how you design your prop.


Sent from my iPhone using Tapatalk
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: alonper on July 02, 2018, 06:38:02 AM
Alright, now I understand

Thanks a lot!
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: igarrettjr on August 24, 2018, 01:30:12 PM
I'm interested in this thread.  I'm looking at doing some of the same things here.  I'm a newbie to xlights.  so, the xscheduler doesn't actually run the xlights software?  I don't really understand what the purpose of the scheduler is then...
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: Gilrock on August 24, 2018, 02:21:36 PM
I'm interested in this thread.  I'm looking at doing some of the same things here.  I'm a newbie to xlights.  so, the xscheduler doesn't actually run the xlights software?  I don't really understand what the purpose of the scheduler is then...

xLights is the "show creation software" and xScheduler is the "show player" software.  Although xLights can playback your sequences that is mainly to help you design.  To have the sequences play on a schedule you use xScheduler.
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: keithsw1111 on August 24, 2018, 04:47:19 PM
Xschedule also has a bunch of interactive features that allow you to take a show which is essentially pre recorded and augment it.


Sent from my iPhone using Tapatalk
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: mishakoz on October 31, 2018, 07:10:23 AM
Just want to say thank you so much for adding OSC support. I've tested it out and it seems pretty instant (as opposed to the curl feature I tried to use last year which had a variable delay). I haven't tested it with my display yet but it seems very flexible and should be exactly what I need for a perfect show sync


But yeah, anyway, thank you so much for this fantastic piece of software. I was worried so much that id have to switch to something else this year.

Thanks!
Title: Re: OSC/Midi Show Control or Support for remote triggers
Post by: keithsw1111 on October 31, 2018, 12:35:36 PM
You’re welcome.


Sent from my iPhone using Tapatalk