← Collaboration overview

⚙️ Collaboration Settings

Reference for every toggle on the Edit → Settings → Collaboration tab. Defaults are chosen so an unconfigured editor never touches the network: enable Collab on a per-feature basis as needed.

MidiEditor Settings dialog open on the Collaboration tab
The complete Collaboration tab - identity at the top, then hosting safety, WAN rendezvous, Discord webhook, and logging.

Identity

Display name

The name shown to peers in Live sessions and in the History tab. No uniqueness check - pick whatever you want.

Default: system username. Storage: local QSettings only.

The machine UUID is derived once and stored next to the settings; it's not user-editable (it's there to let multiple PCs with the same display name still get distinct authorship in history).


Hosting safety

Work on a copy when hosting

When checked, starting a Live session saves <name>_shared.mid in Documents/MidiEditor_AI/shared and switches the editor to that copy. Your original file stays untouched on disk.

Default: ON. Recommended: leave it on. Originals are precious; a copy is cheap.

A note on non-MIDI source files: when you host on a Guitar Pro (.gp3/.gp4/.gp5/…), MML, MusicXML, or MuseScore file, the shared copy is written as <name>_shared.mid - MidiEditor's editor works on a MIDI representation internally, and saving to disk always produces MIDI bytes regardless of the source extension. Your original on disk stays in its native format, untouched.


WAN Rendezvous

Rendezvous URL

Where MidiEditor posts the offer SDP and polls for the answer SDP during WAN handshake.

Default: Happy Tunes shared endpoint (rate-limited). Self-host: see the Cloudflare walkthrough.

Test connection

Two-stage diagnostic: pre-flight GET /health against the URL, then an in-process two-transport DTLS handshake (host candidates only, no STUN). Reports a quality grade.

When to run: after changing the URL, when sessions fail to connect.
Connection Test in action - pre-flight /health, rendezvous round-trip, DTLS loopback, quality grade reported. The full sequence runs in under 6 seconds when the network is healthy.

ICE gathering timeout

Max wait for STUN to finish gathering candidates before the SDP is published anyway.

Default: 8 000 ms. Raise if: your STUN endpoint is slow / far.

Auto-reconnect on transport failure

When checked, a Live session that loses its WebRTC channel will restart the rendezvous flow with the same code, up to Max retry attempts times. Each peer's reconnect is independent - one joiner's failed retry doesn't kick the others.

Default: OFF. Caveat: won't recover when the host restarts and gets a new code; in that case the joiner has to enter the new code manually.

Max retry attempts

How many auto-reconnect tries before MidiEditor gives up and leaves the session. Each retry waits ~2 seconds before the next attempt.

Default: 2. Range: 1-5.

Discord webhook

Webhook URL

Discord webhook URL. When non-empty, Create PR posts an embed + smart-paste token to the channel attached to this webhook.

Default: empty (= no posting). Format: https://discord.com/api/webhooks/<id>/<token>.

Even with a URL set, every individual Create PR dialog has a checkbox to skip the post for that one share - useful for private one-offs you don't want broadcast to the channel. See the Discord page for the full webhook setup and embed format.


Logging

Verbose collab logging

Promotes the midieditor.collab.* log categories to debug-level. Shows every wire frame, ICE candidate, and snapshot diff. Big output - only enable when troubleshooting.

Default: OFF. Log location: see button below.

Open log file

Reveals the active midieditor_ai.log in your file manager. The log lives next to the MidiEditorAI.exe.

Rotation: 10 MB cap, with three numbered backups (.log.1 / .2 / .3). 40 MB total disk budget, oldest dropped first.

For the general Logging settings (level, file path, rotation, per-category overrides), open the Logging tab in Settings - or read the dedicated Logging manual page which walks through each level with sample output, size estimates, and when to attach a log to an issue. The Verbose-collab-logging checkbox here is just an overlay on top of whatever level you've picked there.