v0.13 — 2026-06-22
- Proper extension icon: OnMic mic-with-on-air-light mark shown in
Premiere's Window > Extensions menu and the panel tab. Normal /
RollOver / Dark variants at 1x + 2x (retina) in /icons. Current version: v0.87
- Proper extension icon: OnMic mic-with-on-air-light mark shown in
Premiere's Window > Extensions menu and the panel tab. Normal /
RollOver / Dark variants at 1x + 2x (retina) in /icons. - Product name: the tool is now "OnMic" (was "Multicam Switcher").
New logo (mic + on-air light) and wordmark in the panel header;
Window > Extensions menu item renamed to "OnMic".
- Visual redesign: card-grouped sections, settings-list rows with
hairline dividers and aligned controls, matched widths for the
profile dropdown / save box, Premiere-blue accent (was purple),
gradient progress bar, polished buttons + focus states.
- Standard cutting method re-tuned to a calmer pro baseline
(Ignore Cuts 2.0s, Delay Cuts 0.15s); Fast 0.8s/0.08s,
Relaxed 4.0s/0.25s — grounded in talking-head/podcast norms. - Better default cutting settings. Standard now matches the common
podcast-editor baseline: Delay Cuts 0.1s (was 0.25s), Ignore Cuts
Less Than 1.0s (was 2.0s). Fast = 0.05s / 0.7s, Relaxed = 0.25s /
2.5s. Snappier, more natural default pacing.
- Renamed the "Preview mapping only" button to
"Preview the cuts (nothing changes yet)" for clarity. The whole pipeline works end to end: analyze audio straight from the
Premiere timeline, decide who is talking, and apply non-destructive
camera switches — all from a dockable panel.
Analyzer (analyze.py):
- RMS energy + silero VAD (auto-falls back to RMS if torch missing).
- Dominance / overlap detection; smoothing state machine
(min/max shot, switch delay, lead offset, blip rejection).
- Reconstructs the EDITED timeline from each mic's clips (handles
head/tail trims and internal cuts), bounded to the real length.
- Per-channel level normalization so quiet mics aren't ignored.
- Gapless cuts.json output + console timeline + [diag] talk-time
and [progress] lines.
- Validation gate (unique names, cameras reference real speakers,
every speaker on a camera, etc.).
Channel detection (detect_channels.py):
- Flags stereo/mono MIX channels (near-identical) and suggests the
isolated mic channels, so a poly WAV's mix tracks are skipped.
Probe (probe_audio.py):
- Per-channel loudness meter + peak/median, with start/duration args.
Injector (ExtendScript via the panel host + standalone injector.jsx):
- enable_disable mode (QE razor split + TrackItem.disabled) and a
flatten fallback. Audio tracks untouched. Validation + confirm gate.
Panel (CEP extension, AutoPod-style layout):
- Profiles: save / load / delete named setups (counts, names, camera
tags, cutting style). Stored locally, persist across restarts.
- Layout Info: Cutting Method, Wide-Shot Frequency, Speaker #, Camera #.
- Advanced: Delay Cuts, Ignore Cuts Less Than, Output mode.
- Speaker Names A1..An (audio tracks) + Tag Speakers V1..Vn (cameras).
- Reads audio + video tracks from the active sequence automatically;
channels chosen automatically (mix skipped). Re-reads before every
run, plus a self-correcting re-read shortly after Premiere startup.
- One-click "Create Multi-Cam Edit" or "Preview mapping only", with a
progress bar and Stop button.
- Default speaker names are distinct (Speaker 1..N) instead of the
source filename.
- Dominance margin raised (Standard 9 dB) to reduce false cuts from
mic bleed.
Install:
- setup_mac.command (Python env), install_panel_mac.command (panel).
====================================================================