From 60f4e610f5ffb3d5d1201fd5fa258c2b64ac8010 Mon Sep 17 00:00:00 2001 From: Mike Solomon Date: Wed, 12 Oct 2011 08:01:35 +0200 Subject: [PATCH] Adds glissando-skip property to the rhythmic-head-interface. This allows glissandi to skip over one or several rhythmic head(s) in the same Voice as its endpoints. --- input/regression/glissando-skip.ly | 12 ++++++++++++ lily/glissando-engraver.cc | 3 +++ lily/rhythmic-head.cc | 1 + scm/define-grob-properties.scm | 2 ++ 4 files changed, 18 insertions(+) create mode 100644 input/regression/glissando-skip.ly diff --git a/input/regression/glissando-skip.ly b/input/regression/glissando-skip.ly new file mode 100644 index 0000000000..9b3febb29c --- /dev/null +++ b/input/regression/glissando-skip.ly @@ -0,0 +1,12 @@ +\version "2.15.12" + +\header { + texidoc = "@code{NoteColumn} grobs can be skipped over by glissandi. +" +} + +\relative c' { + a2 \glissando + \once \override NoteColumn #'glissando-skip = ##t + f''4 d, +} diff --git a/lily/glissando-engraver.cc b/lily/glissando-engraver.cc index 164b12a9f1..bb57bf1fcd 100644 --- a/lily/glissando-engraver.cc +++ b/lily/glissando-engraver.cc @@ -78,6 +78,9 @@ void Glissando_engraver::acknowledge_note_column (Grob_info info) { Grob *g = info.grob (); + if (to_boolean (g->get_property ("glissando-skip"))) + return; + if (stop_glissandi_) { extract_grob_set (g, "note-heads", note_heads); diff --git a/lily/rhythmic-head.cc b/lily/rhythmic-head.cc index 77993275ff..24029e3ada 100644 --- a/lily/rhythmic-head.cc +++ b/lily/rhythmic-head.cc @@ -65,5 +65,6 @@ ADD_INTERFACE (Rhythmic_head, /* properties */ "dot " "duration-log " + "glissando-skip " "stem " ); diff --git a/scm/define-grob-properties.scm b/scm/define-grob-properties.scm index 58a085800f..34363155f5 100644 --- a/scm/define-grob-properties.scm +++ b/scm/define-grob-properties.scm @@ -406,6 +406,8 @@ read from the NonMusicalPaperColumn that begins the measure.") ;; (gap ,ly:dimension? "Size of a gap in a variable symbol.") (gap-count ,integer? "Number of gapped beams for tremolo.") + (glissando-skip ,boolean? "Should this @code{NoteHead} be skipped +by glissandi?") (glyph ,string? "A string determining what @q{style} of glyph is typeset. Valid choices depend on the function that is reading this property.") -- 2.39.2