mirror of
https://github.com/9x/sheetmusictrainer.git
synced 2026-11-03 22:03:54 +01:00
Metronome sync toggle in widget, more Giuliani figures, chord pool list
- MetronomeWidget: the Phrase Mode switch now lives IN the widget as a Free/Sync toggle. Free = independent metronome (own clock, starts when toggled, with or without clicks). Sync = silent while idle, starts with the exercise (count-in included), pendulum mirrors the run's beats. - Fixed double phraseBeatBus.emit (leftover from an earlier edit) that flipped the pendulum twice per beat — animation appeared frozen. - Click decision unified: one sound checkbox governs both the widget and (in sync mode) the run's click scheduler. 'Click 1 after count-in' is musically the last count-in click (suppressed duplicate) — now with a working pendulum the offset is visible rather than confusing. - Giuliani figures extended: p-i-m-a-m-i, p-a-p-i-m-a, a-m-i-p-i-m, m-i-a-m-i-m (six-note rolling/bass-skip/tremolo-adjacent figures). - Arpeggio chord pool: togglable degree list (empty = all 7); functional and random progressions honor the pool; first bar draws a random chord from the pool. - Tests 174/174.
This commit is contained in:
@@ -181,6 +181,7 @@ export const Controls: React.FC<ControlsProps> = ({ currentPitch }) => {
|
||||
rhythm={settings.rhythm}
|
||||
onUpdate={updateRhythm}
|
||||
showAutoAdvance={!inPhraseMode}
|
||||
syncMode={inPhraseMode ? 'option' : null}
|
||||
gate={inPhraseMode ? phraseRunActive : null}
|
||||
/>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user