* | 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)
| Neil Puttock | 2011-02-13 | 1 | -0/+18 |