Hello Thomas, I thought I was replying to the list, but I see now that I sent you a personal email. I was inside the archives and clicked on the reply button. Sorry. I'm not exactly sure how to respond and keep the post's hierarchy going. I hope I got it right this time. All I did was reply to the digest email, strip out what I didn't need, and replace the default subject.
Thanks for the info. I had not looked at the "Extending" manual yet. I had gone through first two chapters of the "Learning" manual already. I had already "googled" and downloaded a Scheme and Guile manual. I also had discovered the "Scores of Beauty" blog, but had not gone through all the Scheme tutorials yet. I have a lot of reading studying to do. Your reply has been very helpful. Thanks, Charles ---------------------------------------------------------------------------- -------- 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 <[email protected]>: > 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 [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
