lilypond-devel
[Top][All Lists]
Advanced

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

Creates a glissando stem grob that uses stems' functionality. (issue4777


From: mtsolo
Subject: Creates a glissando stem grob that uses stems' functionality. (issue4777044)
Date: Wed, 20 Jul 2011 12:32:54 +0000

Reviewers: ,

Message:
Tries to minimize overlap with stem.cc - Glissando_stem::has_interface
now
appears four (indispensable) times in stem.cc.  I think it is pretty
modular.  If I get run over by a truck and no one knows how to maintain
this
thing and people decide to delete glissando stems from LilyPond, I think
it
is much easier to do with this version than previous ones.

A lot of files change because Stem::head_positions is now a callback.  I
may
even rename the property - it should really be called
extremal-positions, as
it describes the position of the extreme two heads (stems) or glissandi
(glissando stems).

This implementation, while long, is more lilypond-esque.

The input syntax is HORRIBLE - it really needs to access the parser
somehow.
Otherwise, users will have to build event chords from scratch.  Users
need
to be able to do:

gs4:32-.^"foo"

Where gs is glissando stem (or, alternatively, mikeSolomonIsANinja).
Otherwise, they'll have to roll their own event chords to get the markup
and
articulation in there, and that seems like a ferocious waste of time.
If
anyone could help me figure out how to do that, I'd be much obliged!

For now, the input syntax is shown in the regtest.

Passes regtests, although I had to create a dummy property called
"dimension" to get it to pass (I have no clue why) - I'll remove this
once I figure that out.

I'll eventually get around to making real extent functions for
GlissandoStemTremolo.

Cheers,
MS

Description:
Creates a glissando stem grob that uses stems' functionality.


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

Affected files:
  A input/regression/glissando-stem.ly
  M lily/arpeggio.cc
  M lily/beam-concave.cc
  M lily/beam-quanting.cc
  M lily/beam.cc
  M lily/dot-column.cc
  M lily/glissando-engraver.cc
  A lily/glissando-stem.cc
  A lily/include/glissando-stem.hh
  M lily/include/script-interface.hh
  M lily/include/stem.hh
  M lily/note-spacing.cc
  M lily/script-engraver.cc
  M lily/script-interface.cc
  M lily/separation-item.cc
  M lily/staff-spacing.cc
  M lily/stem-engraver.cc
  M lily/stem.cc
  M lily/tie-formatting-problem.cc
  M ly/music-functions-init.ly
  M scm/define-event-classes.scm
  M scm/define-grob-properties.scm
  M scm/define-grobs.scm
  M scm/define-music-types.scm
  A scm/layout-stem.scm
  M scm/lily.scm
  M scm/output-lib.scm





reply via email to

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