Scaffold a MIDI-mappable VJ deck
scaffold_vj_deckCompose a playable VJ deck UI with A/B mixer, crossfader, on-screen gain faders, and MIDI control surface from source TOPs or test sources in a single call.
Instructions
Compose a complete, playable VJ deck UI in one call: it builds a DJ-style A/B deck mixer (create_decks) with a crossfader, adds an on-screen fader control surface (create_control_surface) with crossfade + per-deck gain faders, and creates a midiinCHOP control surface (create_external_io) whose channels are bound to the same crossfader/gain parameters for hands-on MIDI control. Pass deck_a/deck_b source TOP paths (or omit for test sources), and an optional midi_map of channel→control bindings (defaults to ch1c1→crossfader, ch1c2→gain_a, ch1c3→gain_b). This is the deck-scaffold layer on top of the create_decks primitive — it wires the existing deck, surface, and I/O tools into one UI container.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| midi | No | Create a midiinCHOP control surface and bind its channels to the deck controls (MIDI-mappable VJ deck). | |
| name | No | Base name for the VJ-deck container COMP. | vj_deck |
| deck_a | No | Absolute path of the source TOP for deck A. If omitted, a built-in test source is created. | |
| deck_b | No | Absolute path of the source TOP for deck B. If omitted, a built-in test source is created. | |
| faders | No | Add an on-screen fader control surface (crossfader + per-deck gain faders) inside the container. | |
| midi_map | No | Explicit MIDI channel → control bindings. When omitted, a sensible default map (ch1c1→crossfader, ch1c2→gain_a, ch1c3→gain_b) is used. | |
| crossfade | No | Initial crossfader position: 0 = full deck A, 1 = full deck B. | |
| parent_path | No | COMP the VJ deck is scaffolded inside (default '/project1'). | /project1 |