lilypond-user
[Top][All Lists]
Advanced

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

Re: Staff.connectArpeggios not connecting all arpeggios


From: Mats Bengtsson
Subject: Re: Staff.connectArpeggios not connecting all arpeggios
Date: Mon, 25 Sep 2006 20:54:37 +0200
User-agent: Internet Messaging Program (IMP) H3 (4.0.5)

I think you have misunderstood what the macro \arpeggioBracket does.
It doesn't draw an arpeggio itself, it just tells that all future
arpeggios should be drawn as brackets instead of squiggled lines.

Also, the macro only sets the arpeggio type in the current Voice
context, whereas if you set connectArpeggios, they will be drawn within the Staff context. The solution to this is to redefine the normal \arpeggioBracket macro (which is defined in ly/property-init.ly) so that it does the setting at the Staff level. I have also added a new macro \arpeggioNormal that reverts to the default layout. Then, your example could look something like:

arpeggioBracket =
 \override Staff.Arpeggio #'stencil = #ly:arpeggio::brew-chord-bracket


arpeggioNormal = \revert Staff.Arpeggio #'stencil

varVoiceMelody = \relative c'' {
%1
\arpeggioBracket e4 \arpeggio \arpeggioNormal g\arpeggio \arpeggioBracket e\arpeggio \arpeggioNormal e\arpeggio
|
%2
\arpeggioBracket e\arpeggio gs\arpeggio \arpeggioBracket e\arpeggio e\arpeggio
|
%3
e1\arpeggio
|
}

varVoiceInner = \relative c' {
\stemDown
%1
s4 <e g c>\arpeggio s <e g c>\arpeggio
|
%2
s4 <d b' d>\arpeggio s <e gs d' e>\arpeggio
|
%3
s1
|
}

varVoiceBass = \relative c'' {
%1
\arpeggioBracket c,2\arpeggio g2\arpeggio
|
%2
e2\arpeggio b'2\arpeggio
|
%3
e1\arpeggio
|
}

  \new Staff \with {
        \consists Span_arpeggio_engraver
  }
  {
     \set Staff.connectArpeggios = ##t
         \clef "treble"
          \key c \major
          \time 4/4
         <<
         \new Voice="voiceMelody" { \voiceOne \varVoiceMelody \oneVoice } \\
         \new Voice="voiceInner" { \voiceThree \stemNeutral \varVoiceInner
\oneVoice } \\
         \new Voice="voiceBass" { \voiceTwo \varVoiceBass \oneVoice }
         >>
         \oneVoice

  }


Of course, you could also redefine the \arpeggioBracket command to only do the setting \once.

  /Mats


Quoting "Rick Hansen (aka RickH)" <address@hidden>:


In the short example that follows the regular \arpeggio is connecting itself
nicely across all 3 voices.  However \arpeggioBracket fails to connect
itself.  The desire in measures 1 and 2 below is to have beats 2 and 4 have
standard arpeggios and beats 1 and 3 to have bracket arpeggios.  The 3rd
measure just demonstrates that the standard arpeggio connects fine in a
situation where I would need to use \arpeggioBracket.  (\arpeggioBracket is
very common to classical guitar notation where voices need to be sounded
simultaneously.)

The example below will run as-is.

How can I get \arpeggioBracket to appear across voices on all beats 1 and 3
of this example?



%EXAMPLE BEGIN

\version "2.9.17"
\include "english.ly"

varVoiceMelody = \relative c'' {
%1
e4\arpeggioBracket g\arpeggio e\arpeggioBracket e\arpeggio
|
%2
e\arpeggioBracket gs\arpeggio e\arpeggioBracket e\arpeggio
|
%3
e1\arpeggio
|
}

varVoiceInner = \relative c' {
\stemDown
%1
s4 <e g c>\arpeggio s <e g c>\arpeggio
|
%2
s4 <d b' d>\arpeggio s <e gs d' e>\arpeggio
|
%3
s1
|
}

varVoiceBass = \relative c'' {
%1
c,2\arpeggioBracket g2\arpeggioBracket
|
%2
e2\arpeggioBracket b'2\arpeggioBracket
|
%3
e1\arpeggio
|
}

  \new Staff \with {
        \consists Span_arpeggio_engraver
  }
  {
     \set Staff.connectArpeggios = ##t
        \clef "treble"
        \key c \major
        \time 4/4
        <<
        \new Voice="voiceMelody" { \voiceOne \varVoiceMelody \oneVoice } \\
        \new Voice="voiceInner" { \voiceThree \stemNeutral \varVoiceInner
\oneVoice } \\
        \new Voice="voiceBass" { \voiceTwo \varVoiceBass \oneVoice }
        >>
        \oneVoice

  }


%EXAMPLE END

--
View this message in context: http://www.nabble.com/Staff.connectArpeggios-not-connecting-all-arpeggios-tf2333306.html#a6491878
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.



_______________________________________________
lilypond-user mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-user








reply via email to

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