This works very nicely for me. One tiny oops, and suggestions you can take or leave as you wish.
I think I understand the point that some scales *can* un-ambiguously named, but a facility to generate scales from these names is not necessary for this patch. I can type myPentatonic = \relative c' { a b d e fis } just as easily as myPentatnoic = \majorPentatonicScale d http://codereview.appspot.com/4126042/diff/5002/Documentation/notation/pitches.itely File Documentation/notation/pitches.itely (right): http://codereview.appspot.com/4126042/diff/5002/Documentation/notation/pitches.itely#newcode867 Documentation/notation/pitches.itely:867: pentatonicScale = \relative c' { ges aes bes des ees ges } Oops, you want only the first /five/ pitches. If you like, you could simplify by basing the scale on f \relative c' { f g a c d } \motif = \relative c' { d8 c f,4 <f' a,> <f a,> } http://codereview.appspot.com/4126042/diff/5002/Documentation/notation/pitches.itely#newcode943 Documentation/notation/pitches.itely:943: motif = \relative c' { c8. ees16 fis8. a16 b8. gis16 f8. d16 } Optionally, you could throw in a slur or crescendo or some other spanner. Users might otherwise assume the retrograding will break slurs and do un-necessary work to put slurs in another variable. http://codereview.appspot.com/4126042/diff/5002/Documentation/notation/pitches.itely#newcode967 Documentation/notation/pitches.itely:967: Optionally, a note that ties break, even though slurs work fine. (Internally, ties are only attached to one note) @knownissues Manual ties inside @code{\retrograde} will be broken and generate warnings. @ref{Automatic note splitting} can be enabled to generate some ties automatically. http://codereview.appspot.com/4126042/diff/5002/ly/music-functions-init.ly File ly/music-functions-init.ly (right): http://codereview.appspot.com/4126042/diff/5002/ly/music-functions-init.ly#newcode465 ly/music-functions-init.ly:465: modalInversion = Since it is an operator, should it be a verb, modalInvert ? The distinction between \transpose and \transposition is so tricky, that I think it worth being careful in similar items. \modalTranspose is the right name because it is an operation as is \transpose http://codereview.appspot.com/4126042/diff/5002/scm/modal-transforms.scm File scm/modal-transforms.scm (right): http://codereview.appspot.com/4126042/diff/5002/scm/modal-transforms.scm#newcode157 scm/modal-transforms.scm:157: ;; 5 octaves from the original scale definition. In practice there It's not even that bad. If the scale is defined near middle C, we can go from five-ish octaves below middle C to five-ish octaves above. If I move the scale away from my music I get the "pitch not in scale" message, which I think is very reasonable. http://codereview.appspot.com/4126042/ _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel