#include <boost/pool/pool_alloc.hpp>
#include <glibmm/threads.h>
#include "pbd/signals.h"
+
+#include "evoral/visibility.h"
#include "evoral/types.hpp"
#include "evoral/Range.hpp"
#include "evoral/Parameter.hpp"
/** A single event (time-stamped value) for a control
*/
-class ControlEvent {
+class LIBEVORAL_API ControlEvent {
public:
ControlEvent (double w, double v)
: when (w), value (v), coeff (0)
/** A list (sequence) of time-stamped values for a control
*/
-class ControlList
+class LIBEVORAL_API ControlList
{
public:
typedef std::list<ControlEvent*> EventList;
virtual bool clamp_value (double& /*when*/, double& /*value*/) const { return true; }
- virtual void add (double when, double value);
+ virtual void add (double when, double value, bool with_guards=true);
void fast_simple_add (double when, double value);
void erase_range (double start, double end);