Mike Solomon wrote: > Hey lilypond-users, > Before I put this on the LSR, please play around with this. > Specifically, please > > 1) Make it less sprawling. > 2) Find anything that's broken (the below examples work). > 3) Change layout to better-suit your wind-playing needs. > 4) Make any and all layout or coding suggestions.
I have a couple of general recommendations. 1) Read about good scheme style here: http://community.schemewiki.org/?scheme-style 2) I think 2-space indentations are best (you're using 4). 3) keep lines of code within 72 characters each. Many e-mail clients automatically wrap long lines, so long single-line comments become several lines, which means that users copying your code from e-mail get lines of code that should've been commented out. Then the code doesn't compile. That's what happened to me with the line that starts ";degree of stretch". Same with the line that starts "% USEAGE". 4) a list with no variables, like (list #t #t #f), can be shortened to '(#t #t #f). 5) I read that the biblical definition of pi is 3 (1 Kings 7:23). In guile, (angle -1) returns pi accurate to 14 decimal places. Format your code! Instead of this: \relative c' { c1^\markup { \multiphonic #(list 1.0 0.5 #t #f #t #f #t #t #t #t (list #f #f #f #t #f #t ) (list #t #t #f #f #f #f #t ) (list "2" "1" ) ) } } do this: \relative c' { c1^\markup { \multiphonic #'(1.0 0.5 #t #f #t #f #t #t #t #t (#f #f #f #t #f #t) (#t #t #f #f #f #f #t) ("2" "1")) } } LilyPond code tends to have each closing bracket on its own line, whereas scheme lumps closing parentheses together. Deviating from these basics makes it hard for others to read and will cause many developers to just skip your post altogether. Also in markups, you don't need brackets for a single command: \relative c' { c1^\markup \multiphonic #'(1.0 0.5 #t #f #t #f #t #t #t #t (#f #f #f #t #f #t) (#t #t #f #f #f #f #t) ("2" "1")) } And it's a little weird to see a command accepting an argument consisting of 2 numbers, 8 booleans, and then 3 lists. This might be easier to work with: \relative c' { c1^\markup \multiphonic #'((1.0 0.5) (#t #f #t #f #t #t #t #t) (#f #f #f #t #f #t) (#t #t #f #f #f #f #t) ("2" "1")) } Lastly, make sure to get some sleep -- it's important. Hope this helps. - Mark _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user