OpenLightingProject / ola

The Open Lighting Architecture - The Travel Adaptor for the Lighting Industry
https://www.openlighting.org/ola/
Other
648 stars 206 forks source link

Strand ShowNet Universe Selection #1946

Open mckeetech opened 8 months ago

mckeetech commented 8 months ago

I'm looking to expand/change the transmit and receive universes used for the Strand ShowNet plugin and I'm not seeing any way to do it. By default, the plugin has 8 inputs and 8 outputs - corresponding to Universes 1 through 8. The existing architectural control system I'm trying to interface with uses ShowNet universes 11, 12, 21, and 22.
Is there a way to set the plugin to listen on these universes, or is it fixed to universes 1 through 8? I cannot change the output settings of the existing control system - despite my best efforts, Strand will not give me the copy of Vision.Net designer that I need.

Thanks!

peternewman commented 8 months ago

Hi @mckeetech ,

I'd personally assumed this was a hard-coded limit down to the protocol, but it looks like we've just set an arbitrary limit. Do you want to try changing this value and recompiling: https://github.com/OpenLightingProject/ola/blob/e7b403927ad462d6ba4eed7d72cdd3e1fb1fa4e8/plugins/shownet/ShowNetNode.h#L60

Then let us know if it works and if it does do you want to open a Pull Request so others can benefit too?

mckeetech commented 8 months ago

Excellent! Thanks for pointing me in the right direction. I'll give that a shot and see what happens.

mckeetech commented 8 months ago

I don't have a way to test functionality at the moment (the only ShowNet devices I have are at the venue), however everything compiled successfully with SHOWNET_MAX_UNIVERSES = 30; and I can see all universes listed in the command line and web interfaces.

This is not something I'm particularly well versed in - I compile source code maybe once per year and I rarely make more than a few characters worth of changes to any code, but is it possible to make the ShowNet plugin more similar to the other plugins (including ArtNet and sACN) wherein the user can configure the number of input and output ports, and then assign those ports to specific universes? Ultimately I do not need 30 universes of ShowNet - I just need 4, but they must correspond to the specific universes already on my network. I am happy to fumble through making this work and teach myself if you can just direct me towards a good starting point.