Skip to content

feat: add octave visual indicator on right column#36

Merged
b4nst merged 2 commits intomainfrom
feat/octave-indicator
Jan 26, 2026
Merged

feat: add octave visual indicator on right column#36
b4nst merged 2 commits intomainfrom
feat/octave-indicator

Conversation

@b4nst
Copy link
Owner

@b4nst b4nst commented Jan 26, 2026

Summary

  • Display current octave on scene buttons (19-89) similar to transpose indicator on bottom row
  • Add octave reset: pressing both up+down together resets to default octave (5)
  • Block aftertouch for out-of-scale notes when scale locked

Changes

  • Add held state tracking for octave up/down buttons
  • Add reset_page_octave() function
  • Update render_controls() to include octave parameter and render indicator
  • Block aftertouch for out-of-scale pads when scale lock is enabled
  • Update documentation (controls, button-layout, modules)

Visual Indicator

  • All 8 LEDs lit = default octave (5)
  • LEDs off from bottom = higher octave (6-10)
  • LEDs off from top = lower octave (0-4)

Test plan

  • Octave indicator displays correctly at default (all lit)
  • Octave up shows LEDs turning off from bottom
  • Octave down shows LEDs turning off from top
  • Both up+down pressed resets to octave 5
  • MIDI note values are correct after octave changes
  • Scale lock blocks aftertouch for out-of-scale notes

🤖 Generated with Claude Code

b4nst and others added 2 commits January 26, 2026 19:46
Display current octave on scene buttons (19-89) similar to how
transpose is shown on the bottom row:
- All 8 LEDs lit = default octave (5)
- LEDs off from bottom = higher octave (6-10)
- LEDs off from top = lower octave (0-4)

Also adds octave reset: pressing both up+down together resets
to default octave (5), matching the transpose reset behavior.

Changes:
- Add held state tracking for octave up/down buttons
- Add reset_page_octave() function
- Update render_controls() to include octave parameter
- Update documentation (controls, button-layout, modules)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When scale lock is enabled, out-of-scale pads now block all MIDI output
including aftertouch, not just note-on events. This prevents unexpected
effects from being triggered by pressing blocked pads.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@b4nst b4nst merged commit dd1221e into main Jan 26, 2026
1 check passed
@b4nst b4nst deleted the feat/octave-indicator branch January 26, 2026 19:08
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.

1 participant