trait Run

This commit is contained in:
🪞👃🪞 2024-07-02 22:25:33 +03:00
parent cc2b59d772
commit 3ae2467acc
11 changed files with 212 additions and 141 deletions

View file

@ -16,6 +16,27 @@ pub mod layout;
use crate::core::*;
use crate::device::*;
mod new {
use crate::core::*;
type Phrase = (String, usize, BTreeMap<usize, Vec<Vec<u8>>>);
type Scene = (String, Option<usize>, Vec<Option<AtomicUsize>>);
type Track = (String, usize);
#[derive(Default)]
struct App {
phrases: BTreeMap<usize, Arc<Mutex<Phrase>>>,
scenes: BTreeMap<usize, Arc<Mutex<Scene>>>,
tracks: BTreeMap<usize, Arc<Mutex<Track>>>,
}
fn main () {
App::default().run()
}
impl App {
fn run (self) {
panic_hook_setup();
}
}
}
macro_rules! sample {
($note:expr, $name:expr, $src:expr) => {
{
@ -35,7 +56,7 @@ macro_rules! sample {
};
}
fn main () -> Result<(), Box<dyn Error>> {
fn main () -> Usually<()> {
let _cli = cli::Cli::parse();
let xdg = microxdg::XdgApp::new("tek")?;
crate::config::create_dirs(&xdg)?;
@ -58,7 +79,7 @@ fn main () -> Result<(), Box<dyn Error>> {
phrase
}}
}
let app = Launcher::new("Launcher#0", &timebase,
Launcher::new("Launcher#0", &timebase,
Some(vec![
Track::new("Drums", &timebase, Some(vec![
@ -191,6 +212,7 @@ fn main () -> Result<(), Box<dyn Error>> {
//Scene::new(&"Scene#05", &[None, None, None, None]),
])
)?.connect(input, &output)?;
run(app)
)?
.connect(input, &output)?
.run()
}