Nodes/ComfyUI Web Viewer/OSC Control Settings @ vrch.ai
ComfyUI Node

OSC Control Settings @ vrch.ai

One place to set your OSC server, so the rest stay sane

By VrchStudio·Created 2 years ago·Updated 22 days ago· 356
OSC Control Settings @ vrch.ai
    • SERVER_IP
    • PORT
    server_ip172.17.0.2
    port8000
    debugfalse

    If you've ever had a workflow with six OSC nodes in it and realized you typed the IP wrong in five of them, OSC Control Settings is the node you were missing. It doesn't listen to anything and it doesn't send anything. It just holds your OSC server address and port in one place and hands them to every other OSC node in the graph, so you configure the connection once instead of six times.

    How it works

    Set server_ip and port here, and the node passes them out as a SERVER_IP string and a PORT integer. Wire those into the matching server_ip and port inputs of your INT OSC Control, SWITCH OSC Control, TEXT Switch OSC Control, and friends. Change one field and the whole workflow follows. That's the entire mechanism, and the entire value.

    It's also the honest answer to a question beginners ask: "which node actually opens the OSC socket?" None of the OSC nodes are the server - the pack's Web Viewer frontend hosts the OSC receiver, and the OSC client (usually TouchOSC on a tablet, or any phone app) sends messages into it. This settings node just keeps the addressing consistent across your graph. The debug toggle prints the resolved IP/port to the console so you can verify what the nodes actually connected to.

    The inputs that matter:

    • server_ip - the IP of the machine running ComfyUI. The default 172.17.0.2 is a leftover from the author's Docker setup; on a normal install you'll almost always set this to 127.0.0.1 (same machine) or your machine's LAN IP.
    • port - 8000 by default. If your OSC client sends to a different port, this is where you fix it.
    • debug - console logging for confirming the config.

    Why bother

    OSC is the pack's most powerful control bus precisely because it's hardware-agnostic - that's the same reason someone once drove IC-Light from a phone gyroscope over OSC in a genuinely neat 2024 experiment. But a 10-node OSC workflow where every node hardcodes its own IP is a maintenance trap waiting to spring mid-set. Centralizing the config is the difference between "change the port in one place" and "hunt through the graph for the one node you forgot."

    The pack even ships a ready-made TouchOSC panel (comfyui_osc_control.tosc) designed to talk to these nodes on port 8000, so the intended flow is: set the IP here, load that panel, go.

    Installing it

    Standard pack install:

    1. ComfyUI Manager → search ComfyUI Web Viewer → install.
    2. Manual:
      cd ComfyUI/custom_nodes
      git clone https://github.com/VrchStudio/comfyui-web-viewer
      pip install -r requirements.txt
      
      Windows portable: python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\comfyui-web-viewer\requirements.txt.
    3. Restart ComfyUI.

    The OSC dependency (python-osc) rides in with the requirements. First install is slow because the file also pulls the optional Music2Emotion stack; ignore it.

    Gotchas

    The classic failure: you set server_ip to 172.17.0.2 because that's what the field showed, and nothing ever arrives. That IP is a Docker bridge address - on a normal desktop install it points nowhere. Also remember this node is pure configuration: if you wire its outputs into nothing, the other OSC nodes still use their own inline defaults, so the settings node only helps the nodes you actually connect it to.

    Categoryvrch.ai/control/osc

    Inputs (3)

    NameTypeDefaultDescription
    server_ipSTRING172.17.0.2
    portINT80000–65535
    debugBOOLEANfalse

    Outputs (2)

    NameTypeDescription
    SERVER_IPSTRING
    PORTINT