* MIDI control lanes: Set Interpolationtype according to Parameter
[ardour.git] / libs / evoral / src / Sequence.cpp
index 3980f46ae2ebe4053ff7fba348b3a538202ed600..6a860ac83324dfc5038b2380c616d6748db41629 100644 (file)
 #include <algorithm>
 #include <stdexcept>
 #include <stdint.h>
-#include <evoral/Sequence.hpp>
-#include <evoral/ControlList.hpp>
-#include <evoral/Control.hpp>
-#include <evoral/ControlSet.hpp>
-#include <evoral/EventSink.hpp>
-#include <evoral/MIDIParameters.hpp>
-#include <evoral/TypeMap.hpp>
+#include "evoral/Sequence.hpp"
+#include "evoral/ControlList.hpp"
+#include "evoral/Control.hpp"
+#include "evoral/ControlSet.hpp"
+#include "evoral/EventSink.hpp"
+#include "evoral/MIDIParameters.hpp"
+#include "evoral/TypeMap.hpp"
 
 using namespace std;
 
@@ -342,7 +342,7 @@ Sequence::read(EventSink& dst, timestamp_t start, timedur_t nframes, timestamp_t
                debugout << "Using cached iterator at " << _next_read << endl;
        }
 
-       _next_read = (nframes_t) floor (start + nframes);
+       _next_read = (FrameTime) floor (start + nframes);
 
        while (_read_iter != end() && _read_iter->time() < start + nframes) {
                assert(_read_iter->size() > 0);
@@ -630,7 +630,8 @@ Sequence::append_control_unlocked(const Parameter& param, EventTime time, double
 {
        debugout << this << " " << _type_map.to_symbol(param) << " @ " << time << " \t= \t" << value
                        << " # controls: " << _controls.size() << endl;
-       control(param, true)->list()->rt_add(time, value);
+       boost::shared_ptr<Control> c = control(param, true);
+       c->list()->rt_add(time, value);
 }