[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: BreathingSigns and automatic beams
From: |
Jay Anderson |
Subject: |
Re: BreathingSigns and automatic beams |
Date: |
Mon, 23 Jun 2014 21:24:40 -0700 |
On Wed, Mar 6, 2013 at 6:00 PM, Thomas Morley
<address@hidden> wrote:
> Well, nowadays we have the 'collision-interfaces-property but adding
> breathing-sign-interface to it seems to have no effect.
>
> \version "2.17.12"
>
> respectBS = {
> \override Beam #'collision-interfaces =
> #'(beam-interface
> clef-interface
> breathing-sign-interface
> flag-interface
> inline-accidental-interface
> key-signature-interface
> note-head-interface
> octavate-eight-interface
> stem-interface
> time-signature-interface)
> }
>
> \relative c' {
> \respectBS
> c8 d e f b[ a \breathe g f]
> }
Reviving this old thread. I was trying to do this today and found the
same frustration. It looks like it requires a simple change to the
code:
=================================================================
diff --git a/lily/auto-beam-engraver.cc b/lily/auto-beam-engraver.cc
index 8b55b44..92bc796 100644
--- a/lily/auto-beam-engraver.cc
+++ b/lily/auto-beam-engraver.cc
@@ -353,7 +353,8 @@ void
Auto_beam_engraver::acknowledge_breathing_sign (Grob_info /* info */)
{
check_bar_property ();
- if (stems_)
+ bool breathBreaksBeam = to_boolean (get_property
("breathingSignBreaksBeam"));
+ if (stems_ && breathBreaksBeam)
end_beam ();
}
diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly
index ebfff6a..322db5f 100644
--- a/ly/engraver-init.ly
+++ b/ly/engraver-init.ly
@@ -638,6 +638,7 @@ automatically when an output definition (a @code{\\score} or
beamHalfMeasure = ##t
autoBeaming = ##t
+ breathingSignBreaksBeam = ##t
autoBeamCheck = #default-auto-beam-check
completionFactor = #unity-if-multimeasure
diff --git a/scm/define-context-properties.scm
b/scm/define-context-properties.scm
index 2d38188..3e5510d 100644
--- a/scm/define-context-properties.scm
+++ b/scm/define-context-properties.scm
@@ -115,6 +115,7 @@ arguments, @var{context}, @var{dir} [start/@/stop
(-1 or 1)], and
starts or stops the auto beam.")
(autoBeaming ,boolean? "If set to true then beams are generated
automatically.")
+ (breathingSignBreaksBeam ,boolean? "Indicates that a breathing
sign causes beams to break.")
(autoCautionaries ,list? "List similar to @code{autoAccidentals},
but it controls cautionary accidentals rather than normal ones. Both
lists are tried, and the one giving the most accidentals wins. In
=================================================================
Is this an appropriate approach? Ideally it'd be nice to give it a
list of things that cause beams to end (e.g. breathing sign, manual
beam, bar line, etc.).
-----Jay
- Re: BreathingSigns and automatic beams,
Jay Anderson <=
- Re: BreathingSigns and automatic beams, David Kastrup, 2014/06/24
- Re: BreathingSigns and automatic beams, Jay Anderson, 2014/06/24
- Re: BreathingSigns and automatic beams, Werner LEMBERG, 2014/06/24
- Re: BreathingSigns and automatic beams, James, 2014/06/24
- Re: BreathingSigns and automatic beams, Werner LEMBERG, 2014/06/24
- Re: BreathingSigns and automatic beams, Jay Anderson, 2014/06/24
- Re: BreathingSigns and automatic beams, Werner LEMBERG, 2014/06/28
- Re: BreathingSigns and automatic beams, Brian Barker, 2014/06/24