summaryrefslogtreecommitdiff
path: root/libs/surfaces/websockets/feedback.cc
diff options
context:
space:
mode:
authorLuciano Iam <lucianito@gmail.com>2020-04-18 12:39:18 +0200
committerRobin Gareus <robin@gareus.org>2020-04-20 22:59:15 +0200
commit0e664b1556b8f446cb950acbe59621bb591603c2 (patch)
tree18697c54123c864f8e247167c6865ba204a03ebb /libs/surfaces/websockets/feedback.cc
parent656cd9c8a735e4c2bceae5ad5094ca2cea302539 (diff)
WebSockets: add transport roll support to surface
Diffstat (limited to 'libs/surfaces/websockets/feedback.cc')
-rw-r--r--libs/surfaces/websockets/feedback.cc23
1 files changed, 21 insertions, 2 deletions
diff --git a/libs/surfaces/websockets/feedback.cc b/libs/surfaces/websockets/feedback.cc
index 6e956f8f61..d08238c989 100644
--- a/libs/surfaces/websockets/feedback.cc
+++ b/libs/surfaces/websockets/feedback.cc
@@ -29,6 +29,20 @@
using namespace ARDOUR;
+struct TransportObserver {
+ void operator() (ArdourFeedback* p)
+ {
+ p->update_all (Node::transport_roll, p->globals ().transport_roll ());
+ }
+};
+
+struct RecordStateObserver {
+ void operator() (ArdourFeedback* p)
+ {
+ // TO DO
+ }
+};
+
struct TempoObserver {
void operator() (ArdourFeedback* p)
{
@@ -162,8 +176,13 @@ ArdourFeedback::poll () const
void
ArdourFeedback::observe_globals ()
{
- session ().tempo_map ().PropertyChanged.connect (_signal_connections, MISSING_INVALIDATOR,
- boost::bind<void> (TempoObserver (), this), event_loop ());
+ ARDOUR::Session& sess = session ();
+ sess.TransportStateChange.connect (_signal_connections, MISSING_INVALIDATOR,
+ boost::bind<void> (TransportObserver (), this), event_loop ());
+ sess.RecordStateChanged.connect (_signal_connections, MISSING_INVALIDATOR,
+ boost::bind<void> (RecordStateObserver (), this), event_loop ());
+ sess.tempo_map ().PropertyChanged.connect (_signal_connections, MISSING_INVALIDATOR,
+ boost::bind<void> (TempoObserver (), this), event_loop ());
}
void