lilypond-devel
[Top][All Lists]
Advanced

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

Re: Inconsistency in \cr, \cresc, \<, \dim handling


From: Mats Bengtsson
Subject: Re: Inconsistency in \cr, \cresc, \<, \dim handling
Date: Fri, 21 Dec 2007 12:10:50 +0100
User-agent: Thunderbird 2.0.0.5 (X11/20070716)

When you say that it "cannot be automated", I assume you refer to the
musicxml2ly converter or some similar application.
Since the \cr and \dim are implemented as music functions which always
have a prefix syntax, I don't see any simple solution.
Of course, you can easily define your own music functions to implement
hairpin crescendo, which at least gives consistency, if that's your main
problem. However, then all of these functions have to be supplied before
the note.

  /Mats

Reinhold Kainhofer wrote:
Hi,
It seems that while \< and \cr need to be put after the note they apply to, \cr and \dim must be put before the note where their effect starts. This has the negative side effect that you can't easily switch individual crescendos between hairping and text spanners (short of manually inserting \setTextCresc and \setHairpinCresc before and after the spanner). The comments in ly/spanners-init.ly indicate that cresc and dim are supposed to be removed sooner or later, so I wonder if there is any command to produce a text crescendo without manually inserting \setTextCresc and \setHairpinCresc (which cannot be automated!!!!) before the first note and after the last note of the crescendo...

Example:
{
  b2.\cr b4\endcr | % same as \< ... \!, both AFTER the corresponding note
  \cresc b2. \endcresc b4 | % needs to be BEFORE the corresponding note!!!
  \dimb2. \enddimb4 | % needs to be BEFORE the corresponding note!!!
  b2.\decr b4\enddecr  | %same as \> ...\!, both AFTER the corresponding note
}


What I really want is:
{
  b2\< b2\! | % produces hairpin crescendo
  b2\cresc b2\! | % produces text crescendo
  b2\dim b2\! | % produces text diminuendo
  b2\> b2\! | % produces hairpin decrescendo
}

Of course, the \< only produce hairpin crescendi if crescendoText is unset (i.e. they show the current behaviour). All I want is to force individual crescendi to text style without the additional overhead.

Is this possible?

Cheers,
Reinhold



--
=============================================
        Mats Bengtsson
        Signal Processing
        Signals, Sensors and Systems
        Royal Institute of Technology
        SE-100 44  STOCKHOLM
        Sweden
        Phone: (+46) 8 790 8463                         
       Fax:   (+46) 8 790 7260
        Email: address@hidden
        WWW: http://www.s3.kth.se/~mabe
=============================================





reply via email to

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