Skip to content

v0.2.2 — M1.1 Devices & Plug-ins (alpha)

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Oct 00:29
· 42 commits to main since this release

Fixes and layout internals on top of M1.1 — Devices & Plug-ins.

Changed

  • Layouts are C++ components. Saving a theme file still re-styles the app. Developer Mode opens
    melatonin_inspector instead of the in-house inspector.
  • A plug-in saved in the Project but not installed is Missing. Plug-in Hosting starts it once a
    scan finds it.
  • The per-instance sandbox switch is named Run in-process.

Fixed

  • Menus, the Save Preset dialog, tooltips and toasts stay above a sandboxed plug-in's own UI.
  • A clip's context menu belongs to its lane, so it is dismissed when the lane goes.
  • The selected clip's outline comes from the Theme.
  • Undoing a plug-in insert drops that plug-in's pending sandbox load with the Edit. A load one Edit
    leaves pending is not taken up by the next Edit.

Download

Open Resamper-0.2.2-macOS.dmg (Apple Silicon) and drag Resamper to Applications.

All changes

🔀 Pull requests

  • #139 👷 ci(release): list the commits since the last published release by @leizzo
  • #146 ♻️ refactor(engine): Plug-in Hosting owns where a Plug-in runs by @leizzo
  • #147 ♻️ refactor(engine): push one Hosting State per Plug-in from Plug-in Hosting by @leizzo
  • #148 ♻️ refactor(engine): offline render with plug-ins waits for loading Plug-ins itself by @leizzo
  • #149 🐛 fix(engine): a pending Sandbox load doesn't leak into the next Edit by @leizzo
  • #150 ✨ feat(engine): Missing becomes a Hosting State that Plug-in Hosting starts by @leizzo
  • #151 ♻️ refactor(hosting): name the per-instance switch Run in-process by @leizzo
  • #152 🐛 fix(sandbox): keep popups above sandboxed plug-in UI by @leizzo
  • #153 📝 docs(agents): run the full suite when opening a PR by @leizzo
  • #154 Run the full suite only when opening a PR by @leizzo
  • #155 🏗 refactor: C++ layouts and compile-time engine guardrails by @leizzo

✨ Features

  • ✨ feat(engine): make Missing a Hosting State that Plug-in Hosting starts (9150b0a) by @leizzo

🐛 Fixes

  • 🩹 fix(engine): clearer Plug-in Hosting errors; tidy the AUv3 test double (e11bc67) by @leizzo
  • 🐛 fix(engine): a Sandbox load an Edit leaves pending is that Edit's only (a5afe34) by @leizzo
  • 🐛 fix(engine): an undone plug-in's pending load goes with its Edit too (32cb749) by @leizzo
  • 🐛 fix(sandbox): keep popups above sandboxed plug-in UI (6f58491) by @leizzo
  • 🚨 fix(ui): take the selected clip outline from the Theme (beb7a97) by @leizzo
  • 🐛 fix(ui): guard the clip menu by its lane; say why card size skips undo (eae670b) by @leizzo
  • 🚨 fix(ui): drop PianoKeyboard's unused model reference (421557a) by @leizzo

♻️ Refactoring

  • ♻️ refactor(engine): Plug-in Hosting owns where a Plug-in runs (1446362) by @leizzo
  • ♻️ refactor(engine): push one Hosting State per Plug-in from Plug-in Hosting (0abb0d1) by @leizzo
  • ♻️ refactor(engine): offline render with plug-ins waits for loading Plug-ins itself (1c38c0f) by @leizzo
  • ♻️ refactor(hosting): name the per-instance switch Run in-process (5bdc592) by @leizzo
  • ♻️ refactor(mixer): carry fader and send levels as Decibels (8a49ec7) by @leizzo
  • ♻️ refactor(ui): hold engine facades const; select through Commands (998c40f) by @leizzo
  • 🔥 refactor(ui): replace JSON layouts with C++ components (cada2e5) by @leizzo
  • 🏗 refactor(engine): stop UI and commands reading past the facades (74829ff) by @leizzo

✅ Tests

  • 🧪 test(sandbox): AsyncFormat names a plug-in from its identifier as its scan does (18f24d1) by @leizzo

📝 Documentation

  • 📝 docs(engine): document Plug-in Hosting's listener and engine side; keep its state private (3989e87) by @leizzo
  • 📝 docs(context): define Plug-in Hosting and Hosting State (fab1c44) by @leizzo
  • 📝 docs(sandbox): show popups above the sandboxed plug-in UI (4bb2536) by @leizzo
  • 📝 docs(agents): require a screenshot or video on each PR (87db370) by @leizzo
  • 📝 docs(agents): run the full suite when opening a PR (008f79b) by @leizzo
  • 📝 docs(agents): stop the PR when the full suite fails (0794115) by @leizzo
  • 📝 docs(changelog): milestones are minor releases, defect fixes are patches (3450ce6) by @leizzo

👷 Build & CI

  • 👷 ci(release): list the commits since the last published release (5abe144) by @leizzo
  • 👷 ci(lint): add Semgrep and clang-tidy checks (cde1f9b) by @leizzo
  • 💚 ci(lint): init melatonin_inspector before configure (62a9fe5) by @leizzo

🔧 Other

  • 🔧 chore(perch): close false positives from the Plug-in Hosting prefactor (ae84fec) by @leizzo
  • 💄 style(design): marketing screenshots cover their frames (6720d23) by @leizzo
  • 🔧 chore(perch): close a false positive on deferred Hosting State notification (0c541e2) by @leizzo
  • 🎨 style(ui): name the window's Hosting State and its crash rule for what they are (6ce11e2) by @leizzo
  • 🙈 chore(git): ignore .mcp.json (dad5480) by @leizzo
  • 🔇 chore(perch): close the AUv3 timeout lambda's false positive (d86cabb) by @leizzo
  • 🎨 style(engine): say why forgetGoneEdits drops another Edit's id in its doc (14324e0) by @leizzo
  • 🔇 chore(perch): close #144's false positives in unchanged methods (f69afe8) by @leizzo
  • 🎨 style(engine): read a started plug-in's state without inserting an entry (f013446) by @leizzo
  • 🔇 chore(perch): close the sandbox popup scan's false positives (19e5a20) by @leizzo
  • 🔀 chore: merge release versioning into main (e7021fd) by @leizzo
  • 🔧 chore(perch): tune engine-const-leaves-edit-alone against controls (5ea9c2e) by @leizzo
  • 🔧 chore(perch): narrow rules that misfired on this branch (75dbcd1) by @leizzo
  • 🔀 chore: merge layouts-as-components into abstraction guardrails (7d72bd4) by @leizzo