Ξ-W2-T1: the resample bake chain — instrument renders, extension banks, one click re-points and resets
This commit is contained in:
@@ -112,6 +112,9 @@ void ReaSamplerEditor::paintChrome(LICE_IBitmap* bmp, const FaceLayout& fl, bool
|
||||
} else {
|
||||
title += " [host: no bridge]";
|
||||
}
|
||||
// A bake outcome outranks the identity readout while it lasts: the click's only other
|
||||
// feedback is the sound itself, which is by design indistinguishable from before.
|
||||
if (bakeMessageTicks_ > 0 && !bakeMessage_.empty()) title = bakeMessage_;
|
||||
kitText(bmp, cr.title, title.c_str(), kToolbarFont, Role::TextPrimary);
|
||||
|
||||
// Browse: the picker. When nothing is loaded it is the empty state's dominant
|
||||
@@ -128,6 +131,20 @@ void ReaSamplerEditor::paintChrome(LICE_IBitmap* bmp, const FaceLayout& fl, bool
|
||||
// nothing picked there is no root, no preview and no channel decision to make.
|
||||
if (empty) return;
|
||||
|
||||
// Resample bake. Disabled without the extension: the bank is the extension's surface,
|
||||
// so with it absent there is no writer and the control must read unavailable rather
|
||||
// than accept a click it cannot honour.
|
||||
{
|
||||
const KitButtonBox box{toKitBox(cr.bake)};
|
||||
const InteractionState st =
|
||||
!bakeAvailable_ ? InteractionState::Disabled
|
||||
: (bakePending_ ? InteractionState::Active
|
||||
: (isHovered(HoverKind::kBake, -1)
|
||||
? InteractionState::Hover
|
||||
: InteractionState::Rest));
|
||||
drawButton(bmp, box, "Bake", st, /*warn=*/false);
|
||||
}
|
||||
|
||||
// Preview-trigger button (fires the loaded capture at root through the live voice engine).
|
||||
// A drawn play triangle rather than a label or an embedded image: it inherits the button's
|
||||
// own foreground role, so it stays legible in every interaction state at no build cost.
|
||||
|
||||
Reference in New Issue
Block a user