2009/4/30 Carl D. Sorensen <[email protected]>: > > On 4/30/09 1:36 AM, "Marc Hohl" <[email protected]> wrote: > >> I tried to cons these values, and I succeded (or at least it seemed to >> me) for the >> supported-clefs list, but not with the c0-pitch-alist >> (see attached files and lilypond's error messages). >> Is this list only locally defined, or am I missing something? > > You are correct. c0-pitch-alist is not public. So it's currently not > possible to cons a value in with the tablature.ly file.
Oops. :) Sorry Marc, I didn't notice that. I ran a quick test by amending parser-clef.scm, so I hadn't actually tried consing values. > My recommendation is that you pursue option c. The disadvantage of pursuing > option c is that it won't be available to others until a new release of > LilyPond is issued. I agree, that seems the best option for the moment. At a later date, we might consider moving the clef callbacks in clef.cc to scheme completely, so you'd be able to incorporate the conditional code for modern tabs directly into the clef::print callback. > Define a new Scheme function to be used as the Clef 'stencil property > > (define (newClefPrint grob) ....) I suggest something like `clef::print-modern-tab-if-set' to follow LilyPond coding style. > It should check for the 'glyph property of the grob, and if it's > markup.moderntab, it will call the new tab markup function. Otherwise, it > will call (ly:clef::print grob). Two further points: Just to be on the safe side, when retrieving 'staff-space, a default value should be given, since it's not normally set: (ly:grob-property grob 'staff-space 1) As I mentioned previously, unless you want to code a smaller clef for changes, you'll want to set 'full-size-change = ##t. This will shut up any complaints about missing a glyph for "markup.moderntab_change". You can set it within the new stencil callback using ly:grob-set-property!: (ly:grob-set-property! grob 'full-size-change #t) Regards, Neil _______________________________________________ lilypond-user mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-user
