diff options
author | Luciano Iam <lucianito@gmail.com> | 2020-04-18 12:39:18 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2020-04-20 22:59:15 +0200 |
commit | 0e664b1556b8f446cb950acbe59621bb591603c2 (patch) | |
tree | 18697c54123c864f8e247167c6865ba204a03ebb /libs/surfaces/websockets/feedback.cc | |
parent | 656cd9c8a735e4c2bceae5ad5094ca2cea302539 (diff) |
WebSockets: add transport roll support to surface
Diffstat (limited to 'libs/surfaces/websockets/feedback.cc')
-rw-r--r-- | libs/surfaces/websockets/feedback.cc | 23 |
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 |