summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-09-14 23:07:07 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2017-09-18 11:40:54 -0400
commitf9f32cb5becef2d8b645e6de8654deaefcd7fa97 (patch)
tree72754e76e0a8a8803a39e2c4937d6621c7a83a6d
parent9bc8b32b8eaf8304d0c51c3340e15345b7300988 (diff)
added TempoMap::Changed signal
-rw-r--r--nutemp/t.cc5
-rw-r--r--nutemp/t.h4
2 files changed, 9 insertions, 0 deletions
diff --git a/nutemp/t.cc b/nutemp/t.cc
index c8336ccde8..b39fb4f3da 100644
--- a/nutemp/t.cc
+++ b/nutemp/t.cc
@@ -498,6 +498,7 @@ TempoMap::rebuild (superclock_t limit)
*/
bool hit_dirty = false;
+ superclock_t first_dirty = 0;
for (tmp = _points.begin(); tmp != _points.end(); ) {
@@ -507,6 +508,7 @@ TempoMap::rebuild (superclock_t limit)
continue;
}
hit_dirty = true;
+ first_dirty = tmp->sclock();
}
TempoMapPoints::iterator next = tmp;
@@ -567,6 +569,9 @@ TempoMap::rebuild (superclock_t limit)
prev = tmp;
tmp = next;
}
+
+ Changed (first_dirty, _points.back().sclock()); /* EMIT SIGNAL */
+ cerr << "Rebuilt " << first_dirty << " .. " << _points.back().sclock() << endl;
}
bool
diff --git a/nutemp/t.h b/nutemp/t.h
index be54c136ba..b734dcead8 100644
--- a/nutemp/t.h
+++ b/nutemp/t.h
@@ -9,6 +9,8 @@
#include <glibmm/threads.h>
+#include "pbd/signals.h"
+
#include "evoral/Beats.hpp"
#include "ardour/ardour.h"
@@ -361,6 +363,8 @@ class LIBARDOUR_API TempoMap
void dump (std::ostream&);
void rebuild (superclock_t limit);
+ PBD::Signal2<void,superclock_t,superclock_t> Changed;
+
private:
TempoMapPoints _points;
framecnt_t _sample_rate;