lilypond-devel
[Top][All Lists]
Advanced

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

PATCH: Allow setting of arpeggio type for spanned arpeggios


From: Chris Snyder
Subject: PATCH: Allow setting of arpeggio type for spanned arpeggios
Date: Thu, 18 Dec 2008 15:16:43 -0500
User-agent: Thunderbird 2.0.0.18 (X11/20081125)

I'm working on a score where I'd like to create a cross-staff vertical bracket, which I have LilyPond engrave as a bracket-style arpeggio. This was not possible because spanned arpeggios always used the default stencil - the NR alludes to this in 1.3.3 under "Known issues and warnings," where the following note is included: "The parenthesis-style arpeggio brackets do not work for cross-staff arpeggios. " The note is accurate, but not complete, as the parenthesis style isn't the only one that doesn't work.

Wanting a solution, I figured this could be a good place for me to make my first code contribution to LilyPond. The solution I came up with was for the Span_arpeggio_engraver to copy the stencil property from one of the included arpeggios. On some levels it feels slightly hack-ish (perhaps because the patch ended up adding only one line of code - quite the result after hours of work<g>), but the functionality seems quite elegant.

I've attached the patch according (I hope) to the standards set forth on the LilyPond web site. Feedback (both code- and process-wise) would be greatly appreciated. Thank you.

--
Chris Snyder
Adoro Music Publishing
1-616-828-4436 x800
http://www.adoromusicpub.com
>From 49ed7b275a9c83154e70dca0a32496d0ba3793fd Mon Sep 17 00:00:00 2001
From: Chris Snyder <address@hidden>
Date: Thu, 18 Dec 2008 14:49:00 -0500
Subject: [PATCH] Altered spanned arpeggios to inherit the stencil property of 
an included arpeggio
 (it isn't very smart - it just gets the property from the first arpeggio it 
finds)

---
 lily/span-arpeggio-engraver.cc |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/lily/span-arpeggio-engraver.cc b/lily/span-arpeggio-engraver.cc
index 07958a8..adbd0b0 100644
--- a/lily/span-arpeggio-engraver.cc
+++ b/lily/span-arpeggio-engraver.cc
@@ -61,6 +61,7 @@ Span_arpeggio_engraver::process_acknowledged ()
     {
       span_arpeggio_ = make_item ("Arpeggio", SCM_EOL);
       span_arpeggio_->set_property ("cross-staff", SCM_BOOL_T);
+      span_arpeggio_->set_property ("stencil", 
arpeggios_[0]->get_property_data (ly_symbol2scm ("stencil")));
     }
 }
 
-- 
1.5.6.3


reply via email to

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