Herman vanHaagen wrote: > Wow!!, > this is really great. Thanks! Is there a special rum tutorial > where to figure out this kind of stuff? Herman,
The LSR (LilyPond Snippet Repository) is a good place to start. http://lsr.dsi.unimi.it/LSR/Search? and obviously, the LilyPond docs: http://lilypond.org/doc/v2.12/Documentation/index.html Learn about about scheme at schemers.org. Here is their list of recommended textbooks and online tutorials: http://schemers.org/Documents/#all-texts Learn about postcript with the classic texts: "The Blue Book" (Tutorial and Cookbook) http://www-cdf.fnal.gov/offline/PostScript/BLUEBOOK.PDF "The Green Book" (Program Design) http://www-cdf.fnal.gov/offline/PostScript/GREENBK.PDF "The Red Book" (Reference) http://partners.adobe.com/public/developer/en/ps/PLRM.pdf If you're adventurous, you can also check out the LilyPond source code: http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=tree Although I try not to use the search function because it can strain the server. See: http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=search_help Or poke around your own copy of LilyPond. On Windows, the path LilyPond/usr/share/lilypond/current/ gets you in the ballpark. Most of the code used in the tom-tom example comes from this snippet... http://lsr.dsi.unimi.it/LSR/Item?id=516 As for calculating things like x0, y0, etc. I drew the stencil with pencil and paper and figured out the relationships needed. For example, the thickness of the circle-line and the slash are the same as the thickness of the stem, and the radius of the circle is such that the top and bottom of the circle line up with the top and bottom of the higher and lower staff-line, respectively (given the thickness already set). And the endpoints of the slash are such that it fits perfectly in the corner created by the stem and staff-line (given the thickness already set). The functions for making stencils (ly:make-stencil) and getting line-thickness (ly:staff-symbol-line-thickness) are here: http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Scheme-functions#Scheme-functions I found the default value for the thickness property of Stem (1.3 * line-thickness) here: http://lilypond.org/doc/v2.12/Documentation/user/lilypond-internals/Stem#Stem in scm/stencil.scm there's a definition... (define-public (eps-file->stencil axis size file-name) ...that includes a usage of 'embedded-ps that you could use to deduce the usage of it, in the absence of the LSR snippet, although admittedly, you'd have to know where to look! Hope this helps! - Mark _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user