Skip to content

Commit 0f075c8

Browse files
committed
transcoder gui tab good enough for now
1 parent c9adecb commit 0f075c8

4 files changed

Lines changed: 494 additions & 93 deletions

File tree

internalDocs/AGENTS.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,16 +107,33 @@ Native GUI linking `EngineSessionCore` directly in-process. No subprocess, no OS
107107

108108
**Build:** `./init.sh` then `./build.sh --gui`. **Run:** `./run.sh`.
109109

110-
### `cult-transcoder` — ADM → LUSID Tool
110+
### `cult-transcoder` — ADM ↔ LUSID Tool
111+
112+
Three subcommands:
111113

112114
```bash
115+
# 1. ADM XML or ADM WAV/BWF → LUSID scene JSON
113116
build/internal/cult_transcoder/cult-transcoder transcode \
114-
--in <adm_wav_path> --in-format adm_wav \
115-
--out data/processedData/stageForRender/scene.lusid.json \
116-
--out-format lusid_json \
117-
[--lfe-mode hardcoded|speaker-label]
117+
--in <path> --in-format adm_xml|adm_wav \
118+
--out <scene.lusid.json> --out-format lusid_json \
119+
[--lfe-mode hardcoded|speaker-label] [--report <path>] [--stdout-report]
120+
121+
# 2. ADM WAV/BWF → self-contained LUSID package (metadata + split mono stems)
122+
build/internal/cult_transcoder/cult-transcoder package-adm-wav \
123+
--in <source.wav> --out-package <package-dir> \
124+
[--lfe-mode hardcoded|speaker-label] [--report <path>] [--stdout-report] [--quiet]
125+
126+
# 3. LUSID scene/package → ADM BWF/WAV + sidecar ADM XML (export/authoring)
127+
build/internal/cult_transcoder/cult-transcoder adm-author \
128+
--lusid <scene.lusid.json> --wav-dir <stem-dir> \
129+
--out-xml <export.adm.xml> --out-wav <export.wav> \
130+
[--report <path>] [--stdout-report] [--quiet]
131+
# alternate input:
132+
# --lusid-package <package-dir> (replaces --lusid + --wav-dir)
118133
```
119134

135+
The GUI Transcoder tab exposes all three workflows. See `source/gui/imgui/src/App.cpp::renderTranscodeTab()`.
136+
120137
Source: `internal/cult_transcoder/` (git submodule). See `internal/cult_transcoder/internalDocs/AGENTS-CULT.md` for full cult-transcoder docs.
121138

122139
### `spatialroot_spatial_render` — Offline Batch Renderer

internalDocs/devHistory.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,29 @@
55

66
---
77

8+
## GUI Transcoder Tab — Three-Workflow Redesign (May 8, 2026)
9+
10+
**Status:** Complete. Replaces the single ADM→LUSID panel with a three-workflow tab bar exposing the full current CULT transcoder CLI surface.
11+
12+
**Motivation:** The previous Transcoder tab only exposed `cult-transcoder transcode` (ADM→LUSID Scene). CULT now supports two additional subcommands (`package-adm-wav`, `adm-author`) that were inaccessible from the GUI.
13+
14+
**Files changed:**
15+
- `source/gui/imgui/src/App.hpp` — added workflow state members and constants for all three workflows
16+
- `source/gui/imgui/src/App.cpp``renderTranscodeTab()` rebuilt with `BeginTabBar("##tc_workflow")`
17+
18+
**Three sub-tabs now exposed:**
19+
1. **ADM to LUSID Scene** (`cult-transcoder transcode`) — converts ADM XML or ADM WAV/BWF metadata to `scene.lusid.json`
20+
2. **ADM WAV to LUSID Package** (`cult-transcoder package-adm-wav`) — extracts ADM, converts metadata, splits interleaved audio into a LUSID package directory
21+
3. **LUSID to ADM Export** (`cult-transcoder adm-author`) — authors LUSID package material into Logic-compatible ADM BWF/WAV + sidecar ADM XML
22+
23+
**Each tab has:** file/folder pickers with type-appropriate browse dialogs, inline validation warnings for missing required fields, run button disabled until required fields are filled, live command preview, run-status indicator. Experimental `adm-author` options (`--dbmd-source`, `--metadata-post-data`) gated behind a collapsible section with amber warning text. `--stdout-report` added to all workflows so report JSON appears in the shared log.
24+
25+
**Architecture preserved:** subprocess CLI calls via `SubprocessRunner`, shared `mTcRunner`/`mTcLog`/status. No new integration style introduced.
26+
27+
**Build validated:** `[100%] Built target spatialroot_gui`.
28+
29+
---
30+
831
## Offline Renderer Source Split (May 8, 2026)
932

1033
**Status:** Complete. Non-destructive source-layout separation only.

0 commit comments

Comments
 (0)