Skip to content

Conversation

@FloEdelmann
Copy link
Member

  • Update manufacturers.json
  • Add fixture cameo/otos-b5

Fixture warnings / errors

  • cameo/otos-b5
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/0/brightnessStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/0/brightnessStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/0/brightnessStart 0 must be equal to one of [off, dark, bright]
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/0/brightnessStart 0 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/0/brightnessEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/0/brightnessEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/0/brightnessEnd 1 must be equal to one of [off, dark, bright]
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/0/brightnessEnd 1 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/1/brightnessStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/1/brightnessStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/1/brightnessStart 0 must be equal to one of [off, dark, bright]
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/1/brightnessStart 0 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/1/brightnessEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/1/brightnessEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/1/brightnessEnd 1 must be equal to one of [off, dark, bright]
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/1/brightnessEnd 1 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/2/brightnessStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/2/brightnessStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/2/brightnessStart 0 must be equal to one of [off, dark, bright]
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/2/brightnessStart 0 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/2/brightnessEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/2/brightnessEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/2/brightnessEnd 1 must be equal to one of [off, dark, bright]
    • ❌ File does not match schema: fixture/availableChannels/Dim/capabilities/2/brightnessEnd 1 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Focus1/capability/distanceStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Focus1/capability/distanceStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Focus1/capability/distanceStart 0 must be equal to one of [near, far]
    • ❌ File does not match schema: fixture/availableChannels/Focus1/capability/distanceStart 0 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Focus1/capability/distanceEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Focus1/capability/distanceEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Focus1/capability/distanceEnd 1 must be equal to one of [near, far]
    • ❌ File does not match schema: fixture/availableChannels/Focus1/capability/distanceEnd 1 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Prism1 Pos/capabilities/0/angleStart "0rpm" must match pattern "^-?[0-9]+(.[0-9]+)?deg$"
    • ❌ File does not match schema: fixture/availableChannels/Prism1 Pos/capabilities/0/angleStart "0rpm" must match pattern "^-?[0-9]+(.[0-9]+)?%$"
    • ❌ File does not match schema: fixture/availableChannels/Prism1 Pos/capabilities/0/angleStart "0rpm" must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Prism1 Pos/capabilities/0/angleEnd "90rpm" must match pattern "^-?[0-9]+(.[0-9]+)?deg$"
    • ❌ File does not match schema: fixture/availableChannels/Prism1 Pos/capabilities/0/angleEnd "90rpm" must match pattern "^-?[0-9]+(.[0-9]+)?%$"
    • ❌ File does not match schema: fixture/availableChannels/Prism1 Pos/capabilities/0/angleEnd "90rpm" must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/0/angleStart "0rpm" must match pattern "^-?[0-9]+(.[0-9]+)?deg$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/0/angleStart "0rpm" must match pattern "^-?[0-9]+(.[0-9]+)?%$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/0/angleStart "0rpm" must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/0/angleEnd "90rpm" must match pattern "^-?[0-9]+(.[0-9]+)?deg$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/0/angleEnd "90rpm" must match pattern "^-?[0-9]+(.[0-9]+)?%$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/0/angleEnd "90rpm" must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/1/angleStart "83.33333333333333rpm" must match pattern "^-?[0-9]+(.[0-9]+)?deg$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/1/angleStart "83.33333333333333rpm" must match pattern "^-?[0-9]+(.[0-9]+)?%$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/1/angleStart "83.33333333333333rpm" must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/1/angleEnd "0.16666666666666669rpm" must match pattern "^-?[0-9]+(.[0-9]+)?deg$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/1/angleEnd "0.16666666666666669rpm" must match pattern "^-?[0-9]+(.[0-9]+)?%$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/1/angleEnd "0.16666666666666669rpm" must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/2/angle "stop" must match pattern "^-?[0-9]+(.[0-9]+)?deg$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/2/angle "stop" must match pattern "^-?[0-9]+(.[0-9]+)?%$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/2/angle "stop" must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/3/angleStart "-0.16666666666666669rpm" must match pattern "^-?[0-9]+(.[0-9]+)?deg$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/3/angleStart "-0.16666666666666669rpm" must match pattern "^-?[0-9]+(.[0-9]+)?%$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/3/angleStart "-0.16666666666666669rpm" must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/3/angleEnd "-83.33333333333333rpm" must match pattern "^-?[0-9]+(.[0-9]+)?deg$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/3/angleEnd "-83.33333333333333rpm" must match pattern "^-?[0-9]+(.[0-9]+)?%$"
    • ❌ File does not match schema: fixture/availableChannels/Prism2 Pos/capabilities/3/angleEnd "-83.33333333333333rpm" must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/0/frostIntensityStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/0/frostIntensityStart 0 must be equal to one of [off, low, high]
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/0/frostIntensityStart 0 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/0/frostIntensityEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/0/frostIntensityEnd 1 must be equal to one of [off, low, high]
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/0/frostIntensityEnd 1 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/1/frostIntensityStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/1/frostIntensityStart 0 must be equal to one of [off, low, high]
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/1/frostIntensityStart 0 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/1/frostIntensityEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/1/frostIntensityEnd 1 must be equal to one of [off, low, high]
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/1/frostIntensityEnd 1 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/2/frostIntensityStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/2/frostIntensityStart 0 must be equal to one of [off, low, high]
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/2/frostIntensityStart 0 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/2/frostIntensityEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/2/frostIntensityEnd 1 must be equal to one of [off, low, high]
    • ❌ File does not match schema: fixture/availableChannels/Frost1/capabilities/2/frostIntensityEnd 1 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Ctrl1/capabilities/1 (type: Unknown (BlackoutMode)) value of tag "type" must be in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Ctrl1/capabilities/2 (type: Unknown (BlackoutMode)) value of tag "type" must be in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Ctrl1/capabilities/3 (type: Unknown (BlackoutMode)) value of tag "type" must be in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Ctrl1/capabilities/4 (type: Unknown (BlackoutMode)) value of tag "type" must be in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Ctrl1/capabilities/19 (type: Unknown (PanTiltMode)) value of tag "type" must be in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Ctrl1/capabilities/20 (type: Unknown (PanTiltMode)) value of tag "type" must be in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Ctrl1/capabilities/21 (type: Unknown (PanTiltMode)) value of tag "type" must be in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Ctrl1/capabilities/22 (type: Unknown (PanTiltMode)) value of tag "type" must be in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Ctrl1/capabilities/23 (type: Unknown (PanTiltMode)) value of tag "type" must be in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Ctrl1/capabilities/29 (type: Unknown (DisplayIntensity)) value of tag "type" must be in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Ctrl1/capabilities/30 (type: Unknown (DisplayIntensity)) value of tag "type" must be in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Ctrl1/capabilities/31 (type: Unknown (DisplayIntensity)) value of tag "type" must be in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/0/brightnessStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/0/brightnessStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/0/brightnessStart 0 must be equal to one of [off, dark, bright]
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/0/brightnessStart 0 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/0/brightnessEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/0/brightnessEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/0/brightnessEnd 1 must be equal to one of [off, dark, bright]
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/0/brightnessEnd 1 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/1/brightnessStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/1/brightnessStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/1/brightnessStart 0 must be equal to one of [off, dark, bright]
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/1/brightnessStart 0 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/1/brightnessEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/1/brightnessEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/1/brightnessEnd 1 must be equal to one of [off, dark, bright]
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/1/brightnessEnd 1 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/2/brightnessStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/2/brightnessStart 0 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/2/brightnessStart 0 must be equal to one of [off, dark, bright]
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/2/brightnessStart 0 must match exactly one schema in oneOf
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/2/brightnessEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/2/brightnessEnd 1 must be string
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/2/brightnessEnd 1 must be equal to one of [off, dark, bright]
    • ❌ File does not match schema: fixture/availableChannels/Dim 2/capabilities/2/brightnessEnd 1 must match exactly one schema in oneOf
    • ⚠️ Please add fixture categories.
    • ⚠️ Please add relevant links to the fixture.
    • ⚠️ Please add physical data to the fixture.

