, Evoral::SMF<double> ()
, _flags (Flag(flags | Writable)) // FIXME: this needs to be writable for now
, _allow_remove_if_empty(true)
+ , _last_ev_time(0)
{
/* constructor used for new internal-to-session files. file cannot exist */
throw failed_constructor ();
}
- if (open(path)) {
+ if (create(path)) {
throw failed_constructor ();
}
: MidiSource (s, node)
, _flags (Flag (Writable|CanRename))
, _allow_remove_if_empty(true)
+ , _last_ev_time(0)
{
/* constructor used for existing internal-to-session files. file must exist */
}
if (_model) {
- make_sure_controls_have_the_right_interpolation();
+ set_default_controls_interpolation();
}
Evoral::SMF<double>::flush();
}
Evoral::SMF<double>::append_event_delta(delta_time, ev);
+ _last_ev_time = ev.time();
_write_data_count += ev.size();
}
{
MidiSource::mark_streaming_midi_write_started (mode, start_frame);
Evoral::SMF<double>::begin_write ();
+ _last_ev_time = 0;
}
void
}
}
- make_sure_controls_have_the_right_interpolation();
+ set_default_controls_interpolation();
_model->end_write(false);
_model->set_edited(false);
#define LINEAR_INTERPOLATION_MODE_WORKS_PROPERLY 0
void
-SMFSource::make_sure_controls_have_the_right_interpolation()
+SMFSource::set_default_controls_interpolation()
{
// set interpolation style to defaults, can be changed by the GUI later
Evoral::ControlSet::Controls controls = _model->controls();