OpenLightingProject / OpenLightingProject/open-fixture-library
QLC+: Add null pixelKeys as empty heads
Nobody has claimed this yet.
- Dominant language
- JSON
- Stars
- 258
- Forks
- 100
- Avg merge
- 11h 52m
- Merged PRs (30d)
- 53
Description
Extracted from #421, the following change will create every possible matrix position as QLC+ head (even "holes") which better visualizes non-rectangle matrices.
Before adding this to our QLC+ plugin, we should make a pull request to QLC+ that allows empty heads in the XML schema and, most important, hides empty heads from the 2D view.
if (hasMatrixChannels) {
for (const zLevel of mode.fixture.matrix.pixelKeyStructure) {
for (const row of zLevel) {
for (const pixelKey of row) {
const channels = mode.channels.filter(channel => controlsPixelKey(channel, pixelKey));
const xmlHead = xmlMode.element(`Head`);
for (const ch of channels) {
xmlHead.element({
Channel: mode.getChannelIndex(ch.key)
});
}
}
}
}
}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the QLC+ XML schema and its 2D view behavior, then compare them with the matrix export snippet in this issue. Done means QLC+ accepts empty Heads for matrix holes and hides those empty heads from the 2D view; the requested change is an upstream QLC+ pull request.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, xml
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100