diff options
author | Carl Hetherington <carl@carlh.net> | 2010-07-14 00:58:15 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-07-14 00:58:15 +0000 |
commit | 593b421180290f46f39efcb21ed8192b624bbc73 (patch) | |
tree | f8a81aad5fae8683818103b192d3c53a26110728 /libs/ardour/smf_source.cc | |
parent | b75977920e7cb02ae31bca0379dd3aa4d82f9cbc (diff) |
A few fixes to interpolation of MIDI controller data. Don't interpolate
when writing these data back to a source, otherwise surprising new
interpolated points appear in MIDI automation. Similarly don't interpolate
when reading the model during MIDI stretch. Fix handling of interpolation state;
controllers that have been set by the user to use a different interpolation style
are noted in the <Source> tag of the session file and this state is sprayed around
to MidiModel and the GUI as necessary.
git-svn-id: svn://localhost/ardour2/branches/3.0@7409 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/smf_source.cc')
-rw-r--r-- | libs/ardour/smf_source.cc | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/libs/ardour/smf_source.cc b/libs/ardour/smf_source.cc index fe5a0f7c8f..bbdf958815 100644 --- a/libs/ardour/smf_source.cc +++ b/libs/ardour/smf_source.cc @@ -257,10 +257,6 @@ SMFSource::write_unlocked (MidiRingBuffer<nframes_t>& source, sframes_t position append_event_unlocked_frames(ev, position); } - if (_model) { - set_default_controls_interpolation(); - } - Evoral::SMF::flush(); free(buf); @@ -471,8 +467,6 @@ SMFSource::load_model (bool lock, bool force_reload) _length_beats = max(_length_beats, ev.time()); } - set_default_controls_interpolation(); - _model->end_write(false); _model->set_edited(false); @@ -482,18 +476,6 @@ SMFSource::load_model (bool lock, bool force_reload) } void -SMFSource::set_default_controls_interpolation () -{ - // set interpolation style to defaults, can be changed by the GUI later - Evoral::ControlSet::Controls controls = _model->controls(); - for (Evoral::ControlSet::Controls::iterator c = controls.begin(); c != controls.end(); ++c) { - (*c).second->list()->set_interpolation( - EventTypeMap::instance().interpolation_of((*c).first)); - } -} - - -void SMFSource::destroy_model () { //cerr << _name << " destroying model " << _model.get() << endl; |