Hi Charles, please keep the discussion on the list, apart from real private stuff.
2016-01-23 20:33 GMT+01:00 Charles O. Lawrence <charlesolawre...@bellsouth.net>: > Thank you for your replies. > > This is an example of you giving me a code sample that will display the > properties, and I thank you for it, but to a newbie to lilypond such as I am, > I have no clue what or why is in the procedure. A little elaboration would > be nice. For example, what is the lambda? I can guess what the > string-upcase, display and display-scheme-music are, but where did you find > out about their existence and how to call them? Is there a document or book > that explains all this stuff, more than the reference material, which is more > than overwhelming? I realize you are an advanced user. [...] I never had > the need or opportunity to study Lisp or Scheme, or whatever lilypond input > syntax is. Any guidance is greatly appreciated. > > Charles LilyPond uses an input language, which you will need to learn. Best start reading the "Learning Manual". Scheme/guile is used as an extension-language in LilyPond. A good starting point for getting deeper into it is the "Extending Manual". And ofcourse the guile-manual itself, please note we use guile-1.8 Apart from the guile-manual, there are a lot of tutorials out there. Details: display, string-upcase and lambda are native guile -> see guile-manual Maybe look at this one, too: http://lilypondblog.org/category/using-lilypond/advanced/scheme-tutorials/ display-scheme-music is defined in our source and is the scheme-version of (LilyPond-syntax) `displayMusic', which is explained in the docs. I sort of abuse it quite often, because it internally uses `pretty-print'. (In .ly file I would always need to include the relevant module from guile for pretty-print, which is tedious). pretty-print puts out nicely formatted lists. guile and LilyPond provide a plethora of different displaying procedures ... ly:grob-properties and ly:grob-basic-properties are defined in C++ for use in guile. --> see Internals Reference Same for 'after-line-breaking, which is a dummy-property called at a certain point during compilation. Nice to put in all sort of stuff or for displaying this and that, as done here. `all-grob-descriptions' is an alist defined in define-grobs.scm. Although it's public you'll find no documentation about it. Reason: you shouldn't mess around with internals unless you really know what you're doing ;) So far the details for the little coding, but I'm afraid my explanations will more obfuscate then enlightning... My recommendation would be: - try to read and understand the codings provided here on the list. - Read the manuals: LilyPond, guile, guile-tutorials, etc I'm not a programmer, though as a LilyPond-starter I had found that not all was as I wanted it to be. So I started to learn guile to say her what to do how. I did a lot of exercises: defining substitution-functions and markup-commands, etc And ofcourse it's very good practise to read/understand code from others and/or try helping other user. The LSR is quite nice as well http://lsr.di.unimi.it/LSR/ Hope it helps a bit, Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user