Re: [frogs] Changing subproperties with grob-set-property (working on bug #40) |
[ Thread Index |
Date Index
| More lilynet.net/frogs Archives
]
- To: Marc Hohl <marc@xxxxxxxxxx>
- Subject: Re: [frogs] Changing subproperties with grob-set-property (working on bug #40)
- From: Neil Puttock <n.puttock@xxxxxxxxx>
- Date: Thu, 19 Nov 2009 22:57:24 +0000
- Cc: frogs@xxxxxxxxxxx
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=zNnlAY1Xm7W8UYDiThFDf0FWGoi75IbrRowzMpXnhws=; b=oa0KMtVhDo6xT7ySuKCUe/SbE5J35LDouwbRoVHlxzlmBn8kzmZ4WJV5lEaEmCjlvR IvrOHkbdJ9D/GbLAwGGzqaAOOr4OgsDv85I3Ut0VM79BmQEM+RzOf+lUR+Fv+TsPnqsG DePKEkc64dLQMhkEnAD/yK7EzZC3wPybX3kpI=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=imRELSLopqcIyi2eZL4SSdfkQoBpJSm2NEdJUPGbZUEOQeLTzHvV9oDMLufidevI4D wNgEtRYsoe/gEWhz16QsD/ZwUm0jcxC48RzBT0VQrAQR7LPPqOI1jiPIS0LK+PaaWOXi KOvelpnJaGeImuoHPZRinWxGwQQdYEWgOHEH0=
2009/11/19 Marc Hohl <marc@xxxxxxxxxx>:
> How can I get access to the fingering grob? I need its x-extent and the
> orientation, but strangely, I cannot use the same mechanism as for
> accidentals;
> here (ly:grob-object right-bound 'accidental-grob) works, but it seems that
> there
> is no (ly:grob-object right-bound 'fingering).
Why is that strange? Accidentals are a completely different kettle of
fish to fingerings: they influence all sorts of typesetting decisions,
so it's important for a NoteHead to cache them.
Fingerings are just boring scripts placed near a notehead. :)
> In scm/translation-functions.scm are some routines concerning fingerings, so
> I found out how to check whether there is a fingering or not, but I still
> cannot
> access its grob (I fear this is just an easy function call someplace, but I
> just don't see
> it now, and this will show my lack of deeper scheme knowledge as well :-( )
There's no easy way, I'm afraid.
Since you can't access children from a grob unless they're explicitly
added as a grob-array, I think the only method would be to use
'all-elements from the System grob, filtering out all the
undesirables. This would be very expensive computationally.
> (let* ((accidental-width (cdr (ly:grob-extent accidental
> accidental X)))
Careful here: the car isn't always zero (see for example the extent of
a flat), though in practice, the spacing difference probably isn't
that noticeable.
Regards,
Neil
---
----
Join the Frogs!