summaryrefslogtreecommitdiff
path: root/doc/HEADLESS_MODE.md
blob: 85abbafd27216c5393b3bc8fcfb26a34a1f5290f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Headless Mode - Testing without GPU
// Workspace: demo (shared across all workspaces)

# Headless Mode

Run audio/timeline without GPU overhead. Useful for CI, audio dev, fast iteration.

## Build & Run

```bash
cmake -B build_headless -DDEMO_HEADLESS=ON
cmake --build build_headless -j4

# 30s simulation (default, progress every 5s)
./build_headless/demo64k --headless

# Custom duration
./build_headless/demo64k --headless --duration 60

# Audio validation (full demo or 60s)
./build_headless/demo64k --dump-wav test.wav

# Render specific time range
./build_headless/demo64k --dump-wav test.wav --dump-wav-start 10 --dump-wav-duration 5
```

**WAV Dump Options:**
- `--dump-wav [FILE]` - Output filename (default: audio_dump.wav)
- `--dump-wav-start TIME` - Start at time (seeks first, default: 0)
- `--dump-wav-duration TIME` - Duration limit (default: demo length or 60s)

Test script: `./scripts/test_headless.sh`

## vs STRIP_EXTERNAL_LIBS

| | HEADLESS | STRIP_EXTERNAL_LIBS |
|---|---|---|
| **Runs** | ✓ | ✗ |
| **Audio/Timeline** | ✓ Full | ✗ No-op |
| **Purpose** | Testing | Size measurement |