From 22d7b19fb9041d11b39a795df38da3be3e6f3b45 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 3657cbf62c..5372aacafc 100644 --- a/lily/audio-item.cc +++ b/lily/audio-item.cc @@ -91,16 +91,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.5