diff --git a/vrcosc-magicchatbox/Classes/Modules/PulsoidModule.cs b/vrcosc-magicchatbox/Classes/Modules/PulsoidModule.cs index fb9786e..c2cec96 100644 --- a/vrcosc-magicchatbox/Classes/Modules/PulsoidModule.cs +++ b/vrcosc-magicchatbox/Classes/Modules/PulsoidModule.cs @@ -40,6 +40,9 @@ public partial class PulsoidModuleSettings : ObservableObject [ObservableProperty] private bool enableHeartRateOfflineCheck = true; + [ObservableProperty] + private bool disableLegacySupport = false; + [ObservableProperty] private int unchangedHeartRateTimeoutInSec = 30; @@ -911,14 +914,12 @@ private void HandleHeartRateMessage(string message) SendHRToOSC(true); } } - - // Send OSC parameters method private void SendHRToOSC(bool isHRBeat) { - if (!ViewModel.Instance.IntgrHeartRate_OSC) return; // Only send if enabled + if (!ViewModel.Instance.IntgrHeartRate_OSC) return; - bool isHRConnected = ViewModel.Instance.PulsoidAuthConnected; // Authenticated and token valid - bool isHRActive = PulsoidDeviceOnline; // Device considered online + bool isHRConnected = ViewModel.Instance.PulsoidAuthConnected; + bool isHRActive = PulsoidDeviceOnline; int hrValueForOSC = GetOSCHeartRate(); if (hrValueForOSC <= 0) return; @@ -935,6 +936,17 @@ private void SendHRToOSC(bool isHRBeat) OSCSender.SendOscParam("/avatar/parameters/HRPercent", hrPercent); OSCSender.SendOscParam("/avatar/parameters/FullHRPercent", fullHRPercent); OSCSender.SendOscParam("/avatar/parameters/HR", hrValueForOSC); + + if (!Settings.DisableLegacySupport) + { + int ones = hrValueForOSC % 10; + int tens = (hrValueForOSC / 10) % 10; + int hundreds = hrValueForOSC / 100; + + OSCSender.SendOscParam("/avatar/parameters/onesHR", ones); + OSCSender.SendOscParam("/avatar/parameters/tensHR", tens); + OSCSender.SendOscParam("/avatar/parameters/hundredsHR", hundreds); + } } } diff --git a/vrcosc-magicchatbox/MainWindow.xaml b/vrcosc-magicchatbox/MainWindow.xaml index e479211..8c1af52 100644 --- a/vrcosc-magicchatbox/MainWindow.xaml +++ b/vrcosc-magicchatbox/MainWindow.xaml @@ -2447,6 +2447,27 @@ + + + + disable legacy OSC support (improved performance) + + +