instrument: one VELOCITY deck for all three velocity curves, bipolar and off by default for pitch and filter
Payload v12 appends the new velocity->pitch curve and folds the retired filter velAmount into its now-bipolar curve, so pre-v12 projects reopen sounding identical. Preview button takes a drawn play triangle.
This commit is contained in:
@@ -76,8 +76,10 @@ void ReaSamplerEditor::paintDeck(LICE_IBitmap* bmp, const FaceLayout& fl) {
|
||||
case ParamControl::kFilterQ: return "Res";
|
||||
case ParamControl::kFilterDrive: return "Drive";
|
||||
case ParamControl::kFilterModAmt: return "Mod";
|
||||
case ParamControl::kFilterVel: return "Vel";
|
||||
case ParamControl::kFilterKeyTrack: return "Key Trk";
|
||||
case ParamControl::kAmpVelCurve: return "Amp";
|
||||
case ParamControl::kPitchVelCurve: return "Pitch";
|
||||
case ParamControl::kFilterVelCurve: return "Filter";
|
||||
case ParamControl::kFilterEnvAttack: return "F.Att";
|
||||
case ParamControl::kFilterEnvHold: return "F.Hold";
|
||||
case ParamControl::kFilterEnvDecay: return "F.Dec";
|
||||
@@ -102,6 +104,7 @@ void ReaSamplerEditor::paintDeck(LICE_IBitmap* bmp, const FaceLayout& fl) {
|
||||
case kGroupPitchEnv: caption = "PITCH ENV"; break;
|
||||
case kGroupFilter: caption = "FILTER"; break;
|
||||
case kGroupFilterEnv: caption = "FILTER ENV"; break;
|
||||
case kGroupVelocity: caption = "VELOCITY"; break;
|
||||
case kGroupVoice: caption = "VOICE"; break;
|
||||
case kGroupMaster: caption = "MASTER"; break;
|
||||
default: break;
|
||||
@@ -169,6 +172,16 @@ void ReaSamplerEditor::paintDeck(LICE_IBitmap* bmp, const FaceLayout& fl) {
|
||||
for (const DeckCellLayout& c : g.cells) {
|
||||
if (c.id < 0) continue; // reserved blank cell (the Trigger face's spare)
|
||||
const bool disabled = deckKnobDisabled(c.id);
|
||||
// A VELOCITY cell is a popup opener, not a dial: it shows its curve in miniature
|
||||
// where a knob face would be, and its whole cell is the click target.
|
||||
const CurveTarget curveCell = curveTargetFor(c.id);
|
||||
if (curveCell != CurveTarget::kNone) {
|
||||
paintCurveButton(bmp, c.knob, curveCell, disabled,
|
||||
!disabled && isHovered(HoverKind::kControl, c.id));
|
||||
kitTextCentered(bmp, c.label, knobName(static_cast<ParamControl>(c.id)),
|
||||
Font::Micro, disabled ? Role::LineHairline : Role::TextDim);
|
||||
continue;
|
||||
}
|
||||
const bool dragging = (drag_ == DragKind::kDeckKnob && dragParamId_ == c.id);
|
||||
const bool hov = !disabled && isHovered(HoverKind::kControl, c.id);
|
||||
const InteractionState st =
|
||||
|
||||
Reference in New Issue
Block a user