JDSP4Linux Versions Save

An audio effect processor for PipeWire and PulseAudio clients

2.7.0

5 months ago

New features

libjamesdsp updated

New CLI operations implemented

  • Manage and list per-device preset rules (--list-preset-rules, --set-preset-rule, and --delete-preset-rule)
  • List all available output devices (--list-devices)

Per-device presets

  • The preset/device rules have been overhauled and work reliably now
  • They can now distinguish between several different output routes on the same audio device (such as hardware ports on a soundcard).

Headless builds without the GUI

  • Compile this app using a special flag to enable: qmake JDSP4Linux.pro CONFIG+=HEADLESS && make
  • Use the CLI, D-Bus interface, or --watch argument to control JamesDSP without the GUI.

Other changes

  • The 'bypass' toggle button, which disables all effects, is now tinted red when enabled for better visibility
  • The app has been ported to Qt6. Backwards compatibility for Qt5 will be maintained for the foreseeable future.
  • Pulled new translation updates from Crowdin (contributors)

Bug fixes

  • Fixed locale issue that caused the GraphicEQ parser engine to crash
  • Fixed distorted audio on startup when stereo-wide is enabled
  • Fixed audio loss when enabling the compander and the audio.conf file is missing compander keys
    • After the compressor had been replaced by the compander effect, the audio configuration was not migrated correctly. This led to the compander initially breaking audio until the user manually corrected the compander parameters.

Full Changelog: https://github.com/Audio4Linux/JDSP4Linux/compare/2.6.1...2.7.0

[!NOTE] EDIT: Users with distros based on Ubuntu should install the qt6-qpa-plugins package if the app doesn't launch.

2.6.1

9 months ago

New features

Bug fixes

  • Fixed random crashes when buffer size changes twice
  • Fixed distorted audio when enabling the stereo widener without setting the strength
  • Fixed Liveprog list parameters not displaying their current value correctly

Full Changelog: https://github.com/Audio4Linux/JDSP4Linux/compare/2.6.0...2.6.1

2.6.0

10 months ago

Feature updates

  • Latest update for libjamesdsp (v4.0.1) from James Fung is now implemented on Linux:
    • Dynamic range compander added (replaces dynamic range compressor)
    • Multimodal Equalizer added (replaces the old FIR-only equalizer)
      • Supported filter types: FIR Minimum phase, IIR 4/6/8/10/12 order
      • IIR filters have decreased power consumption
    • Convolution modules use automatic benchmarking (in the background) to optimize performance
    • Remove weird spiky sound for vacuum tube simulation (Second harmonic generation)
    • Several bug fixes and minor performance improvements
  • Translation updates (see activity feed)
    • Chinese, French German, Polish, and Ukrainian

Bug-fixes & minor changes

  • Fixed translations not loading properly

2.5.1

11 months ago

Changelog v2.5.1

  • Flatpak support finalized
    • Note: Flatpak packages are currently being submitted to Flathub. I will update the README with installation instructions once ready.

Changelog v2.5.0

