Schemas / Other

rig.visualizer.deck

v1.0.0 · stable maturity: stable 10 fields 0 required

Fields

FieldTypeMeaning
presets array<entity> optional Optional. Playlist of rig.media.asset_ref entities (kind preset). Path and file format live on the asset
index int optional Optional. Current playlist entry; 0 if absent
playing bool optional Optional. Advance the deck; absent = true
shuffle bool optional Optional. Pick the next preset at random; absent = true
lockPreset bool optional Optional. Hold index; absent = false
presetDuration float optional Optional. Seconds on one preset when switchOn is time
transitionDuration float optional Optional. Crossfade seconds
switchOn enumtime · onset · beat · note optional Optional. What may advance the deck: time, onset, beat, note. Absent = time
analysis entity optional Optional. rig.audio.analysis to read. Absent = the host audio bus
output entity optional Optional. rig.pixel.canvas (or raster) the present pack draws into

Preset deck: which assets play, where they draw, and what may advance them. Format when present.

A present pack claims playlist entries it understands and ignores the rest. MilkDrop mesh size and hardcut stay in that leaf - they are not fields here.

Live main color and temperature of output are host cache from rig.picture.analysis pointed at that canvas. Do not store them on this component.

JSON Schema

Resolves at https://rig.works/schemas/rig.visualizer.deck.schema.json — raw file.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rig.works/schemas/rig.visualizer.deck.schema.json",
  "title": "rig.visualizer.deck",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "presets": {
      "type": "array",
      "items": {
        "$ref": "./_defs.schema.json#/$defs/entity"
      }
    },
    "index": {
      "$ref": "./_defs.schema.json#/$defs/int"
    },
    "playing": {
      "$ref": "./_defs.schema.json#/$defs/bool"
    },
    "shuffle": {
      "$ref": "./_defs.schema.json#/$defs/bool"
    },
    "lockPreset": {
      "$ref": "./_defs.schema.json#/$defs/bool"
    },
    "presetDuration": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "transitionDuration": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "switchOn": {
      "type": "string",
      "enum": [
        "time",
        "onset",
        "beat",
        "note"
      ]
    },
    "analysis": {
      "$ref": "./_defs.schema.json#/$defs/entity"
    },
    "output": {
      "$ref": "./_defs.schema.json#/$defs/entity"
    }
  },
  "x-rig-maturity": "stable"
}

Seen in

visualizer.json