HI Aaron; Thank you very much! Works great now.
A followup question: I don't think that this function supports the "q" substitution for chord repetition, does it? I guess I'll find out :-) Thanks, Ken On Tue, Sep 20, 2022 at 6:15 PM Aaron Hill <[email protected]> wrote: > > On 2022-09-20 4:27 pm, Kenneth Wolcott wrote: > > Hi; > > > > Tried to use "music box" with Lilypond 2.22.2, get lots of Scheme > > errors. > > > > https://lsr.di.unimi.it/LSR/Search?q=music+box > > > > See attachments. I did not include my generated pdf file because it > > pertains to the input file prior to trying to implement the music box. > > > > Thanks, > > Ken Wolcott > > > > ~/bin/engrave.pl --lpv=2.22.2 --s=O_Holy_Night.ly > > GNU LilyPond 2.22.2 (running Guile 2.2) > > Processing `O_Holy_Night.ly' > > Parsing...Backtrace: > > [...] > > ice-9/eval.scm:159:9: Value out of range 0 to 18446744073709551615: -14 > > Review the documentation for LSR 346. The transformation pattern must > use notes starting from middle C. Your pattern has notes in a much > lower octave, which results in a negative index. So, you would want to > say something like this: > > %%%% > make_bass_pattern = \defineTransform \tuplet 6/4 \fixed c' { c8( d e f g > a) } > %%%% > > However, you can do this more efficiently, removing the redundant notes: > > %%%% > make_bass_pattern = \defineTransform \tuplet 6/4 \fixed c' { c8( d e f d > e) } % 1 2 3 4 2 3 > % ... > | \make_bass_pattern { g, g d b } \make_bass_pattern { b, g d b } > | \make_bass_pattern { b, g d b } \make_bass_pattern { b, g d b } > | \make_bass_pattern { b, g d b } \make_bass_pattern { c g e c' } > % ... > %%%% > > > -- Aaron Hill
