Releases: robcanning/oscilla
Release list
v0.4.6_beta
Oscilla v0.4.6_beta – marker, annotations, control structures, improved entry point load splash etc
Full Changelog: 0.4.3_beta...v0.4.6_beta
v0.4.3_beta
v0.4.2_beta
Oscilla v0.4.2_beta
This release introduces a fully packaged, headless Oscilla server, along with documentation and tooling improvements for composers and performers.
Highlights
Standalone builds for Linux, macOS (Intel & Apple Silicon), and Windows
No Node.js or npm required — download and run.
Integrated help system
Built-in documentation accessible from the running server, covering cues, animation namespaces, and usage.
Build & distribution system
Cross-platform packaging workflow for producing release binaries and distributing them via GitHub Releases.
Inkscape plugin (initial)
Early support for an Inkscape-based workflow, streamlining score preparation and export for Oscilla projects.
Usage
Download the binary for your platform from this release
Run it (on Linux/macOS you may need to make it executable)
Open http://localhost:8001 in your browser
Oscilla v0.2.9-beta
This beta release consolidates recent development around sound cues, synchronisation, UX, and documentation
Audio & Synthesis
Added synth() cue: lightweight, cue-scoped Web Audio synthesis for reference tones, drones, chords, and simple patterned textures
Support for envelopes, filters, delay, reverb, glide, panning, and deterministic parameter sequencing
Pattern support (Pseq, Prand, Pshuf) across multiple synth parameters
Chord support via frequency arrays
Added synthStop() for explicit release control
Extended audio() cue options (looping, fades, toggling, UID control)
OSC & External Control
Expanded osc() and oscCtrl() cue capabilities
Improved OSC mirroring from synth() for hybrid internal/external sound setups
More predictable parameter mapping for SuperCollider / Pd / Max integration
Synchronisation & Transport
Stabilised multi-client synchronisation across different screen sizes
Improved handling of speed changes and ramps without playhead jumps
Clearer separation between timebase, playhead position, and visual layout
More robust recovery for reconnecting or late-joining clients
Animation & Visual Cues
Continued refinement of scale, rotation, and object-to-path animation behaviour
Improved nesting and interaction between animation namespaces
Better determinism for duration-based and step-based animations
UX & Application Flow
Introduced a non-blocking project launcher (splash as floating panel rather than full-screen gate)
Faster perceived startup: app loads immediately, launcher can be dismissed or reopened
Improved workflow for frequent rehearsals and project switching
Cleaner in-score help presentation for performers
Documentation & Help System
New structured documentation system hosted online
Comprehensive cue reference organised by cue taxonomy
Compact printable cheatsheet with dense one-line examples
In-score help text rewritten for clarity and space efficiency
Clearer authoring workflow documentation (Inkscape → browser)
v0.2.6_beta
This release stabilizes cross-device synchronized scrolling for Oscilla.
Highlights
- Canonical visual scaling across all devices (portrait/landscape/responsive)
- GPU-based scrollStage transform replaces scrollLeft syncing (no drift)
- Smooth freewheeling playback on all synced clients
- Rehearsal jumps now broadcast absolute world positions
- Removed legacy scroll-padding and scrollLeft-based correction logic
Core Concepts
- All clients share the same
scoreWidth(world space) - First client sets
canonicalRenderedWidth canonicalScale = canonicalRenderedWidth / scoreWidth- Scroll alignment uses CSS transform, not container scroll
Result
Every client sees the same part of the score at the same time,
independent of display size or orientation — with smooth animation.
v0.2.1_beta
cue:fade — added OSC + UID + hold/delay support, improved parser, and…
v0.1.1-alpha
v0.1.1-alpha - there be dragons