padthv1 - An old-school additive polyphonic synthesizer
-------------------------------------------------------

ChangeLog


1.4.0  2026-02-12  A Mid-Winter'26 Release.

- DejaVuSans TTF font is now firmly embedded to improve on the
  self-containment status (ie. freetype2 static linking).
- Fixed 'mime-info' file to the correct MIME-type icon names.
- Get rid of CONFIG_WAYLAND build config option; add underlying
  platform name (eg. xcb, wayland) to Qt version string.


1.3.2  2025-05-20  A Mid-Spring'25 Release.

- Stepping up next development cycle (Qt >= 6.9)


1.3.1  2025-04-03  An Early Spring'25 Release.

- Fixed command line parsing (QCommandLineParser/Option) to not
  exiting the application with a segfault when showing help and
  version information.


1.3.0  2025-01-16  A New-Year'25 Release.

- Just another Vee-One's release for the New Year...


1.2.0  2024-12-15  An End-of-Year'24 Release.

- Configure/Tuning: fixed initial scale and keyboard map tooltips.


1.1.3  2024-10-31  A Halloween'24 Release.

- Prepping up next development cycle (Qt >= 6.8)


1.1.2  2024-10-02  An Early-Fall'24 Release.

- Configure: disable widget style option on LV2 plug-ins only,
  for which it wasn't working on the JACK stand-alones either.


1.1.1  2024-09-20  An End-ofSummer'24 Release.

- NSM: prevent loading any preset(s) given on command line.


1.1.0  2024-08-28  A Mid-Summer'24 Release.

- Smooth and seamless voice/note deferred switching, whenever any
  wavetable parameter is reset or changed.
- LV2 Plug-in Control Input Port-Change Request extension is not
  tagged experimental anymore.


1.0.0  2024-06-20  An Unthinkable Release.

- Making up the unthinkable (aka. v1.0.0)


0.9.91  2024-05-02  A Spring'24 Release Candidate 2.

- Prepping the unthinkable (aka. v1.0.0-rc2)
- Updated to latest framework level (Qt >= 6.7)


0.9.90  2024-04-11  A Spring'24 Release Candidate.

- Prepping the unthinkable (aka. v1.0.0-rc1)
- Custom color themes are now file based (*.conf); legacy still
  preserved ntl.
- Fixed the build checks on whether to use old or newer style of
  LV2 include headers.


0.9.34  2024-01-26  A Winter'24 Release.

- Added build checks on whether to use old or newer style of LV2
  include headers.
- LV2 plugin Control Input Port-change request extension feature
  support added.
- Updated copyright headers into the New Year (2024).


0.9.33  2023-12-20  An End-of-Autumn'23 Release.

- Minor optimization to denormal avoidance on some fx's.
- Bumping into next development cycle (Qt >= 6.6)


0.9.32  2023-09-12  An End-of-Summer'23 Release.

- Preppings to next development cycle (Qt >= 6.6)


0.9.31  2023-06-06  A Spring'23 Release.

- Make sure the XCB interface is in use when instantiating the
  LV2 plugin on non-Qt hosts, allowing LV2 X11 UI embedding to
  work and show up properly.
- Prepping into the next development cycle (with Qt >= 6.5).


0.9.30  2023-03-24  An Early-Spring'23 Release.

- Restrict to existing named presets when adding new or editing
  programs; load and restore presets directly when previewing
  programs (cf. Configure... > Programs).
- NSM open and save operation failures are now replied with an
  error status (was always OK before).
- JACK client watchdog introduced for automatic reactivation and
  resilience (standalone only).
- NSM announcement reply/error messages now relegated to debug
  builds only.


0.9.29  2023-01-25  A Winter'23 Release.

- Bumping copyright headers to the brand new year.


0.9.28  2022-12-29  An End-of-Year'22 Release.

- Mitigate NSM sending lots of dirty messages on SIGTERM signal.
- Although being deprecated to use, JACK Session support hopefuly
  fixed once again.


0.9.27  2022-10-04  An Early-Autumn'22 Release.

- Fixed MIDI Controller... modeless dialog (de)instantiation.
- Custom color/style themes applies only to main widget only.
- Fixed typos and updated some old MIDI GM2 Controller names.


0.9.26  2022-06-07  An End-of-Sping'22 Release.

- Corrected an incredible mistake introduced in the last year's
  Glide/portamento protential crash fix.
- Added Qt::Svg module as required at build time.


0.9.25  2022-04-07  A Spring'22 Release.

- Added missing file code to desktop exec entry (standalone only).
- Main application icon is now presented in scalable format (SVG).
- Migrated command line parsing to QCommandLineParser/Option
  (Qt >= 5.2)
