[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Determining what parameters exist for an item
From: |
Thomas Morley |
Subject: |
Re: Determining what parameters exist for an item |
Date: |
Sat, 23 Jan 2016 22:29:34 +0100 |
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 <address@hidden>:
> 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
Re: Determining what parameters exist for an item, Carl Sorensen, 2016/01/23
- Re: Determining what parameters exist for an item, Kieren MacMillan, 2016/01/23
- RE: Determining what parameters exist for an item, Charles O. Lawrence, 2016/01/23
- Re: Determining what parameters exist for an item, David Kastrup, 2016/01/24
- Re: Determining what parameters exist for an item, Kieren MacMillan, 2016/01/24
- Re: Determining what parameters exist for an item, David Kastrup, 2016/01/24
- Re: Determining what parameters exist for an item, Kieren MacMillan, 2016/01/24
- Re: Determining what parameters exist for an item, David Kastrup, 2016/01/24