opmo Posted August 5, 2016 Share Posted August 5, 2016 New LENGTH-REDUCE function, thanks to Achim Bornhoeft. length-reduce lengths &key section omn [Function] Arguments and Values: lengths lists of lengths or OMN sequence form. section an integer or list of integers. Selected list or lists to process. omn NIL or T. If true, the OMN style output is forced. The default is NIL. Description: LENGTH-REDUCE inverts length-rests to a length-note and adds the sum of the rest in sequence, to the previous length-note. (length-reduce '(1/8 -1/16 1/16 -1/12 2/12 2/20 -3/20 -1/8 3/8)) => (3/16 7/48 1/6 3/8 3/8) Examples: (length-reduce '(-1/8 -1/16 1/16 -1/12 2/12 2/20 -3/20 -1/8 3/8)) => (-3/16 7/48 1/6 3/8 3/8) (length-reduce '((-1/8 -1/16 1/16 -1/12) (2/12 2/20 -3/20 -1/8 3/8))) => ((-3/16 7/48) (1/6 3/8 3/8)) Processing selected lists only: (length-reduce '((-1/8 -1/16 1/16 -1/12) (2/12 2/20 -3/20 -1/8 3/8)) :section '(1)) => ((-1/8 -1/16 1/16 -1/12) (1/6 3/8 3/8)) (length-reduce '((5q --- == -w 5q q) (q q e e)) :omn t) => ((5w 5ddw. 5q q) (q = e =)) Processing omn list: (length-reduce '(s c4 -q -e s d4 - e e4 -s -)) => (q.. c4 e d4 q e4) Link to comment Share on other sites More sharing options...
Recommended Posts