ui/src/virtualconsole/vccuelist.h and vccuelist.cpp.
Overview
Cue List widgets are designed for theatrical and live show control:- Display chaser steps in a scrollable list
- Manual step progression with next/previous buttons
- Automatic playback with play/pause/stop controls
- Show step names, numbers, and notes
- Display progress bar for current step
- Support crossfade between steps
- Keyboard shortcuts for hands-free operation
- External input for lighting console integration
- Theater shows with defined cue sequences
- Concert lighting with song-based cues
- Architectural shows with timed sequences
- Any application requiring precise step control
Chaser Assignment
Cue lists control chaser functions:vccuelist.h:114-121
The assigned chaser:
- Provides the list of steps to display
- Can contain scenes, RGB matrices, or other functions
- Step order follows chaser configuration
- Duration and fade times come from chaser steps
Only Chaser functions can be assigned to cue lists. If you need to control a single scene, create a chaser with just that one step.
Playback Controls
Cue lists provide several control buttons:Control Layout
Two layout options are available:vccuelist.h:241-251
Choose based on:
- Personal preference
- Available space
- User familiarity
Playback Button
Start or resume playback:vccuelist.h:172
Behavior:
- If stopped: Start from current selection
- If running: Toggle pause
- If paused: Resume playback
- Visual indicator shows playback state
Stop Button
Stop playback completely:vccuelist.h:175
Behavior:
- Stops chaser function
- Maintains current step selection
- Resets crossfader to default position
- All lights fade out according to step fade times
Next/Previous Buttons
Manual step progression:vccuelist.h:178-181
Behavior depends on Next/Previous mode setting (see below).
Next/Previous Behavior
Control what happens when next/previous is pressed:vccuelist.h:233-248
DefaultRunFirst
Standard theatrical behavior:- When stopped: Run first step
- When running: Run next/previous step
- Automatic progression to selected step
RunNext
Always run the step:- Immediately runs next/previous step
- Starts playback if stopped
- Good for “GO” button operation
Select
Navigation only:- Highlights next/previous step
- Doesn’t start playback
- Requires explicit play button press
- Good for reviewing cues
Nothing
Disables buttons:- Next/Previous buttons do nothing
- Use for automatic-only playback
- Prevents accidental step changes
Cue List Display
The main list view shows step information:vccuelist.h:263
Columns displayed:
- Step Number: Sequential step number (1, 2, 3…)
- Step Name: Function name or custom label
- Fade In: Fade in time for the step
- Hold: Hold duration
- Fade Out: Fade out time
- Duration: Total step duration
- Notes: Custom notes for each step (editable)
Current Step Indicator
The currently running step is highlighted:vccuelist.h:184
Visualization:
- Different background color
- Bold or colored text
- Auto-scroll to keep current step visible
- Progress bar shows step completion
Step Notes
Editable notes for each cue:vccuelist.h:187, vccuelist.h:212, vccuelist.h:412
Notes can include:
- Cue descriptions (“Lights up”, “Spotlight on actor”)
- Timing reminders
- Technical notes
- Operator instructions
Progress Display
Visual feedback for current step:vccuelist.h:124-128, vccuelist.h:191, vccuelist.h:221, vccuelist.h:269, vccuelist.h:272
The progress bar:
- Updates every 200ms
- Shows percentage of current step completion
- Displays time remaining
- Includes fade in/out phases
Crossfade Control
Manual crossfade between steps:Crossfade Mode
vccuelist.h:278-290
Crossfade Slider
Manual crossfade control:vccuelist.h:292-296, vccuelist.h:319-323, vccuelist.h:306
How it works:
- Select two adjacent steps
- Enable crossfade panel
- Move slider to fade between steps
- Top label shows “primary” step
- Bottom label shows “secondary” step
- Slider position controls intensity ratio
Crossfade Button
Toggle crossfade panel:vccuelist.h:264, vccuelist.h:312, vccuelist.h:291, vccuelist.h:305, vccuelist.h:300
Keyboard Shortcuts
All controls support keyboard shortcuts:vccuelist.h:334-356
Common keyboard mappings:
- Space: Playback (GO)
- Backspace: Stop
- Right Arrow: Next
- Left Arrow: Previous
- Enter: Run selected cue
External Input
Cue lists support multiple input sources:vccuelist.h:80-84
Each control can be mapped independently:
- Next: MIDI note or fader
- Previous: MIDI note or fader
- Playback: MIDI note or button
- Stop: MIDI note or button
- Crossfade: MIDI fader or encoder
vccuelist.h:371-374
Solo Frame Integration
Cue lists work with solo frames:vccuelist.h:160
When in a solo frame:
- Starting cue list stops sibling widgets
- Ensures only one show element runs
- Clean transitions between cues
- Professional behavior for theater
Intensity Control
Cue lists respond to intensity adjustments:vccuelist.h:387
Intensity affects:
- All steps in the running chaser
- Real-time adjustment during playback
- Submaster control support
- Grand master integration
Function Monitoring
Cue lists monitor chaser state:vccuelist.h:195-218
Automatic updates when:
- Chaser steps are added/removed/reordered
- Step names change
- Function starts/stops from elsewhere
- Chaser properties are modified
vccuelist.h:164-168, vccuelist.h:204
Direct Step Access
Jump directly to any step:vccuelist.h:406, vccuelist.h:410, vccuelist.h:208
Methods:
- Click step in list to select it
- Double-click to run specific step
- Web interface can trigger steps directly
- External input can jump to steps
XML Persistence
Cue list configuration example:Chaser: ID of controlled chaser functionNextPrevBehavior: Button behavior modePlaybackLayout: Control button arrangementSlidersMode: Crossfade configurationNext/Previous/Playback/Stop: Control input mappingsCrossLeft/CrossRight: Crossfade input mappings
Common Use Cases
Theater Show
Step-by-step lighting cues synchronized with stage action
Concert Lighting
Song-based cue lists with automatic timing
Architectural Show
Timed sequences for building lighting displays
Busking
Manual cue triggering for improvised shows
Best Practices
Next Steps
Create a Chaser
Build the chaser function that will drive your cue list
Design Show Layout
Organize cue lists within frames for complex shows
External Control
Connect lighting console or MIDI controller
Web Interface
Control cue lists remotely via QLC+ Web Interface
