Reviewers: ht,
Message:
On 2016/06/07 19:07:40, ht wrote:
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 ... }
That is my understanding.
With the patch I get an "Impossible or ambiguous (de)crescendo in
MIDI" warning
from this example, though
That probably falls under
https://sourceforge.net/p/testlilyissues/issues/4048/ .
Thanks for your review and the example.
Description:
Is it really this easy?
I checked the velocity of the output MIDI by inspecting the notes in
Aria Maestosa.
Please review this at https://codereview.appspot.com/300300043/
Affected files (+13, -2 lines):
A input/regression/midi/crescendo-abutting.ly
M lily/dynamic-performer.cc
Index: input/regression/midi/crescendo-abutting.ly
diff --git a/input/regression/midi/crescendo-abutting.ly
b/input/regression/midi/crescendo-abutting.ly
new file mode 100644
index
0000000000000000000000000000000000000000..78cc1a3caed24aa6a600734c830673d604ea9e41
--- /dev/null
+++ b/input/regression/midi/crescendo-abutting.ly
@@ -0,0 +1,10 @@
+\version "2.19.43"
+
+\header {
+ texidoc="One (de)crescendo ends as the next begins."
+}
+
+\score {
+ { c\< c\> c\! }
+ \midi {}
+}
Index: lily/dynamic-performer.cc
diff --git a/lily/dynamic-performer.cc b/lily/dynamic-performer.cc
index
567184412e97a83008144613a9b02e459189ced5..3f9b1a5fedee3660450dab41047d571ef24b324e
100644
--- a/lily/dynamic-performer.cc
+++ b/lily/dynamic-performer.cc
@@ -105,9 +105,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;
}
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel