Skip to content

Allow note input without octave#17

Open
icalvo wants to merge 6 commits intomainfrom
16-octave-less-inputs
Open

Allow note input without octave#17
icalvo wants to merge 6 commits intomainfrom
16-octave-less-inputs

Conversation

@icalvo
Copy link
Owner

@icalvo icalvo commented Mar 3, 2026

Summary

  • Notes can now be entered without an octave (e.g., C or C# instead of C4). When the octave is omitted, all valid octave combinations within the instrument's range are tried and displayed as separate chords in the score.
  • Added PitchClass type, NoteInput union type, tryParseInput(), isNote(), expandPitchClass(), and generateNoteCombinations() to the string-fingerings library.
  • Configured npm workspaces so the website uses the local string-fingerings package during development.

Fixes #16

Test plan

  • Type a note without octave (e.g., C) on violin -- score should display multiple chords (C4, C5, C6, C7).
  • Type a mix of octave and non-octave notes (e.g., C G5) -- score should show combinations of C at valid octaves paired with G5.
  • Type notes with all octaves specified (e.g., G3 D4) -- behavior should be unchanged from before.
  • Verify MIDI input still works correctly (always produces notes with octaves).
  • Verify scordatura and highest-stop inputs still require notes with octaves.
  • Run npx vitest run in packages/string-fingerings -- all 63 tests should pass.
  • Run vue-tsc --build --force in website -- no type errors.

@netlify
Copy link

netlify bot commented Mar 3, 2026

Deploy Preview for stringinstrumenttools failed. Why did it fail? →

Name Link
🔨 Latest commit 71b6781
🔍 Latest deploy log https://app.netlify.com/projects/stringinstrumenttools/deploys/69a76fcdb0e0960008b9b531

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.

All Possible Chord Variations

1 participant