public ContourTransition AddTransition(Note n1, Note n2) { // Skip rest-to-rest transitions. if (n1.isRest || n2.isRest) { throw new ArgumentException("Must not have rests in contour creation."); } ContourDirection dir; int diff = n1.Midi - n2.Midi; if (diff > 0) { dir = ContourDirection.Down; } else if (diff < 0) { dir = ContourDirection.Up; } else { dir = ContourDirection.Same; } ContourTransition ct = new ContourTransition(dir, Math.Abs(diff)); transitions.Add(ct); return(ct); }
public ContourTransition AddTransition(ContourDirection direction, int halfSteps) { ContourTransition ct = new ContourTransition(direction, halfSteps); transitions.Add(ct); return(ct); }