Merge branch 'main' of github.com:Bubobubobubobubo/cagire
Some checks failed
Deploy Website / deploy (push) Failing after 4m49s

This commit is contained in:
2026-02-02 19:12:37 +01:00
4 changed files with 10 additions and 2 deletions

View File

@@ -25,6 +25,8 @@ All notable changes to this project will be documented in this file.
### Fixed ### Fixed
- Scope/spectrum ratio asymmetry in Left/Right layout modes. - Scope/spectrum ratio asymmetry in Left/Right layout modes.
- Updated `cpal` dependency from 0.15 to 0.17 to fix type mismatch with `doux` audio backend.
- Copy/paste (Ctrl+C/V/X) not working in desktop version due to egui intercepting clipboard shortcuts.
## [0.0.3] - 2026-02-02 ## [0.0.3] - 2026-02-02

View File

@@ -53,7 +53,7 @@ doux = { git = "https://github.com/sova-org/doux", features = ["native"] }
rusty_link = "0.4" rusty_link = "0.4"
ratatui = "0.30" ratatui = "0.30"
crossterm = "0.29" crossterm = "0.29"
cpal = "0.15" cpal = "0.17"
clap = { version = "4", features = ["derive"] } clap = { version = "4", features = ["derive"] }
rand = "0.8" rand = "0.8"
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }

View File

@@ -257,7 +257,7 @@ pub fn build_stream(
}; };
let default_config = device.default_output_config().map_err(|e| e.to_string())?; let default_config = device.default_output_config().map_err(|e| e.to_string())?;
let sample_rate = default_config.sample_rate().0 as f32; let sample_rate = default_config.sample_rate() as f32;
let buffer_size = if config.buffer_size > 0 { let buffer_size = if config.buffer_size > 0 {
cpal::BufferSize::Fixed(config.buffer_size) cpal::BufferSize::Fixed(config.buffer_size)

View File

@@ -40,6 +40,12 @@ fn convert_event(event: &egui::Event) -> Option<KeyEvent> {
} }
None None
} }
// egui intercepts Ctrl+C/V/X and converts them to these high-level events
// instead of passing through raw Key events (see egui issue #4065).
// Synthesize the equivalent KeyEvent so the application's input handler receives them.
egui::Event::Copy => Some(KeyEvent::new(KeyCode::Char('c'), KeyModifiers::CONTROL)),
egui::Event::Cut => Some(KeyEvent::new(KeyCode::Char('x'), KeyModifiers::CONTROL)),
egui::Event::Paste(_) => Some(KeyEvent::new(KeyCode::Char('v'), KeyModifiers::CONTROL)),
_ => None, _ => None,
} }
} }