Thank you Jan-Peter, that's really useful!
In regards to the first problem, I experimented with it a little. Using the
same snippet as before, It turns out that if I write this line like this:
> \new Staff \with { \editionID LH } { \clef F <<
>
> 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:
> [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"
>
On the other hand, if I write it like this:
> \new Staff \with { \editionID LH } { << \clef F
>
> Now that the \clef F is inside the << >> the path to Piano.LH.Voice.A
works properly. This is the output of the logfile:
> [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"
>
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?
I attached a .ly for both examples in case you find it more convenient.
Thank you for your help!
Stefano
2018-01-26 4:06 GMT-03:00 Jan-Peter Voigt <[email protected]>:
> 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
>> [email protected]
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>>
>>
>
> _______________________________________________
> lilypond-user mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
\version "2.19.80"
\language "english"
\include "oll-core/package.ily"
\loadPackage edition-engraver
\addEdition test
\editionMod test 1 0/4 Piano.RH.Voice.A {
\once \override NoteHead.color = #green
}
\editionMod test 1 0/4 Piano.LH.Voice.A {
\once \override NoteHead.color = #green
}
\consistToContexts #edition-engraver Score.PianoStaff.Staff.Voice
\score {
\new PianoStaff \with { \editionID Piano } <<
\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 } { \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 | }
>> }
>>
}\version "2.19.80"
\language "english"
\include "oll-core/package.ily"
\loadPackage edition-engraver
\addEdition test
\editionMod test 1 0/4 Piano.RH.Voice.A {
\once \override NoteHead.color = #green
}
\editionMod test 1 0/4 Piano.LH.Voice.A {
\once \override NoteHead.color = #green
}
\consistToContexts #edition-engraver Score.PianoStaff.Staff.Voice
\score {
\new PianoStaff \with { \editionID Piano } <<
\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 } { << \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 | }
>> }
>>
}_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user