lilypond-devel
[Top][All Lists]
Advanced

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

[Patch] Absolute dynamics as postfix text (issue2220041)


From: v . villenave
Subject: [Patch] Absolute dynamics as postfix text (issue2220041)
Date: Wed, 15 Sep 2010 13:39:41 +0000

Reviewers: lilypond-devel_gnu.org,

Message:
Greetings everybody,

This is probably not the kind of things anyone wants to see right now,
but this feature just seemed really nice to have; I've been aiming to
implement it for years. Of course, this surely can wait until the next
dev cycle, but since it is a mere drop-in replacement for existing code,
it shouldn't (and doesn't AFAIK) break anything.

This is my first non-pure-Scheme patch, so please bear with me :)

Description:
Absolute dynamics as postfix text

This commit adds a \dynamic command to the parser,
which allows for straightforward dynamics such as

  sffz = \dynamic sffz

or

  c1 \dynamic "mp,_molto intenso"

etc.

This could not be implemented purely using Scheme, as the
only way to pass an argument is by using a music-function,
thereby forbidding postfix commands.  The upside with
this parser modification is that it acts as a drop-in replacement
for the way absolute-dynamic-events were previously handled.
make-dynamic-script has been updated accordingly, as well as
the documentation and the regtests (the only thing left to
implement is a suitable display-method).

\dynamic is also used as a markup command, but since the new
command lives in a different scope there is no conflict AFAICS.

A new dynamic-string markup command has also been added,
in order to parse the string argument given to \dynamic.
This command accepts plain dynamics as well as text indications and
composite indications mixing dynamics, text and punctuation.

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

Affected files:
  M Documentation/notation/expressive.itely
  A input/regression/dynamics-text-postfix.ly
  M lily/lily-lexer.cc
  M lily/parser.yy
  M ly/dynamic-scripts-init.ly
  scm/define-markup-commands.scm
  scm/font.scm
  scm/ly-syntax-constructors.scm





reply via email to

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