Feature updates

  • Scripting/IPC support
    • Remote-control an active instance via the CLI (check jamesdsp --help for available commands)
    • Public DBus API added (3rd-party apps can directly connect to JamesDSP and control it using a stable API; see readme for details)
  • Translation support
  • Liveprog scripts:
    • Added 16 new scripts
    • Scripts can now define list properties in the GUI
  • Merged upstream updates for libjamesdsp (https://github.com/james34602/JamesDSPManager/commit/d377cd9ed582cd1f2c614b046c7ba691e69d0262)
    • Liveprog scripting engine updated
    • Convolver crash fix
  • libportal support
    • flatpak packages will be available soon
  • The built-in crash report sender has been removed; the crash handler is still present and continues to save crash reports locally to /tmp/jamesdsp. Note that these crash reports are useless unless the binary was compiled with debug symbols.

Bug-fixes & minor changes

  • AutoEQ package manager:
    • Fixed crashes when updating the database
  • Audio backend:
    • Pipewire backend updated & rewritten
    • Pulseaudio: Handle missing GStreamer plugins correctly instead of crashing
    • Suspend audio pipeline after 10s if no apps are connected to save CPU power
  • Other:
    • Command line arguments to silence stdout log (--silent), disable colorful logs (--no-color), and set the minimum log verbosity (--min-verbosity=level) added

2.5.0

11 months ago

Changelog v2.5.0

Feature updates

  • Scripting/IPC support
    • Remote-control an active instance via the CLI (check jamesdsp --help for available commands)
    • Public DBus API added (3rd-party apps can directly connect to JamesDSP and control it using a stable API; see readme for details)
  • Translation support
  • Liveprog scripts:
    • Added 16 new scripts
    • Scripts can now define list properties in the GUI
  • Merged upstream updates for libjamesdsp (https://github.com/james34602/JamesDSPManager/commit/d377cd9ed582cd1f2c614b046c7ba691e69d0262)
    • Liveprog scripting engine updated
    • Convolver crash fix
  • libportal support
    • flatpak packages will be available soon
  • The built-in crash report sender has been removed; the crash handler is still present and continues to save crash reports locally to /tmp/jamesdsp. Note that these crash reports are useless unless the binary was compiled with debug symbols.

Bug-fixes & minor changes

  • AutoEQ package manager:
    • Fixed crashes when updating the database
  • Audio backend:
    • Pipewire backend updated & rewritten
    • Pulseaudio: Handle missing GStreamer plugins correctly instead of crashing
    • Suspend audio pipeline after 10s if no apps are connected to save CPU power
  • Other:
    • Command line arguments to silence stdout log (--silent), disable colorful logs (--no-color), and set the minimum log verbosity (--min-verbosity=level) added

2.4

1 year ago

Changelog v2.4

Feature updates

  • Merged upstream updates for libjamesdsp
    • Liveprog scripting engine updated
    • 2 new liveprog scripts added
    • Other bug fixes

Bug-fixes & minor changes

  • Fix crash when rapidly dragging the Soundstage wideness slider
  • Respect XDG base directory specification
  • Fixed save issues in the EEL script editor
  • Prevent desktop session managers from forcefully restoring the app
  • Fix wrong path for window geometry cache file
  • Added NO_CRASH_HANDLER compiler flag

2.3

2 years ago

Changelog v2.3

Feature updates

  • Assign presets to specific headphones/speakers and apply presets automatically when connected (go to Presets > Rules...)
  • AutoEQ integration reworked (go to GraphicEQ > AutoEQ database...):
    • No network connection required; once the database has been synced to disk
    • Interactive equalization curve preview plots (zoom, pan, toggle graphs)
  • Convolver: Display additional file information (sample count & channel count)
  • Pipewire: Added allowlist mode for apps (inverted blocklist)
  • Liveprog IDE: display and manipulate script variables within the EEL2 VM in real-time for debugging purposes (variable watch)
  • Liveprog IDE: ability to freeze EEL2 VM execution for easier usage of the 'variable watch' window
  • New custom Liveprog scripts added
  • Bundle example VDCs and impulse responses
  • Ability to submit anonymous crash reports (optional)

Bug-fixes & minor changes

  • Limiter: Fixed settings not applying properly
  • PulseAudio: Fixed sampling rate display in driver status
  • Tray icon: Fixed right-click action for some system tray hosts (e.g., polybar)
  • DDC > Create tab can directly open DDCToolbox if installed
  • Better documentation of the advanced IR waveform editing feature
  • Better performance; extensive code cleanup and refactor
  • Updated color schemes; better contrast
  • New setup wizard design
  • Default VDC and IR paths changed

2.2

2 years ago

Changelog v2.2

Feature updates

  • App manager
    • View PulseAudio/PipeWire clients that are connected to the audio server
    • Display client properties such as their latency, audio format, and sampling rate
    • App blocklist: Disable audio effects for specific applications (PipeWire only)
  • New --watch command-line argument added
    • Watch for changes to the audio.conf file and apply all updated parameters automatically
    • Useful if you want to remote-control the DSP using an external program/script
  • Resizable/dynamic window
  • Better support for HiDPI display configurations
  • New custom Liveprog scripts added (downmixer.eel and swapChannels.eel)
  • EEL scripting IDE: Allow users to create new scripts based on a predefined template

Bug-fixes & minor changes

  • Convolver/DDC/Liveprog: Disable effect if the selected file does not exist
  • PulseAudio: change plugin reload behavior
  • DDC database: save last selected headphone properly
  • GraphicEQ editor: scroll/zoom settings are now saved properly
  • More orderly drop-down menu
  • Fixed weird startup behavior caused by desktop session managers (KDE mostly)
  • Fixed several minor memory leaks fixed
  • Fixed double crash caused by the stacktrace parser of the crash handler fixed
  • Fixed rare division by zero crash in reverb algorithm fixed (caused by an empty delay buffer)

2.1

2 years ago

Changelog v2.1

  • PipeWire: Fixed a bug that would prevent some applications to be excluded from audio processing
  • EEL scripting IDE: Added fallback fonts in case the internal monospace font fails to load from resources
  • 3rd-party icon packs can now overwrite tray and window icons

2.0

2 years ago

Initial release of the new JamesDSP version