Workflow

This page describes the current OscillaScore workflow, including creating, loading, saving, and sharing projects. It reflects the newer project lifecycle tools available from the UI (New Project, Save As, Import / Export).

The core idea remains the same: draw in Inkscape, perform in the browser, but project management is now handled explicitly by Oscilla.


1. Projects and Project Structure

All Oscilla projects live inside:

public/scores/

Each project is a self-contained folder. At minimum, a project contains:

myProject/
└── score.svg

This is enough for a project to load and run.

A typical project created by Oscilla looks like:

myProject/
├── score.svg                # main scrolling or hybrid score
├── preferences.json         # project preferences (auto-generated)
├── pages/                   # optional page-mode SVGs
├── audio/                   # optional local audio files
├── text/                    # optional external text cues
└── video/                   # optional local video files

You normally do not create this structure by hand anymore — Oscilla does it for you.


2. Creating a New Project

Recommended method (UI)

  1. Open Oscilla in your browser:
http://localhost:8001
  1. Open the hamburger menu (top-right)
  2. Choose:
File → New Project…
  1. Enter a project name

Oscilla will:

After creation, Oscilla shows a short hint explaining where the score file lives on disk and that it should be edited in Inkscape.


3. Editing the Score in Inkscape

Oscilla does not provide a built-in score editor. Inkscape is the primary authoring tool.

  1. Open Inkscape
  2. Open:
public/scores/myProject/score.svg
  1. Draw shapes, text, paths, and layout the score visually
  2. Save the file

Refresh the browser and the changes appear immediately.

Page size conventions

Oscilla expects specific page dimensions depending on score type:

Score Type Width Height Use Case
Scrolling ~40000px 1024px Continuous horizontal scores
Paged 1366px 1024px Discrete pages (tablet-friendly)

Set this in Inkscape via:

File → Document Properties → Page Size

Notes:


4. Adding Behaviour (CueDSL)

Behaviour is encoded as CueDSL — a compact expression syntax stored in SVG element attributes. For example:

There are two ways to author cues:

Method 1: DSL Inspector (recommended — no Inkscape required)

The DSL Inspector is a built-in browser tool. Enable it with the pencil icon (✏) in the top bar.

Changes are written directly to score.svg and take effect immediately. No Inkscape round-trip needed.

See the full DSL Inspector documentation.

Method 2: Inkscape XML Editor

For fine-grained SVG control or when the inspector is not available:

  1. Open score.svg in Inkscape
  2. Select an element and open the XML editor: Ctrl + Shift + X
  3. Set the data-oscilla attribute to a cue expression
  4. Save and refresh the browser

The Inkscape extension provides a structured form interface inside Inkscape as an alternative to typing DSL by hand. See Inkscape extension.

You can mix both approaches freely — the inspector and Inkscape edit the same score.svg file.


5. Opening and Switching Projects

You can open projects in several ways.

From the loader

  1. Visit:
http://localhost:8001
  1. Select a project from the loader dialog

Direct URL

http://localhost:8001/?project=myProject

From the menu

Use:

File → Projects

to switch between existing projects without restarting the server.


6. Saving and Duplicating Projects

Save As

Use:

File → Save Project As…

This:

The new project is loaded automatically.

This is the recommended way to create variations or rehearsal versions.


7. Exporting and Importing Projects (.oscilla)

Oscilla supports bundling a complete project into a single file for sharing.

Export

File → Export Project (.oscilla)

This creates a .oscilla file containing:

You can send this file to collaborators or archive it.

Import

File → Import Project (.oscilla)

When importing:

This allows projects to be shared without manually copying folders.


8. Iteration Loop (Typical Use)

With the DSL Inspector (fast):

  1. Enable the inspector (✏ in the top bar)
  2. Click an element to edit or add cues
  3. Adjust parameters in the panel — the preview updates live
  4. Click Save to SVG — the animation restarts immediately

No Inkscape, no page reload.

With Inkscape (for layout and drawing):

  1. Edit score.svg in Inkscape (shapes, layout, paths)
  2. Save
  3. The browser reloads automatically (file watcher)
  4. Switch back to the inspector to wire up cues

Both loops can run in parallel — use Inkscape for visual design, the inspector for cue logic.

Oscilla never locks files — the filesystem is always the source of truth.


9. Rehearsal and Performance

For rehearsal and performance:

Each performer reads from the same authored score, rendered locally in their browser.


Summary

This separation keeps the system transparent, hackable, and robust.

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