Thank you **Anonymous **!

@FloEdelmann FloEdelmann added new-fixture Request or implementation to add a new fixture definition. via-editor Opened via the editor on the open-fixture-library.org website. labels Dec 8, 2025
@github-actions
Copy link

github-actions bot commented Dec 8, 2025

Export files validity

(Output of test script tests/github/exports-valid.js.)

Test the exported files of selected fixtures against the plugins' export tests.
You can run a plugin's export tests by executing:
$ node cli/run-export-test.js -p <plugin name> <fixtures>

✔️ cameo / otos-b5: d-light / attributes-correctness
  • ✔️ cameo/otos-b5-23CH Extended.xml
  • ✔️ cameo/otos-b5-19CH Standard.xml
  • ✔️ cameo/otos-b5-17CH Basic.xml
cameo / otos-b5: dmxcontrol3 / channel-numbers
  • ❌ cameo-otos-b5-23CH-Extended.xmlChannel 5 "Dim" is missing capabilities. Used ranges: 0…255, 255
    Channel 14 "C1" is missing capabilities. Used ranges: 0, 2, 5…6, 11, 17…18, 23, 30, 35, 42, 47, 54, 59, 66, 71, 78, 83, 90, 95, 102, 107, 114, 119, 126, 131, 138, 143, 150, 155, 162, 167, 174, 183, 192…255, 224
    Channel 16 "G1" is missing capabilities. Used ranges: 0…3, 6, 9…11, 13…14, 17, 21…23, 25…26, 29, 33…35, 37…38, 41, 45…47, 49…50, 53, 57…59, 61…62, 65, 69…71, 73…74, 77, 81…83, 85…86, 89, 93…95, 97…98, 101, 105…107, 109…110, 113, 117…118, 124, 131…255
  • ❌ cameo-otos-b5-19CH-Standard.xmlChannel 5 "Dim" is missing capabilities. Used ranges: 0…255, 255
    Channel 11 "C1" is missing capabilities. Used ranges: 0, 2, 5…6, 11, 17…18, 23, 29…30, 35, 41…42, 47, 53…54, 59, 65…66, 71, 77…78, 83, 89…90, 95, 101…102, 107, 113…114, 119, 125…126, 131, 137…138, 143, 149…150, 155, 161…162, 167, 173…174, 183, 192…255
    Channel 12 "G1" is missing capabilities. Used ranges: 0…3, 6, 9…11, 13…14, 17, 21…23, 25…26, 29, 33…35, 37…38, 41, 45…47, 49…50, 53, 57…59, 61…62, 65, 69…71, 73…74, 77, 81…83, 85…86, 89, 93…95, 97…98, 101, 105…107, 109…110, 113, 117…118, 124, 131…255
  • ❌ cameo-otos-b5-17CH-Basic.xmlChannel 10 "C1" is missing capabilities. Used ranges: 0, 2, 5…6, 11, 17…18, 23, 29…30, 35, 41…42, 47, 53…54, 59, 65…66, 71, 77…78, 83, 89…90, 95, 101…102, 107, 113…114, 119, 125…126, 131, 137…138, 143, 149…150, 155, 161…162, 167, 173…174, 183, 192…255
    Channel 11 "G1" is missing capabilities. Used ranges: 0…3, 6, 9…11, 13…14, 17, 21…23, 25…26, 29, 33…35, 37…38, 41, 45…47, 49…50, 53, 57…59, 61…62, 65, 69…71, 73…74, 77, 81…83, 85…86, 89, 93…95, 97…98, 101, 105…107, 109…110, 113, 117…118, 124, 131…255
