Nodes/Shima/Shima Demux
ComfyUI Node

Shima Demux

Pull one channel out of Shima's 20-knob control panel

By KDB-USJP·Created 6 months ago·Updated 6 months ago· 2
Shima Demux
  • mux_in
  • float_val
  • int_val
target_channelCFG
show_labelstrue

If you've ever wished a workflow felt more like a mixing desk than a spreadsheet, Shima built the toy for you: a big rotary "Omnijog" encoder with up to twenty channels, each labelled (CFG, SEED, LORA1…LORA18 by default), where you scroll to a channel and turn the dial. The Omnijog packs every channel's value onto one multiplexed MUX wire. This node - Shima Demux - is the other end of that cable: it filters the MUX signal down to the single channel you name and hands you its value as plain FLOAT and INT.

Mechanically it's a dictionary lookup with a memory. The Omnijog builds a dict keyed by channel label ({"CFG": (label, float, int), "SEED": ...}), and the Demux reads the entry for your target_channel, returning the float and the int versions of that channel's value. The clever bit is the cache: if the Omnijog switches to a different channel, the Demux keeps returning the last value it saw for yours instead of collapsing to zero. That's a small detail that saves you from constant "why did my CFG reset to 0" confusion when you're twiddling the encoder around.

The inputs that matter:

  • mux_in (MUX) - connect the mux_out from an Omnijog. Nothing else feeds it.
  • target_channel (STRING, default CFG) - the channel label you want out. It matches against the Omnijog's channel labels, so keep the spelling identical.
  • show_labels (BOOL, default on) - cosmetic, labels the node in the UI.

Outputs are float_val (FLOAT) and int_val (INT) - the same channel as both types, so you can drive a CFG slider, a steps counter, or anything else that expects a specific numeric type without a cast node.

This is a frontend-heavy node: the Omnijog's dial and the Demux's readout are drawn by the pack's JS (shima_omnijog.js, shima_demux.js), and the backend is a thin pass-through. So if the fancy UI doesn't render, that's a JS-loading problem, not a wiring one - restart ComfyUI and hard-refresh the browser tab before you start blaming your graph.

Where you'd reach for it: any Shima "control panel" workflow where you want one rotary encoder to tweak several parameters without a wall of sliders, or an A/B-style workflow where one dial drives whichever channel you've selected. If your target is a string (like picking a sampler name from a list), you want the sibling node, Shima Demux List, instead.

Install the pack with ComfyUI Manager (search "Shima") or:

cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf

then restart. No models, no extra deps - though the pack's first-run installer will pull ComfyUI-Impact-Pack and cg-use-everywhere if you don't have them, since the wider Island system leans on Use Everywhere.

CategoryShima/System

Inputs (3)

NameTypeDefaultDescription
mux_inMUXConnect the MUX output from an Omnijog.
target_channelSTRINGCFG
show_labelsoptBOOLEANtrue

Outputs (2)

NameTypeDescription
float_valFLOAT
int_valINT