Description:
Returns a predicate, intended for use with FILTER-CHORDLIST, to test if
the intervals between consecutive elements of a pitch set, traversed
from bottom to top, are in the ranges determined by the SPACING-LISTS.
Each of the SPACING-LISTS contains SPACING-PAIRS, which are pairs
(LO HI) specifying the minimum and maximum permissible distances
between consecutive pitches.
For a given chord C, testing proceeds as follows:
The first item in SPACING-LISTS with an appropriate number of
SPACING-PAIRS is located.
The intervals of C are compared to the ranges of these SPACING-PAIRS.
If every interval is in range, the test returns TRUE. Otherwise, the next
item in SPACING-LISTS with an appropriate number of SPACING-PAIRS
is located and the comparison step is repeated.
If the intervals of C are not in the ranges determined by at least one of
the SPACING-LISTS, the test returns FALSE.
|