synthv1 - an old-school polyphonic synthesizer
----------------------------------------------

ChangeLog


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.

- Disabled "Custom style theme" option on LV2 plug-in form.
- Brand new LFO Balance parameter introduced.


0.8.3  2017-06-21  A Summer'17 release.

- Added StartupWMClass entry to desktop file.
- Long overdue, some brand new and fundamental icons revamp.


0.8.2  2017-05-02  Pre-LAC2017 release frenzy.

- A custom knob/spin-box behavioral option have been added:
  Configure/Knob edit mode, as to avoid abrupt changes upon
  editing values (still the default behavior) and only take
  effect (Deferred) when enter is pressed or the spin-box
  loses focus.
- The main GUI has been partially revamped, after replacing
  some rotary knob/dial combos with kinda more skeuomorphic
  fake-LED radio-buttons or check-boxes.
- Alias-free/band-limited wavetable oscillators have been
  fixed to prevent cross-octave, polyphonic interference.
- A MIDI In(put) status fake-LED is now featured on the
  bottom-left status bar, adding up to eye-candy as usual.


0.8.1  2017-03-21  A Spring'17 release.

- Fixed a probable old miss about changing spin-box and
  drop-down list not reflecting changes immediately into
  the respective parameter dial knobs.
- Fixed middle-button clicking on the dial-knobs to reset
  to the current default parameter value.
- Help/Configure.../Options/Use desktop environment native
  dialogs option is now set initially off by default.
- Added French man page (by Olivier Humbert, thanks).
- Make builds reproducible byte for byte, by getting rid of
  the configure build date and time stamps.


0.8.0  2016-11-17  A Fall'16 release.

- LV2_STATE__StateChanged is now transmitted as a regular
  atom notification event, as far as to give some careful
  hosts enough slack to raise a dirty flag.
- Fixed input MIDI RPN/NRPN running status processing.
- Almost complete overhaul on the configure script command
  line options, wrt. installation directories specification,
  eg. --prefix, --bindir, --libdir, --datadir and --mandir.


0.7.6  2016-09-19  The Eleventh official beta.

- MIDI RPN/NRPN running status and RPN NULL reset command
  are now supported (input only).
- The core engine implementation is now delivered as a shared
  object library, common to both the JACK stand-alone client
  and the LV2 instrument plug-in.
- Discretely fixed MIDI Controlllers catch-up algorithm.


0.7.5  2016-06-16  The Tenth official beta.

- All changes to most continuous parameter values are now
  smoothed to a fast but finite slew rate.
- All BPM sync options to current transport (Auto) have been
  refactored to new special minimum value (which is now zero).
- In compliance to the LV2 spec. MIDI Controllers now affect
  cached parameter values only, via shadow ports, instead of
  input control ports directly, mitigating their read-only
  restriction.
- Make sure LV2 plug-in state is properly reset on restore.
- Dropped the --enable-qt5 from configure as found redundant
  given that's the build default anyway (suggestion by Guido
  Scholz, while for Qtractor, thanks).


0.7.4  2016-03-02  The ninth-bis official beta.

- Fixed the DCF Formant filter voice initialization reset.


0.7.3  2016-02-22  The ninth official beta.

- Avoid out-of-bound MIDI events as much as possible, coping
  with LV2 plug-in hosts that feed/run them in on border line
  circumstances (as reported by Thorsten Wilms, on suspected
  Ardour looping crash/bug, probably fixed already, thanks).
- Safe defaults are tentatively sbeing introduced to internal
  OUT FX buffer-sizes, as read from JACK buffer-size changes
  and LV2 block-length instantiation bound options.
- Added application keywords to freedesktop.org's AppData.


0.7.2  2015-12-04  The eighth official beta.

- A brand new LFO BPM control parameter is being introduced,
  as a subordinate to LFO Rate, with follow/sync to current
  transport/host option (BPM=Auto).
- LFO Sync (free running) mode option has been introduced.
- A fourth DCF type has been added: a vocal Formant filter.
- A third DCF slope/type has been added: the RBJ's bi-quad.
- Prefer Qt5 over Qt4 by default with configure script.
- Introducing brand new OUT FX Send parameter per engine.
- Introducing brand new DCO, LFO Ring Mod(ulator) parameters.
- Special value (0=Off) added to DCO1,2 Glide knob spin-boxes.


