lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Better support for beat slashes (multi-slash & mixed duration). (issue21


From: n . puttock
Subject: Better support for beat slashes (multi-slash & mixed duration). (issue212048)
Date: Wed, 25 Aug 2010 21:22:28 +0000

Reviewers: ,

Message:
Hi everybody,

You might remember this patch from a while ago. :)

I've dusted it off and made several improvements.

Please review.

Thanks,
Neil

Description:
Better support for beat slashes (multi-slash & mixed duration).

* lily/context.cc:

  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):

  add count arg to set number of slashes

* 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-grob-interface.scm (percent-repeat-interface):

  add slash-count for use by RepeatSlash

* scm/define-grob-properties.scm (all-internal-grob-properties):

  doc slash-count

* scm/define-grobs.scm (all-grob-descriptions):

  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)

Please review this at http://codereview.appspot.com/212048/

Affected files:
  M lily/context.cc
  A lily/double-percent-repeat-engraver.cc
  M lily/include/context.hh
  M lily/include/percent-repeat-item.hh
  M lily/multi-measure-rest.cc
  M lily/percent-repeat-engraver.cc
  M lily/percent-repeat-item.cc
  M lily/percent-repeat-iterator.cc
  M lily/slash-repeat-engraver.cc
  M ly/engraver-init.ly
  M scm/define-event-classes.scm
  M scm/define-grobs.scm
  M scm/define-music-properties.scm
  M scm/define-music-types.scm
  M scm/music-functions.scm





reply via email to

[Prev in Thread] Current Thread [Next in Thread]