IAMCCS AudioBoard Mixer
The channel-strip mixer for your Shotboard audio
- cine_linx
- cine_linx
- mixer_json
- report
A mixing console surface, riding on the Shotboard contract
The IAMCCS AudioBoard family splits the audio-production job in two. The Arranger is the timeline/lane editor; this node is the mixing console - the channel strips where you set per-track volume, pan, inserts, and the master bus. It's the "Reaper-style channel strips" view, per its own default view config, and like its sibling it works by syncing state through the pipeline's cine_linx contract rather than by holding its own audio copy.
How it works
The mixer_data input is a JSON blob carrying the mixer state: mirrorTrackSettings (per-track volume/pan/inserts mirrored from the board), a masterBus section (limiter on by default, ceilingDb at -1.0, compressor, width, reverb and delay sends), and a view config (style: reaper_channel_strips, meter_mode: peak_rms). The tooltip again says it plainly: "Mirrors AudioBoard track volume, pan, inserts and master bus state."
Two knobs do the real work:
sync_policy-mixer_overrides_cine_linx(default) means the mixer settings win and get written into the contract;read_only_monitormeans the mixer just displays the state without writing back. Use read-only when you're checking what the pipeline thinks, and the override mode when you're actually mixing.cine_linx(optional) - the contract to sync against. Required for the node to do anything meaningful, since its whole job is "read the contract, apply the mixer, write the contract."
Outputs: the updated cine_linx, the mixer_json snapshot, and a report.
The honest take
Same story as the Arranger: this is a component of the pack's Shotboard production path, not a standalone tool. It exists so that, in a cinematic multi-lane workflow, you can mix audio like you would in a DAW - without exporting to one - and have those decisions land in the same contract the render stage reads. If you're not running a Shotboard/AudioBoard workflow, you'll have no reason to add it, and it won't do anything on its own.
Install via the pack: ComfyUI Manager (search "IAMCCS") or git clone https://github.com/IAMCCS/IAMCCS-nodes.git into custom_nodes, restart. There's a catch worth flagging: because mixer_data is a giant JSON default string, old saved workflows can drift from current widget definitions - if a loaded workflow shows mixer settings in the wrong places, the pack's own advice applies: recreate the node rather than fighting the stale JSON. The report output is your friend for confirming the mixer actually overrode the contract.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| mixer_data | STRING | { "schema": "iamccs.audio_board_mixer", "schema_version": 1, "mirrorTrackSettings": [], "masterBus": { "limiter": true, "compressor": 0.0, "ceilingDb": -1.0, "width": 1.0, "reverbSend": 0.0, "delaySend": 0.0 }, "view": { "style": "reaper_channel_strips", "meter_mode": "peak_rms" } } | Edited by the IAMCCS AudioBoardMixer UI. Mirrors AudioBoard track volume, pan, inserts and master bus state. |
| sync_policy | COMBO | mixer_overrides_cine_linx | 2 options: mixer_overrides_cine_linx, read_only_monitor |
| cine_linxopt | IAMCCS_SUPERNODE_LINX | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — |
| mixer_json | STRING | — |
| report | STRING | — |