From 78afaf9693ad630fd671379b9c58a24665277e9f Mon Sep 17 00:00:00 2001 From: unspeaker Date: Wed, 10 Jul 2024 13:47:14 +0300 Subject: [PATCH] cleanup main --- src/main.rs | 35 ++++++----------------------------- src/view/layout.rs | 2 ++ 2 files changed, 8 insertions(+), 29 deletions(-) diff --git a/src/main.rs b/src/main.rs index 54ae1bc2..1d17dd12 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,45 +1,22 @@ +//#[global_allocator] +//static A: rlsf::SmallGlobalTlsf = rlsf::SmallGlobalTlsf::new(); //#![feature(fn_traits)] //#![feature(unboxed_closures)] #![allow(macro_expanded_macro_exports_accessed_by_absolute_paths)] -//#[global_allocator] -//static A: rlsf::SmallGlobalTlsf = rlsf::SmallGlobalTlsf::new(); - extern crate clap; extern crate jack as _jack; extern crate crossterm; -mod cli; -mod config; -mod control; -mod core; -mod model; -mod view; -mod jack; -mod edn; +mod core; crate::core::submod! { cli config control model view jack edn } use crate::{core::*, model::*}; /// Application entrypoint. pub fn main () -> Usually<()> { - let mut app = App::new()?; - app - .connect_to_midi_ins(&["nanoKEY Studio.*capture.*"])? + let mut init = App::new()?; + init.connect_to_midi_ins(&["nanoKEY Studio.*capture.*"])? .connect_to_audio_outs(&["Komplete.+:playback_FL", "Komplete.+:playback_FR"])? .load_edn(include_str!("../demos/project.edn"))?; - run(app.activate()?); - // Start main loop - //App::new()?.run(Some(|app: Arc>|{ - //let mut state = app.write().unwrap(); - //// Start JACK and setup device graph - //let jack = jack_run("tek", &app)?; - //let client = jack.as_client(); - //state.transport = Some(client.transport()); - //state.midi_in = Some(client.register_port("midi-in", MidiIn)?); - //state.jack = Some(jack); - //// Load project - //state.load_edn(include_str!("../demos/project.edn"))?; - //Ok(()) - //})) - Ok(()) + init.activate().map(|app|run(app)).map(|_|()) } diff --git a/src/view/layout.rs b/src/view/layout.rs index 17f3cb85..3981268d 100644 --- a/src/view/layout.rs +++ b/src/view/layout.rs @@ -1,3 +1,5 @@ +//#![feature(fn_traits)] +//#![feature(unboxed_closures)] use crate::core::*; pub trait Modal: Device {