Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add fixture nbl/beam-nbl #4710

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions fixtures/manufacturers.json
Original file line number Diff line number Diff line change
@@ -382,6 +382,9 @@
"name": "Minuit Une",
"website": "https://minuitune.com/"
},
"nbl": {
"name": "nbl"
},
"nicols": {
"name": "Nicols",
"website": "https://nicols-lighting.fr/"
370 changes: 370 additions & 0 deletions fixtures/nbl/beam-nbl.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,370 @@
{
"$schema": "https://raw.githubusercontent.com/OpenLightingProject/open-fixture-library/master/schemas/fixture.json",
"name": "Beam nbl",
"shortName": "beam nbl",
"categories": ["Moving Head"],
"meta": {
"authors": ["ejai"],
"createDate": "2025-03-18",
"lastModifyDate": "2025-03-18"
},
"links": {
"productPage": [
"https://e.tb.cn/"
]
},
"physical": {
"dimensions": [15.5, 27.5, 15.5]
},
"wheels": {
"Color Wheel": {
"slots": [
{
"type": "Open"
},
{
"type": "Color",
"name": "c1"
},
{
"type": "Color",
"name": "c2"
},
{
"type": "Color",
"name": "c3"
},
{
"type": "Color",
"name": "c4"
},
{
"type": "Color",
"name": "c5"
},
{
"type": "Color",
"name": "c6"
},
{
"type": "Color",
"name": "c7"
},
{
"type": "Color",
"name": "c7+c6"
},
{
"type": "Color",
"name": "c6+c5"
},
{
"type": "Color",
"name": "c5+c4"
},
{
"type": "Color",
"name": "c4+c3"
},
{
"type": "Color",
"name": "c3+c2"
},
{
"type": "Color",
"name": "c2+c1"
}
]
},
"Gobo Wheel": {
"slots": [
{
"type": "Open"
},
{
"type": "Gobo",
"name": "g1"
},
{
"type": "Gobo",
"name": "g2"
},
{
"type": "Gobo",
"name": "g3"
},
{
"type": "Gobo",
"name": "g4"
},
{
"type": "Gobo",
"name": "g5"
},
{
"type": "Gobo",
"name": "g6"
},
{
"type": "Gobo",
"name": "g7"
}
]
}
},
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
"capability": {
"type": "Pan",
"angleStart": "0deg",
"angleEnd": "0deg"
}
},
"Tilt": {
"fineChannelAliases": ["Tilt fine"],
"capability": {
"type": "Tilt",
"angleStart": "0deg",
"angleEnd": "280deg"
}
},
"Color Wheel": {
"capabilities": [
{
"dmxRange": [0, 9],
"type": "WheelSlot",
"slotNumber": 1
},
{
"dmxRange": [10, 19],
"type": "WheelSlot",
"slotNumber": 2
},
{
"dmxRange": [20, 29],
"type": "WheelSlot",
"slotNumber": 3
},
{
"dmxRange": [30, 39],
"type": "WheelSlot",
"slotNumber": 4
},
{
"dmxRange": [40, 49],
"type": "WheelSlot",
"slotNumber": 5
},
{
"dmxRange": [50, 59],
"type": "WheelSlot",
"slotNumber": 6
},
{
"dmxRange": [60, 69],
"type": "WheelSlot",
"slotNumber": 7
},
{
"dmxRange": [70, 79],
"type": "WheelSlot",
"slotNumber": 8
},
{
"dmxRange": [80, 89],
"type": "WheelSlot",
"slotNumber": 9
},
{
"dmxRange": [90, 99],
"type": "WheelSlot",
"slotNumber": 10
},
{
"dmxRange": [100, 109],
"type": "WheelSlot",
"slotNumber": 11
},
{
"dmxRange": [110, 119],
"type": "WheelSlot",
"slotNumber": 12
},
{
"dmxRange": [120, 129],
"type": "WheelSlot",
"slotNumber": 13
},
{
"dmxRange": [130, 139],
"type": "WheelSlot",
"slotNumber": 14
},
{
"dmxRange": [140, 255],
"type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
]
},
"Gobo Wheel": {
"capabilities": [
{
"dmxRange": [0, 7],
"type": "WheelSlot",
"slotNumber": 1
},
{
"dmxRange": [8, 15],
"type": "WheelSlot",
"slotNumber": 2
},
{
"dmxRange": [16, 23],
"type": "WheelSlot",
"slotNumber": 3
},
{
"dmxRange": [24, 31],
"type": "WheelSlot",
"slotNumber": 4
},
{
"dmxRange": [32, 39],
"type": "WheelSlot",
"slotNumber": 5
},
{
"dmxRange": [40, 47],
"type": "WheelSlot",
"slotNumber": 6
},
{
"dmxRange": [48, 55],
"type": "WheelSlot",
"slotNumber": 7
},
{
"dmxRange": [56, 63],
"type": "WheelSlot",
"slotNumber": 8
},
{
"dmxRange": [64, 71],
"type": "WheelSlot",
"slotNumber": 1
},
{
"dmxRange": [72, 79],
"type": "WheelShake",
"slotNumber": 2
},
{
"dmxRange": [80, 87],
"type": "WheelShake",
"slotNumber": 3
},
{
"dmxRange": [88, 95],
"type": "WheelShake",
"slotNumber": 4
},
{
"dmxRange": [96, 103],
"type": "WheelShake",
"slotNumber": 5
},
{
"dmxRange": [104, 111],
"type": "WheelShake",
"slotNumber": 6
},
{
"dmxRange": [112, 119],
"type": "WheelShake",
"slotNumber": 7
},
{
"dmxRange": [120, 127],
"type": "WheelShake",
"slotNumber": 8
},
{
"dmxRange": [128, 255],
"type": "WheelRotation",
"speed": "slow CW"
}
]
},
"Strobe": {
"capabilities": [
{
"dmxRange": [0, 9],
"type": "StrobeSpeed",
"speed": "stop"
},
{
"dmxRange": [10, 249],
"type": "StrobeSpeed",
"speedStart": "slow",
"speedEnd": "fast"
},
{
"dmxRange": [250, 255],
"type": "StrobeSpeed",
"speed": "stop"
}
]
},
"Dimmer": {
"capability": {
"type": "Intensity"
}
},
"Pan/Tilt Speed": {
"capability": {
"type": "PanTiltSpeed",
"speedStart": "fast",
"speedEnd": "slow"
}
},
"Reserved": {
"capability": {
"type": "NoFunction"
}
},
"Reset": {
"capabilities": [
{
"dmxRange": [0, 249],
"type": "NoFunction"
},
{
"dmxRange": [250, 255],
"type": "Maintenance",
"comment": "reset after 2s"
}
]
}
},
"modes": [
{
"name": "11ch",
"channels": [
"Pan",
"Pan fine",
"Tilt",
"Tilt fine",
"Color Wheel",
"Gobo Wheel",
"Strobe",
"Dimmer",
"Pan/Tilt Speed",
"Reserved",
"Reset"
]
}
]
}

