mirror of
https://github.com/9x/sheetmusictrainer.git
synced 2026-11-03 22:03:54 +01:00
Feedback round 2: strings filter, key sync, fixed clef, unified metronome
- Strings filter: per-string toggle buttons (replaces fret-window-only semantics as a third 'limits notes' control); combines with fret window and key filter in targetPool (fretted instruments). - Key sync checkbox: display key signature can follow the target key (major/minor mapping), default off — both remain independently settable. - LiveNoteStaff: optional fixed clef — guitar/bass now keep their usual clef instead of flipping at middle C; octave markers handle range. - Unified metronome widget (MetronomeWidget) with animated linear pendulum synced to the audible click; shown in ALL modes next to the tuner. Phrase BPM now reads from settings.rhythm.bpm (single source); the phrase-local BPM control was removed from the setup panel. - Tests: 160/160; tsc + eslint clean; build ok.
This commit is contained in:
@@ -44,13 +44,12 @@ export const useGameLogic = (
|
||||
keyEnabled: pf.keyEnabled,
|
||||
keyTonic: pf.keyTonic,
|
||||
keyMode: pf.keyMode,
|
||||
strings: pf.strings,
|
||||
fretWindowEnabled: pf.fretWindowEnabled,
|
||||
fretMin: pf.fretMin,
|
||||
fretMax: pf.fretMax,
|
||||
});
|
||||
}, [settings.instrument, settings.difficulty, settings.tuningId, settings.customMinFret, settings.customMaxFret,
|
||||
settings.practice?.keyEnabled, settings.practice?.keyTonic, settings.practice?.keyMode,
|
||||
settings.practice?.fretWindowEnabled, settings.practice?.fretMin, settings.practice?.fretMax]);
|
||||
}, [settings]);
|
||||
|
||||
// --- Note Generation ---
|
||||
const generateNewNote = useCallback((keepFeedback = false) => {
|
||||
|
||||
Reference in New Issue
Block a user