CHANNEL OSC Control @ vrch.ai
On/off a channel from an OSC message
- any_channel_on
- any_channel_off
- ANY_OUTPUT
The CHANNEL OSC Control @ vrch.ai is the switch-flipper of the pack's OSC family. Where the ANY Value OSC Control node receives a raw value from a fader or knob, this one is built around on/off: an OSC message turns a channel on or off, and the node reflects that state as an ANY_OUTPUT you can branch on. It's the "button" flavor of OSC control, for the moments when a boolean is all you need.
Think of the use cases: a footswitch toggling between two prompt modes, a button on a phone that starts and stops a generation loop, an OSC-triggered bypass for an effect chain. All of those are just "is this channel on or not," and that's precisely the shape this node serves. It's also the natural building block for the pack's TouchOSC panel, which ships in the repo as comfyui_osc_control.tosc - load it into the TouchOSC app and you've got ready-made buttons wired for this scheme.
How it works
Two *-typed inputs set the state: any_channel_on and any_channel_off. Wire a signal into "on" and the channel flips on; into "off" and it flips off. The ANY_OUTPUT output then carries the current state - the practical pattern is feeding any_channel_on and any_channel_off from OSC value nodes so a message can drive the switch. server_ip, port (default 8000), and path (default /channel) define where it listens.
The * typing is the interesting part: these inputs accept almost anything, because all the node cares about is "did a signal arrive here." You don't need a perfectly-typed boolean source - any incoming value on the right input flips the state.
Installing it
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/VrchStudio/comfyui-web-viewer
pip install -r comfyui-web-viewer/requirements.txt
Or install "ComfyUI Web Viewer" via ComfyUI Manager and restart. OSC support is built in - nothing extra to install.
The gotcha (same as every OSC node here)
Default server_ip is 172.17.0.2 - a Docker bridge address from the author's setup. On a normal machine you want 127.0.0.1 or your LAN IP, or messages never arrive. And remember the whole OSC family lives on a network protocol: the sending app and this node must agree on IP, port, and path, and be able to reach each other.
If you need more than one switch, the pack's CHANNEL x4 OSC Control gives you four of these channels with their own paths and outputs in a single node - grab that instead of stacking four of these. This one is the minimal single-channel version.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| any_channel_on | * | — | |
| any_channel_off | * | — | |
| server_ip | STRING | 172.17.0.2 | — |
| port | INT | 80000–65535 | — |
| path | STRING | /channel | — |
| debug | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| ANY_OUTPUT | * | — |