From 18f863bcd7e68ba18d3e9ce7a1899a4245f364de Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 13 Jan 2025 22:01:31 +0100 Subject: audio loopback with opus encoder --- client/src/state.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'client/src/state.rs') diff --git a/client/src/state.rs b/client/src/state.rs index a658f51..c3d8eb1 100644 --- a/client/src/state.rs +++ b/client/src/state.rs @@ -14,7 +14,9 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ -use crate::{camera::Camera, download::Downloader, network::Network, renderer::Renderer}; +use crate::{ + audio::Audio, camera::Camera, download::Downloader, network::Network, renderer::Renderer, +}; use anyhow::{Context, Result}; use glam::{Vec2, Vec3}; use log::{info, warn}; @@ -34,6 +36,7 @@ pub struct State<'a> { pub tree: SceneTree, pub camera: Camera, pub input_state: InputState, + pub audio: Audio, pub prefab_index: Arc, pub prefab_index_res_loaded: Option>, @@ -54,6 +57,7 @@ impl<'a> State<'a> { info!("new state"); let downloader = Arc::new(Downloader::new(ResourceStore::new_env()?)); Ok(Self { + audio: Audio::new()?, camera: Camera::new(), network: Network::new(conn).into(), tree: SceneTree::default(), @@ -133,6 +137,8 @@ impl<'a> State<'a> { let dt = (now - self.input_state.time).as_secs_f32(); self.input_state.time = now; + self.audio.update(); + self.camera .update(self.input_state.move_dir, self.input_state.mouse_acc, dt); self.input_state.mouse_acc = Vec2::ZERO; -- cgit v1.2.3-70-g09d2