diff options
author | Neil Puttock <n.puttock@gmail.com> | 2011-02-13 23:32:12 +0000 |
---|---|---|
committer | Neil Puttock <n.puttock@gmail.com> | 2011-02-13 23:32:12 +0000 |
commit | f40beee2bdf96ff578b5a3d004cc276ee333b799 (patch) | |
tree | 86a84f58e1afc294a9848ea2dc9aed8770cc012c /ly | |
parent | 90fcc649dc06ad006158945acc15a69e24e942cd (diff) |
Better support for beat slashes (multi-slash & mixed duration).
* input/regression/repeat-slash-mixed.ly, repeat-slash-multi.ly:
new regtests
* lily/context.cc (check_repeat_count_visibility):
add repeat count visibility proc for use in percent repeat engravers
* lily/double-percent-repeat-engraver.cc (new file):
create separate engraver for double-measure percent repeats, which listens
to DoublePercentEvent
* lily/percent-repeat-engraver.cc:
listen to PercentEvent and create single-measure repeats only
* lily/percent-repeat-item.cc: (brew_slash, brew_slash):
add count arg to set number of slashes
read slash-count from event-cause
* lily/percent-repeat-iterator.cc (get_music_list):
send separate synthetic events for percent, double-percent and beat repeats
use measure length to choose between full-measure types
call scheme proc to get slash count for beat repeats
* lily/slash-repeat-engraver.cc:
listen to RepeatSlashEvent and use slash-count to switch between RepeatSlash
and DoublePercentRepeat
* ly/engraver-init.ly:
add Double_percent_repeat_engraver to Voice context
* scm/define-event-classes.scm (event-classes):
add new classes (double-percent-event/repeat-slash-event)
* scm/define-grobs.scm (all-grob-descriptions):
add DoubleRepeatSlash
set slash-negative-kern in RepeatSlash (required for multi-slash beat repeats)
* scm/define-music-properties.scm (all-music-properties):
doc slash-count
* scm/define-music-types.scm (music-descriptions):
add synthetic events DoublePercentEvent and RepeatSlashEvent
* scm/music-functions.scm (calc-repeat-slash-count):
new function used by Percent_repeat_iterator to check durations; returns
either number of slashes (if all durations equal) or 0 (if durations vary)
Diffstat (limited to 'ly')
-rw-r--r-- | ly/engraver-init.ly | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 92c8398f34..28c7c9706f 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -243,6 +243,7 @@ multiple voices on the same staff." \consists "New_fingering_engraver" \consists "Chord_tremolo_engraver" + \consists "Double_percent_repeat_engraver" \consists "Percent_repeat_engraver" \consists "Slash_repeat_engraver" \consists "Part_combine_engraver" |