- if (alter == prev)
- num = 0;
- else if ((abs (alter) < abs (prev) || prev*alter < 0) && alter != 0)
- num = 2;
-
- *different = (alter != prev);
+ if (is_tied (previous_alteration))
+ {
+ num = 1;
+ *different = true;
+ }
+ else
+ {
+ int prev = extract_alteration (previous_alteration);
+ int alter = pitch->get_alteration ();
+
+ if (alter == prev)
+ num = 0;
+ else if ((abs (alter) < abs (prev) || prev*alter < 0) && alter != 0)
+ num = 2;
+ *different = (alter != prev);
+ }