- Avoid issuing NSM dirty messages as much as possible.


0.9.24  2022-01-09  A Winter'22 Release.

- Dropped autotools (autoconf, automake, etc.) build system.
- Fixed deprecate warnings in preparation for Qt >= 6.2.


0.9.23  2021-07-07  An Early-Summer'21 Release.

- Fixed some ages old Glide/portamento potential crash bug
  (as reported by AnClark, while on synthv1).
- Add support for LV2 UI Windows platform (by AnClark, also
  while on synthv1).
- Sustenuto pedal controller (MIDI CC#66) is now implemented.
- Fixed old Sustain/Damper/Hold pedal controller (MIDI CC#64)
  note-off processing.
- Have some tolerance for buffer-size changes.
- All builds default to Qt6 (Qt >= 6.1) where available.
- CMake is now the official build system.


0.9.22  2021-05-13  A Spring'21 Release.

- All packaging builds switching to CMake.


0.9.21  2021-03-16  An End-of-Winter'21 Release.

- Fixed an old lurker, causing slight differences to voice
  on-sets, due to a wrong initial LFO Volume ramping value.
- Slightly improved eye-candyness to all graphic widgets,
  most especially on the EG widget handling, curved lines
  and gradient fills.


0.9.20  2021-02-10  A Winter'21 Release.

- When under under the NSM auspices, fix SIGTERM handler
  on exit and just hide the main-window on close (applies
  to the JACK stand-alone only).


0.9.19  20220-12-19  A Winter'20 Release.

- Fixed display of old knob/dial values on status-bar.
- Reduced formant filter coefficient slew rate, aiming
  to a tenfold DSP performance gain.
- Get a chance on bringing Wayland into the picture when
  dealing Qt static-linked deliverables.


0.9.18  2020-10-27  A Fall'20 Release.

- Upstream package naming for the JACK standalone and LV2
  plugin deliverables are suffixed to '-jack' and '-lv2',
  respectively.
- White keys on the virtual piano keyboard are now fully
  highlighted.


0.9.17  2020-09-08  Late Summer'10 Release.

- Added -n, --client-name to the JACK stand-alone client
  application command line option arguments.
- Fixed unitialized number of voices variable; early-bird
  adaptations to Qt6 >= 6.0.0 and C++17 standard.


0.9.16  2020-08-06  A Summer'20 Release.

- Fixed deprecated stuff on an early preparation for Qt6.


0.9.15  2020-06-22  An Early-Summer'20 Release.

- A long awaited expedite "Panic" button is now featured.
- Note velocity doesn't affect DCF envelope anymore.
- Avoid glib event-loop upon LV2 plug-in instantiation.


0.9.14  2020-05-05  A Mid-Spring'20 Release.

- Fixed initial DCF1, LFO1 group enablement (GUI).
- Fixed initial window title for the LV2 External UI.
- LV2 Atom/Port-event host notification support has been
  implemented (unofficial).
- Prevent execution of duplicate or redundant MIDI bank-
  select/program-change commands.
- Early fixing to build for Qt >= 5.15.0.


0.9.13  2020-03-26  A Spring'20 Release.

- Maximum pitch-bend range has been expanded to 0..400%,
  allegedly to support some PME driven instruments (as
  proposed by sacarlson, to synthv1).
- Make man page compression reproducible (after request
  by Jelle van der Waa, thanks).
- Fixed crash when showing the tooltip of a negative note
  number that results from dragging over and beyond the
  left edge of the virtual piano keyboard.
- Remove -v (verbose) flag from 'strip' post-link command.
- Fixed CMake build by adding missing Custom Color Theme
  (palette) form file (.ui).
- Bumped copyright headers into the New Year (2020).


0.9.12  2019-12-26  The Winter'19 Release.

- Custom color (palette) theme editor introduced; color
  (palette) theme changes are now effective immediately,
  except on default.
- Second attempt to fix the yet non-official though
  CMake build configuration.
- Move QApplication construction/destruction from LV2 UI
  to plug-in instantiation and cleanup.


0.9.11  2019-10-31  A Halloween'19 Release.

- When using autotools and ./configure --with-qt=...,
  it is also necessary to adjust the PKG_CONFIG_PATH
  environment variable (after a merge request by plcl
  aka. Pedro López-Cabanillas, while on qmidinet).
- Upstream packaging is now split to JACK standalone and
  LV2 plugin only: the former shared common core and UI 
  package is now duplicated but statically linked though.


0.9.10  2019-09-24  An Early-Fall'19 Release.

- Upstream packaging is now split on JACK standalone,
  LV2 plugin and common core and UI packages, similar
  to recent Debian practice.
- Added alternate yet non-official CMake build option.
- Fix HiDPI display screen effective support (Qt >= 5.6).
- All randomizers now compliant to the standard normal
  distribution.
- Make sure compiler flags comply to c++11 as standard.


0.9.9  2019-07-18  A Summer'19 Release.

- Randomization of current parameters and partials is
  now available through a new top-level push-button and
  the context-menu respectively.
- Updated for the newer Qt5 development tools (>= 5.13).
- Per instance custom tuning (micro-tonal) option has
  been added to the previously existing global settings
  (cf. Help > Configure... > Tuning > Global, Instance).
- New DCF and LFO Enabled parameters.
- Configure updated to check for qtchooser availability.


0.9.8  2019-06-06  A Spring'19 Release.

- Improved slew-rate to DCF Formant coefficient updates.
- Refactored the LFO Sync for correctness.
- Fixed all LFO Panning and Volume modulation, now being
  correctly isolated on a per voice basis.
- Fixed initial DCO and LFO wave shapes on LV2 plug-in UI.
- Minor update to Debian packaging control file.


0.9.7  2019-04-14  A Spring-Break'19 Release.

- All audio input now get through without being processed
  by any or whole effects stage anymore.
- Re-defined all JACK stand-alone client application UNIX
  signal handling.


0.9.6  2019-03-18  Pre-LAC2019 Release Frenzy.

- A gentlier shutdown for the JACK client standalone client.


0.9.5  2019-03-04  The End of Winter'19 release.

- HiDPI display screen support (Qt >= 5.6).
- A fake/visual piano-keyboard widget is now being introduced
  to the status bar.
- Avoid destructing the possibly shared QApplication instance
  on LV2 plug-in UI clean-up.


0.9.4  2018-12-12  A Late Autumn'18 release.

- Sample waveform drawing is a bit more keen to precision.
- Old deprecated Qt4 build support is no more.
- Normalized wavetable oscillator phasors.
- Added missing include <unistd.h> to shut up some stricter
  compilers from build failures.


0.9.3  2018-10-22  An Autumn'18 release.

- For safety reasons, all processing is now suspended while
  loading presets or program changes are issued.
- AppStream metadata updated to be the most compliant with
  latest freedesktop.org specification and recommendation.
- SIGTERM (and SIGINT) signal handler added to close the JACK
  stand-alone client applications properly.
- Make the GUI not to show initially on NSM.
- Make NSM state independent to session display name, keeping
  backward compatibility for old sessions.
- Give some more slack to schedule/worker thread ring-buffer.


0.9.2  2018-07-24  A Summer'18 release.

- Add LV2 UI Resize extension data support.
- Process MIDI Controlllers even though the channel filter
  is on (DEF Channel is set anything but "Omni").
- AppData/AppStream metadata is now settled under an all
  permisssive license (FSFAP).


0.9.1  2018-06-26  An Early Summer'18 release.

- Fixed for some g++ >= 8.1.1 warnings and quietness.
- Added LV2 UI X11 support option.
- Disable reference micro-tuning settings when a Scala
  keyboard map override is in effect.
- Added "All files (*.*)" filter to every file requestor
  dialog, wherever missing.


0.9.0  2018-03-07  The End of Winter'18 release.

- Introducing Scala micro-tuning classes, borrowed, stirred
  and refactored from original Nick Dowell's amsynth code,
  all under the GPL umbrella, of course.
- An internal note-key/frequency indirection table is now in
  place, as a baseline for any micro-tuning implementations.
- Whether to use native file browser/requester dialogs is
  now an effective option when launching under NSM session
  management (was once disabled initially).
- Trying to get CC14 MSB+LSB (course+fine) running status on,
  no matter whether each pairing event are under 200ms apart.
- A little hardening on the configure (autoconf) macro side.


0.8.6  2017-12-20  The End of Autumn'17 release.

- Set on a minimum attack time of 500usec as much to prevent
  audible clicking on low-pitched notes.


0.8.5  2017-10-29  An Autumn'17 release.

- Opening multiple preset files is now possible, populating
  the preset drop-down listing, while only the first one is
  loaded effectively into the scene as usual.
- Mono(phonic) "Legato" mode option introduced.
- Desktop entry specification file is now finally independent
  from all build/configure template chains, whatever.
- Updated target path for freedesktop.org's AppStream metainfo
  file (formerly AppData).


0.8.4  2017-08-22  A Late-Summer'17 release.

- First public release.


0.8.3  2017-07-20  Initial change-log entry.
