PS interestingly, while whatever is \accepted by StaffGroups seems to
be \accepted by ChoirStaffs, PianoStaffs and GrandStaffs won't accept
new contexts unless explicitly told.

2014-07-31 19:35 GMT+02:00 Janek Warchoł <[email protected]>:
> Hi,
>
> i have noticed something strange wrt/ \accepts behaviour.
>
> Let's start with a minimal example: i define new Staff-like context
> Foo that has red noteheads:
>
> \layout {
>   \context {
>     \Staff
>     \name "Foo"
>     \override NoteHead.color = #red
>   }
> }
>
> \new Foo { c'1 }
>
> But this doesn't work (noteheads are black, which means that instead
> of a Foo a Staff is created), because no context accepts Foo.  So i do
>
> \layout {
>   \context {
>     \Score
>     \accepts "Foo"
>   }
>   \context {
>     \Staff
>     \name "Foo"
>     \override NoteHead.color = #red
>   }
> }
>
> \new Foo { c'1 }
>
> This works, but i cannot put several Foos in a ChoirStaff (or a
> StaffGroup, etc.), i.e.
>
> \new ChoirStaff <<
>   \new Foo { c'1 }
>   \new Foo { c' }
>>>
>
> will not get the grouping bracket.  Fine, i change the code to
>
> \layout {
>   \context {
>     \ChoirStaff
>     \accepts "Foo"
>   }
>   \context {
>     \Staff
>     \name "Foo"
>     \override NoteHead.color = #red
>   }
> }
>
> \new ChoirStaff <<
>   \new Foo { c'1 }
>   \new Foo { c' }
>>>
>
> Now here's where the strangeness appears.  With the above definition,
> only \ChoirStaff should accept Foo, shouldn't it?  But if i write
>
> \new StaffGroup <<
>   \new Foo { c'1 }
>   \new Foo { c' }
>>>
>
> it will also work, i.e. i'll get a StaffGroup of Foos.  Moreover,
>
> \new Foo { c'1 }
>
> (i.e. no grouping at all) also works.
> Is this a bug, or a feature i don't understand?
>
> best,
> Janek

_______________________________________________
bug-lilypond mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to