0.7.1  2015-08-24  A seventh-bis official beta.

- Improved Qt4 vs. Qt5 configure builds (via qmake).


0.7.0  2015-07-24  A seventh official beta.

- Complete rewrite of Qt4 vs. Qt5 configure builds.
- Reset ramps after LV2 control port reconnection; small fixes
  to LV2.ttl (pull-requests by Hanspeter Portner aka. ventosus,
  thanks).
- MIDI Controllers/Programs is now an optional feature on the
  LV2 plugin forms, as some LV2 hosts might enforce the purity
  restriction to input control ports as being absolutely read-
  only parameter values from a plugin's instance perspective.
- MIDI Controller mapping/learn is now possible on all parameter
  control knobs; with global configuration also avaiable on the
  Help/Configure dialog.
- French (fr) translation line to desktop file added (by Olivier
  Humbert, thanks).


0.6.3  2015-05-09  A sixth official beta.

- Main widget layout changed as much to expand or grow vertically
  as needed.


0.6.2  2015-04-30  A fifth official beta.

- Custom knob/dial behavior mode options are now introduced:
  linear and angular (aka. radial) as far to avoid abrupt
  changes on first mouse click (still the default behavior).
- Fixed for some strict tests for Qt4 vs. Qt5 configure builds.


0.6.1  2015-03-09  A fourth official beta.

- Added application description as freedesktop.org's AppData.
- Introducing LV2 port-groups (as proposed by Amadeus Folego aka.
  badosu, thanks).
- Improved envelope widget nodes click-and-drag precision.
- Introducing a brand new user preference on eye-candy: cf.Help
  /Configure.../Options/Custom style theme (applies to the JACK
  stand-alone client only though).
- Envelope and filter now rendered with anti-aliased lines.
- Fixed a Qt5 FTBFS re. QHeaderView::set[Section]ResizeMode().


0.6.0  2014-01-23  A third official beta.

- MIDI bank-select/program-changes is now supported, for patch,
  preset and/or instrument program control.
- New Help/Configure dialog is introduced for editing the also
  new MIDI bank/programs interface and user preference options
  as well (new home of the old Help/Use native dialogs option).
- Presets may now be specified by base name, as an alternative
  to the complete preset file-path on command line argument (re.
  stand-alone JACK client).
- Fixed parameters A/B comparison swap.


0.5.1  2014-09-12  One second official beta.

- One decimal digit added to all scalar parameters and knobs.
- Stand-alone JACK client ports outrageously renamed from a
  zero based numbering scheme into a plus one natural one.
- Experimental LV2 Time/position atom-event support (Delay BPM).


0.5.0  2014-06-30  Officially beta now.

- LV2 UI Idle and Show interfaces support added.
- First attempt to allow a headless stand-alone JACK client
  application run mode, without a GUI, with option given as
  command line argument (--no-gui).
- A man page has beed added (re. stand-alone JACK client).
- Disable band-limit option for 'Noise' oscillator wave-shapes.
- Allow the build system to include an user specified LDFLAGS.


0.4.2  2014-04-29  A pre-LAC frenzy beta.

- Badly named 'Noise' wave-shape oscillators get their band-
  limited treat option and re-labeled as 'Rand'; also a brand
  new wave-shape 'Noise' is then introduced (now for real :)).
- New user preference option, cf. Help/Use native dialogs.
- An anti-denormal regression applied to the Phaser fx stage
  (affecting early proto-beta >= 0.4.0).


0.4.1  2014-04-07  A proto-beta bis.

- Once so called 'Noise' wave-shapes are now being made a lot
  more deterministic, read idempotent ;).
- Fully alias-free/band-limited wavetable oscillators are now
  in place, making it a better virtual-analog synthesizer (esp.
  for running sample-rates below 96KHz).
- Late optimizations to basic wave-table oscillators.
- Make sure the LV2 plugin back-end always builds first, before
  its respective LV2 UI front-end client.


0.4.0  2014-03-06  A proto-beta party.

- All knobs default value setting slightly improved.
- A run-time circumvention have been hacked, strictly related
  to when NSM session management is in charge: the native file
  browser/requester dialogs are then disabled (were taking too
  long to list the current directory on first time invocation).
- Auto-detection of the correct target library path for the
  LV2 plugin, whether it may be .../lib or .../lib64 on bi
  -arch targets, when libdir is not specified on configure
  time (--libdir=LIBDIR).
- Reverb has been added as a brand new effects stage, though
  based on good old FreeVerb :).
- Introduced a variable env.stage time control parameter.
- Dummy change-log entry for the new year.


0.3.6  2013-12-31  A fifth of a Jubilee.

- Effects/Delay BPM sync option to current transport (Auto).
- More preparations for Qt5 configure build.


0.3.5  2013-09-30  Fall greetings.

- First attempt on separating the DSP code from UI as runtime
  objects, effective for the LV2 plugin deploy.
- MIDI channel filter switch is now introduced.
- Fixed uninstall target make rule.
- Mono(phonic) mode switch is now being introduced.
- Another minor fix to note-off fast-release.


0.3.4  2013-07-16  Brand new icon ready.

- Preset file icon and mimetype now introduced.
- A brand new icon drops the lamest old-schooler's out, in a
  master lesson taught by Jarle Richard Akselsen, thanks.


0.3.3  2013-05-31  Late spring blossoming

- Some sympathy to extreme dark color (read black) schemes is
  now being indulged; some discrete changes on the icon front
  has also emerged ;)
- MIDI Key pressure/polyphonic aftertouch events now properly
  recognized, in addition to MIDI channel pressure/aftertouch
  processing.
- Parameter value ramping moved into the late post-processing,
  an attempt to reduce some pop/click artifacts even further.
- NSM support introduced to JACK client.
- A slight GUI behavior change: (re)writing existing names
  doesn't load the respective preset anymore (after ticket
  by Jiri Prochazka aka. Anchakor, thanks).
- Introducing LV2 External UI "rougue" support.
- Moog-like 24dB/oct resonant filter slight modification.
- Fixed JACK client fail/fake initialization.


0.3.2  2013-03-01  One third bug-fix release.

- Pitch-bend, Modwheel and LFO Pitch range internal fixes.
- Sustain/damper pedal switch (MIDI CC#64) support added.
- Color palette hack on Qt5 dark themes.


0.3.1  2013-02-08  One second bug-fix release.

- Improved filters parameter sensitivity (cutoff, reso).
- Envelope generators stage curves now gone a little more old-
  schooler and analog-like, hopefully improving on the punchy
  and click-less sound front.
- Experimental LV2 Time designated port support (Delay BPM).
- Preparations for Qt5 migration.


0.3.0  2012-12-21  Third coming release.

- Dropped all SSE dummy build optimization flags as they were
  making more harm than real good, performance wise.
- GUI layout moved from a toolbox into a stacked tab widget;
  also, a status-bar has been added at the bottom display.
- LV2 Atom/MIDI event processing is now official, a replacement
  for the formerly deprecated LV2 Event/MIDI specification.
- Added dirty checking also on switching from unamed presets.
- JACK stand-alone: preset loader initialization fix.


0.2.0  2012-11-22  Second public release.

- Parameters A/B comparison toggle buttons have been added.
- Keep LV2 event buffer valid on each run(), as found for strict
  LV2 specification and compliance (as suggested by falkTX).
- Increased polyphony baseline from 24 to 32 voices.
- Prepared for relative paths from preset file references.
- Velocity sensitivity configuration control has been added.
- Reset (all values to preset defaults) button has been added.
- Slight minor fix on fast-release re-triggering.
- Added some command line options to the stand-alone JACK client
  program (--help and --version information).
- Reimplemented mouse-wheel stepping on combo-dial knob widgets.
- Detached generic double-linked list class into its own header.


0.1.1  2012-09-24  One first bug-fix release.

- Fixed a crash bug on LV2 main widget close (GUI) due to some
  superfluous preset dirty checking.
- Fixed a nasty rather fundamental bug introduced by late voice
  list optimization, which was seriously crippled and noticeable
  when more than one LV2 plug-in were being instantiated.


0.1.0  2012-09-10  First true official release.

- Preset drop-down list is now sorted.
- Migrated to sourceforge.net.


0.0.9  2012-08-27  Post-vacation relax.

- Main widget now a plain basic QWidget, instead of QDialog.
- Preset salvage query check on main widget close (GUI).
- Voice list alloc/free optimization--doubled polyphony.


0.0.8  2012-07-15  Second coming consolidation.

- Proto-icon, Desktop file and Help About menus added.


0.0.7  2012-07-07  Initial change-log entry.
