ecf810eaec7f173de12d1b579b7475ffae4c0daa

1.13.1
- editor: Make fonts scaling aware
- turboalexis: fix modulations higher than 4 always being zero order hold (and
  noisy due to that).

1.13.0
- delayverb: Add delay line ratios.
- mixmaxtrix: Allow numeric input (by index) on "choice" sliders.
- turbopaco: Clip level adjustments stop the reverb.
- juce: bump to 8.0.12
- mixmaxtrix: Add Midiverb emulations from thement.
- oversampler: fix remainder bug

1.12.0
- eq4x: Add 'all' mode (1L, 2R, 3M, 4S).
- eq4x: Fix in buffers not being copied to the output ones when no band is
  enabled.
- mixmaxtrix: Improve help text.
- juce: bump to 7.0.10

1.11.0
- editor: Fix some M/S and Pan knobs not showing the value guide from the
  center.
- editor: When creating parallel mixer subgroups connected in series by using
  the routing dropdown, each of the internal subgroup connections has reduced
  width, e.g. if the subgroup is 4-channels wide, then the internal connection
  can only send and receive 4-channels. Disable the buttons leading to
  impossible internal connections.
- eq4x: Add Mid/Side modes.

1.10.3
- turbopaco: Try to avoid peaks on Windows by resetting the full buffer memory
  on algorithm change.

1.10.2
- Small UI overhaul

1.10.1
- Fix version number to report 1.10.1. 1.10.0 was wrongly reporting 1.9.1.

1.10.0
- Add Turbo Paco.
- Embed font and some other minor graphic changes.

1.9.1
- Sonic Enhancer (Liteon): Fix envelope follower tracking on high samplerates.
- Editor: Remove suffixes/units when editing sliders with the Right Mouse
  Button.

1.9.0
- Artv Mod: Add modulation effect fixing quirks on the phaser. It has the next
  modes:
  1. 2-pole phaser (ZDF).
  2. Schroeder (reverb allpass) phaser/flangeroids.
  3. Chorus.
  4. Flanger.
  It is modulated via LFO and envelope follower.

  A bit uncommon is that it has two parallel feedback loops: the regular unit
  sample delay (or Zero Delay for the phaser) used for the Phaser/Flanger
  feedbacks and an additional delay line. As both feedbacks run in parallel, to
  keep stability the maximum amount of feedback of the delay depends on the
  modulation FX feedback amount (the most FX feedback, the least Delay feedback
  available).

- Artv Phaser: Gain compensate "parallel" knob/parameter.
- Artv Phaser: Gain compensate "delay feedback" knob/parameter.
- Artv Phaser: Add feedback Lowpass/Hipass.
- Artv Phaser: Add feedback Saturation.
- Artv Phaser: (sound might change for presets using the feedback delay/flanger)
  Better grain structure for the feedback delay/flanger. Now it can be pushed
  more when the regular feedback (for the  allpasses) has low values.
- Artv Phaser: Feedback delay renamed to Flanger on the UI.
- Artv Phaser: (sound might change) Normal, Alternate and Spread frequency
  distribution modes had one of the frequencies on the parallel path out of
  range and the groupings were wrong. Unfortunately this changes the sound of
  the phaser (for good). Be sure to render old projects.
- Editor: Knobs: Add keyboard data entry when pressing the Right mouse button.
- Editor: Comboboxes: Fix arrow buttons behavior when some items are disabled.
  Now disabled items are skipped.
- Editor: Comboboxes: Wrap around the list when using the arrows.
- Consoles: Fix bug when processing channel to channel sends.
- Processor: Fix wrong inactive channel FX detection.

1.8.1
- Artv Phaser: Label the amount of stages by number of stages on the serial
  path. Previously it was labeled by the number of stages on both paths.
  Labeling by number of serial paths makes more sense now that the parallel
  branch of allpasses can be disabled.

1.8.0
- Artv Phaser: Add exponential frequency modulation: Now the LFO frequency
  modulation is exponential which is what is normally expected. The previous
  linear modes have been kept for legacy patches to keep sounding as they did.
- Artv Phaser: Add parallel mix amount. This phaser is the sum of two stereo
  channels (4 channels total) of N/2 stages. A pameter is added to control the
  amount of mixing, so the flanging effects can be controlled or disabled.
  Disabling is also interesting for the use case of using the phaser as a phase
  rotator (lfo freq set to 0, controlling offset with the LFO phase knob).
- Artv Phaser: Add single pole mode.
- Artv Phaser: Add second feedback delay line. This delay line enables flanging.
  As seen on the Ensoniq DP4.

1.7.0
- Artv DelayVerb: Features include different tap configurations, diffusion,
  ducking, transient control, multiple delay line length modulation modes, input
  tilt filter and Joep Vanlier's K35 bandpass/peaking filter on the feedback
  path with an envelope follower. It can go from Delay to Reverb and can also do
  a bit of flanging and chorusing.
- Artv Reverb: Add ducker.
- TAL reverb 2: Add ducker.
- BBD echo: Add ducker
- fdnverb: Add ducker
- Dragongfly hall/room/plate: Add ducker
- Echo cycles: Add ducker
- Atlantis reverb: Add ducker
- Spring box: Add ducker
- JUCE: bump to version 7.0.1
- LV2: Drop from GitHub build. Unfortunately the build with JUCE 7.0.1 core
  dumps when done on the CI runners (low memory?). Not reproducible locally.

1.6.0
- sound_delay: Add mid/side time delay.
- filter_2x: Fix R input taking the input from L, which was resulting in mono
  operation.

1.5.0
- Add algorithmic reverb with stereo response and gap control.
- Add naîve but cheap pitch shifter, mostly for weird FX.
- Add a pitch shifter wrapping the Rubberband library.
- Add a pitch shifter wrapping the SoundTouch library.
- upsampler/downsampler: Lower cutoff frequency at base quality settings.
  Don't use Lth-band optimization.
- upsampler/downsampler: user power of 2 kernel sizes and compensate the
  fractional delay on the FIR kernel.
- upsampler/downsampler: Add low latency variants of the filters.
- upsampler/downsampler: Add steeper variants of the filters.
- fdn_verb: Port from autogenerated to manually written C++. Now the delay time
  can be changed without fully resetting the buffers.
- waveshaper: Fix audio spikes and numerical instability when changing shape
  with companding enabled.
- Enable SSE4.2 on optimized builds. Some 12+ years old AMD processors might
  stop working.

