osc for openvr; configurable osc port
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user