From b6731d2f15343245a9b8e1dff479461a5dc4bcbe Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Mon, 8 Jan 2007 13:34:50 +0100 Subject: [PATCH] Don't assert for invalid midi dynamics. --- lily/audio-item.cc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lily/audio-item.cc b/lily/audio-item.cc index 3913527ea1..160b0dda21 100644 --- a/lily/audio-item.cc +++ b/lily/audio-item.cc @@ -90,16 +90,19 @@ Audio_span_dynamic::render () assert (dynamics_[0]->volume_ >= 0); - if (dynamics_.back ()->volume_ > 0 - && sign (dynamics_.back ()->volume_ - dynamics_[0]->volume_) != grow_dir_) + while (dynamics_.back ()->volume_ > 0 + && dynamics_.size () > 1 + && sign (dynamics_.back ()->volume_ - dynamics_[0]->volume_) != grow_dir_) { dynamics_.erase (dynamics_.end () - 1); - assert (dynamics_.back ()->volume_ < 0); } if (dynamics_.size () <= 1) - return ; - + { + programming_error ("(de)crescendo on items with specified volume."); + return ; + } + Real delta_v = grow_dir_ * 0.1; Real start_v = dynamics_[0]->volume_; -- 2.39.2