Description:
Add first-class
OSC transmit
so Loopy Pro can
send
Open Sound Control messages—alongside its existing OSC
receive
—from actions, follow actions, widgets, and mappings. Include typed arguments, bundles with timetags, quantized scheduling, reusable targets/profiles, and a built-in monitor. This enables many projects to run
without TouchOSC
, using Loopy Pro itself as the OSC hub.
Problem:
Loopy Pro already
receives
OSC, but cannot
send
it natively. That forces external bridges or companion apps to drive lights, visuals, mixers, or remote UIs—adding latency, setup complexity, and failure points. Tight, bar/beat-quantized cues are harder without host-level scheduling.
Proposed Solution:
  • OSC Targets:
    Named destinations (Host/IP, Port, UDP default, optional TCP/multicast), mDNS discovery, test ping, per-target rate limit and reconnect policy.
  • Message Builder:
    Path (e.g.,
    /loopy/clip/1/play
    ) with typed args (
    int, float, string, bool, blob
    ). Variables/expressions usable in path and args (e.g.,
    /tempo/{tempo.bpm}
    ,
    {clip.name}
    ), presets for common cues.
  • Bundles & Scheduling:
    Build
    OSC bundles
    with
    timetags
    ; schedule
    Now
    ,
    Next Beat/Bar/Loop
    , or
    Cycle of Clip X
    with ±beat/ms offsets; integrates with late-press guards and cycle-synced ramps.
  • Integrations & Triggers:
    Send on clip/transport/page events; bind to widgets/faders with delta thresholds and throttling (e.g., 30 Hz).
  • Templates/Compat:
    One-click profiles for
    TouchOSC
    ,
    Resolume
    ,
    QLC+
    ,
    OBS
    , etc.; optional
    OSC Query
    to browse remote parameters and auto-generate mappings.
  • Monitor & Debug:
    In-app
    OSC Monitor
    (timestamped log, resolved args, per-target counters, latency estimate), log-to-file, failure HUD.
  • Security & Safety:
    Allowlist/local-network-only toggle, max message size/rate, pause during critical recording if desired.
  • Presets & Actions:
    Project/page
    OSC Profiles
    and actions to
    Send OSC
    ,
    Send Bundle
    ,
    Select/Enable Target
    ,
    Load Profile
    . Variables like
    osc.targetName
    ,
    osc.lastLatencyMs
    ,
    osc.sentCount
    .
Benefits:
  • Direct, low-latency control of lighting, visuals, mixers, and remote UIs
    without extra apps
    .
  • Musically tight,
    bar/beat-quantized
    cues aligned to clips/scenes.
  • Simpler rigs with fewer points of failure and clearer debugging.
  • Reusable, portable profiles across projects and tours.
Examples:
  • On
    clip launch
    , send
    /layer/3/trigger
    to Resolume
    at next bar
    with
    {clip.name}
    as an argument.
  • A tap-tempo widget also transmits
    /tempo
    and
    /timeSig
    to lighting; changes apply
    bar-quantized
    .
  • A fader streams
    /mix/ch/1/fader {widget.value}
    to an external mixer, throttled to 30 Hz with Δ≥0.01.
  • On
    scene load
    , fire a bundle: set synth program, switch OBS scene, and display a confirmation HUD on a remote tablet via TouchOSC—
    all from Loopy Pro
    .
This summary was automatically generated by GPT-5 Thinking on 2025-10-08.
Original Post:
The option to not only recieve but also send OSC messages