Unchanged files with check annotations Beta

return result;
async function addFixture(fixture) {

Check warning on line 63 in ui/api/routes/fixtures/from-editor.js

GitHub Actions / Required

Refactor this function to reduce its Cognitive Complexity from 24 to the 15 allowed

Check warning on line 63 in ui/api/routes/fixtures/from-editor.js

GitHub Actions / Required

Missing JSDoc comment
const manufacturerKey = getManufacturerKey(fixture);
const fixtureKey = getFixtureKey(fixture, manufacturerKey);
const key = `${manufacturerKey}/${fixtureKey}`;
/**
* @returns {Promise<object[]>} A Promise that resolves to an array of result objects.
*/
async function runTests() {

Check warning on line 100 in tests/fixtures-valid.js

GitHub Actions / Required

Refactor this function to reduce its Cognitive Complexity from 16 to the 15 allowed
const promises = [];
if (cliArguments.a) {
* @param {string} triggerChannelKey Key of the trigger channel, whose relations should be simplified.
* @returns {object} Simplified switching channel's relations.
*/
function simplifySwitchingChannelRelations(triggerChannelKey) {

Check warning on line 1052 in plugins/gdtf/import.js

GitHub Actions / Required

Refactor this function to reduce its Cognitive Complexity from 16 to the 15 allowed
const simplifiedRelations = {};
for (const [switchingChannelKey, relations] of Object.entries(relationsPerMaster[triggerChannelKey])) {
* @param {object} xmlFixture The xmlbuilder <Fixture> object.
* @param {Mode} mode The OFL mode object.
*/
function handleMode(xmlFixture, mode) {

Check warning on line 128 in plugins/ecue/export.js

GitHub Actions / Required

Refactor this function to reduce its Cognitive Complexity from 21 to the 15 allowed
let viewPosCount = 1;
for (let dmxCount = 0; dmxCount < mode.channels.length; dmxCount++) {
let channel = mode.channels[dmxCount];
* @param {XMLElement} xmlNode A single XML node.
* @param {number} currentChannelIndex The index of the channel if the xmlNode is inside a function associated to a channel. Else, it's -1.
*/
function findChannels(xmlNode, currentChannelIndex) {

Check warning on line 49 in plugins/dmxcontrol3/exportTests/channel-numbers.js

GitHub Actions / Required

Refactor this function to reduce its Cognitive Complexity from 20 to the 15 allowed
if (xmlNode.$) {
const indexAttributes = [
`dmxchannel`,
},
goboWheel: {
isCapSuitable: capability => capability.isSlotType(`Gobo`) || (capability.type === `WheelRotation` && capability.speed && capability.wheels.some(wheel => wheel.type === `Gobo`)),
create: (channel, capabilities) => {

Check warning on line 411 in plugins/dmxcontrol3/ddf3-functions.js

GitHub Actions / Required

Refactor this function to reduce its Cognitive Complexity from 26 to the 15 allowed
const xmlGoboWheel = xmlbuilder.create(`gobowheel`);
const capabilitiesPerSlot = {};
/**
* @typedef {object} DmxControlCapability
* @property {Capability} capObject

Check warning on line 804 in plugins/dmxcontrol3/ddf3-functions.js

GitHub Actions / Required

Missing JSDoc @Property "capObject" description
* @property {number} startValue

Check warning on line 805 in plugins/dmxcontrol3/ddf3-functions.js

GitHub Actions / Required

Missing JSDoc @Property "startValue" description
* @property {number} endValue

Check warning on line 806 in plugins/dmxcontrol3/ddf3-functions.js

GitHub Actions / Required

Missing JSDoc @Property "endValue" description
*/
/**