Clients

Overview

Oscilla is a networked score system. Multiple performers connect to the same server and share a synchronized view of the score, playhead position, and interactive elements. Each connected device is a client.

The client system provides:


Client Indicators

The client list appears in the top-left corner of the interface. Each connected client is represented by a colored square.

Visual element Meaning
Colored square A connected client
White border Your own client (local)
Green checkmark Selected for targeted triggers

Hover over any indicator to see the client's display name in a tooltip.


Editing Your Identity

Double-click your own client indicator (the one with the white border) to open the client editor:

Your identity persists across browser sessions. Other performers see your name in tooltips and your color on shared markers and annotations.


Client Colors

Each client is assigned a unique color from a predefined palette. This color is used for:

Colors help identify at a glance who created which markers or annotations. You can change your color in the client editor, and individual markers can override their color in the marker editor.


Targeted Audio Triggers

When audio objects are set to shared scope, triggering them normally broadcasts to all connected clients. The client indicator system allows you to target specific clients instead.

Selecting targets

  1. Click any client indicator to toggle its selection
  2. Selected clients show a green checkmark overlay
  3. Multiple clients can be selected simultaneously
  4. Click a selected client again to deselect

Triggering to targets

With clients selected:

Clearing selection

Click all selected clients to deselect them, or simply leave them selected for subsequent triggers. When no clients are selected, triggers revert to broadcasting to everyone.

Use cases


Synchronization

Clients automatically synchronize:

Each client maintains its own local state for:

Network Sync Toggle

The network sync toggle in the top bar controls how your client participates in synchronization. Click the toggle to cycle through three states:

State Icon Transport Triggers Use case
Full Sync chain link send + receive send + receive Normal ensemble operation
Transport Muted muted speaker receive only send + receive Prevent accidental navigation changes affecting others
Disabled blocked none none Work independently

Transport Muted mode is useful when:

This allows a performer to scrub around their own view without disrupting the conductor's timeline, while still participating in shared audio cues.

The sync state persists across browser sessions.


Connection Status

The client list updates in real-time as performers connect and disconnect. When a client disconnects, their indicator disappears from the list, but their shared markers and annotations remain on the score.


Relationship to Other Session Features

The client system integrates with:

The client identity provides a consistent visual thread across all shared interaction features.

Tip: use ← → or ↑ ↓ to navigate the docs