Skip to content

Chapter 5 - Connecting Your Device

CONNECT talks to your Midicake over one USB cable, but through two levels of connection. Understanding the split is the key to the whole app - every panel belongs to one level or the other.


Level 1 - MIDI

The moment your device is plugged in and selected in the top bar, the MIDI connection is active. No button to press. This is ordinary Web MIDI - the same stream any music app would see.

What it carries: notes, clock, transport - the musical traffic.

What it unlocks:

  • Visualizer - draws what the device plays
  • Log - the scrolling message console
  • Tempo detection from the device's clock

The MIDI connection is passive and always-on. If the selector shows your device, this level is working.


Level 2 - Live

Live is the direct line to the hardware - a serial connection over the same cable, opened when you press the Go Live broadcast icon and pick the device in the browser prompt. The icon turns green while Live.

What it carries: the screen stream, patch data, diagnostics - the device's internals.

What it unlocks:

  • Screen - the pixel-for-pixel LCD mirror
  • Patch Data - reading and writing the device's patches, banks and globals
  • Backups and restores
  • Diagnostics - crash dumps and live logs
  • The DEVICE guide - contextual help that follows the device's current mode
  • The live overlay on your device's card in Routing

Why two levels? MIDI is a broadcast - anything on your system can listen. The Live line is exclusive and richer: it streams the screen and moves patch data, things MIDI was never built for. Browsers guard that kind of direct hardware access behind an explicit permission prompt, which is why Live is a button and MIDI just happens.


Identify

When you go Live, CONNECT introduces itself to the device and asks who it's talking to. The reply carries the device type, firmware version, and its patch geometry - how many banks, how many patches per bank. The Overview panel shows the result, and the Patch Data tree builds itself to match.

You can re-run this any time from Patch Data → Device Actions → Identify - useful after a firmware update, since the firmware version on Overview comes from this handshake.

Identify also carries the device's storage layout version, which CONNECT uses to keep old backups from being restored onto incompatible firmware - the safety guard described in Chapter 8.


Going Live: what to expect

  1. Press the broadcast icon.
  2. The browser lists eligible devices - pick the Midicake, confirm.
  3. The icon turns green; the Screen panel starts mirroring within a moment.

The browser's port picker after pressing Go Live - pick the Midicake entry and confirm

The permission prompt appears once per session. On desktop the connection uses Web Serial; on Android, WebUSB - same button, same result (Chapter 3).

Ending Live is the same button again. Panels that need Live return to their "Press the Go Live button" prompts - several of those prompts include a broadcast icon of their own, which is a shortcut to the same connection.


When the device disappears

Unplugging mid-session, a loose cable, or the device restarting all end the Live connection. CONNECT notices, drops back to the not-Live state, and the MIDI selector may briefly show NO DEVICE FOUND until the device re-enumerates. Reconnect is the ↻ button, then Go Live again.

Nothing is harmed by an abrupt disconnect while reading. Interrupting a write - sending patches to the device or restoring a backup - is the one case worth avoiding; Chapter 8 covers how transfers behave.


Several devices at once

The device selector lists every Midicake it finds; CONNECT works with the one selected. Switching devices mid-session is fine - change the selector, reconnect, go Live on the new device. The Patch Store doesn't care which device is connected; folders from any device sit side by side, each tagged with where it came from.