- // Output volume as velocity and disable Midi_dynamic output
- if (Audio_dynamic *d = dynamic_cast<Audio_dynamic *> (inf.elem_))
- {
- 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;
+ bool encode_dynamics_as_velocity_ = true;
+ if (encode_dynamics_as_velocity_)
+ {
+ if (Audio_dynamic *d = dynamic_cast<Audio_dynamic *> (inf.elem_))
+ {
+ dynamic_map_[voice] = d;
+ // Output volume as velocity: must disable Midi_dynamic output
+ d->silent_ = true;
+ }
+ if (Audio_dynamic *d = get_dynamic (voice))
+ if (Audio_note *n = dynamic_cast<Audio_note *> (inf.elem_))
+ n->dynamic_ = d;
+ }
+ Audio_staff *audio_staff = get_audio_staff (voice);