mirror of
https://github.com/eliasstepanik/strudel.git
synced 2026-01-13 06:38:29 +00:00
31 lines
1.2 KiB
Rust
31 lines
1.2 KiB
Rust
// Prevents additional console window on Windows in release, DO NOT REMOVE!!
|
|
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
|
|
|
mod midibridge;
|
|
mod oscbridge;
|
|
use tokio::sync::mpsc;
|
|
use tokio::sync::Mutex;
|
|
|
|
fn main() {
|
|
let (async_input_transmitter_midi, async_input_receiver_midi) = mpsc::channel(1);
|
|
let (async_output_transmitter_midi, async_output_receiver_midi) = mpsc::channel(1);
|
|
let (async_input_transmitter_osc, async_input_receiver_osc) = mpsc::channel(1);
|
|
let (async_output_transmitter_osc, async_output_receiver_osc) = mpsc::channel(1);
|
|
tauri::Builder
|
|
::default()
|
|
.manage(midibridge::AsyncInputTransmit {
|
|
inner: Mutex::new(async_input_transmitter_midi),
|
|
})
|
|
.manage(oscbridge::AsyncInputTransmit {
|
|
inner: Mutex::new(async_input_transmitter_osc),
|
|
})
|
|
.invoke_handler(tauri::generate_handler![midibridge::sendmidi, oscbridge::sendosc])
|
|
.setup(|_app| {
|
|
midibridge::init(async_input_receiver_midi, async_output_receiver_midi, async_output_transmitter_midi);
|
|
oscbridge::init(async_input_receiver_osc, async_output_receiver_osc, async_output_transmitter_osc);
|
|
Ok(())
|
|
})
|
|
.run(tauri::generate_context!())
|
|
.expect("error while running tauri application");
|
|
}
|