- SCM line_positions = me->get_property ("line-positions");
- if (scm_is_pair (line_positions))
- {
- Real min_line = HUGE_VAL;
- Real max_line = -HUGE_VAL;
- for (SCM s = line_positions; scm_is_pair (s); s = scm_cdr (s))
- {
- Real current_line = scm_to_double (scm_car (s));
- if (pos == current_line)
- return true;
- if (current_line > max_line)
- max_line = current_line;
- if (current_line < min_line)
- min_line = current_line;
-
- }
-
- if (allow_ledger)
- {
- if (pos < min_line)
- return (( (int) (rint (pos - min_line)) % 2) == 0);
- if (pos > max_line)
- return (( (int) (rint (pos - max_line)) % 2) == 0);
- }
-
- return false;
- }
- else
+ // standard staff lines (any line count) and standard ledger lines
+ if (!scm_is_pair (me->get_property ("line-positions"))
+ && !scm_is_pair (me->get_property ("ledger-positions")))