]> git.donarmstrong.com Git - lilypond.git/commit
Fix #765: Display method for \ottava.
authorNeil Puttock <n.puttock@gmail.com>
Mon, 26 Jul 2010 22:01:34 +0000 (23:01 +0100)
committerNeil Puttock <n.puttock@gmail.com>
Mon, 26 Jul 2010 22:07:00 +0000 (23:07 +0100)
commitd00ca5c25ad78a6de4ed5098673bb151707f28c1
tree7b3a9d07d71633fd91d48d44ea927ac745542a3d
parent2ed4e9b64d3c9338c621a85f3264315e59cf2176
Fix #765: Display method for \ottava.

Since \ottava currently uses ApplyContext to set the relevant context
properties which trigger creation of an ottava bracket, the information
useful to its display method (i.e., the octavation) is inaccessible: the only
music property which can be extracted is the argument to ApplyContext, its
procedure.

By wrapping the existing code which creates an ottava bracket (make-ottava-set)
in a synthetic event, the octavation can be passed as a music property, thus making
it accessible from a display method.

* input/regression/display-lily-tests.ly:

  add test for \ottava

* ly/music-functions-init.ly (ottava):

  create ottava bracket via synthetic OttavaMusic

* scm/define-music-display-methods.scm:

  add display method for \ottava, which simply catches OttavaMusic and reads
  'ottava-number

* scm/define-music-properties.scm (all-music-properties):

  add 'ottava-number

* scm/define-music-types.scm:

  copy make-ottava-set from scm/music-functions.scm

  add OttavaMusic: uses a sequential iterator to call make-ottava-set via its
  elements-callback

* scm/music-functions.scm:

  add ly:context-property as procedure-with-setter

  remove make-ottava-set
input/regression/display-lily-tests.ly
ly/music-functions-init.ly
scm/define-music-display-methods.scm
scm/define-music-properties.scm
scm/define-music-types.scm
scm/music-functions.scm