myOSC Cubes — Help & Troubleshooting Guide
Welcome to myOSC, a touch-friendly client for sending and receiving Open Sound Control (OSC) messages on iPhone, iPad, and Mac. This guide answers common questions and walks you through the most frequent issues users run into.
Table of Contents
Quick Start
- Open Settings (gear icon).
- Under Destinations, tap Add Destination and enter the host (IP address or hostname) and port of the device you want to control.
- Return to the main screen and tap + to add a control (slider, toggle, message, XY pad, etc.).
- Configure the control’s OSC address (for example,
/synth/volume) and pick its destination. - Tap or drag the control to start sending OSC.
To receive OSC, enable the Listener in Settings and choose a port (default 9000). Add a Monitor object to see incoming traffic live.
Understanding OSC Objects
myOSC offers several control types:
| Object | Purpose |
|---|---|
| Send Message | A button that fires a single OSC message with your specified arguments. |
| Send Bundle | Sends multiple messages atomically as one OSC bundle. |
| Float Slider | Drag to send float values (0.0–1.0). |
| Int Slider | Drag to send integer values across a configurable range. |
| Toggle | Tap to send on/off as either booleans (T/F) or integers (1/0). |
| XY Pad | Two-axis drag surface that sends separate X and Y addresses. |
| Monitor | Live log of every incoming OSC message matching an optional regex filter. |
| Query / Responder | Sends a query and displays the response. |
Connection Troubleshooting
My OSC messages aren’t reaching the destination
Try each step in order:
- Confirm the destination IP and port. Open Settings → Destinations and double-check. A common mistake is using the wrong port (e.g., 8000 vs 9000).
- Verify both devices are on the same network. Wi-Fi guest networks, “Private Wi-Fi Address” features, and AP/client isolation often block device-to-device traffic.
- Check that “Disable Outgoing Network” is OFF in Settings. This switch silently drops every outbound message — useful during rehearsal, but easy to forget.
- Look at your device’s local IP (shown in Settings) and confirm it is on the same subnet as the target.
- Test with a known-good receiver. Free tools like Protokol (Hexler) or OSC/PILOT make it easy to confirm packets are arriving.
- Check for a red error banner at the top of the main screen — it surfaces the most recent send failure (e.g., “Host not found”, “No route to host”).
I can send but not receive
- Make sure Enable Listener is ON in Settings.
- Confirm the Listen Port matches the port your sender is targeting.
- On iOS, the system may prompt for Local Network Permission the first time. If you denied it, go to iOS Settings → myOSC → Local Network and turn it back on.
- Only one app can bind to a given port at a time. If another OSC app is already listening on
9000, change the port in myOSC. - Some routers block UDP between devices. Try moving both devices onto the same Wi-Fi access point.
“Local Network” permission prompt
iOS 14+ requires apps to request permission before they can communicate with other devices on the LAN. If you accidentally dismissed or denied this prompt, you must enable it in iOS Settings → Privacy & Security → Local Network → myOSC. Without this, OSC simply will not work.
Messages arrive late or feel laggy
- Sliders and XY pads are throttled to avoid flooding the network, but you can still hit limits over weak Wi-Fi. Move closer to the router or use a wired bridge.
- Some receivers smooth incoming values — this is not myOSC adding latency.
- Bundles add one trip but reduce overall message count; consider grouping related controls.
OSC Addressing Basics
OSC addresses look like file paths: /synth/osc1/freq. Tips:
- Addresses must start with
/. - Do not include spaces. Use underscores or camelCase.
- Many receivers are case-sensitive.
/Volumeand/volumeare different addresses. - Type tags (
,if,,s, etc.) are generated automatically from the arguments you configure — you don’t enter them by hand.
If your receiver expects specific argument types (float vs int), set them carefully in the editor. A receiver listening for a float may ignore an int and vice versa.
Working with Shows
myOSC saves your configuration as an .oscShow file (JSON under the hood).
- Save / Export: Use the share button or the document menu to save a show file.
- Open: Tap an
.oscShow(or.json) file in Files, Mail, or AirDrop to open it in myOSC. - Share with collaborators: The file is plain text — safe to email, store in cloud storage, or commit to version control.
- Editing externally: The JSON is pretty-printed for readability, but invalid edits will fail to load. Make a backup before hand-editing.
My show file won’t open
- Confirm the extension is
.oscShowor.json. - Open the file in any text editor and verify it is valid JSON.
- If the file came from a much older version of the app, some fields may have changed names. Try recreating the affected objects.
The Monitor
The Monitor object shows every OSC message arriving at your listener port.
- Tap the filter field and enter a regular expression to limit what you see (e.g.,
^/synth/to show only synth messages). - The log holds up to 500 messages; older entries roll off automatically.
- Use the Export / Share button to send the log as plain text for debugging.
- Each entry shows the address, type tags, arguments, sender IP/port, and timestamp.
Monitor shows nothing
- Verify the listener is enabled and the port matches your sender.
- Clear any regex filter — a typo will hide everything.
- Confirm Local Network permission (iOS).
Layout & Appearance
- Choose Grid or List layout in Settings.
- Set the default Card Size (small, medium, large) for new objects.
- Each object can also be resized individually from its editor.
- The interface adapts to iPad split view and macOS window resizing.
Common Error Messages
| Message | What it means | What to do |
|---|---|---|
| Host not found | The hostname couldn’t be resolved. | Use an IP address, or check the spelling. |
| No route to host | The target is unreachable. | Check both devices are on the same network. |
| Listener failed to start | Port couldn’t be bound. | Another app may be using the port. Pick a different one. |
| Decode error / Invalid type tag | An incoming message was malformed. | Usually a sender bug. Check the sender’s OSC implementation. |
| No destinations configured | You tried to send before adding a destination. | Open Settings → Destinations and add one. |
Resetting the App
If myOSC gets into a weird state, try these in order:
- Force-quit the app (swipe up from the App Switcher) and relaunch.
- Toggle the Listener off and on in Settings.
- Delete and re-add a problem destination.
- Restart your iOS device — fixes most lingering Local Network and Bonjour glitches.
- Reinstall the app. Your shows in iCloud Drive / Files will be preserved, but per-device settings (destinations, listen port, layout) will reset.
Frequently Asked Questions
Does myOSC support TCP?
No. myOSC uses UDP, which is the standard transport for OSC and what virtually all OSC-aware apps and devices expect.
Can I use myOSC over the internet / cellular?
It is designed for local Wi-Fi. Sending OSC across the internet requires a VPN or port-forwarding setup — not officially supported.
Can I send to multiple destinations at once?
Yes — each object picks its own destination. Use a Send Bundle to fire several addresses at once to the same target.
Does it support OSC over Bluetooth or MIDI?
No. Wi-Fi/UDP only.
Is there an Apple Watch version?
Not in the current release.
Where are my settings stored?
Destinations, listener config, and UI preferences are stored in the standard iOS/macOS preferences. Show files are saved wherever you place them (Files app, iCloud Drive, etc.).
Still Stuck?
If you’ve worked through this guide and OSC still isn’t behaving, please include the following when reaching out:
- Your device model and OS version
- myOSC version (shown in Settings)
- The exact OSC address and argument types you’re trying to send
- The receiving device or software, and its expected address/port
- Any error banner text from the top of the main screen
- A short Monitor export (if you can receive anything at all)
This information lets us diagnose the issue quickly.