]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 2232: fix MIDI output of abutting (de)crescendi
authorDan Eble <nine.fierce.ballads@gmail.com>
Sun, 5 Jun 2016 21:29:37 +0000 (17:29 -0400)
committerDan Eble <nine.fierce.ballads@gmail.com>
Tue, 14 Jun 2016 00:27:27 +0000 (20:27 -0400)
input/regression/midi/crescendo-abutting.ly [new file with mode: 0644]
lily/dynamic-performer.cc

diff --git a/input/regression/midi/crescendo-abutting.ly b/input/regression/midi/crescendo-abutting.ly
new file mode 100644 (file)
index 0000000..da0ff4f
--- /dev/null
@@ -0,0 +1,10 @@
+\version "2.19.44"
+
+\header {
+  texidoc="One (de)crescendo ends as the next begins."
+}
+
+\score {
+   { c\< c\> c\! }
+   \midi {}
+}
index 75b153ace894f1ee13a17ad1583e0d8cdd9a0025..5ce67f0463d67176de80df71d0016d997ea704cb 100644 (file)
@@ -103,9 +103,10 @@ Dynamic_performer::equalize_volume (Real volume)
 void
 Dynamic_performer::process_music ()
 {
-  if (span_events_[STOP] || script_event_)
+  if (span_events_[START] || span_events_[STOP] || script_event_)
     {
-      // End of a dynamic spanner, or an explicit dynamic script event.
+      // End the previous spanner when a new one begins or at an explicit stop
+      // or absolute dynamic.
       finished_span_dynamic_ = span_dynamic_;
       span_dynamic_ = 0;
     }