cameo / otos-b5: dragonframe / json-schema-conformity
  • ❌ cameo/otos-b5.jsonfixture/availableChannels/Dim/capabilities/0/brightnessStart 0 must be string
    fixture/availableChannels/Dim/capabilities/0/brightnessStart 0 must be string
    fixture/availableChannels/Dim/capabilities/0/brightnessStart 0 must be equal to one of [off, dark, bright]
    fixture/availableChannels/Dim/capabilities/0/brightnessStart 0 must match exactly one schema in oneOf
    fixture/availableChannels/Dim/capabilities/0 (type: Intensity) must match "then" schema
  • ✔️ manufacturers.json
✔️ cameo / otos-b5: millumin / json-schema-conformity
  • ✔️ cameo/otos-b5.json
cameo / otos-b5: qlcplus_4.12.2 / fixture-tool-validation
  • ❌ fixtures/cameo-Otos-B5.qxfNamespace(map=False, convert=None, validate=['.']) Starting validation ./manufacturer/fixture.qxf:Dim/Intensity 0…1 (Open): Overlapping values detected 255/255 ./manufacturer/fixture.qxf:Dim/Intensity 0…1 (Open): Non contiguous range detected 255/255 ./manufacturer/fixture.qxf:C/Cyan off…bright (Open): Overlapping values detected 255/255 ./manufacturer/fixture.qxf:C/Cyan off…bright (Open): Non contiguous range detected 255/255 ./manufacturer/fixture.qxf:M/Magenta off…bright (Open): Overlapping values detected 255/255 ./manufacturer/fixture.qxf:M/Magenta off…bright (Open): Non contiguous range detected 255/255 ./manufacturer/fixture.qxf:Y/Yellow off…bright (Open): Overlapping values detected 255/255 ./manufacturer/fixture.qxf:Y/Yellow off…bright (Open): Non contiguous range detected 255/255 ./manufacturer/fixture.qxf:C1/Color Wheel rotation stop (Stop): Overlapping values detected 224/224 ./manufacturer/fixture.qxf:C1/Color Wheel rotation stop (Stop): Non contiguous range detected 224/224 ./manufacturer/fixture.qxf: Invalid physical dimensions detected 1 definitions processed. 11 errors detected
cameo / otos-b5: qlcplus_4.12.2 / xsd-schema-conformity
  • ❌ fixtures/cameo-Otos-B5.qxfElement '{http://www.qlcplus.org/FixtureDefinition}Dimensions', attribute 'Weight': [facet 'minExclusive'] The value '0' must be greater than '0'.
    Element '{http://www.qlcplus.org/FixtureDefinition}Dimensions', attribute 'Width': '0' is not a valid value of the atomic type 'xs:positiveInteger'.
    Element '{http://www.qlcplus.org/FixtureDefinition}Dimensions', attribute 'Height': '0' is not a valid value of the atomic type 'xs:positiveInteger'.
    Element '{http://www.qlcplus.org/FixtureDefinition}Dimensions', attribute 'Depth': '0' is not a valid value of the atomic type 'xs:positiveInteger'.

@kengruven
Copy link
Contributor

This is an very long mapping, because it's an automatic GDTF conversion. Every color channel is (pointlessly) broken into 3 capabilities. Every range seems to go from "0" to "1", even where this makes no sense. I looked at the gobo wheel, and the values are all wrong.

Good news: there is a great DMX mapping table on the Cameo webpage, so someone could definitely add this fixture. It may be easier to start from scratch, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-fixture Request or implementation to add a new fixture definition. via-editor Opened via the editor on the open-fixture-library.org website.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants