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