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:
@@ -48,7 +48,6 @@ std::vector<DeckGroupDesc> sampleDeckGroups(PlayMode playMode) {
|
||||
id(DeckParam::kFilterQ),
|
||||
id(DeckParam::kFilterDrive),
|
||||
id(DeckParam::kFilterModAmt),
|
||||
id(DeckParam::kFilterVel),
|
||||
id(DeckParam::kFilterKeyTrack)};
|
||||
filter.rowToggle = {id(DeckParam::kFilterLaw), 44};
|
||||
out.push_back(std::move(filter));
|
||||
@@ -89,6 +88,17 @@ std::vector<DeckGroupDesc> sampleDeckGroups(PlayMode playMode) {
|
||||
}
|
||||
out.push_back(std::move(amp));
|
||||
}
|
||||
{
|
||||
// The three velocity transfer curves share one home, immediately left of VOICE: they
|
||||
// shape three different destinations but are one gesture, and MASTER is reserved for
|
||||
// post-voice-mixer concerns.
|
||||
DeckGroupDesc vel;
|
||||
vel.id = kGroupVelocity;
|
||||
vel.captionWidth = 54;
|
||||
vel.cellIds = {id(DeckParam::kAmpVelCurve), id(DeckParam::kPitchVelCurve),
|
||||
id(DeckParam::kFilterVelCurve)};
|
||||
out.push_back(std::move(vel));
|
||||
}
|
||||
{
|
||||
DeckGroupDesc voice;
|
||||
voice.id = kGroupVoice;
|
||||
@@ -108,6 +118,15 @@ std::vector<DeckGroupDesc> sampleDeckGroups(PlayMode playMode) {
|
||||
return out;
|
||||
}
|
||||
|
||||
CurveTarget curveTargetFor(int controlId) {
|
||||
switch (static_cast<DeckParam>(controlId)) {
|
||||
case DeckParam::kAmpVelCurve: return CurveTarget::kAmp;
|
||||
case DeckParam::kPitchVelCurve: return CurveTarget::kPitch;
|
||||
case DeckParam::kFilterVelCurve: return CurveTarget::kFilter;
|
||||
default: return CurveTarget::kNone;
|
||||
}
|
||||
}
|
||||
|
||||
DeckParam curveParamFor(DeckParam knob) {
|
||||
switch (knob) {
|
||||
case DeckParam::kAttack: return DeckParam::kAttackCurve;
|
||||
@@ -176,7 +195,9 @@ bool isLiveDeckParam(DeckParam id) {
|
||||
case DeckParam::kPitchEnvEnable:
|
||||
case DeckParam::kKeyTrack:
|
||||
case DeckParam::kFilterEnable:
|
||||
case DeckParam::kFilterVel:
|
||||
case DeckParam::kAmpVelCurve:
|
||||
case DeckParam::kPitchVelCurve:
|
||||
case DeckParam::kFilterVelCurve:
|
||||
case DeckParam::kFilterLaw:
|
||||
case DeckParam::kAmpEnvSelect:
|
||||
case DeckParam::kPitchEnvSelect:
|
||||
|
||||
Reference in New Issue
Block a user