-number_accidentals_from_sig (bool *different,
- SCM sig, Pitch *pitch, SCM curbarnum, SCM lazyness,
- bool ignore_octave)
+extract_alteration (SCM alteration_def)
+{
+ if (scm_is_number (alteration_def))
+ return scm_to_int (alteration_def);
+ else if (scm_is_pair (alteration_def))
+ return scm_to_int (scm_car (alteration_def));
+ else if (alteration_def == SCM_BOOL_F)
+ return 0;
+ else
+ assert (0);
+ return 0;
+}
+
+bool
+is_tied (SCM alteration_def)
+{
+ return (alteration_def == SCM_BOOL_T)
+ || (scm_is_pair (alteration_def) && scm_car (alteration_def) == SCM_BOOL_T);
+}
+
+static int
+number_accidentals_from_sig (bool *different, SCM sig, Pitch *pitch,
+ int bar_number, SCM laziness, bool ignore_octave)