Midi_note::Midi_note (Audio_note *a)
: Midi_channel_item (a)
, audio_ (a)
- , dynamic_byte_ (a->volume_ > 0 ? Byte (a->volume_ * 0x7f) : Byte (0x5a))
+ , dynamic_byte_ (a->dynamic_ && a->dynamic_->volume_ > 0
+ ? Byte (a->dynamic_->volume_ * 0x7f) : Byte (0x5a))
{
}
string
Midi_dynamic::to_string () const
{
- if (audio_->volume_ < 0)
+ if (audio_->volume_ < 0 || audio_->silent_)
return "";
Byte status_byte = (char) (0xB0 + channel_);