From: Keith OHara <k-ohara5a5a@oco.net>
Date: Wed, 15 May 2013 04:53:25 +0000 (-0700)
Subject: Beams: be transparent if the first stem is transparent; issue 2866
X-Git-Tag: release/2.17.19-1~8^2~6
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=bd599be12a872b9ca95ebc78e0880e2d13c26b4f;p=lilypond.git

Beams: be transparent if the first stem is transparent; issue 2866

so that \hideNotes does not hide automatic beams that could have,
but did not, start on a hidden note.
---

diff --git a/ly/property-init.ly b/ly/property-init.ly
index 85ae984374..8ea9cdbead 100644
--- a/ly/property-init.ly
+++ b/ly/property-init.ly
@@ -263,16 +263,15 @@ hideNotes = {
   \override Dots.transparent = ##t
   \override NoteHead.transparent = ##t
   \override NoteHead.no-ledgers = ##t
+  % assume that any Beam inherits transparency from its parent Stem
   \override Stem.transparent = ##t
   \override Flag.transparent = ##t
-  \override Beam.transparent = ##t
   \override Accidental.transparent = ##t
   \override Rest.transparent = ##t
   \override TabNoteHead.transparent = ##t
 }
 unHideNotes = {
   \revert Accidental.transparent
-  \revert Beam.transparent
   \revert Stem.transparent
   \revert Flag.transparent
   \revert NoteHead.transparent
diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm
index 9ab189d16c..6f169978a4 100644
--- a/scm/define-grobs.scm
+++ b/scm/define-grobs.scm
@@ -409,6 +409,8 @@
 	(positions . ,beam::place-broken-parts-individually)
 	(springs-and-rods . ,ly:beam::calc-springs-and-rods)
 	(X-positions . ,ly:beam::calc-x-positions)
+        (transparent . ,(grob::inherit-parent-property
+                         X 'transparent))
 
 	;; this is a hack to set stem lengths, if positions is set.
 	(quantized-positions . ,ly:beam::set-stem-lengths)
diff --git a/scm/music-functions.scm b/scm/music-functions.scm
index 16e035bcbb..b08ecb7fab 100644
--- a/scm/music-functions.scm
+++ b/scm/music-functions.scm
@@ -1945,7 +1945,7 @@ base onto the following musical context."
                 (blot (ly:output-def-lookup layout 'blot-diameter)))
            ; Hide spanned stems
            (map (lambda (st)
-                  (set! (ly:grob-property st 'transparent) #t))
+                  (set! (ly:grob-property st 'stencil) #f))
              stems)
            ; Draw a nice looking stem with rounded corners
            (ly:round-filled-box (ly:grob-extent root root X) yextent blot))