Fix windows not liking linux_lib import when creating dropdown/label for virtual mic

This commit is contained in:
csd4ni3l
2026-02-15 17:36:14 +01:00
parent 0ae204ed0f
commit 815663b039

View File

@@ -4,7 +4,7 @@ use std::{collections::HashMap, fs::File, io::BufReader, path::Path, time::Insta
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use bevy_egui::{EguiContextSettings, EguiContexts, EguiPrimaryContextPass, EguiStartupSet, egui::{self, Context}}; use bevy_egui::{EguiContextSettings, EguiContexts, EguiPrimaryContextPass, EguiStartupSet, egui::{self, Context, Ui}};
use egui::ecolor::Color32; use egui::ecolor::Color32;
@@ -269,17 +269,9 @@ fn play_sound(file_path: String, app_state: &mut AppState) {
app_state.currently_playing.push(playing_sound); app_state.currently_playing.push(playing_sound);
} }
fn main_ui(mut ctx: &Context, mut app_state: ResMut<AppState>) { fn create_virtual_mic_dropdown(ui: &mut Ui, mut app_state: &mut ResMut<AppState>, available_width: f32, available_height: f32) {
egui::SidePanel::right("tools").show(ctx, |ui| { #[cfg(target_os = "linux")] {
ui.heading("Tools");
ui.separator();
let available_width = ui.available_width();
let available_height = ui.available_height();
let outputs = app_state.virt_outputs.clone(); let outputs = app_state.virt_outputs.clone();
ui.label("Virtual Mic Output");
if cfg!(target_os = "linux") {
let output_index = app_state.virt_output_index.clone(); let output_index = app_state.virt_output_index.clone();
let output_sink = linux_lib::get_sink_by_index("source-outputs", output_index); let output_sink = linux_lib::get_sink_by_index("source-outputs", output_index);
if let Some(app_name) = output_sink["properties"]["application.name"].as_str() { if let Some(app_name) = output_sink["properties"]["application.name"].as_str() {
@@ -300,11 +292,24 @@ fn main_ui(mut ctx: &Context, mut app_state: ResMut<AppState>) {
else { else {
ui.add(egui::Button::new("No apps found to use.".to_string())); ui.add(egui::Button::new("No apps found to use.".to_string()));
} }
return;
} }
else {
ui.add(egui::Button::new("Unsupported. Select inside apps.".to_string())); ui.add(egui::Button::new("Unsupported. Select inside apps.".to_string()));
} }
fn main_ui(mut ctx: &Context, mut app_state: ResMut<AppState>) {
egui::SidePanel::right("tools").show(ctx, |ui| {
ui.heading("Tools");
ui.separator();
let available_width = ui.available_width();
let available_height = ui.available_height();
ui.label("Virtual Mic Output");
create_virtual_mic_dropdown(ui, &mut app_state, available_width, available_height);
if ui if ui
.add_sized( .add_sized(
[available_width, available_height / 15.0], [available_width, available_height / 15.0],