{
}
-Audio_span_dynamic::Audio_span_dynamic ()
+Audio_span_dynamic::Audio_span_dynamic (Real min_volume, Real max_volume)
{
grow_dir_ = CENTER;
+ min_volume_ = min_volume;
+ max_volume_ = max_volume;
}
void
Real start_v = dynamics_[0]->volume_;
if (dynamics_.back ()->volume_ < 0)
- dynamics_.back ()->volume_ = max (min (start_v + grow_dir_ * 0.25, 1.0), 0.1);
+ dynamics_.back ()->volume_ = max (min (start_v + grow_dir_ * 0.25, max_volume_), min_volume_);
delta_v = dynamics_.back ()->volume_ - dynamics_[0]->volume_;
if (span_events_[START])
{
- span_dynamic_ = new Audio_span_dynamic ();
+ span_dynamic_ = new Audio_span_dynamic (equalize_volume (0.1), equalize_volume (1.0));
announce_element (Audio_element_info (span_dynamic_, span_events_[START]));
span_dynamic_->grow_dir_ = grow_dir_[START];
public:
Direction grow_dir_;
vector<Audio_dynamic *> dynamics_;
+ Real min_volume_;
+ Real max_volume_;
virtual void render ();
void add_absolute (Audio_dynamic *);
- Audio_span_dynamic ();
+ Audio_span_dynamic (Real min_volume, Real max_volume);
};
class Audio_key : public Audio_item