Feature // Custom iterance for notes and note rows#2751
Conversation
|
@seangoodvibes ready for review. Everything working now |
|
@seangoodvibes that is weird. It compiles and works for me. Did you try he build generated by GitHub? |
|
@soymonitus weird it's working now and I think the iterance is all working! |
|
@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 |
Ok, now it is fixed for sure, tested that I was able to write and read songs and iterance is preserved. |
|
Hi @soymonitus I noticed a couple other bugs First one is a UI bug: I have fixed this here #2770 Second one:
|
| 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); |
There was a problem hiding this comment.
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); |
There was a problem hiding this comment.
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.
|
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 |
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.
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
…#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>
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