Merge branch 'master' into cairocanvas
[ardour.git] / libs / ardour / ardour / tempo.h
index bedc825288ce6215194917354047fdde06525574..8fa5ed45a0242104f51d9fe78bafee09ae3d687f 100644 (file)
@@ -45,7 +45,7 @@ class Meter;
 class TempoMap;
 
 /** Tempo, the speed at which musical time progresses (BPM). */
-class Tempo {
+class LIBARDOUR_API Tempo {
   public:
        Tempo (double bpm, double type=4.0) // defaulting to quarter note
                : _beats_per_minute (bpm), _note_type(type) {}
@@ -62,7 +62,7 @@ class Tempo {
 };
 
 /** Meter, or time signature (beats per bar, and which note type is a beat). */
-class Meter {
+class LIBARDOUR_API Meter {
   public:
        Meter (double dpb, double bt)
                : _divisions_per_bar (dpb), _note_type (bt) {}
@@ -87,7 +87,7 @@ class Meter {
 };
 
 /** A section of timeline with a certain Tempo or Meter. */
-class MetricSection {
+class LIBARDOUR_API MetricSection {
   public:
        MetricSection (const Timecode::BBT_Time& start)
                : _start (start), _frame (0), _movable (true) {}
@@ -123,7 +123,7 @@ class MetricSection {
 };
 
 /** A section of timeline with a certain Meter. */
-class MeterSection : public MetricSection, public Meter {
+class LIBARDOUR_API MeterSection : public MetricSection, public Meter {
   public:
        MeterSection (const Timecode::BBT_Time& start, double bpb, double note_type)
                : MetricSection (start), Meter (bpb, note_type) {}
@@ -137,7 +137,7 @@ class MeterSection : public MetricSection, public Meter {
 };
 
 /** A section of timeline with a certain Tempo. */
-class TempoSection : public MetricSection, public Tempo {
+class LIBARDOUR_API TempoSection : public MetricSection, public Tempo {
   public:
        TempoSection (const Timecode::BBT_Time& start, double qpm, double note_type)
                : MetricSection (start), Tempo (qpm, note_type), _bar_offset (-1.0)  {}
@@ -170,7 +170,7 @@ typedef std::list<MetricSection*> Metrics;
 /** Helper class to keep track of the Meter *AND* Tempo in effect
     at a given point in time.
 */
-class TempoMetric {
+class LIBARDOUR_API TempoMetric {
   public:
        TempoMetric (const Meter& m, const Tempo& t)
                : _meter (&m), _tempo (&t), _frame (0) {}
@@ -205,7 +205,7 @@ class TempoMetric {
        Timecode::BBT_Time _start;
 };
 
-class TempoMap : public PBD::StatefulDestructible
+class LIBARDOUR_API TempoMap : public PBD::StatefulDestructible
 {
   public:
        TempoMap (framecnt_t frame_rate);