I think I have it, Tom. Took me a long time, too. Try the code below:
% This shows how to use arpeggios that cross
% from one voice to another.
\version "2.11.62"
melody = \relative c'' {
\voiceOne
\set Staff.connectArpeggios = ##t
e4\arpeggio <d f> <d f>2
}
bass = \relative c' {
\voiceTwo
\set Staff.connectArpeggios = ##t
d2\arpeggio <g b>2
}
\score {
\context Staff = "guitar" \with {
\consists "Span_arpeggio_engraver"
}
<<
\context Voice = "melody" { \melody }
\context Voice = "bass" { \bass }
>>
\layout { }
\midi {
\context {
\Score
tempoWholesPerMinute = #(ly:make-moment 160 4)
}
}
}
Tom Cloyd wrote:
Maybe. Probably. If I could get it to work.
The problem is that it start a new staff. I need arpeggios across voices
in arbitrary locations - of course.
Here's the structure of my file:
\header stuff
staffClassicalGuitar = { my music, in 2 & 3 part voicing}
\score {
\new Staff {
(staff definitions stuff)
<<
\staffClassicalGuitar
>>
}
\layout...
\midi...
}
\paper ....
I got this structure right from the Lilypond 2.11.60 documentation. But
I cannot find a place to put this stuff -
\new Staff \with {
\consists "Span_arpeggio_engraver"
}
where it will be accepted. Starting a new staff in the middle of a
measure makes no sense. OR in the middle of a line. So, I assume the
"\with..." thing needs to go into the existing "\new Staff..." I already
have. But nothing I try works - it all causes prodigious errors. For
example, this is NOT accepted...
\score {
\new Staff \with {
\consists "Span_arpeggio_engraver"
\clef treble
\key e \minor
\time 3/4
\tempo "" 4 = 90
[...]
I've tried all the variations I can imagine, and I cannot find any
real-world examples that show me the solution, and I cannot make sense
of things logically. Why do I have to create a new staff to get a single
arpeggio? If I want to do this arbitrarily, why is the setup for it so
arcane? I must not be understanding something, but can't see what.
Any help would be appreciated (!).
t.
Can you suggest what I need to do?
Jonathan Kulp wrote:
This snippet appears to do what you're asking:
http://lilypond.org/doc/v2.11/input/lsr/lilypond-snippets/Expressive-marks
Go down to where it says "Creating arpeggios across notes in different
voices."
Jon
% ****************************************************************
% Start cut-&-pastable-section
% ****************************************************************
\paper {
#(define dump-extents #t)
indent = 0\mm
line-width = 160\mm
force-assignment = #""
line-width = #(- line-width (* mm 3.000000))
}
\layout {
}
% ****************************************************************
% ly snippet:
% ****************************************************************
\sourcefilename "creating-arpeggios-across-notes-in-different-voices.ly"
\sourcefileline 0
%% Do not edit this file; it is auto-generated from LSR
http://lsr.dsi.unimi.it
%% This file is in the public domain.
\version "2.11.62"
\header {
lsrtags = "expressive-marks"
texidoces = "
Se puede trazar un símbolo de arpegio entre notas de distintas
voces que están sobre el mismo pentagrama si el grabador
@code{Span_arpeggio_engraver} se traslada al contexto de
@code{Staff} context:
"
doctitlees = "Crear arpegios entre notas de voces distintas"
texidoc = "
An arpeggio can be drawn across notes in different voices on the same
staff if the @code{Span_arpeggio_engraver} is moved to the @code{Staff}
context:
"
doctitle = "Creating arpeggios across notes in different voices"
} % begin verbatim
\new Staff \with {
\consists "Span_arpeggio_engraver"
}
\relative c' {
\set Staff.connectArpeggios = ##t
<<
{ <e' g>4\arpeggio <d f> <d f>2 } \\
{ <d, f>2\arpeggio <g b>2 }
>>
}
% ****************************************************************
% end ly snippet
% ****************************************************************
Tom Cloyd wrote:
Greetings!
After digging around considerably in the excellent Lilypond
documentation (am running 2.11.60 on Kubuntu Linux 8.04.1), and
running a number of experiments, I'm defeated on this problem.
A simple test case: I have two voices in a single staff.
Periodically, I want to indicate that the notea co-occuring at a
given point are to be played as a "rolled" arpeggio. There is NO
chord notated - just two voices with single notes. Please don't
suggest I merge the voices. That's not the solution I'm looking for.
P. 90 of Lilypond Notation reference illustrates a rolled arpeggio
across different notes in the same staff, but it involves notes in
chord clusters. Besides, my Lilypond doesn't at all like this stuff
(from the reference):
\new Staff \with {
\consists "Span_arpeggio_engraver"
}
\relative c' {...
I get this error - "warning: cannot find file: `consists' "
So, even if I HAD chord clusters, I'd still have a problem.
This rolled arpeggio business is very common in classical guitar
music. I'm a little surprised there isn't some simple way to indicate
it, but...maybe I'm missing something.
Any help would be much appreciated!
Tom
--
Jonathan Kulp
http://www.jonathankulp.com
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user