Nodes/Shima/Shima Omnijog
ComfyUI Node

Shima Omnijog

A hardware shuttle wheel for 20 workflow parameters at once

By KDB-USJP·Created 6 months ago·Updated 6 months ago· 2
Shima Omnijog
    • mux_out
    active_channelCFG
    val_00.000
    val_10.000
    val_20.000
    val_30.000
    val_40.000
    val_50.000
    val_60.000
    val_70.000
    label_0CFG
    label_1SEED
    label_2LORA1
    label_3LORA2
    label_4LORA3
    label_5LORA4
    label_6LORA5
    label_7LORA6
    step_00.100
    step_11.000
    step_20.010
    step_30.010
    step_40.010
    step_50.010
    step_60.010
    step_70.010
    colors#ffaa00,#00aaff,#55ff55,#ff55aa,#aa55ff,#ffaa55,#55ffff,#ffff55,#0055ff,#ff0055
    rows10
    scale1.0
    val_80.000
    val_90.000
    val_100.000
    val_110.000
    val_120.000
    val_130.000
    val_140.000
    val_150.000
    val_160.000
    val_170.000
    val_180.000
    val_190.000
    label_8LORA7
    label_9LORA8
    label_10LORA9
    label_11LORA10
    label_12LORA11
    label_13LORA12
    label_14LORA13
    label_15LORA14
    label_16LORA15
    label_17LORA16
    label_18LORA17
    label_19LORA18
    step_80.010
    step_90.010
    step_100.010
    step_110.010
    step_120.010
    step_130.010
    step_140.010
    step_150.010
    step_160.010
    step_170.010
    step_180.010
    step_190.010

    Shima Omnijog is the strangest node in this pack, and the one people who like hardware-style UI will immediately fall for. It's a spring-loaded shuttle wheel, the kind you'd find on a video editing deck, that controls up to 20 workflow parameters. Spin the wheel to select a channel, use the +/- steppers to adjust its value, and each channel has its own label, step size, and LED color. It renders as a single compact control-room device on the canvas - and it's genuinely pleasant to use.

    The point is consolidation. Instead of 20 primitive float nodes scattered across your graph, you get one node where CFG, SEED, and LORA1–LORA18 all live. The default labels are literally CFG, SEED, LORA1 … LORA18 - the pack's authors clearly built this for the classic "tweak sampler params and LoRA weights" workflow. Each channel has an independent step size, which matters: stepping CFG by 0.1 is sensible, stepping SEED by 0.1 is not, and the Omnijog lets you set those separately.

    It's also the most "this is a UI, not a data node" of Shima's hardware widgets - the readout shows the active channel's value, and if that channel is wired through a DemuxList node, the readout switches from a number to the corresponding string label from the options array. The channel values and the active-channel selection persist in the workflow, so a saved workflow remembers which channel you were on.

    How it works

    Each channel's value, label, and step size are widget state (the val_*, label_*, and step_* inputs; values are JS-managed and hidden). On execution, the node packages the active rows channels into a single multiplexed dictionary: each channel label maps to a (label, float, int) tuple - so you get both the float value and its integer-rounded twin - plus a _active_ entry naming the current channel. That MUX travels down one wire, and downstream Demux nodes filter it by channel name to pull out a single value.

    So the wiring pattern is: Omnijog mux_out → Demux (pick channel) → the channel's FLOAT/INT → whatever input you want to drive. For string selection, DemuxList converts an active MUX channel into a STRING via an options array, which is how the readout learns to display labels.

    The inputs that matter

    • active_channel - which channel is selected (JS-managed).
    • val_0val_19 - the per-channel values (hidden widgets).
    • label_0label_19 - channel names (default CFG, SEED, LORA1–LORA18).
    • step_0step_19 - per-channel step size.
    • colors - comma-separated hex colors for the channel LEDs.
    • rows - how many channels the LED bar shows (2–20).
    • scale - visual size.

    Output: mux_out (MUX) - the multiplexed signal carrying every channel.

    How to install it

    Part of the Shima pack - ComfyUI Manager, search "Shima", or:

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

    restart. No extra dependencies; it's pure frontend + a dict-packing backend.

    Common issues & troubleshooting

    Demux returns the wrong value. The MUX keys on the label, not the index. Rename channel 3 to "SEED" and a Demux targeting "SEED" now reads channel 3. Keep labels unique, and if you're switching a channel's label, remember the downstream Demux follows the new name.

    Channels beyond 8 don't appear. rows controls how many channels the UI actually surfaces. Bump rows up to see more of the 20 available.

    CategoryShima/System

    Inputs (64)

    NameTypeDefaultDescription
    active_channelSTRINGCFG
    val_0FLOAT0.000
    val_1FLOAT0.000
    val_2FLOAT0.000
    val_3FLOAT0.000
    val_4FLOAT0.000
    val_5FLOAT0.000
    val_6FLOAT0.000
    val_7FLOAT0.000
    label_0optSTRINGCFG
    label_1optSTRINGSEED
    label_2optSTRINGLORA1
    label_3optSTRINGLORA2
    label_4optSTRINGLORA3
    label_5optSTRINGLORA4
    label_6optSTRINGLORA5
    label_7optSTRINGLORA6
    step_0optFLOAT0.100
    step_1optFLOAT1.000
    step_2optFLOAT0.010
    step_3optFLOAT0.010
    step_4optFLOAT0.010
    step_5optFLOAT0.010
    step_6optFLOAT0.010
    step_7optFLOAT0.010
    colorsoptSTRING#ffaa00,#00aaff,#55ff55,#ff55aa,#aa55ff,#ffaa55,#55ffff,#ffff55,#0055ff,#ff0055
    rowsoptINT102–20
    scaleoptFLOAT1.00.1–10
    val_8optFLOAT0.000
    val_9optFLOAT0.000
    val_10optFLOAT0.000
    val_11optFLOAT0.000
    val_12optFLOAT0.000
    val_13optFLOAT0.000
    val_14optFLOAT0.000
    val_15optFLOAT0.000
    val_16optFLOAT0.000
    val_17optFLOAT0.000
    val_18optFLOAT0.000
    val_19optFLOAT0.000
    label_8optSTRINGLORA7
    label_9optSTRINGLORA8
    label_10optSTRINGLORA9
    label_11optSTRINGLORA10
    label_12optSTRINGLORA11
    label_13optSTRINGLORA12
    label_14optSTRINGLORA13
    label_15optSTRINGLORA14
    label_16optSTRINGLORA15
    label_17optSTRINGLORA16
    label_18optSTRINGLORA17
    label_19optSTRINGLORA18
    step_8optFLOAT0.010
    step_9optFLOAT0.010
    step_10optFLOAT0.010
    step_11optFLOAT0.010
    step_12optFLOAT0.010
    step_13optFLOAT0.010
    step_14optFLOAT0.010
    step_15optFLOAT0.010
    step_16optFLOAT0.010
    step_17optFLOAT0.010
    step_18optFLOAT0.010
    step_19optFLOAT0.010

    Outputs (1)

    NameTypeDescription
    mux_outMUX