osc for openvr; configurable osc port

This commit is contained in:
galister
2024-02-05 23:33:27 +01:00
parent c262d78b04
commit 754241f6bd
3 changed files with 16 additions and 1 deletions

View File

@@ -21,6 +21,7 @@ use crate::{
backend::{ backend::{
input::interact, input::interact,
openvr::{input::OpenVrInputSource, lines::LinePool, manifest::install_manifest}, openvr::{input::OpenVrInputSource, lines::LinePool, manifest::install_manifest},
osc::OscSender,
}, },
graphics::WlxGraphics, graphics::WlxGraphics,
state::AppState, state::AppState,
@@ -87,6 +88,8 @@ pub fn openvr_run(running: Arc<AtomicBool>) -> Result<(), BackendError> {
let mut overlays = OverlayContainer::<OpenVrOverlayData>::new(&mut state); let mut overlays = OverlayContainer::<OpenVrOverlayData>::new(&mut state);
let mut space_mover = playspace::PlayspaceMover::new(); let mut space_mover = playspace::PlayspaceMover::new();
#[cfg(feature = "osc")]
let mut osc_sender = OscSender::new(state.session.config.osc_out_port).ok();
state.hid_provider.set_desktop_extent(overlays.extent); state.hid_provider.set_desktop_extent(overlays.extent);
@@ -201,6 +204,11 @@ pub fn openvr_run(running: Arc<AtomicBool>) -> Result<(), BackendError> {
.iter_mut() .iter_mut()
.for_each(|o| o.after_input(&mut overlay_mngr, &mut state)); .for_each(|o| o.after_input(&mut overlay_mngr, &mut state));
#[cfg(feature = "osc")]
if let Some(ref mut sender) = osc_sender {
let _ = sender.send_params(&overlays);
};
log::debug!("Rendering frame"); log::debug!("Rendering frame");
overlays overlays

View File

@@ -63,7 +63,7 @@ pub fn openxr_run(running: Arc<AtomicBool>) -> Result<(), BackendError> {
let mut lines = LinePool::new(app_state.graphics.clone()); let mut lines = LinePool::new(app_state.graphics.clone());
#[cfg(feature = "osc")] #[cfg(feature = "osc")]
let mut osc_sender = OscSender::new(9000).ok(); let mut osc_sender = OscSender::new(app_state.session.config.osc_out_port).ok();
app_state.hid_provider.set_desktop_extent(overlays.extent); app_state.hid_provider.set_desktop_extent(overlays.extent);

View File

@@ -23,6 +23,10 @@ fn def_one() -> f32 {
1.0 1.0
} }
fn def_osc_port() -> u16 {
9000
}
#[derive(Deserialize, Serialize)] #[derive(Deserialize, Serialize)]
pub struct GeneralConfig { pub struct GeneralConfig {
#[serde(default = "def_click_freeze_time_ms")] #[serde(default = "def_click_freeze_time_ms")]
@@ -42,6 +46,9 @@ pub struct GeneralConfig {
#[serde(default = "def_pw_tokens")] #[serde(default = "def_pw_tokens")]
pub pw_tokens: Vec<(String, String)>, pub pw_tokens: Vec<(String, String)>,
#[serde(default = "def_osc_port")]
pub osc_out_port: u16,
} }
impl GeneralConfig { impl GeneralConfig {