]> git.donarmstrong.com Git - lilypond.git/commitdiff
Midi: do not output midi volume settings next to note velocity.
authorJan Nieuwenhuizen <janneke@gnu.org>
Tue, 15 Mar 2011 09:28:51 +0000 (10:28 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Tue, 15 Mar 2011 09:28:51 +0000 (10:28 +0100)
This can easily be made configureable in staff-performer now.

lily/midi-item.cc
lily/staff-performer.cc

index 36234c4a9c1a9b77e8082200caa3f69ae466b547..9168f1148079c874a307f6365cf868e813c33920 100644 (file)
@@ -271,6 +271,9 @@ Midi_dynamic::Midi_dynamic (Audio_dynamic *a)
 string
 Midi_dynamic::to_string () const
 {
+  if (audio_->volume_ < 0)
+    return "";
+
   Byte status_byte = (char) (0xB0 + channel_);
   string str = ::to_string ((char)status_byte);
 
index f98206c7a2e428f3001dec059edc0666c5aa7e46..3ad276890b7a45765c0b7157cb912c78aebe50f7 100644 (file)
@@ -264,8 +264,12 @@ Staff_performer::acknowledge_audio_element (Audio_element_info inf)
        }
       Audio_staff* audio_staff = get_audio_staff (voice);
       ai->channel_ = channel_;
+      // Output volume as velocity and disable Midi_dynamic output
       if (Audio_dynamic *d = dynamic_cast<Audio_dynamic *> (inf.elem_))
-       dynamic_map_[voice] = d->volume_;
+       {
+         dynamic_map_[voice] = d->volume_;
+         d->volume_ = -1;
+       }
       if (Real d = get_dynamic (voice))
        if (Audio_note *n = dynamic_cast<Audio_note *> (inf.elem_))
          n->volume_ = d;