Commit graph

95 commits

Author SHA1 Message Date
Armin
fbca80dfe3 Add persistent UI scale parameter (75%..200%)
- Add uiScale AudioParameterChoice to APVTS with 5 options (75%, 100%, 125%, 150%, 200%)
- Connect uiScaleBox ComboBox to parameter via ComboBoxAttachment
- Restore saved scale on editor creation
- Scale persists across plugin close/reopen via APVTS state
2026-08-31 21:39:12 +02:00
Armin
94b9d4a8f8 Remove VEL RES knob; lay out filter knobs in a single 5-knob row 2026-08-30 00:24:41 +02:00
Armin
4003fff05a Add per-note velocity routing to filter cutoff and resonance 2026-08-30 00:03:13 +02:00
Armin
ccb3b3b636 Fix filter type dropdown emptying when selecting LP 48dB
The APVTS parameterChanged callback delivers the parameter's denormalised
value, which for an AudioParameterChoice is the choice index, not a
normalised 0..1 value. The handler was multiplying it by (numItems - 1),
so LP 48dB (index 8) produced itemId 65 and cleared the box. Map the
received index straight to itemId (index + 1).
2026-08-13 16:37:56 +02:00
Armin
4a86afd8a8 update README 2026-08-13 15:11:47 +02:00
Armin
f9c235a4b0 Reorder filter dropdown: list LP 48dB below LP 24dB
Keep the parameter choice indices stable (so saved projects, .cfl
files and presets stay correct) and only reorder the displayed menu
via explicit item IDs plus a new IndexedComboBoxAttachment, since the
stock JUCE ComboBoxAttachment hard-maps choice index to menu position.
2026-08-13 14:55:33 +02:00
Armin
9c88380d1b Fix preset name not restored on plugin reopen
The plugin saved only parameter values, so on reopening the editor
reset to the default "Zero State" even though another patch was
selected. Store the chosen preset name as a presetName property on the
APVTS ValueTree (set on preset select, randomize, and .cfl load) so it
round-trips with the saved state and the editor restores the correct
name and index. Parameter tweaks made after selecting a preset are
preserved since only the label is restored, not re-applied.
2026-08-13 14:39:56 +02:00
Armin
9b554cbca2 Fix filter env: restore unipolar modulation so all env knobs are responsive
Reverts the sustain-relative modulation that made F.ENV SUS and the
cutoff knob feel dead while a note was held. The envelope now modulates
up from the base cutoff; at env amount 0 the cutoff equals the knob, and
lowering env amount darkens the held tone as expected.

Also extends the filter to 24/48 dB modes (extra TPT stages), adds the
matching combobox options, gives knobs a real blurred drop shadow, and
updates the AGENTS.md filterType choice count.
2026-08-13 14:15:41 +02:00
Armin
ad1aff748f Fix filter env: modulate relative to sustain so cutoff knob stays audible at any env amount 2026-08-13 13:37:39 +02:00
Armin
3a5ef74a40 Fix envelope time knobs: use true log scaling instead of inverted 0.3 skew 2026-08-13 13:23:35 +02:00
Armin
80a84a2f1c Add bottom status bar with git build info and compile time 2026-08-13 12:51:42 +02:00
Armin
ffdc2d0e2a Add delay invert + flatten LEDs; fix flatten to narrow bounce width instead of shortening tail 2026-08-13 04:28:58 +02:00
Armin
023071154e Fix delay ping-pong: real stereo bounce + rename LED label to PINGPONG 2026-08-13 04:15:42 +02:00
Armin
ac62d7a30b Fix preset dialog default dir resolving to / on Linux 2026-08-13 04:05:21 +02:00
Armin
5cd2200c7e replace screenshot, fix arpeggiator reset 2026-08-13 04:00:25 +02:00
Armin
5c6b54d3d9 Fix arp INVERT dropping an octave; invert Stab/Pinky patterns 2026-08-13 03:47:46 +02:00
Armin
243d352cba updateeeees 2026-08-13 03:39:39 +02:00
Armin
6ab46d18da . -> , 2026-08-13 02:18:59 +02:00
Armin
c9e62309eb Fix waveform count: 17 waveforms in docs (was 5) 2026-08-13 02:17:20 +02:00
Armin
84fab88ea1 rework arpeggiator with blank notes and progressions 2026-08-13 02:09:39 +02:00
Armin
beec2ed4bd Make the Supersaw Array preset use Supersaw OSC waveforms 2026-08-13 01:44:00 +02:00
Armin
5e5f7746b4 rework arpeggiator patterns 2026-08-13 01:39:02 +02:00
Armin
e5e3173afe re-work appegiator patterns 2026-08-13 01:15:17 +02:00
Armin
ecad7b13c1 update README 2026-08-13 00:39:11 +02:00
Armin
bb0f39a87b add arpeggiator, rename presets, move spectrum analyzer into waveform 2026-08-13 00:38:10 +02:00
Armin
774d9295ea update logo.png 2026-08-12 23:26:30 +02:00
Armin
e0937bea2d Add JP-8000 like "supersaw" waveform 2026-08-12 20:13:57 +02:00
Armin
87f5cb0d24 update README 2026-08-02 21:55:23 +02:00
Armin
8cdbf3c238 Limit rotary knob value text shown by 1 decimal 2026-07-17 16:35:58 +02:00
Armin
fdc94c38a4 Fix rotary knob fader curve mapping functions, lower highpass frequency
in DSP
2026-07-17 15:26:06 +02:00
Armin
288fbc1163 Fix some compiler warnings when building JUCE 2026-07-17 15:03:03 +02:00
Armin
9c3de80748 Tighten layout: reduce gaps, shrink header, reposition logo, rename newlogo→logo 2026-07-17 00:48:49 +02:00
Armin
ab647c6ec8 use newlogo in README 2026-07-16 02:34:49 +02:00
Armin
91a1d96ab8 UI polish: amber theme, smooth spectrum, MIDI LED, VU tuning
- Rename section labels: COMPRESSOR → COMPRESSION, AUTO-PAN → PANNING
- Replace spectrum analyzer bars with smooth gapless filled wave
- Use gold (#c59c07) for wave/spectrum strokes and piano roll active keys
- Amber CRT-style patch LCD with dark background and gold dot-matrix text
- Add MIDI signal LED with glow between semi and scale controls
- Reduce VU meter sensitivity (5x → 1.5x) and match amber gradient theme
- Add subtle glow behind section and sub-section boxes
- Fix Compressor.h class name and PluginProcessor include to match
2026-07-16 02:31:34 +02:00
Armin
656f1c2bd5 replace logo 2026-07-16 01:42:56 +02:00
Armin
5c4928252c Add ping-pong delay, fix preset save extension, align reverb/scale UI 2026-07-16 00:49:09 +02:00
Armin
c5850fd2a6 Fix delay plucking with interpolated read tap 2026-07-16 00:21:14 +02:00
Armin
cf0b704350 update screenshot, change presets (phasing) 2026-07-16 00:18:22 +02:00
Armin
ab93d7114b Wire up remaining FX members, param layout, and section bounds 2026-07-15 23:54:52 +02:00
Armin
64983db56c Add VERSION file, preset DTD, and .cfl version-compatibility check 2026-07-15 23:54:25 +02:00
Armin
782b380e17 Make pitch bend wheel drag start at center (0) 2026-07-15 23:53:34 +02:00
Armin
132c5cbc29 Update presets: remove distortion mix, add symmetry/tone and LFO1 OSC2 phase 2026-07-15 23:52:54 +02:00
Armin
4103725036 Sort preset categories and names alphabetically 2026-07-15 23:52:43 +02:00
Armin
d3ca2bf4be Make master fader natural by applying it as final post-limiter stage 2026-07-15 23:52:33 +02:00
Armin
f4253687e8 Make all dropdown menus consistent height and aligned with knobs 2026-07-15 23:52:21 +02:00
Armin
320881a1cf Tune synth down one octave; add LFO1/LFO2 OSC2 phase destination 2026-07-15 23:51:58 +02:00
Armin
040c0c8e61 Add distortion Symmetry and Tone knobs 2026-07-15 23:51:38 +02:00
Armin
bfd96092ea Remove compressor/distortion mix (force 100% wet) 2026-07-15 23:50:31 +02:00
Armin
e0b005c7ae Add brickwall limiter FX section 2026-07-15 23:49:51 +02:00
Armin
545a499de8 Make patch LCD clickable to open .cfl load/save file menu 2026-07-15 23:48:41 +02:00