Studio Mode
Overview
Section titled “Overview”Studio Mode is the primary GUI for Onset Engine — a full-featured desktop application built with CustomTkinter. It provides library management, timeline visualization, real-time previews, and batch rendering with granular control over every parameter.
Layout
Section titled “Layout”| Area | Description |
|---|---|
| Header | DJ MODE button, 🚀 AUTOPILOT, ⚙️ Preferences, ☀/🌙 theme toggle |
| Left panel | Tabbed library browser (Video Bin / Audio Bin) with thumbnail cards + 📥 INGEST |
| Center | Video player preview with transport controls + Welcome Launcher |
| Right panel | Inspector tabs (General, Advanced, Autopilot) + Action Block |
| Bottom | Timeline with clip blocks, audio waveform, console logger (GUI filters DEBUG lines; full logs with system info header [OS, Python, PyTorch, CUDA, GPU, VRAM, FFmpeg, RAM] and per-line timestamps are saved to render.log in the project output directory) |
Two-Step Workflow
Section titled “Two-Step Workflow”Studio Mode uses a deliberate two-step workflow:
Step 1: ⚡ Generate Timeline
Section titled “Step 1: ⚡ Generate Timeline”Runs clip selection in draft mode (~30 seconds). The engine:
- Analyzes your music track (beats, energy curve, drops)
- Matches clips to energy tiers using driver scoring
- Places clips on the timeline with transitions
- Displays the result in the timeline panel
Step 2: 🎬 Render Final Video
Section titled “Step 2: 🎬 Render Final Video”Once you’re happy with the timeline, click Render to produce the final video:
- Full-quality rendering at your chosen quality tier
- VFX pipeline applies all preset effects (signature VFX, depth, optical flow, grading)
- Audio mixing with optional ducking
- Progress tracked via Crate Digger minigame
Render Queue & Blocking:
- Concurrent render blocking prevents starting multiple renders at the same time.
- A dialog offers to “Add to Queue” if you attempt to render while another is running.
- Pending queue items feature a red X remove button for easy cancellation.
Clip Direction
Section titled “Clip Direction”Studio Mode offers progressive disclosure for clip direction:
Text Descriptions (Simple)
Section titled “Text Descriptions (Simple)”Two text fields at the top of the Clip Direction section:
- “During quiet parts, focus on:” — purple-accented, maps to low energy tiers
- “On the heavy drops, focus on:” — pink-accented, maps to high energy tiers
These auto-generate a 4-tier driver behind the scenes.
Driver JSON (Advanced)
Section titled “Driver JSON (Advanced)”Below an ”── OR ──” divider, the advanced Driver section lets you:
- Browse for a custom
.jsondriver file - Open the ✨ Create wizard to build a driver visually
- Clear the driver with the ✕ button
Priority: Driver JSON overrides text descriptions. When a driver is loaded, the text fields dim.
Quality Tiers
Section titled “Quality Tiers”| Tier | Resolution | Encoder | Speed |
|---|---|---|---|
| Draft | 720p | FFmpeg direct stitch | ~30 seconds |
| Balanced | 1080p/30fps | NVENC p4/CQ21 | Medium |
| Maximum 30fps | 1080p/30fps | NVENC p6/CQ17 | Slow |
| Maximum 60fps | 1080p/60fps | NVENC p6/CQ17 | Slowest |
Narrative Arc Modes
Section titled “Narrative Arc Modes”Control how energy maps across the timeline:
| Mode | Behavior |
|---|---|
| Buildup | Forces tier progression from LOW → MAX based on timeline position (like DJ keybinds) |
| Flat | Constant energy (e_val = 0.50) — ignores music dynamics |
| None | Follows raw music energy — the default behavior |
UX Features
Section titled “UX Features”Vision Matrix
Section titled “Vision Matrix”A live 3×3 thumbnail grid that appears during ingest, showing AI analysis tags as each video file completes.
Crate Digger
Section titled “Crate Digger”A star-rating minigame that starts when you click Render. Rate unrated clips while you wait — curate your library during downtime.
Welcome Launcher
Section titled “Welcome Launcher”A 3-card zero-state shown in the player area when no project is loaded. Cards for Autopilot, DJ Mode, and Studio — dismissed on first interaction.
Save / Load Projects
Section titled “Save / Load Projects”Projects are saved as JSON files in the jobs/ directory:
jobs/job_MyProject.jsonAll settings are persisted: preset, driver, quality, text descriptions, audio file, collection filter, narrative arc mode, and VFX options.
Advanced Tab: VFX Options (Core+)
Section titled “Advanced Tab: VFX Options (Core+)”The Advanced tab includes a VFX OPTIONS section with opt-in effects. All VFX require Core tier or higher — checkboxes are disabled on Demo.
- ✨ Cutout Pop Transitions — AI-powered subject extraction using rembg. Subject pops out of one scene into the next. Requires a one-time ~170MB model download (auto-installed on first render). Adds ~5% to render time.
- Face Detection — Powered by
face_detect.pyusing MediaPipe for nose-tip keypoint detection across all render paths, outputting normalized[x, y]coordinates. Falls back to[0.5, 0.4]if no face is found or MediaPipe is unavailable. - RIFE Frame Interpolation — Output now uses the same encoder (NVENC/x264) and quality parameters as the main render pipeline.