Add OVR Toolkit OSC Parameters (#219)
* Add OVR Toolkit OSC Parameters see: https://wiki.ovrtoolkit.co.uk/#/OSC?id=osc-integration * max battery is probably 1.0 * cargo fmt & apply suggestion * forgor rust is snake_case & 1f32
This commit is contained in:
@@ -85,10 +85,20 @@ impl OscSender {
|
||||
"/avatar/parameters/isOverlayOpen".into(),
|
||||
vec![OscType::Bool(num_overlays > 0)],
|
||||
)?;
|
||||
self.send_message(
|
||||
"/avatar/parameters/ToggleWindows".into(),
|
||||
vec![OscType::Bool(num_overlays > 0)],
|
||||
)?;
|
||||
|
||||
self.send_message(
|
||||
"/avatar/parameters/isKeyboardOpen".into(),
|
||||
vec![OscType::Bool(has_keyboard)],
|
||||
)?;
|
||||
self.send_message(
|
||||
"/avatar/parameters/ToggleKeyboard".into(),
|
||||
vec![OscType::Bool(has_keyboard)],
|
||||
)?;
|
||||
|
||||
self.send_message(
|
||||
"/avatar/parameters/isWristVisible".into(),
|
||||
vec![OscType::Bool(has_wrist)],
|
||||
@@ -108,6 +118,8 @@ impl OscSender {
|
||||
let mut tracker_total_bat = 0.0;
|
||||
let mut controller_total_bat = 0.0;
|
||||
|
||||
let mut lowest_battery = 1f32;
|
||||
|
||||
for device in devices {
|
||||
let tracker_param;
|
||||
|
||||
@@ -144,6 +156,8 @@ impl OscSender {
|
||||
}
|
||||
};
|
||||
|
||||
lowest_battery = lowest_battery.min(level);
|
||||
|
||||
// send device battery parameters
|
||||
self.send_message(
|
||||
format!("/avatar/parameters/{parameter}Battery"),
|
||||
@@ -166,6 +180,10 @@ impl OscSender {
|
||||
String::from("/avatar/parameters/averageTrackerBattery"),
|
||||
vec![OscType::Float(tracker_total_bat / f32::from(tracker_count))],
|
||||
)?;
|
||||
self.send_message(
|
||||
String::from("/avatar/parameters/LowestBattery"),
|
||||
vec![OscType::Float(lowest_battery)],
|
||||
)?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user