lilypond-user
[Top][All Lists]
Advanced

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

Re: Braces with TabStaff


From: Jean Abou Samra
Subject: Re: Braces with TabStaff
Date: Fri, 12 Feb 2021 21:00:05 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0

Le 12/02/2021 à 19:16, Carl Sorensen a écrit :
On 2/12/21, 9:40 AM, "lilypond-user on behalf of David Kastrup" <lilypond-user-bounces+carl.d.sorensen=gmail.com@gnu.org on behalf of dak@gnu.org> wrote:

    Carl Sorensen <c_sorensen@byu.edu> writes:
    
    > It seems to me like a ChoirStaff is a special kind of StaffGroup that
    > is not intended to have tablature associated with it.
    >
    > Wouldn’t the better approach be to have the user create a new custom
    > StaffGroup?
    
    Singers with lute are not untypical for a Renaissance ensemble.  At any
    rate, LilyPond's job description does not really include fighting
    imprudent typesetting choices with baffling behavior.

I agree with this.  We should try in every case not to be baffling.
    
    "Are you sure you want ..." is a usage rather than a programming
    question.
    
    > One of the strengths of LilyPond is keeping appropriate semantics in
    > the input files.
    
    But not by ejecting its stomach in the users' faces when it doesn't like
    what they want.
    
    > I don’t think ChoirStaff is the appropriate semantics for a StaffGroup
    > containing a traditional music staff and a tablature staff.
    
    But the user is not asking you to do the typesetting, but LilyPond.

I agree.

Should ChoirStaff accept all Staff contexts then?  DrumStaff, RhythmicStaff, TabStaff?

I guess if we are consistent and say any kind of staff can be included in a ChoirStaff, so that a ChoirStaff is just a StaffGroup with a particular kind of start bracket, then my concern is minimized.   

Thanks,

Carl


Hi Carl and David and everyone,

ChoirStaff does in fact accept DrumStaff and
RhythmicStaff at the moment.

However, there are inconsistencies other than
TabStaff between ChoirStaff other staff-grouping
contexts. Consider:

\new GrandStaff <<
  \new ChoirStaff <<
    \new Staff c'
    \new Staff c'
  >>
  \new ChoirStaff <<
    \new Staff c'
    \new Staff c'
  >>
>>

On contrary to what a user might expect from the
documentation of GrandStaff, no brace is printed.
This is because the context definitions don't allow
ChoirStaff contexts to be nested in GrandStaff, so
the GrandStaff does not in fact receive any of the
music put in it.

Here are the exact lists (as found in ly/performer-init.ly
just because they are shorter there):


\context {
  \type "Performer_group"
  \name StaffGroup
  \accepts ChoirStaff
  \accepts ChordNames
  \accepts DrumStaff
  \accepts FiguredBass
  \accepts FretBoards
  \accepts GrandStaff
  \accepts Lyrics
  \accepts OneStaff
  \accepts PianoStaff
  \accepts RhythmicStaff
  \accepts Staff
  \accepts StaffGroup
  \accepts TabStaff
  \defaultchild Staff
}

\context {
  \type "Performer_group"
  \name GrandStaff
  \accepts ChordNames
  \accepts DrumStaff
  \accepts Dynamics
  \accepts FiguredBass
  \accepts Lyrics
  \accepts RhythmicStaff
  \accepts Staff
  \accepts TabStaff
  \defaultchild Staff
}

\context {
  \GrandStaff
  \name PianoStaff
  \alias GrandStaff
}

\context{
  \type "Performer_group"
  \name ChoirStaff
  \accepts ChoirStaff
  \accepts ChordNames
  \accepts FiguredBass
  \accepts DrumStaff
  \accepts Dynamics
  \accepts GrandStaff
  \accepts Lyrics
  \accepts OneStaff
  \accepts PianoStaff
  \accepts RhythmicStaff
  \accepts Staff
  \accepts StaffGroup
  \accepts TabStaff
  \defaultchild Staff
}

As you can see, although the lists are essentially
the same, there is a number of differences.

Personally, my opinion is that we should go for
consistency and derive all of StaffGroup, ChoirStaff
and GrandStaff from one same context, with thus the
same context types accepted. All staff-like contexts
should be included -- right now, none includes
MensuralStaff for example.

How does that sound?

Best regards,
Jean


reply via email to

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