SPOUT/SYPHON to QLC?

The issues found when using the Input/Output Manager panel
Post Reply
onlythumper
Posts: 9
Joined: Fri Apr 15, 2016 5:55 pm
Real Name: Andrew

So I'm wondering if there will ever be a plugin or feature created to support bringing in video signals via SPOUT (for Windows) or SYPHON (MAC)?

The way I see it, it's openly available freeware and writing a simple receiver plugin shouldn't be too difficult. I've already toyed with my own Processing applet I wrote to take a SPOUT signal from Resolume and sample a matrix of pixels and push them (via SPI) to a series of WS2812B led's (in matrix formation).

You could easily take the received SPOUT/SYPHON signal coming into QLC+ and downscale/sample it for whatever resolution your RGB matrix is. This would make creation of dynamic patterns a breeze and would allow people to utilize external video control software for mapping/patterns (Resolume has some fantastic generative source effects) and would be an open source solution.

Just my thoughts. What is the protocol for plugin/feature creation in QLC+. I don't have a huge amount of experience with programming, just some Processing and Python apps, but would be willing to assist in development and conceptualization of this feature.
plugz
Posts: 637
Joined: Sun Apr 12, 2015 6:30 pm
Real Name: David

Hello,

If you want to tinker:

https://github.com/mcallegari/qlcplus

Plugins are in the "plugins" folder, many examples are present, and this thub.com/mcallegari/qlcplus/tree/master/plugins/dummy is a dummy plugin. It can be used as a template.

FYI, starting from resolume version 5, resolume can send artnet packets, which QLC+ can receive easily. ( http://resolume.com/blog/12462/resolume ... oint-ooooh )
User avatar
mcallegari
Posts: 4752
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

All good, except for the fact that QLC+ plugins are not designed to handle signals other than universe/channel/value
In other words, even if you receive a video signal into a QLC+ plugin, the plugin itself knows nothing about running functions, RGB matrices or whatsoever.
All they can do is sending elementary signals that QLC+ can process and eventually turn into Function controls.
janosvitok
Posts: 1327
Joined: Mon Apr 13, 2015 7:05 am
Location: Bratislava, Slovakia
Real Name: Jano Svitok
Contact:

The way to go is to create another RGBsometing class, (RGBImage/RGBText/RGB...) that would read the video data from SPOUT.
Currently it can't be a plugin, it must be compiled in, so if you want it as a plugin, you need to create plugin framework for RGB matrix algorithms (which may be worth on its own...)
...not to mention licencing issues...
onlythumper
Posts: 9
Joined: Fri Apr 15, 2016 5:55 pm
Real Name: Andrew

I understand that this would not be direct video-to lights. I'm no newb.

My thoughts is that since most of the values sent to smart LED's are 0-255 anyways (one each for red, green, and blue channels), just push those same values already stored in the matrix/table through to the DMX conversion and then out for each frame. You would downsample your video, or you can sample just the pixels you want (in grid/linear layout etc). Either way I think this would be really neat for full RGB led fixture patterns.

I'll take a look at the git and see if I can play around with it.
plugz
Posts: 637
Joined: Sun Apr 12, 2015 6:30 pm
Real Name: David

Question: Why not let resolume take care of downsampling, and use the already existing ArtNet plugin ?
onlythumper
Posts: 9
Joined: Fri Apr 15, 2016 5:55 pm
Real Name: Andrew

Because that would require Resolume. The reason I'm thinking of creating a SPOUT plugin would be to grab from any SPOUT-capable source (the SPOUT support list is growing evermore). That way you are not limited by the software package you're using to manage your video/pattern content. I just use Resolume as an example because I have it already. But if you want to use TouchDesigner, VVVV, Processing, Openframeworks, Modulo, After Effects, Mapio, Virtual DJ, LightJams, or Milkdrop for instance (among others), then you would need a way to convert that data into raw RGB color values etc.

*EDIT*

And I'm aware most of these other software packages do have some form of DMX/artnet protocol as well, but versatility is the name of the game for QLC+ :D
Post Reply