|
From: | Stefano Troncaro |
Subject: | Re: Openlilylib edition-engraver. I need help understanding how to reference contexts. |
Date: | Fri, 26 Jan 2018 12:55:36 -0300 |
Then the path to Piano.LH.Voice.A doesn't seem to work and the note isn't colored. This is the output of the logfile:\new Staff \with { \editionID LH } { \clef F <<
[context-counter] Piano/LH/Staff: (0 . #f)
[context-counter] Piano/LH/Staff/A:
[context-counter] Piano/LH/Voice: (1 . #f)
[context-counter] Piano/LH/Voice/A:
[context-counter] Piano/LH/Voice/B:
[context-counter] Piano/PianoStaff: (0 . #f)
[context-counter] Piano/PianoStaff/A:
[context-counter] Piano/RH/Staff: (0 . #f)
[context-counter] Piano/RH/Staff/A:
[context-counter] Piano/RH/Voice: (1 . #f)
[context-counter] Piano/RH/Voice/A:
[context-counter] Piano/RH/Voice/B:
[context-counter] Score: (0 . \new)
[context-counter] Score/A: \new
(Piano LH Staff A) ""
(Piano LH Voice A) ""
(Piano LH Voice B) ""
(Piano PianoStaff A) ""
(Piano RH Staff A) ""
(Piano RH Voice A) ""
(Piano RH Voice B) ""
(Score A) "\new"
Now that the \clef F is inside the << >> the path to Piano.LH.Voice.A works properly. This is the output of the logfile:\new Staff \with { \editionID LH } { << \clef F
[context-counter] Piano/LH/Staff: (0 . #f)Which is exactly the same as before. Yet one works and the other doesn't. Is there a way to have more specific logging in order to better trace the issue?
[context-counter] Piano/LH/Staff/A:
[context-counter] Piano/LH/Voice: (1 . #f)
[context-counter] Piano/LH/Voice/A:
[context-counter] Piano/LH/Voice/B:
[context-counter] Piano/PianoStaff: (0 . #f)
[context-counter] Piano/PianoStaff/A:
[context-counter] Piano/RH/Staff: (0 . #f)
[context-counter] Piano/RH/Staff/A:
[context-counter] Piano/RH/Voice: (1 . #f)
[context-counter] Piano/RH/Voice/A:
[context-counter] Piano/RH/Voice/B:
[context-counter] Score: (0 . \new)
[context-counter] Score/A: \new
(Piano LH Staff A) ""
(Piano LH Voice A) ""
(Piano LH Voice B) ""
(Piano PianoStaff A) ""
(Piano RH Staff A) ""
(Piano RH Voice A) ""
(Piano RH Voice B) ""
(Score A) "\new"
Hello Stefano,
I can't reproduce the misbehaviour/error you mentioned first. The overrides are applied irrespective of the clefs placement. If the error persists, you might send the <document>.edition.log file.
To reduce the redundancy you mentioned you can create variables:
LH = Piano.LH
RH = Piano.RH
Then you can use them like this:
\editionMod test 1 0/4 \RH.Voice.A { ... }
Internally the modifications are stored in a hierarchically structured manner before the targets are known. Thet is the reason the full path is needed.
HTH
Jan-Peter
Am 25.01.2018 um 23:35 schrieb Stefano Troncaro:
Hello everyone! So, I'm learning to use the edition-engraver, but there are some behaviors that I can't figure out.
Take the following snippet:
\version "2.19.80" \language "english" \include "oll-core/package.ily" \loadPackage edition-engraver
\addEdition test
\editionMod test1 0/4 RH.Voice.A{ \once \override NoteHead.color = #green } \editionMod test1 0/4 LH.Voice.A{ \once \override NoteHead.color = #green } \consistToContexts #edition-engraver Score.PianoStaff.Staff.Voice
\score { \new PianoStaff << \new Staff \with { \editionID RH} << \new Voice \relative c''{ \voiceOne c4. d8 d4. g8 | e4.( d8 c b g4) } \new Voice \relative c''{ \voiceTwo a2. g4~ | g f2 e4 |} >> \new Dynamics { s1\mp } \new Staff \with { \editionID LH} { << \new Voice \relative c'{ \clef F \voiceOne e8 d c4 d8 c b4 | c8 b a2 g4 |} \new Voice \relative c{ \voiceTwo f2 e | d g,4 c |} >> } >> }
In the left hand staff, if I move the \clef F from inside one of the two voices to the outside, like in the following example:
\new Staff \with { \editionID LH} { \clef F << \new Voice \relative c'{ \voiceOne e8 d c4 d8 c b4 | c8 b a2 g4 |} \new Voice \relative c{ \voiceTwo f2 e | d g,4 c |} >> }
then I can't find a way to reference the voices contained in the Staff. Why does this happen?
Secondly, if I give an \editionID to the PianoStaff, then I can only reference the staves by giving a full route. For example, if I gave it the ID Piano I would have to write Piano.LH.Voice.A to reference the first voice. Is there a way to avoid this redundancy?
In relation with the last question, I have tried and I can't figure out how to give an ID to a Voice context so that I can reference it directly, without having to "walk to it" from a reference to a Staff. Is this possible?
Those are all my doubts, at least for the moment. Thank you in advance!
_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user
_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user
eetest-not-working.ly
Description: Text Data
eetest-working.ly
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |