Re: [tablatures] some arpeggios still showing up in default TabStaff

[ Thread Index | Date Index | More lilynet.net/tablatures Archives ]


Am 03.05.2011 23:27, schrieb Federico Bruni:
While trying to find an easy way to group a small barré (2 or 3 notes)
inside a bracket, using \arpeggioBracket, I realized that some kinds of
arpeggios are still showing up in TabStaff (I mean the default one,
where arpeggios are supposed to be hidden, if I'm not wrong).

See the attached file.

\arpeggioNormal, \arpeggioArrowUp and \arpeggioArrowDown are hidden in
TabStaff. This is the expected behaviour (even though, personally, I use
to put an override in \layout and make them show up).

\arpeggioBracket, \arpeggioParenthesis, \arpeggioParenthesisDashed are
visible in TabStaff.
It looks like an inconsistency.
What do you think?
Yes, this is an inconsistency. These commands are defined in
ly/property-init.ly:

[snip]
%% arpeggios

% For drawing vertical chord brackets with \arpeggio
% This is a shorthand for the value of the print-function property
% of either Staff.Arpeggio or PianoStaff.Arpeggio, depending whether
% cross-staff brackets are desired.

arpeggio = #(make-music 'ArpeggioEvent)
arpeggioArrowUp = {
  \revert Arpeggio  #'stencil
  \revert Arpeggio #'X-extent
  \override Arpeggio  #'arpeggio-direction = #UP
}
arpeggioArrowDown = {
  \revert Arpeggio #'stencil
  \revert Arpeggio #'X-extent
  \override Arpeggio  #'arpeggio-direction = #DOWN
}
arpeggioNormal = {
  \revert Arpeggio #'stencil
  \revert Arpeggio #'X-extent
  \revert Arpeggio #'arpeggio-direction
  \revert Arpeggio #'dash-definition
}
arpeggioBracket = {
  \revert Arpeggio #'X-extent
  \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-bracket
}
arpeggioParenthesis = {
  \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur
  \override Arpeggio #'X-extent = #ly:grob::stencil-width
  \revert Arpeggio #'dash-definition
}
arpeggioParenthesisDashed = {
  \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur
  \override Arpeggio #'X-extent = #ly:grob::stencil-width
  \override Arpeggio #'dash-definition = #'((0 1 0.4 0.75))
}
[snip]

As you can see, arpeggioBracket \reverts the changes taken for
tablature.
I think one quick solution would be to include this part in your
document and replace "Arpeggio" by "Staff.Arpeggio" to make
sure the changes apply to normal staves only.
Let me add one more thing.
Let's say I want to use \arpeggioBracket to group small barré inside a bracket.
I want to see the bracket in Staff only, so if you are going to hide also these arpeggios I'll be ok.

But what if I want some kinds of arpeggio to be printed on TabStaff (normal and arrowed) and some others not?
Can I set different settings for each one?
Well, you can change the appearance for TabStaff.Arpeggio #'<some property> and Staff.Arpeggio #'<some property> independently, but this could mean you'll have to
write some more shortcuts like the ones defined above for better usability.

HTH,

Marc





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/