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

Capability types #425

Merged
merged 540 commits into from
Jul 21, 2018
Merged

Capability types #425

merged 540 commits into from
Jul 21, 2018

Conversation

fxedel
Copy link
Member

@fxedel fxedel commented Feb 18, 2018

Closes #267. #177 and #437 will be added in a future pull request, but we make the syntax ready to make it easy later.

Some links:

Todo

  • Schema
    • Add capability types with type-specific properties
    • Remove channel type
    • Divide schema into several files for better readability
    • Allow BPM as unit (see add fixture 'minuit-une/m-carre' #460)
    • Allow "infinite" as value for pan/tiltMax
    • Add Hue, Saturation capability types (work for Better handle HSV/HSB/HSI/HSL channels #505)
    • Rethink capability type order (also update documentation and UI)
    • Rethink type-specific property order (also update documentation and UI)
    • Add soundControlled to ShutterStrobe?
  • Model
    • Parse new capabilities (except ColorPreset)
    • Color names <-> Hex codes (work for Alternatives for color hex strings #437)
    • Handle start/end colors
    • Auto-generate:
      • channel.type
      • channel.color
      • channel.invert
      • channel.crossfade
      • capability.name
      • capability.menuClick? Do this in another PR
      • capability.helpWanted for ColorPreset capabilities without a colors property Do this in another PR
  • Fixture test
    • Remove a lot of no-longer-used code
    • Migrate category tests (which mainly depend on channel types)
    • Validate start/end values: Should be of the same unit and either both or none of them with keyword
    • Add new type-specific checks
      • Pan/Tilt (Continuous): Check if angle doesn't conflict with physical's angle (maybe warn if not whole possible angle is used?)
      • ShutterStrobe: speed only allowed when shutterEffect is neither Closed nor Open
      • Effect: error when effectName would also be a valid effectPreset
    • Channels with only a Nothing capability should not define fine channels or similar stuff
    • If index has different start / end values: colors must not be stepped!
  • Adapt usage to new capabilities
    • Fixtures (see Migrate fixtures to new capability syntax #478)
      • Test fixtures
    • Plugins
      • e:cue export
      • e:cue import
      • D::Light export
      • Millumin export (downgrading needed!)
      • QLC+ export
      • QLC+ import
    • UI (not much to do because model generates capability names)
    • Editor
      • Add more type-specific hints
    • everywhere else
  • Update documentation
    • Add a note about the single capability shorthand
    • Rethink capability type order (see schema)
  • Things to do shortly before merging
    • Test all code examples in the documentation
    • Re-add colors property for ColorWheelIndex capabilities
    • Check all helpWanted properties in the fixtures
    • Remove migration helper script (won't be needed anymore)
    • Update lastModifyDate in all fixtures
    • Draft a release

@fxedel fxedel added component-test Affects the automated tests. component-ui Affects the user interface on the open-fixture-library.org website. component-fixture Affects one or more existing fixture definitions. component-plugin Affects one or more import or export plugins. priority-medium Great to have in the long run, but not urgent. component-editor Affects the fixture editor. difficulty-medium Some research is needed before implementation, or implementation is time-consuming. component-model Affects the fixture model ES classes. component-schema Affects the fixture JSON schema. documentation Improves the Markdown docs, or in-code JSDoc comments, or user documentation on the website. labels Feb 18, 2018
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 7, 2018 13:51 Inactive
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 7, 2018 13:54 Inactive
@fxedel
Copy link
Member Author

fxedel commented Mar 7, 2018

@FloEdelmann Please already review the schema, the capability type documentation and the 12 fixtures that have already been adapted to the new syntax. Hopefully, we can finalize the syntax then so we can update the remaining 99 fixtures without worrying about bigger schema changes in the further lifetime of this PR.

docs/capability-types.md Outdated Show resolved Hide resolved
docs/capability-types.md Outdated Show resolved Hide resolved
docs/capability-types.md Outdated Show resolved Hide resolved
docs/capability-types.md Outdated Show resolved Hide resolved
docs/capability-types.md Outdated Show resolved Hide resolved
docs/capability-types.md Outdated Show resolved Hide resolved
docs/capability-types.md Outdated Show resolved Hide resolved
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 7, 2018 17:20 Inactive
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 7, 2018 17:41 Inactive
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 7, 2018 21:29 Inactive
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 7, 2018 21:46 Inactive
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 8, 2018 12:24 Inactive
@fxedel fxedel changed the title New capability schema Capability types Mar 8, 2018
@OpenLightingProject OpenLightingProject deleted a comment from fxedel Mar 8, 2018
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 8, 2018 13:20 Inactive
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 8, 2018 15:36 Inactive
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 8, 2018 17:08 Inactive
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 8, 2018 17:17 Inactive
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 8, 2018 17:23 Inactive
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 8, 2018 17:30 Inactive
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 March 8, 2018 17:37 Inactive
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 July 21, 2018 19:25 Inactive
@fxedel fxedel requested a review from FloEdelmann July 21, 2018 20:22
@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 July 21, 2018 20:24 Inactive
@FloEdelmann

This comment has been minimized.

@FloEdelmann FloEdelmann temporarily deployed to open-fixture-library-pr-425 July 21, 2018 21:29 Inactive
@FloEdelmann

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component-editor Affects the fixture editor. component-fixture Affects one or more existing fixture definitions. component-model Affects the fixture model ES classes. component-plugin Affects one or more import or export plugins. component-schema Affects the fixture JSON schema. component-test Affects the automated tests. component-ui Affects the user interface on the open-fixture-library.org website. difficulty-medium Some research is needed before implementation, or implementation is time-consuming. documentation Improves the Markdown docs, or in-code JSDoc comments, or user documentation on the website. priority-medium Great to have in the long run, but not urgent.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Capability schema improvements
2 participants