From 5756467e12e201e653f04af97d3719f3f1824e15 Mon Sep 17 00:00:00 2001 From: Sean Ditny <138174805+seangoodvibes@users.noreply.github.com> Date: Tue, 19 Mar 2024 17:00:03 -0400 Subject: [PATCH] Bugfix kit row audition pad rendering (#1505) --- src/deluge/gui/views/automation_view.cpp | 6 +----- src/deluge/gui/views/instrument_clip_view.cpp | 8 ++++++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/deluge/gui/views/automation_view.cpp b/src/deluge/gui/views/automation_view.cpp index 567d7ea112..c4812a4711 100644 --- a/src/deluge/gui/views/automation_view.cpp +++ b/src/deluge/gui/views/automation_view.cpp @@ -957,7 +957,7 @@ void AutomationView::renderLove(RGB* image, uint8_t occupancyMask[], int32_t yDi } } -// defers to audio clip or instrument clip sidebar render functions +// defers to arranger, audio clip or instrument clip sidebar render functions // depending on the active clip bool AutomationView::renderSidebar(uint32_t whichRows, RGB image[][kDisplayWidth + kSideBarWidth], uint8_t occupancyMask[][kDisplayWidth + kSideBarWidth]) { @@ -2204,10 +2204,6 @@ void AutomationView::auditionPadAction(int32_t velocity, int32_t yDisplay, bool drum = modelStackWithNoteRowOnCurrentClip->getNoteRow()->drum; Drum* selectedDrum = ((Kit*)output)->selectedDrum; if (selectedDrum != drum) { - // But not if we're actually not on this screen - if (getCurrentUI() != this) { - return; - } selectedDrumChanged = true; } } diff --git a/src/deluge/gui/views/instrument_clip_view.cpp b/src/deluge/gui/views/instrument_clip_view.cpp index bae3df5606..9e5fc01efb 100644 --- a/src/deluge/gui/views/instrument_clip_view.cpp +++ b/src/deluge/gui/views/instrument_clip_view.cpp @@ -4252,8 +4252,12 @@ void InstrumentClipView::drawAuditionSquare(uint8_t yDisplay, RGB thisImage[]) { // Kit - draw "selected Drum" if (getCurrentOutputType() == OutputType::KIT) { - if (getCurrentUI() != this) { - // we're not the top-level UI, just turn the pad off + // only turn selected drum off if we're not currently in that UI and affect entire is on + // we turn it off when affect entire is on because the selected drum is not relevant in that context + // e.g. if you're in the affect entire menu, you're not editing params for the selected drum + UI* currentUI = getCurrentUI(); + bool isInstrumentClipView = ((currentUI == &instrumentClipView) || (currentUI == &automationView)); + if (!isInstrumentClipView && instrumentClipView.getAffectEntire()) { thisColour = colours::black; return; }