summaryrefslogtreecommitdiff
path: root/libs/surfaces
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2016-10-28 15:05:40 -0700
committerLen Ovens <len@ovenwerks.net>2016-10-28 15:05:40 -0700
commite6311190921b7b3cb64f3750cdd1035b4afc866f (patch)
treef5cff71476dff69dc7afd26e7e17dc85e4488471 /libs/surfaces
parentd802c982cb36fb03a73e1c88aae56621f94b2ebc (diff)
OSC: simplify int sends too.
Diffstat (limited to 'libs/surfaces')
-rw-r--r--libs/surfaces/osc/osc_global_observer.cc60
-rw-r--r--libs/surfaces/osc/osc_global_observer.h1
2 files changed, 21 insertions, 40 deletions
diff --git a/libs/surfaces/osc/osc_global_observer.cc b/libs/surfaces/osc/osc_global_observer.cc
index 3635a42ce7..b6c2170b1d 100644
--- a/libs/surfaces/osc/osc_global_observer.cc
+++ b/libs/surfaces/osc/osc_global_observer.cc
@@ -225,10 +225,7 @@ OSCGlobalObserver::tick ()
} else if (feedback[8]) {
uint32_t ledlvl = (uint32_t)(((now_meter + 54) / 3.75)-1);
uint32_t ledbits = ~(0xfff<<ledlvl);
- lo_message msg = lo_message_new ();
- lo_message_add_int32 (msg, ledbits);
- lo_send_message (addr, "/master/meter", msg);
- lo_message_free (msg);
+ int_message (X_("/master/meter"), ledbits);
}
}
if (feedback[9]) {
@@ -276,51 +273,23 @@ OSCGlobalObserver::send_trim_message (string path, boost::shared_ptr<Controllabl
void
OSCGlobalObserver::send_transport_state_changed()
{
-
- lo_message msg = lo_message_new ();
- lo_message_add_int32 (msg, session->get_play_loop());
- lo_send_message (addr, "/loop_toggle", msg);
- lo_message_free (msg);
-
- msg = lo_message_new ();
- lo_message_add_int32 (msg, session->transport_speed() == 1.0);
- lo_send_message (addr, "/transport_play", msg);
- lo_message_free (msg);
-
- msg = lo_message_new ();
- lo_message_add_int32 (msg, session->transport_stopped ());
- lo_send_message (addr, "/transport_stop", msg);
- lo_message_free (msg);
-
- msg = lo_message_new ();
- lo_message_add_int32 (msg, session->transport_speed() < 0.0);
- lo_send_message (addr, "/rewind", msg);
- lo_message_free (msg);
-
- msg = lo_message_new ();
- lo_message_add_int32 (msg, (session->transport_speed() != 1.0 && session->transport_speed() > 0.0));
- lo_send_message (addr, "/ffwd", msg);
- lo_message_free (msg);
-
+ int_message (X_("/loop_toggle"), session->get_play_loop());
+ int_message (X_("/transport_play"), session->transport_speed() == 1.0);
+ int_message (X_("/transport_stop"), session->transport_stopped());
+ int_message (X_("/rewind"), session->transport_speed() < 0.0);
+ int_message (X_("/ffwd"), (session->transport_speed() != 1.0 && session->transport_speed() > 0.0));
}
void
OSCGlobalObserver::send_record_state_changed ()
{
- lo_message msg = lo_message_new ();
- lo_message_add_int32 (msg, (int)session->get_record_enabled ());
- lo_send_message (addr, "/rec_enable_toggle", msg);
- lo_message_free (msg);
+ int_message (X_("/rec_enable_toggle"), (int)session->get_record_enabled ());
- msg = lo_message_new ();
if (session->have_rec_enabled_track ()) {
- lo_message_add_int32 (msg, 1);
+ int_message (X_("/record_tally"), 1);
} else {
- lo_message_add_int32 (msg, 0);
+ int_message (X_("/record_tally"), 0);
}
- lo_send_message (addr, "/record_tally", msg);
- lo_message_free (msg);
-
}
void
@@ -350,3 +319,14 @@ OSCGlobalObserver::float_message (string path, float value)
lo_send_message (addr, path.c_str(), msg);
lo_message_free (msg);
}
+
+void
+OSCGlobalObserver::int_message (string path, uint32_t value)
+{
+ lo_message msg = lo_message_new ();
+
+ lo_message_add_int32 (msg, value);
+
+ lo_send_message (addr, path.c_str(), msg);
+ lo_message_free (msg);
+}
diff --git a/libs/surfaces/osc/osc_global_observer.h b/libs/surfaces/osc/osc_global_observer.h
index 8f0ceb8310..dabb5ba23a 100644
--- a/libs/surfaces/osc/osc_global_observer.h
+++ b/libs/surfaces/osc/osc_global_observer.h
@@ -67,6 +67,7 @@ class OSCGlobalObserver
void solo_active (bool active);
void text_message (std::string path, std::string text);
void float_message (std::string path, float value);
+ void int_message (std::string path, uint32_t value);
};
#endif /* __osc_oscglobalobserver_h__ */