/// <summary>
 /// Calculates distance between a pitch and a pitch of element that has a pitch.
 /// </summary>
 /// <param name="p1">Pitch</param>
 /// <param name="h2">Element with pitch</param>
 /// <returns>Distance in steps</returns>
 public static int StepDistance(Pitch p1, IHasPitch h2)
 {
     return(StepDistance(p1, h2.Pitch));
 }
 /// <summary>
 /// Calculates distance between pitches of two elements that have pitch.
 /// </summary>
 /// <param name="h1">First element with pitch</param>
 /// <param name="h2">Second element with pitch</param>
 /// <returns>Distance in steps</returns>
 public static int StepDistance(IHasPitch h1, IHasPitch h2)
 {
     return(StepDistance(h1.Pitch, h2.Pitch));
 }
 /// <summary>
 /// Calculates distance between a pitch and a pitch of element that has a pitch.
 /// </summary>
 /// <param name="h2">Element with pitch</param>
 /// <param name="p1">Pitch</param>
 /// <returns>Distance in steps</returns>
 public static int StepDistance(IHasPitch h1, Pitch p2)
 {
     return(StepDistance(h1.Pitch, p2));
 }