lilypond-devel
[Top][All Lists]
Advanced

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

Issue 2232: fix MIDI output of abutting (de)crescendi (issue 300300043 b


From: ht . lilypond . development
Subject: Issue 2232: fix MIDI output of abutting (de)crescendi (issue 300300043 by address@hidden)
Date: Tue, 07 Jun 2016 12:07:40 -0700

Do I understand correctly that this change in effect automatically
replaces every { ... CC ... DD ... } (where CC and DD can be either \<
or \>, with no (de)crescendo events between them) with { ... CC ... \!
DD ... }, which has worked "as expected" even before?

Making crescendos immediately followed by a descrescendo (or vice versa)
work without the need to use explicit \!'s is certainly convenient, so I
think this is a welcome change.

Actually, this change also seems to alter the MIDI rendering of

\version "2.19.43"

\score {
  \new Staff \with {
    midiMinimumVolume = 0.0
    midiMaximumVolume = 1.0
  } \new Voice \relative c' {
      c8\pppp\< c\< c   c\< c   c   c\<  c   c   c\sf
    % 43        43  43  43  43  43  43   71  99  127  (velocities
without patch)
    % 43        71  86  100 109 118 127  127 127 127  (velocities with
patch)
  }
  \midi { }
}

to make the velocity adjustment actually span more than the last segment
of notes between two dynamic events (I hadn't even noticed the old
behavior, which I find somewhat unexpected).

With the patch I get an "Impossible or ambiguous (de)crescendo in MIDI"
warning from this example, though, but I think this is only because of
hitting the maximum possible velocity already before the last note -
since I didn't use any explicit dynamic events in the example, LilyPond
just uses the default (volume range dependent) velocity increment for
each segment between two crescendo events.  Anyway, this behavior is
still consistent with what one gets without the patch by replacing every
\< with \!\<, so I'd still say that the patch improves things even in
this case.


https://codereview.appspot.com/300300043/



reply via email to

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