Feature: Add Note Velocity Editor to Automation View - #2046
Merged
seangoodvibes merged 39 commits intoJun 20, 2024
Merged
Conversation
seangoodvibes
marked this pull request as draft
May 28, 2024 22:35
Contributor
seangoodvibes
force-pushed
the
Automation-Velocity-Editor
branch
5 times, most recently
from
May 31, 2024 00:46
baeb3ff to
959cd3a
Compare
seangoodvibes
force-pushed
the
Automation-Velocity-Editor
branch
4 times, most recently
from
June 8, 2024 01:14
d2df06d to
35020cb
Compare
Collaborator
|
Featurewise my last nit is that holding a note and turning <> encoder should fine tune velocity (same as it does outside velocity automation view) |
seangoodvibes
force-pushed
the
Automation-Velocity-Editor
branch
from
June 11, 2024 20:15
21bea5b to
cb93eab
Compare
m-m-adams
reviewed
Jun 17, 2024
Collaborator
There was a problem hiding this comment.
Automation view should be split into two, just make a note automation view that inherits from automation view and overrides the functions that are checking inNoteEditor() right now. It'll reduce the spaghetti factor by a ton and also run more efficiently
Coming along well though!
Fixed two bugs: - note row not blinking when exiting and re-entering automation view - velocity editor not greying out when entering menu
Refactored code for adjusting note row length to remove duplication between automation view and instrument clip view Updated Shift + <> shortcut to edit note row length while in note editing view
Updated logic for removing note to only remove note when you press the pad corresponding to the average velocity value of the note you're pressing Fixed bug to disable extending / shortening clip length with shift + <> while in pad selection mode
Updated <> + back shortcut to only clear notes and mpe for selected note row
Added shortcut to enter velocity note editor view directly from instrument clip view by holding audition pad and pressing velocity shortcut pad
Updated note press behaviour so that: - remove note by short pressing top velocity pad - adjust note by long pressing top velocity pad and relevant actions (e.g. turn horizontal encoder to change velocity or turn select encoder to change probability) - you can also press on the top pad to see the current average velocity value of that pad Set row probability shortcut back to audition pad + turn select.
Added editing of note repeats
Added toggling of cross screen editing to velocity view Added logic to turn off the cross screen LED and toggling when you're in automation overview or automation editor.
- Fixed 7seg display rendering behaviours - Fixed OLED rendering behaviours for pad selection mode in regular automation view so that it doesn't blink the value when holding a selected pad but keeps showing the value until you release the pad press - Removed euclidean from pad selection mode - Added additional UI mode checks for Note Repeat and Euclidean - Fixed bug with pad selection mode not getting cleared properly when switching between automation and velocity while in pad selection mode
Couple bug fixes: - Rendering of L and R position on OLED display when drawing velocity ramp - Rendering of notes when recording and using audition pads
Adjusted display to show value of second pad press while you're holding it
Updated feature so that row probability can be changed by just turning select while in note editor with row selected Disabled editing row probability while in pad selection mode
Put shortcuts back for a few actions so behaviour functions as expected: - Shift + <> adjusts clip length again - Press and turn vertical encoder to transpsoe clip - Hold audition + Press and turn vertical encoder to use euclidean - Hold audition + Turn select encoder to adjust note row probability - Enabled euclidean, row probability and clip length adjusting while in pad selection mode
Formatting and cleanup
Fixed rotating of note row using audition pad + <> Fixed selected note on display not getting updated when transposing not kit clip with vertical encoder
Aligned with automation view to also use press vertical + turn <> to rotate note row in focus.
Enabled de-selection of selected pad in velocity pad selection mode so that you can horizontal scroll and zoom in / out
Add blinking of pad selection mode shortcut (waveform pad)
Enabled toggling of pad selection mode while in automation menu view
Fixed bug where euclidean action wasn't get closed when releasing audition pad for selected note row
Disabled pad selection mode for this PR Improved ramp calculation accuracy by using float math Added documentation
seangoodvibes
force-pushed
the
Automation-Velocity-Editor
branch
from
June 19, 2024 21:39
ddc3139 to
d097a8f
Compare
Updated AutomationParamType::NON_NOTE to AutomationParamType::PER_SOUND
for rendering play head, get the note row only once
seangoodvibes
marked this pull request as ready for review
June 19, 2024 22:51
added isValid flag to squareInfo struct with default value of false to flag whether squareInfo struct is valid to be used or not.
m-m-adams
approved these changes
Jun 20, 2024
seangoodvibes
added this pull request to the merge queue
Jun 20, 2024
tastycode
pushed a commit
to tastycode/DelugeFirmware
that referenced
this pull request
Jul 3, 2024
…le#2046) * Add Velocity Note Editor to Automation View WIP * Bugfix - noteRow blinking and menu greyout Fixed two bugs: - note row not blinking when exiting and re-entering automation view - velocity editor not greying out when entering menu * update comments * Update note row length editing Refactored code for adjusting note row length to remove duplication between automation view and instrument clip view Updated Shift + <> shortcut to edit note row length while in note editing view * Update logic for removing note Updated logic for removing note to only remove note when you press the pad corresponding to the average velocity value of the note you're pressing Fixed bug to disable extending / shortening clip length with shift + <> while in pad selection mode * Only clear notes and mpe for selected note row Updated <> + back shortcut to only clear notes and mpe for selected note row * Reorder function * Shuffle functions around a bit more * fix rebase mistake * add velocity view shortcut Added shortcut to enter velocity note editor view directly from instrument clip view by holding audition pad and pressing velocity shortcut pad * Update note press behaviour Updated note press behaviour so that: - remove note by short pressing top velocity pad - adjust note by long pressing top velocity pad and relevant actions (e.g. turn horizontal encoder to change velocity or turn select encoder to change probability) - you can also press on the top pad to see the current average velocity value of that pad Set row probability shortcut back to audition pad + turn select. * Add Note Repeat Editing Added editing of note repeats * Add cross screen editing Added toggling of cross screen editing to velocity view Added logic to turn off the cross screen LED and toggling when you're in automation overview or automation editor. * Bunch of fixes - Fixed 7seg display rendering behaviours - Fixed OLED rendering behaviours for pad selection mode in regular automation view so that it doesn't blink the value when holding a selected pad but keeps showing the value until you release the pad press - Removed euclidean from pad selection mode - Added additional UI mode checks for Note Repeat and Euclidean - Fixed bug with pad selection mode not getting cleared properly when switching between automation and velocity while in pad selection mode * Couple bug fixes - Fixed bug where muting a different note row in a kit would change the selected drum - Updated note row blink speed * Add quantize & humanize combo Added audition pad + press and turn tempo encoder to quantize / humanize notes * Add velocity ramps (WIP) Added ability to press on two note pads to set a velocity ramp for the notes between the pads between the velocity values of the start and ending note For this to work you need to select a first note and then select a second note and it will adjust the velocities values of the all notes in between. Still some work to be done on this (display related and using floats instead of integers for more accurate ramp calculations), but it is functioning. * Bug fixes - Velocity Ramp + Recording Notes Couple bug fixes: - Rendering of L and R position on OLED display when drawing velocity ramp - Rendering of notes when recording and using audition pads * Adjust multi pad press display for 7seg Adjusted display to show value of second pad press while you're holding it * update shortcut for editing row probability Updated feature so that row probability can be changed by just turning select while in note editor with row selected Disabled editing row probability while in pad selection mode * Putting shortcuts back Put shortcuts back for a few actions so behaviour functions as expected: - Shift + <> adjusts clip length again - Press and turn vertical encoder to transpsoe clip - Hold audition + Press and turn vertical encoder to use euclidean - Hold audition + Turn select encoder to adjust note row probability - Enabled euclidean, row probability and clip length adjusting while in pad selection mode * Bug fixes - Added ability to rotate note row by holding audition pad and holding down and turning horizontal encoder - Fixed bug with automation param type being out of sync with selected param - Fixed bug with automation param type being set wrong while in the menu * Formatting and cleanup Formatting and cleanup * Fix adjust velocity * Fix transpose + Note row rotate Fixed rotating of note row using audition pad + <> Fixed selected note on display not getting updated when transposing not kit clip with vertical encoder * Update rotate row combo Aligned with automation view to also use press vertical + turn <> to rotate note row in focus. * Fix audition pad rendering bugs * Enable pad de-selection in pad selection mode Enabled de-selection of selected pad in velocity pad selection mode so that you can horizontal scroll and zoom in / out * Add pad selection shortcut blinking Add blinking of pad selection mode shortcut (waveform pad) * Enable pad selection toggling while in menu view Enabled toggling of pad selection mode while in automation menu view * Fix bug with euclidean Fixed bug where euclidean action wasn't get closed when releasing audition pad for selected note row * Disable Pad Selection Mode + Improve Ramp Calculation Accuracy Disabled pad selection mode for this PR Improved ramp calculation accuracy by using float math Added documentation * Update community features * Update change log * Update automation param type Updated AutomationParamType::NON_NOTE to AutomationParamType::PER_SOUND * Fix wrapping * getNoteRow once for playhead for rendering play head, get the note row only once * construct squareInfo with isValid false added isValid flag to squareInfo struct with default value of false to flag whether squareInfo struct is valid to be used or not. * update isValid init syntax
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.
Feature: Automation View Note Velocity Editor
New Note Velocity Editing View that has been added as part of the existing Automation View implementation so that you can edit the velocities and other parameters of notes in a single note row.
Description:
Outstanding Items:
Future PR Work
Completed
Quick Overview:
OR
** Future PR Functionality: **
The following functionality was removed from this PR as it still needs work.
Some Demo Videos:
Euclidean Fun:
IMG_9140.mov
Playing with Probability:
IMG_9233.mov
Euclidean and Probability Together:
IMG_9364.mov
Enter Velocity Ramps for Existing Notes:
IMG_9312.mov