cueChoice β Performer-Driven SVG Animation Selector
The cueChoice(...) cue displays a selection of SVG-based animations or images in a grid, allowing a performer to select one by clicking. The selected visual is displayed full screen for a set duration, after which the score resumes scrolling.
π€ Syntax
cueChoice(choiceA)_dur(10)_choiceB_dur(5)_choiceC
- Each
choicerefers to an.svgfile inside theanimations/directory dur(N)sets the display duration (in seconds) for the preceding choice- If no duration is given, defaults to
30seconds - Multiple choices can be defined in sequence
β Behavior
- Pauses the score playback
- Displays the choices in a full-screen grid
- Allows the performer to click a choice
- Loads the selected SVG into fullscreen for the given duration
- After countdown:
- Fades out the animation
- Resumes scrolling playback
All non-choice UI is blurred while the selection interface is active.
β Example
cueChoice(spiral)_dur(10)_grid-lines_dur(6)_quiet-line
This displays three clickable thumbnails:
spiral.svgfor 10sgrid-lines.svgfor 6squiet-line.svgfor 30s (default)
π οΈ Technical Notes
- The cue parses the
_choice_dur_sequence dynamically from the cue ID - Choices are loaded from
animations/{choice}.svg - SVG files must exist and be well-formed
- SVG thumbnails are rendered using
<object type="image/svg+xml">
π§ TODO: Page-Based _next(...) Logic
// TODO: Add support for automatic cue chaining after animation ends.
// After the fullscreen SVG fades out, the system should check whether
// the SVG contains a reference to the next cue (e.g. <meta data-next="cueId" />)
// and automatically trigger that cue. This would support fully paged, non-scrolling paradigms.
πΌ Compositional Context: Indeterminacy, Choice, and Hypertext
The cueChoice system introduces elements of indeterminacy and user agency into the score. By offering multiple potential directions through performer interaction, the music becomes hypertextualβcapable of branching, forking, and diverging into alternate temporal experiences.
This is especially powerful in:
- π Performer-led improvisation
- π² Chance-based forms
- π Non-linear or networked scores
- π€ Computer-augmented compositions
While each user may choose a different visual/sonic path, shared structural moments (e.g. the end of a scene or cue) can act as rejoining points, where parallel paths converge into a unified timeline again.
π§ TODO: Computer-Chosen Variants
// TODO: Add a mode where the computer, not the performer, chooses the animation.
// This allows fully generative branching where a cueChoice acts as a decision point
// in an algorithmic or AI-driven form, supporting autopoietic music or score-as-agent design.
Tip: use β β or β β to navigate the docs