1.4.0
- lin_eq4x: Add 4 band linear-phase EQ. It is based on the same (M.Vicanek's)
  algorithm than the linear-phase crossover. The peak, low-shelf and high-shelf
  are fully bit-transparent on its 0dB setting. The curves are decramped.
- eq4x: Add a peak bandpass. This type of band is the difference between a peak
  eq and its input. It can be used e.g. to add extra external (or internal)
  processing to a single EQ band, similar to a crossover. This is the type of
  band used on some comercial EQs to do transient/tonal processing on a band or
  to implement a dynamic EQ.
- eq4x: Fix potential/theoretical unnecessary state reset bug.
- eq4x: Fix lowshelf and hishelf coefficient calculation.
- Add custom build for AMD Zen3 processors. Currently the compiler (clang14) has
  no tuning for Zen3, so Zen2 is used.
- address-sanitizer: lin crossover: Fix memory leak.
- address-sanitizer: TAL Reverb 2. Fix memory leak.
- Fix accepting buses layouts that aren't supported, leading to crashes.

1.3.2
- editor: Fix look and feel JUCE assertions.
- processor: Fix bus layout JUCE assertions. This might fix the plugin for
  some hosts.

1.3.1
- editor: Enable fine Ctrl modifier on the scroll wheel.

1.3.0
- eq4x: Add per-band setting to have variation between L and R channels.
- eq4x: Fix processing only the last band enabled (Big bug, sorry).
- eq4x: Fix Q not updating until another parameter is changed (Big bug, again).
- eq4x: Add topology setting: Stereo, L, R and half L half R
- waveshaper: Change default enveloper curve, it was defaulting to an extreme
  one.
- waveshaper: Redo timings. Previously the attack/release range on the envelope
  follower was useless. Will break presets using the envelope follower. Given
  the fact that this project has almost no following I deliberately made the
  lowest effort fix.
- transient gate: Add oversampling.
- editor: Fix mixer to mixer send buttons incorrectly disabled.

1.2.0
- Add linear-phase crossover. This crossover is based on Martin Vicanek's paper
  "A new reverse IIR algorithm". It allows a linear phase filter with easy
  coefficient calculation that can respond well to automation at the expense of
  having a non-windowed truncated response before the transient. The algorithm
  is more efficient than a FIR in number of operations, but it touches memory
  sparsely, so it is not as cache-friendly, which may result in higher CPU
  usage.
- Add simple transient splitter/crossover.
- Add channel/bus editable labels. Saved with the plugin state.
- Fix latency not resetting to 0 correctly when switching back from a latency
  compensated plugin.
- Allow sending the difference between the pre-fader Dry and the Wet signals to
  the neighboring mixer. This allows e.g. having a transient gate act as a
  transient splitter, get the inverted filter output from any linear-phase
  or a pole IIR filter, etc.
- Fix some processing ordering issues when using the crossover.

1.1.1
- waveshaper: fix noise on low level companding mode caused by a now removed DC
   blocker.

1.1.0

- Add 2x-16x medium quality FIR oversampler and latency compensation.This adds
   oversampling or upsampling to: 1175 compressor, consolidator, gate/expander,
   fairly childish, major tom, slax, transience, eq4x, phaser, ripple phaser,
   filter2x, track comp and event horizon 2.
-  Introduce waveshaper module (own coded). It is a waveshaper with:
   - Envelope follower.
   - Emphasis EQ.
   - Waveshaping stage with feedback.
   - A wonky band crossover filter.
   - Companding.
   - Oversampling.
   It is antialiased via ADAA and brute force oversampling.
- Add Linkwitz-Riley 4 band crossover. This turns mixmaxtrix into a multiband
   processor. It allows shifting the band cuttoff on the Left and Right
   channels.
- Add wonky 4 band crossover (WTF Crossover). A crossover that gets more and
   more wonky on higher orders. Not phase coherent but it has perfect
   linear-phase reconstruction. Useful for destructive FX.
- filters2x: Add envelope follower to control Frequency and Q.
- filters2x: Various CPU improvements.
- filters2x: Fix gain bug on the Ladder filters.
- eq4x: Add one pole allpass filter.
- editor: Disable mixer to mixer sends at routing block boundaries.
- editor: Shorten some display names.
- dragonfly: Add native width control.
- chow phaser: Mitigate bad sound on high samplerates. Not fully solved. Present
   on the original too.

1.0.2

- download artifact: Include missing MixMaxtrix.vst3/MixMaxtrix.lv2 folders
   on the binary zip file.
- mix: Fix M/S smoothing unlikely to happen bug (required non power of 2
   buffers).
- mix: Fix main mixer pan (GPan knob) bug. Both L and R channels were using the
   gain of the L channel, making the control mostly useless.
- editor: Add third FX page. Now unused. In preparation for 1.1, which can't
   happen now before DC21 is over because it adds oversampling to all FX that
   don't have delay lines (dynamics processors, eqs, phasers...). Not adding
   on this release would require a manual rebase, that would be a bad way to
   spend the little dev time I have.
- editor: Make main LCD bigger.
- editor: Replace "LR" (for LR swap) button text by "S", so it is seen when
   resizing the editor to small sizes.
- sonic_enhancer: Fix wrong "rand" calls commented when porting from JSFX.
- phaser: Fix complete broken behavior on samplerates other than 41/48K.
- fiters2x: Fix moog filter frequency setting bugs on samplerates other than
   41/48K. The filter was unstable/unusable at those sample rates before.
- track compressor: Workaround bad ratio display.

1.0.1

- Fix wrong autorship on Atlantis Reverb (Geraint Luff).
- Fix sometimes too big initial plugin window size.
- Fix missing settings on the L/R M/S EQ preset.
- Increase mixer horizontal separation.

1.0.0

- Initial release
