You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
However, for some ArtNet controllers, the expected formatting requires pixel data to always start at the beginning of a universe which should look like:
508:R
509:G
510:B
511:X not used
512:X not used
001:R
002:G
003:B
004:R
005:G
006:B
This discrepancy can cause issues with compatibility and expected behavior for specific ArtNet controllers.
Adding a toggle in the GUI to switch between the two data formats would address this problem.
What does the proposed API look like?
A new boolean toggle in the GUI named something like "Prevent Pixel Data Splitting Across Universes" or similar.
How should this be implemented in your opinion?
Add a new boolean toggle in the GUI settings for the ArtNet Controller.
This toggle should be linked to the backend logic that determines the data format for the ArtNet packet.
When the toggle is active, ensure that the data does not split across two universes, following the desired format.
The following code snippet supports the new behavior: (LedDeviceUdpArtNet.cpp)
for (unsignedint ledIdx = 0; ledIdx < _ledRGBCount; ledIdx++)
{
if (_restartColorIndexAtUniverseIncrement)
{
// Check if there's enough space in the current universe for all channels of the next LEDif (dmxIdx + _artnet_channelsPerFixture > DMX_MAX)
{
// Prepare and send the current universeprepare(thisUniverse, _artnet_seq, dmxIdx);
retVal &= writeBytes(18 + qMin(dmxIdx, DMX_MAX), artnet_packet.raw);
// Move to the next universe and reset the DMX indexmemset(artnet_packet.raw, 0, sizeof(artnet_packet.raw));
thisUniverse++;
dmxIdx = 0;
}
}
}
Are you willing to work on this yourself?
Yes,
I would need some insight on how to link the bool logic to the gui and also help to name the variable
btw, amazing software :)
The text was updated successfully, but these errors were encountered:
Hi
Can you test this build? https://github.com/awawa-dev/HyperHDR/actions/runs/6801157923 (branch: artnet ). Please ignore the incorrect new option label in the Artnet driver details, as this will be addressed later in the HyperHDR cumulative patch together with other resources, if this solution works properly.
edt_prevent_pixel_data_splitting_across_universes does solve this issues
Tests succeeded:
sending 171 pixels from HyperHDR udpartnet and using QLCplus as artnet monitor
Expected data on the second artnet universe:
when false, 1 data point
when true, 3 data points (1 pixel)
sending 342 pixels from HyperHDR udpartnet and using QLCplus as monitor
Expected data on third universe
when false, 2 data points
when true, 6 data points (2 pixels)
Feature request
What problem does this feature solve?
Support for Artnet to SPI/DMX pixel light controller in the family of the BC-204.
Currently, the RGB data format in the HyperHDR software splits pixel color data across two universes which can look as follows:
However, for some ArtNet controllers, the expected formatting requires pixel data to always start at the beginning of a universe which should look like:
This discrepancy can cause issues with compatibility and expected behavior for specific ArtNet controllers.
Adding a toggle in the GUI to switch between the two data formats would address this problem.
What does the proposed API look like?
A new boolean toggle in the GUI named something like "Prevent Pixel Data Splitting Across Universes" or similar.
How should this be implemented in your opinion?
Add a new boolean toggle in the GUI settings for the ArtNet Controller.
This toggle should be linked to the backend logic that determines the data format for the ArtNet packet.
When the toggle is active, ensure that the data does not split across two universes, following the desired format.
The following code snippet supports the new behavior: (LedDeviceUdpArtNet.cpp)
Are you willing to work on this yourself?
Yes,
I would need some insight on how to link the bool logic to the gui and also help to name the variable
btw, amazing software :)
The text was updated successfully, but these errors were encountered: