Skip to content

Latest commit

 

History

History
207 lines (185 loc) · 9.1 KB

File metadata and controls

207 lines (185 loc) · 9.1 KB

Change Log

[1.1.1]

Added

  • Value, MIDI CC, Tremolo, and Test Tone Script node presets.
  • Many additional CLAP host features.
  • Performance parameter connectivity to Script node parameters.
  • Command to gather offscreen plugin windows back on screen.
  • Parse note names into note numbers for a node's key start/end.

Fixed

  • Graph IO node duplication.
  • Keep audio out node meters alive and in sync when added from the graph panel.
  • Bad URL generation in authorization
  • CLAP: Start/Stop handing in host
  • CLAP: Some UI's not loading on new macs

[1.1.0] - 2026-06-29

Added

  • Local authentication option and OAuth sign-in flow with custom URL scheme registration and token exchange.
  • Signed appcast URLs including platform information, with expiration check and refresh logic.
  • MTC (MIDI Time Code) message generation functions and a Lua script example.
  • Insert panel navigation helper.

Changed

  • Update to JUCE 8.0.13.
  • Send correct time signature info to the JUCE playhead.
  • Fully qualify the juce namespace across header files.
  • Switch Windows CI runner to MSVC 2022.
  • Disable auth debug logging by default.

Fixed

  • jbridge: correct how audioMaster is passed in JUCE 8.0.13 and improve plugin auto-loading on Windows.
  • MIDI velocity curve processing and avoid an unnecessary float round-trip.
  • Prevent the audio thread from stuttering when outputting large MIDI messages.
  • Preserve the number of ports after loading a project.
  • Prevent MIDI out devices from dropping notes on macOS.
  • Pitch wheel packing, channel pressure, and clamp return bugs.
  • Editor resizing logic in GraphEditorComponent.
  • MSVC constexpr mutex constructor in debug builds.

[1.0.0] - 2026-02-06

Changed

  • Update versioning to include project version in build number.
  • Refactor updater interface to use feed URL instead of repository.
  • Remove build version suffix for consistency.
  • Use JUCE and Sol2 system packages when available.
  • Extract sol2 repository based on CMake version.
  • Stop using ElementApp.h.
  • Reduce binary data size by excluding unused resources.
  • Remove alias headers and update client code.
  • Improve symbol visibility and export properties for plugin loading.
  • Use standard plugin locations on Linux for installation.
  • Refactor appcast URL definition for consistency and clarity.

Added

  • Sparkle updater integration for macOS.
  • WinSparkle updater support for Windows.
  • Background update checks with improved documentation.
  • Shutdown handling for updates.
  • Update checks prevented on first run.
  • Feed URL for updater with availability logging.
  • macOS uninstaller target to build Uninstall.app from AppleScript.
  • Spoton Scale Chooser program.
  • Build and REUSE status badges to README.
  • REUSE compliance tagging.

Removed

  • JUCE submodule (now uses system package or FetchContent).
  • LVTK submodule and all references to internal LV2/LVTK implementation.
  • Unused Element modules and legacy code.
  • Obsolete updater documentation.
  • Unused strings.cpp file.
  • Duplicate includes and unused headers.

Fixed

  • MSVC 14.5+ compilation error in Point.cpp by isolating C linkage from C++ lambda code.
  • Ensure IONode's parent graph has minimum port count on setParentGraph.
  • Correctly handle parameter sync from plugin to host in CLAP.
  • Don't create audio delay ops for control ports on single connection.
  • Warnings from JUCE about parameter IDs not being set.
  • Hide check updates preference when updater disabled.
  • JACK on Windows to use system library loader and symbol lookup functions.
  • Linux to correctly acquire exe full path when launched by PATH.
  • Remove duplicate include of datapath.hpp in datapathbrowser.hpp.
  • Code signing with JUCE CMake helpers.
  • Replace hardcoded ASIO SDK path with FetchContent for reproducible builds.

[1.0.0b2] - 2026-01-06

Changed

  • Update to JUCE 8.0.12.
  • Migrate to CMake build system. Meson is no longer used.
  • Improve MIDI clock sync algorithm for faster BPM updates.
  • Refactor Application class to its own file and allow subclasses to create ContentFactory.
  • Update URL macros to use ELEMENT_ prefix for consistency.
  • Add option to enable updater support in CMake configuration.

Added

  • CMake build system support with comprehensive configuration options.
  • GitHub Actions CI workflows for build, test, and release on Mac/PC/Linux.
  • Arch Linux Docker build support and workflow.
  • Linux desktop file installation support.
  • Unit tests for DelayLockedLoop, MidiClock, AlignedData, AtomicValue, and AtomicLock.
  • Comprehensive audio routing unit tests.
  • Apply button to IOConfigurationWindow.
  • Lua documentation generation with ldoc.
  • OSC send utility for testing audio engine.
  • Support for ccache to speed up builds.

Removed

  • Qt Installer framework references (deprecated).
  • Meson build system files and configurations.
  • Unused nodeioconfiguration files.
  • Old deploy directory.

Fixed

  • Fix race condition in script reload causing null pointer crash.
  • Fix MIDI clock and message collector assertions when audio device not running.
  • Fix save prompt on clean project load.
  • Convert file choosers to async to prevent crash.
  • Fix GCC 15 build error with incomplete type in std::unique_ptr.
  • Fix device availability checks in MidiDeviceProcessor.
  • Fix AU parameter ID problems.
  • Fix compile error when binding lua Point:rotated.
  • Fix macOS file system watcher implementation.
  • Fix paths on Windows for LV2 plugins.
  • Fix problems scanning when crashed plugins file doesn't exist.
  • Fix restoration of desktop scale.
  • Fix IO node port labels to match containing graph IO.
  • CLAP: Fix note off not being handled correctly in synths.
  • CLAP: Send time information to plugins.
  • LV2: Add port-resize support for Atom output ports.
  • eVerb: Use buses layout support instead of old play config method.
  • Audio Router Node: Actually size to 12 channels when selected.
  • Audio Mixer: Fix crashing when trying to change bus size.
  • Audio Mixer: Ensure temp buffer gets sized appropriately before clearing.
  • Scanner: Apply default plugin paths on first run.
  • Scanner: Use 24 second timeout.
  • Generic UI: Show output parameters.

[1.0.0b1] - 2025-02-04

Changed

  • Migrate to Meson build system. Projucer no longer needed.
  • Migrate to BOOST unit testing.
  • Major code refactoring in preparation for future public C++ api and loadable modules.
  • Graph Editor - Allow editing graphs that aren't active.
  • UI General look and feel improvements.
  • Plugin scanner XML now stored in its own file.
  • Root graph channel counts are now independent fromt he audio interface.
  • Improve multiple selection in graph editor.
  • Updated app icon.
  • Session, Graph and Node file formats. Old files can be loaded in 1.0, but 1.0 can't be backported. Session backup is strongly encouraged.
  • Internal 'presets' are now called 'nodes.'
  • Breaking The Script node Lua API has changed. v0.46.x scripts need updated and may not load.

Added

  • Meter bridge view that displays audio interface signal present levels.
  • Ability to set a node's color.
  • Plugin UI embedding directly in the graph editor.
  • Block display modes added: compact and small.
  • JACK audio support for Linux, macOS & Windows.
  • LV2 plugin support for Linux, macOS & Windows.
  • CLAP plugin support for Linux, macOS & Windows.
  • jBridge 32bit bridge direct integration (Windows)
  • Drag and drop a plugin from the plugin list on placeholder loads it.
  • Bulk routing feature in the patch bay.
  • Online update features.
  • MIDI Set List node with Tempo change.
  • Better out-of-process plugin scanning.
  • Repo selection built-in with installer.
  • Audio File Player - better transport controls.
  • Embedded plugin UI display inside graph editor.
  • Ability to scan plugins from Element plugins.

Removed

  • Stop using juce BinaryData from old Projucer project. Resources are now generated with Meson.
  • Breaking: Controller view are hidden by default. MIDI Mapping is to be re-written.
  • Breaking: Old 'Lua' and 'Script' nodes have been deprecated. Rewrite planned.

Fixed

  • Plugin UIs not filling the plugin window (WAVES and others)
  • Plugin UI general display problems.
  • Disruptions in audio when enabling Oversampling.
  • Zombie process created by the Linux plugin scanner.
  • Graph mixer reseting faders to unity gain when selecting.
  • Generic parameters not syncing with performance parameters in the plugin version
  • Several LV2 problems. Namely CV, patch, and atom support.
  • Custom keymappings not retaining state.
  • Inverse sustain and Hold buttons in Virtual keyboard.
  • Element plugins rendering silence in some hosts.
  • Audio File Player: crashing when loading files.
  • Broken caps-lock virtual keyboard function.
  • Audio Router Node: Mute wasn't working.
  • Audio Router Node: disconnecting when reopening saved sessions.
  • Broken channel deselection in audio preferences.
  • Drag and drop sometimes failing to load plugins.
  • MIDI monitor not logging messages after extended use.
  • Plugin not reporting latency to the host correctly. Especially during graph editing.
  • 7.1 and other bus configurations on third party plugins not saving/restoring with session.
  • Broken cubase render in place.
  • Problems loading copy protected plugins.
  • eVerb state not being applied on state restore.