public void StartIncremetalLift(double startTempo, double fractionGain)
 {
     IsLifting        = true;
     LiftTempoStart   = startTempo;
     LiftRunningTempo = startTempo;
     LiftType         = TempoLiftType.LiftPerRep;
     LiftGainPerRep   = fractionGain;
 }
 // Start lifting tempo
 public void StartGradualLift(double startTempo, double fractionGain, double secondsDuration)
 {
     if (startTempo > 299.5)
     {
         return;
     }
     IsLifting        = true;
     LiftTempoStart   = startTempo;
     LiftRunningTempo = 0.0;
     LiftType         = TempoLiftType.LiftGradual;
     LiftTime         = secondsDuration;
     LiftTempoTarget  = startTempo * (1.0 + fractionGain);
     if (LiftTempoTarget > 300.0)
     {
         LiftTime       *= (300.0 - LiftTempoStart) / (LiftTempoTarget - LiftTempoStart);
         LiftTempoTarget = 300.0;
     }
 }