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:
@@ -786,14 +786,13 @@ static void testPitchRatioAndVelocityGainStayLatched() {
|
||||
|
||||
static void testVelocityGainSurvivesAHostilePublishThatReallyLands() {
|
||||
// Filter AND pitch envelope enabled, so every field the block carries actually reaches the
|
||||
// voice. velAmount is 0, so velocity enters the render exactly once — as the amp gain
|
||||
// latched at note-on — which makes two runs at different velocities exactly proportional
|
||||
// unless the publish moved that gain (a re-derived gain would have to preserve the ratio
|
||||
// 100:64 to slip through).
|
||||
// voice. The filter and pitch velocity curves are left at their off defaults, so velocity
|
||||
// enters the render exactly once — as the amp gain latched at note-on — which makes two
|
||||
// runs at different velocities exactly proportional unless the publish moved that gain (a
|
||||
// re-derived gain would have to preserve the ratio 100:64 to slip through).
|
||||
SampleData rig = periodicSine(200000, 64.0);
|
||||
rig.velocityCurve = VelocityCurve::linear();
|
||||
filterSweep(rig);
|
||||
rig.play.filter.velAmount = 0.0;
|
||||
rig.play.pitchEnv.enabled = true;
|
||||
rig.play.pitchEnv.shape.decayFrames = 24000;
|
||||
rig.play.pitchEnv.peakSemitones = 3.0;
|
||||
|
||||
Reference in New Issue
Block a user