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:
@@ -21,7 +21,6 @@ struct ChromeRects {
|
||||
Rect velCell; // preview-velocity knob cell (knob + label band)
|
||||
Rect velKnob;
|
||||
Rect velLabel;
|
||||
Rect curveBtn; // opens the velocity-curve popup
|
||||
Rect chanMono;
|
||||
Rect chanStereo;
|
||||
Rect navBrowse;
|
||||
@@ -32,4 +31,20 @@ struct ChromeRects {
|
||||
// `knobSize` is the deck knob square, passed in so this module does not depend on knob_deck.
|
||||
ChromeRects chromeRects(const Rect& chrome, int knobSize);
|
||||
|
||||
// A right-pointing play triangle centered in the preview button: the button's whole label.
|
||||
// Three vertices, handed straight to one filled-triangle draw. Drawn rather than embedded as a
|
||||
// bitmap so it inherits the palette role of whatever interaction state the button is in.
|
||||
struct PreviewGlyph {
|
||||
int leftX = 0; // the vertical edge
|
||||
int topY = 0;
|
||||
int bottomY = 0;
|
||||
int apexX = 0; // the point, on the button's vertical centre line
|
||||
int apexY = 0;
|
||||
bool empty() const { return apexX <= leftX || bottomY <= topY; }
|
||||
};
|
||||
|
||||
// Sized off the button's shorter dimension and clamped, so the glyph stays legible in a squat
|
||||
// button and never outgrows a generous one. An unusably small button yields an empty glyph.
|
||||
PreviewGlyph previewGlyph(const Rect& button);
|
||||
|
||||
} // namespace reasampler::instrument::ui
|
||||
|
||||
Reference in New Issue
Block a user