Trigger Toggle x8 @ vrch.ai
Eight latched switches for the full control deck
- OUTPUT1
- OUTPUT2
- OUTPUT3
- OUTPUT4
- OUTPUT5
- OUTPUT6
- OUTPUT7
- OUTPUT8
- JSON
Trigger Toggle x8 is the whole latch bank in one node. Eight independent toggle channels, eight trigger inputs, eight boolean outputs, and a single JSON output that reports the state of all eight at once. It's the version you graduate to when the x4 stops being enough - which happens the moment you're driving a real interactive workflow and every branch of the graph wants its own switch.
How it works
Each channel is a self-contained T flip-flop, identical in spirit to the pack's single Trigger Toggle. trigger1 through trigger8 are the pulse inputs - feed one a true and its output flips. initial_state1 through initial_state8 set the starting position of each (all default OFF). The eight OUTPUT1–OUTPUT8 booleans are completely independent; nothing about channel three can disturb channel seven.
The JSON output is the part that scales: it mirrors all eight states in one structure, so a single wire can carry your entire switch deck to a logger, a status display in a web viewer, or any JSON-aware logic node. When you've got eight states, passing one bundle around beats routing eight booleans everywhere.
Where it fits
The obvious pairing is with the pack's SWITCH OSC Control, which gives you eight OSC toggles - but those are value-driven and reflect whatever the controller last sent. Feed them into this node's eight triggers and you get eight latched states: press a button on the tablet, the state flips and stays flipped until you press it again, regardless of what the controller does next. That's the difference between "controls that mirror the hardware" and "states that survive the hardware."
Eight channels is enough to mute and enable every meaningful segment of a medium workflow - prompt branches, upscalers, LoRAs, viewers - and still have a couple spare for experiments.
Installing it
Standard pack install:
- ComfyUI Manager → search ComfyUI Web Viewer → install.
- Manual:
Windows portable:cd ComfyUI/custom_nodes git clone https://github.com/VrchStudio/comfyui-web-viewer pip install -r requirements.txtpython_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\comfyui-web-viewer\requirements.txt. - Restart ComfyUI.
No models, no config. First install is slow because the pack's requirements.txt also bundles the optional Music2Emotion stack - unrelated to this node, just let it finish.
Gotchas
The toggle rules scale too. Each triggerN is optional and default-empty: an unwired channel sits at its initial_state forever, which reads as a bug until you notice there's no wire. And these are pulse latches, not level followers - feed a channel a continuous high and it flips on one execution, flips back on the next. Send momentary pulses. If one channel ever seems possessed, debug mode will show you exactly what each trigger is receiving, and it's almost always a held-high signal or a missing connection.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| initial_state1 | BOOLEAN | false | — |
| initial_state2 | BOOLEAN | false | — |
| initial_state3 | BOOLEAN | false | — |
| initial_state4 | BOOLEAN | false | — |
| initial_state5 | BOOLEAN | false | — |
| initial_state6 | BOOLEAN | false | — |
| initial_state7 | BOOLEAN | false | — |
| initial_state8 | BOOLEAN | false | — |
| debug | BOOLEAN | false | — |
| trigger1opt | BOOLEAN | — | |
| trigger2opt | BOOLEAN | — | |
| trigger3opt | BOOLEAN | — | |
| trigger4opt | BOOLEAN | — | |
| trigger5opt | BOOLEAN | — | |
| trigger6opt | BOOLEAN | — | |
| trigger7opt | BOOLEAN | — | |
| trigger8opt | BOOLEAN | — |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| OUTPUT1 | BOOLEAN | — |
| OUTPUT2 | BOOLEAN | — |
| OUTPUT3 | BOOLEAN | — |
| OUTPUT4 | BOOLEAN | — |
| OUTPUT5 | BOOLEAN | — |
| OUTPUT6 | BOOLEAN | — |
| OUTPUT7 | BOOLEAN | — |
| OUTPUT8 | BOOLEAN | — |
| JSON | JSON | — |