[Ready to Merge] Automation View: Long press bug fixes + Pad selection mode - #360
Merged
jamiefaye merged 18 commits intoAug 20, 2023
Merged
Conversation
- Adjusted the max of the parameter value range to 128 from 127 by adjusting the kMaxKnobPos enum in definitions_cxx.hpp - Fixed multi pad press bug that was calculating the wrong parameter values by adjusting the handleMultiPadPress function to use floats for the linear interpolation calculation and by adjusting the loop code to properly loop forwards/backwards depending on first pad pressed's horizontal position relative to the second pad pressed - Removed calculateKnobPosForMultiPadPress function - Fixed renderRow bug which was not displaying value ranges correctly - Added ability to fine tune multi-pad press using mod encoders - Refactored code out to new getParameterKnobPos function - Removed unnecessary setKnobIndicatorLevel calls - Adjusted setParameterAutomationValue function so it doesn't displayParameterValue for multi pad press - Minor clean up in function calculateKnobPosForSinglePadPress
Pad selection mode is accessed by pressing on either of the mod encoder buttons In pad selection mode, you cannot edit the automation grid by pressing on the pads. With a single or multi pad (long) press you select the pad(s) to edit Once you've made your pad selection, you can use the gold knobs to tweak the values of the singular pad or the range of pads in a long press With this mode you can also press on each pad to see the current value
Interpolation was commented out previously while I worked on fixing other bugs / pad selection mode. Re-added interpolation in this commit
seangoodvibes
marked this pull request as draft
August 16, 2023 23:02
I think i've done it! Interpolation accurate down to the lowest node level. and the rendering now renders the value of the middle node position within a square.
fixed interpolation wrapping issues by setting nodes around the current node being edited with their current interpolation status
Updated cursor rendering so that you can see the underlying pad value through the cursor. zero values are drawn as a grey shade.
seangoodvibes
marked this pull request as ready for review
August 19, 2023 17:45
m-m-adams
approved these changes
Aug 19, 2023
m-m-adams
left a comment
Collaborator
There was a problem hiding this comment.
Looks good! This improves performance with lots of automation as well
Collaborator
Author
|
Thanks @m-m-adams This is ready to merge @jamiefaye :)! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR is a follow up to PR #347 and the original Automation View PR #241
This PR resolves some bugs with entering automation long presses and also adds a new pad selection mode to offer the user even more precision automation editing.
Fine tuning a long press
Added the ability to fine tune a long press's start and end values which automatically adjusts the interpolation between those values (without needing to enter the pad selection mode).
Simply enter a long press and while continuing to hold the first pad in the long press, turn the gold knobs to adjust the start and end values of the long press.
When refining a long presses start/end values, each gold knob is used separately to adjust the start/end position values.
The bottom left gold knob is used to adjust the start value.
The top right gold knob is used to adjust the end value.
In a long press, you will also note that the LED indicators change to show the current value of the start and end position. Once you've let go of the long press, the LED indicators reset back to the parameters overall current value.
Pad Selection Mode
Pad selection mode is accessed by pressing on either of the mod encoder buttons
In pad selection mode, you cannot edit the automation grid by pressing on the pads.
With a single or multi pad (long) press you select the pad(s) to edit.
A cursor is displayed on the grid to identify the single or multiple pads you've selected. Seeing the cursor means you are in pad selection mode.
Once you've made your pad selection, you can use the gold knobs to tweak the value of the singular pad or the value of the start/end pads in a long press.
When one pad is selected, one cursor is displayed on the grid and both led indicators show the value for that pad (cursor position).
When two pads are selected, two cursors are displayed on the grid and the lower led indicator shows the value of the left pad (left cursor), and the upper led indicator shows the value of the right pad (right cursor).
With this mode you can also press on each pad to see its current value without changing its value.
Other changes / bug fixes