Skip to content

learning user scales - #2365

Merged
sapphire-arches merged 6 commits into
SynthstromAudible:communityfrom
nikodemus:pr-learn-scale
Aug 5, 2024
Merged

sapphire-arches merged 6 commits into
SynthstromAudible:communityfrom
nikodemus:pr-learn-scale

Conversation

@nikodemus

@nikodemus nikodemus commented Jul 31, 2024 •

Copy link
Copy Markdown
Collaborator

InstrumentClip::seeWhatNotesWithinOctaveArePresent() cleanup

  • pass in the key instead of song and root note
  • deleteEmptyNoteRows was unused, delete
  • TODO: there's a comment in one place about that: make sure it being unused wasn't just a bug.

learn + scale learns current notes as custom scale

  • extract scale-related commands into methods of InstrumentClipView.
  • make AUDITION + SCALE and SCALE + AUDITION both work the same way in and out of scale mode. (Previously AUDITION + SCALE in scale mode was the odd one out.)
  • LEARN + SCALE learns notes from current & scale mode clips as a new scale.

user scale as part of SHIFT + SCALE cycling

  • Song::userScale stores user scale (there can be only one)
  • scaleId() -> NUM_PRESET_SCALES for user scales
  • scale name is always fetched with getScaleName()
  • OTHER_SCALE and CUSTOM_SCALE_WITH_MORE_THAN_7_NOTES both replaced with USER_SCALE, or CANT_CHANGE_SCALE as appropriate.
  • propagating the correct type for scale id / index a bit furhter, still remains as int32_t farther out.

@github-actions

github-actions Bot commented Jul 31, 2024 •

Copy link
Copy Markdown
Contributor

Test Results

99 tests  ±0   99 ✅ ±0   0s ⏱️ ±0s
14 suites ±0    0 💤 ±0 
14 files   ±0    0 ❌ ±0 

Results for commit 4448b49. ± Comparison against base commit f4a087a.

This pull request removes 1 and adds 1 tests. Note that renamed tests count towards both.
NoteSetTest ‑ presetScaleId
NoteSetTest ‑ scaleId

♻️ This comment has been updated with latest results.

@nikodemus
nikodemus force-pushed the pr-learn-scale branch 2 times, most recently from 05da640 to 34d6d38 Compare August 2, 2024 21:38
@nikodemus
nikodemus marked this pull request as ready for review August 2, 2024 21:39
Comment thread src/deluge/model/clip/instrument_clip.cpp Outdated
Comment thread src/deluge/model/scale/preset_scales.h
- pass in the key instead of song and root note

- deleteEmptyNoteRows was unused, delete

- TODO: there's a comment in one place about that: make sure it
  being unused wasn't just a bug.
- extract scale-related commands into methods of InstrumentClipView.

- make AUDITION + SCALE and SCALE + AUDITION both work the same way
  in and out of scale mode. (Previously AUDITION + SCALE in scale mode
  was the odd one out.)

- LEARN + SCALE learns notes from current & scale mode clips as a new
  scale.
- Song::userScale stores user scale (there can be only one)

- scaleId() -> NUM_PRESET_SCALES for user scales

- scale name is always fetched with getScaleName()

- OTHER_SCALE and CUSTOM_SCALE_WITH_MORE_THAN_7_NOTES both replaced
  with USER_SCALE, or CANT_CHANGE_SCALE as appropriate.

- propagating the correct type for scale id / index a bit
  furhter, still remains as int32_t farther out.
- the previous comment abourt noteRowsOnScreen was outdated.
  No such function exists, and the subsequent noteRows.getNumElements()
  check actually needs the deletion to work correctly.
@sapphire-arches
sapphire-arches added this pull request to the merge queue Aug 5, 2024
Merged via the queue into SynthstromAudible:community with commit 2b8ad69 Aug 5, 2024
@nikodemus
nikodemus deleted the pr-learn-scale branch August 5, 2024 19:39
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.

2 participants