lilypond-user
[Top][All Lists]
Advanced

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

Re: Questions about the edition engraver


From: Jan-Peter Voigt
Subject: Re: Questions about the edition engraver
Date: Wed, 29 Apr 2015 08:45:51 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

Hi Joram,

some of you questions havebeen answered by Kieren and Urs, but for completeness, I shall do it once more:

Am 28.04.2015 um 23:03 schrieb Noeck:
...
So far I have this structure (simplified) and ~30 \editionMods:
\score {
   \new PianoStaff <<
     \new Staff = "md"
     \with { \consists \editionEngraver edition }
     \new Voice \RHand
     \new Staff = "mg"
     \with { \consists \editionEngraver edition }
     \new Voice \LHand
   >>
   \layout {
     \context {
       \Score
       \consists \editionEngraver my.test % set this to your "global"
tag-path
        % what is this?
% I am not 100% lucky with the phrase "tag-path" ...
% every instance of an edition-engraver has its own ID, so it can be addressed
     }
     \context {
       \Voice
       \consists \editionEngraver ##f
     }
   }
}

1. Can I use the same tweak at several points in time? Or do I have to
add and \editionMod every time.
As Kieren and Urs mentioned, there is a command
\editionModList
2. What do the letters mean in edition.Staff.A?
    A numbering? How can I know which voice is which?
    Can I test that (like \displayEngraverNameHere)?
When I started to implement it, I realized, that one has to identify contexts, that share the same edition-engraver-id. So I added a counter. But if I want to enter the ID with dot-notation, I may not use digits, but only characters. So I count from A to Z, using capital letters to prevent taking it as a pitch. I know that it is difficult to address Voices, when they are tagged from A to Z ... but more on that later!
3. How can I address a temporary voice in some measure?
    a) One with << · \\ · >>?
    b) One with << · \new Voice { · } >>?
    (So far I
There is an instantiation for an edition-engraver in every voice via a layout declaration. If an edition-engraver is instantiated with #f for the id, it looks into the parent context for an id. So if there is a Staff with an \editionEngraver my.special.id , any voice created in this context will consist an edition-engraver and can be addressed with 'my.special.id.Voice.[A-Z]'. As mentioned above, it can be tedious to identify the right voice. And OTOH it is not ideal, if you have to type Score.A anytime, as there is only one Score for each score. Urs mentioned the pending pull-request, where I developed a change. I am working in another project right now ... that is the reason I didn't have a deeper look into the problem Urs mentioned ... time will come ;)
4. What does the word 'edition' after the \editionEngraver mean?
    Can I choose this name? Why would I need more than one?
As mentioned above, every instance of an edition-engraver has an id, so you can address it. In the pull-request around the corner, the edition-engraver takes
1. the id given as an argument
or, if it is not a list,
2. the context-property 'edition-id
or, if that is not a non-empty list,
3. the id of the parent contexts edition-engraver
5. Can I put tweaks with the edition engraver?
    Like coloring the second of three note heads in a chord?
    { <c \tweak #'color #red e g> }
Kieren said yes, but I think, I still have to implement it that way. I have the idea to act on music found by a listener to add tweaks or to change properties like the pitch. (the auto-transposer does it on that level)

And more style-guide like:

6. Would you consider \voiceOne etc. content or layout? \noBeam?
    \tempo? \bar? I.e. would you enter it in the musical content
    or via the edition engraver?
It depends and is often a matter of taste.
I use \voiceOne (etc.) in the content, if it is (for example) a divisi section. I use it with the edition-engraver, if I produce a full-score, where two voices are combined, I use the edition-engraver. For \tempo and \bar I use a global "meta"-track, which runs along the piece. Sometimes I combine \bar "" with \break to force a mid-measure break with \editionMod.
7. Would you write a Dynamics context using spacer rests or entirely
    using the edition engraver? { s1\p | s | s\ff … } or { s1*55 } and
    the rest is done by the edition engraver? Is that possible at all?
This is a good idea, but right now the edition-engraver produces TextScript, but no dynamics. I prefer writing a Dynamics context, but sometimes it might be easier to enter 'p at measure 12 moment 3/4' or the like, than to count bars ...

In the mentioned pull-request the addressing of contexts is streamlined.
And I take the questions to continue development:

* create dynamics
* add tweaks to single notes in an event chord

Lets see, when family and job permit ;)

HTH

for now ...
best, Jan-Peter





reply via email to

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