34 lines
845 B
Rust
34 lines
845 B
Rust
|
|
mod gui;
|
||
|
|
mod nome;
|
||
|
|
mod grid;
|
||
|
|
|
||
|
|
use std::time::Duration;
|
||
|
|
use eframe::{App, Frame};
|
||
|
|
use eframe::egui::Context;
|
||
|
|
use crate::nome::Nome;
|
||
|
|
|
||
|
|
#[tokio::main]
|
||
|
|
async fn main() {
|
||
|
|
let native_options = eframe::NativeOptions::default();
|
||
|
|
eframe::run_native("Fleen", native_options, Box::new(|_cc| {
|
||
|
|
Ok(Box::new(Nome::default()))
|
||
|
|
})).expect("Error running application");
|
||
|
|
}
|
||
|
|
|
||
|
|
impl App for Nome {
|
||
|
|
fn update(&mut self, ctx: &Context, frame: &mut Frame) {
|
||
|
|
let play = self.tick();
|
||
|
|
let cursor = self.ratio();
|
||
|
|
self.menu(&ctx);
|
||
|
|
for g in self.grids.iter_mut() {
|
||
|
|
g.show(ctx, cursor)
|
||
|
|
}
|
||
|
|
|
||
|
|
if play {
|
||
|
|
for (track, row) in self.notes_for_beat() {
|
||
|
|
println!("{}: {}", track, row)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
ctx.request_repaint_after(Duration::from_millis(17))
|
||
|
|
}
|
||
|
|
}
|