Skip to content

v0.7.1: OCTV's bottom position is the full range without the detent (#18) - #45

Merged
Worldwave merged 2 commits into
mainfrom
issue18-octv-free-range
Oct 6, 2026
Merged

Worldwave merged 2 commits into
mainfrom
issue18-octv-free-range

Conversation

@Worldwave

Copy link
Copy Markdown
Owner

Closes #18.

What changes

The bottom 1/11 of OCTV (PLAITS SETTINGS F1) is no longer Plaits' LFO range. It is now the full range without the centre detent, with or without MIDI. F1 sweeps through C4 without the detent's flat spot and can be set finely around it.

  • Scale quantizer: works at the bottom position exactly as at the top. The detent and the scale are independent.
  • V/Oct routing: routing a Marbles output to V/Oct still sets the top of OCTV (full range, detent on), whichever position OCTV was on.
  • MIDI: a FREQUENCY CC moves pitch at 96 semitones per travel there, the same as the full range. CC 102 still steps through all eleven positions.
  • CPU: no change. The LFO code path is removed and nothing is added.

Verified

  • Host: all nine suites pass. New checks in routetest (bottom of OCTV vs the top, with major selected) and miditest §14 (bottom of OCTV with MIDI active). Both fail against the old code.
  • Build: 427 644 B (46.82 % of the slot), 0 warnings, check_image.py passes, _vector_table at 0x20000. Fallback config: 86 556 B, passes.
  • Hardware: tested by Adara on the v0.7.0-numbered build of the same change. Its log shows 0 fails and 0 stream resets over 36 windows, with the worst window at 83 % max. One 104 % block appeared in the first window after ON; it was there before this change too (BUG: Audio dropout when switching engines around Particle, String and Modal #36).

Docs

UI-SPEC v0.16, UI-PAGES and DEFAULTS. The manual is updated separately.

Version bumped to v0.7.1 (firmware/VERSION, README, the issue templates).

🤖 Generated with Claude Code

Worldwave and others added 2 commits October 6, 2026 18:00
Plaits' LFO range (octave mode 0, -48.37 + 60t) is gone from SETTINGS F1.
It sat in the bottom 1/11 of the fader, easy to land in when pulling OCTV
down for a low octave, and left the voice at sub-audio rates.

Its place is the full range (60 + 48t, 96 st per travel for a FREQUENCY
CC) with no centre detent, MIDI or not: F1 sweeps through C4 without the
flat spot and can be set finely around it. The scale quantizer applies
there exactly as at the top of OCTV -- the two are independent. Routing
Marbles to V/Oct still opens the range to mode 10 with the detent on,
whatever OCTV was on (Adara: one consistent result).

Host: routetest checks the bottom position against mode 10 with major
selected (D4 vs C4 at F1 +2 %); miditest section 14 checks it with MIDI
active and its 96 st/travel. Both fail against the old code. All nine
suites pass. Tested on hardware (logs/sp1-20261006-175543.log).

UI-SPEC v0.16, UI-PAGES and DEFAULTS updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
OCTV's bottom position is now the full range without the centre detent;
Plaits' LFO range is removed (#18).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Worldwave Worldwave added this to the M5 milestone Oct 6, 2026
@Worldwave
Worldwave merged commit ba9ccc2 into main Oct 6, 2026
3 checks passed
@Worldwave
Worldwave deleted the issue18-octv-free-range branch October 6, 2026 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FEATURE: Remove the LFO range from OCTV

1 participant