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::{
input::interact,
openvr::{input::OpenVrInputSource, lines::LinePool, manifest::install_manifest},
osc::OscSender,
},
graphics::WlxGraphics,
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 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);
@@ -201,6 +204,11 @@ pub fn openvr_run(running: Arc<AtomicBool>) -> Result<(), BackendError> {
.iter_mut()
.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");
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());
#[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);

View File

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