lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Accessing Context Properties


From: Paul Morris
Subject: Re: Accessing Context Properties
Date: Thu, 25 Feb 2016 13:08:08 -0500

Hi Abraham,

On Feb 25, 2016, at 12:28 PM, tisimst <address@hidden> wrote:

I'm asking this because I know that if I can get my hands on a grob, I know how to access its properties (with ly:grob-property) and use that property's value to make a change if I want (e.g., with ly:grob-set-property!). I just don't know the equivalent process for getting my hands on a context to access its properties. I know there's ly:context-property, but I just don't have as much experience with it as normal grobs.

You may want a custom engraver, as they have access to contexts and context properties.

As I understand it there are three main ways of intervening:

1. music functions (and scheme, void, and markup functions)
2. custom engravers
3. grob property callback procedures

1: let you do fancy things with the input, early on, before LilyPond processes it
3: let you do things with graphical output very late in the game
2: are earlier than 3, exist within contexts and thus have access to context properties (and can do things with grobs as well like with 3)

As far as I know context properties can’t be accessed from a grob callback and not from music functions as David has said.  So that leaves custom engravers (although I don’t really know how \applyContext fits into this).

Maybe that helps?
-Paul


reply via email to

[Prev in Thread] Current Thread [Next in Thread]