From f74485aafac3d2435e99a84fd4de8a70031d343f Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sun, 20 Jul 2008 00:46:30 -0300 Subject: [PATCH] Fix #642. Add percent-repeat-interface, for non-item repeats. --- input/regression/hara-kiri-percent-repeat.ly | 16 ++++++++++++++++ ly/engraver-init.ly | 4 +++- scm/define-grob-interfaces.scm | 5 +++++ scm/define-grobs.scm | 8 ++++++-- 4 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 input/regression/hara-kiri-percent-repeat.ly diff --git a/input/regression/hara-kiri-percent-repeat.ly b/input/regression/hara-kiri-percent-repeat.ly new file mode 100644 index 0000000000..0beb255491 --- /dev/null +++ b/input/regression/hara-kiri-percent-repeat.ly @@ -0,0 +1,16 @@ +\header { + texidoc = "Staves with percent repeats are not killed." +} + +\version "2.11.53" + +<< + \new Staff { c''1 c'' \break c'' c'' } + \new Staff \repeat percent 4 { c'1 } +>> + +\layout { + \context { + \RemoveEmptyStaffContext + } +} diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 7cc39b06aa..ffee024a1c 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -608,10 +608,12 @@ automatically when an output definition (a @code{\score} or keepAliveInterfaces = #'( rhythmic-grob-interface lyric-interface + percent-repeat-item-interface + percent-repeat-interface ;; need this, as stanza numbers are items, and appear only once. stanza-number-interface - percent-repeat-interface) + ) quotedEventTypes = #'( note-event rest-event diff --git a/scm/define-grob-interfaces.scm b/scm/define-grob-interfaces.scm index b6b0f3cc2e..691a565714 100644 --- a/scm/define-grob-interfaces.scm +++ b/scm/define-grob-interfaces.scm @@ -116,6 +116,11 @@ note)." "Parentheses for other objects." '(padding stencils)) +(ly:add-interface + 'percent-repeat-interface + "Beat, Double and single measure repeats." + '()) + (ly:add-interface 'piano-pedal-interface "A piano pedal sign." diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 07a2244830..00db815964 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -574,6 +574,7 @@ (meta . ((class . Item) (interfaces . (font-interface break-aligned-interface + percent-repeat-interface percent-repeat-item-interface)))))) (DoublePercentRepeatCounter @@ -597,6 +598,7 @@ (interfaces . (side-position-interface self-alignment-interface percent-repeat-item-interface + percent-repeat-interface font-interface text-interface)))))) @@ -1312,7 +1314,8 @@ (meta . ((class . Spanner) (interfaces . (multi-measure-rest-interface font-interface - percent-repeat-item-interface)))))) + percent-repeat-interface + )))))) (PercentRepeatCounter . ( @@ -1333,7 +1336,7 @@ (meta . ((class . Spanner) (interfaces . (side-position-interface self-alignment-interface - percent-repeat-item-interface + percent-repeat-interface font-interface text-interface)))))) @@ -1389,6 +1392,7 @@ (slope . 1.7) (meta . ((class . Item) (interfaces . (rhythmic-grob-interface + percent-repeat-interface percent-repeat-item-interface)))))) (RepeatTie -- 2.39.2