Skip to content

Feature // Custom iterance for notes and note rows#2751

Merged
seangoodvibes merged 36 commits into
SynthstromAudible:communityfrom
soymonitus:monitus/custom_iterance_menu
Oct 17, 2024
Merged

Feature // Custom iterance for notes and note rows#2751
seangoodvibes merged 36 commits into
SynthstromAudible:communityfrom
soymonitus:monitus/custom_iterance_menu

Conversation

@soymonitus

@soymonitus soymonitus commented Oct 3, 2024

Copy link
Copy Markdown
Collaborator

The idea is to allow later for a view similar to velocity view where you can tap and select the divisor and the enabled steps, allowing you to enter more complex iteration configs for each note like: 1 and 8 out of 8 (=play first and last bars out of 8) ,... or 2, 3 and 4 out of 4 (=play last 3 bars but not the first), etc.

Plan is to use an int16 for the iteration value and store the divisor in the last 8 bits, and use the first 8 bits as booleans to tell if an iteration is enabled or not:

To encode the two previous examples, they will look like this:
000 1000 1000 0001 = this would be divisor = 8, and play bars 1st and 8th
000 0100 0000 1110 = this would be divisor = 4, and play bars 2nd, 3rd and 4th

  • Check if all menus update when changing selected note or row
  • Move the custom iterance menu inside the iterance parameter when clicking select while CUSTOM is selected
  • Cleanup
  • Documentation

@github-actions

github-actions Bot commented Oct 3, 2024

Copy link
Copy Markdown
Contributor

Test Results

103 tests  ±0   103 ✅ ±0   0s ⏱️ ±0s
 15 suites ±0     0 💤 ±0 
 15 files   ±0     0 ❌ ±0 

Results for commit ac5ac7f. ± Comparison against base commit daf3ff8.

♻️ This comment has been updated with latest results.

@soymonitus

Copy link
Copy Markdown
Collaborator Author

@seangoodvibes ready for review. Everything working now

@soymonitus

Copy link
Copy Markdown
Collaborator Author

@seangoodvibes that is weird. It compiles and works for me. Did you try he build generated by GitHub?

@seangoodvibes

Copy link
Copy Markdown
Collaborator

@soymonitus weird it's working now and I think the iterance is all working!

@seangoodvibes

Copy link
Copy Markdown
Collaborator

@soymonitus can you check the saving / loading code? It's not re-loading the custom iterance for me

@soymonitus

Copy link
Copy Markdown
Collaborator Author

@soymonitus can you check the saving / loading code? It's not re-loading the custom iterance for me

Ok i will check now, maybe there is some omision somewhere

@soymonitus

Copy link
Copy Markdown
Collaborator Author

@soymonitus can you check the saving / loading code? It's not re-loading the custom iterance for me

Ok, now it is fixed for sure, tested that I was able to write and read songs and iterance is preserved.

@SynthstromAudible SynthstromAudible deleted a comment from soymonitus Oct 5, 2024
@seangoodvibes

seangoodvibes commented Oct 5, 2024

Copy link
Copy Markdown
Collaborator

Hi @soymonitus I noticed a couple other bugs

First one is a UI bug: I have fixed this here #2770
https://github.com/user-attachments/assets/107afb75-829b-43ec-9f7f-9d21d5186071

Second one:

  • changing row iterance doesn't change note iterance of existing notes (e.g. I set row iterance to 1 of 8 and existing note got set to custom 1 of 1).

int32_t divisor = val << 8;
// Wipe the bits whose index is greater than the current divisor value
int32_t newIterance = ((iterance & 0xFF) & mask) | divisor;
leftMostNote->setIterance(newIterance);

@seangoodvibes seangoodvibes Oct 6, 2024

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is wrong as it's only setting the iterance for the left most note in a square. It needs to adjust the iterance for all notes in that square. that's what the instrumentClipView.adjustNoteIterance(offset) function does.

So you'll need a setNoteCustomiterance function to set the iterances of all notes in the square.

else {
iterance &= ~(1 << index);
}
leftMostNote->setIterance(iterance);

@seangoodvibes seangoodvibes Oct 6, 2024

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is wrong as it's only setting the iterance for the left most note in a square. It needs to adjust the iterance for all notes in that square. that's what the instrumentClipView.adjustNoteIterance(offset) function does.

So you'll need a setNoteCustomiterance function to set the iterances of all notes in the square.

@soymonitus

Copy link
Copy Markdown
Collaborator Author

Hi Sean, I did a refactor to avoid code duplication, making use of the code inside adjustNoteParameter and setNoteRowParameter to accept either an offset or the final value, so in each case just a small piece of code is differently handled, but the rest is the same for both

soymonitus and others added 5 commits October 7, 2024 01:25
Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 11, 2026
…#2751)

* Implemented custom iterance

* Cleanup

* Implement submenu under iterance’s CUSTOM value

* Fix

* Documentation

* Cleanup and documentation

* Fixed reading custom iterance

* Fixed sanitizeIterance method. Typo when calculating the divisor

* fix

* When custom iterance is modified in note row, apply same iternace to notes

* Refactor code to avoid repetition

* dbt format

* fix

* Re-enable editing iterance with select encoder

Re-enabled editing note / note row iterance using note / audition pad + turning select encoder

- To edit probability, hold a note / audition pad and turn the select encoder to the left to display current probability value / set new probability value.

- To edit iterance, hold a note / audition pad and turn the select encoder to the right to display current iterance value / set new iterance value.

* Fix bug with blurred notes

* Allow editing iterance turning the select encoder right while holding the note

* Fix merge resolution mistake

* Misc fixes

- Moving knob right when you are at CUSTOM iterance will not reset the custom iterance set. It respects what is there (see code around “originalParameter”)
- Changing the iterance directly turning select knob while holding note will now NOT allow moving past 8 of 8, and if already on Custom, it won’t let you go left to the presets

* Fixed bug with blurred notes

* docs

* Save Iterance as an struct instead of a plain uint16

* Renaming

* renaming stuff

* Refactor some methods inside the Iterance struct

* Refactor to include methods as part of the struct

* Added menu hierarchies

* update community_features.md

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>

---------

Co-authored-by: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com>
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.

3 participants