tek/src/main.rs

46 lines
1.4 KiB
Rust

extern crate clap;
extern crate jack;
extern crate crossterm;
use clap::{Parser};
use std::error::Error;
pub mod cli;
pub mod device;
pub mod prelude;
pub mod draw;
pub mod config;
pub mod layout;
pub mod time;
use crate::device::*;
use crate::layout::*;
fn main () -> Result<(), Box<dyn Error>> {
let _cli = cli::Cli::parse();
let xdg = microxdg::XdgApp::new("dawdle")?;
crate::config::create_dirs(&xdg)?;
//crate::device::run(Sequencer::new("Rhythm#000")?)
const transport = Transport::new("Transport")?;
const timebase = transport.timebase.clone();
crate::device::run(Rows::new(true, vec![
Box::new(transport),
Box::new(Columns::new(true, vec![
Box::new(Sequencer::new("Melody#000", &timebase)?),
Box::new(Sequencer::new("Melody#001", &timebase)?),
Box::new(Sequencer::new("Rhythm#000", &timebase)?),
])),
//Box::new(Columns::new(false, vec![
//Box::new(Chain::new("Chain#00", vec![
//Box::new(Sequencer::new("Rhythm#000")?),
//Box::new(Sampler::new("Sampler#00")?),
//])?),
//Box::new(Chain::new("Chain#01", vec![
//Box::new(Sequencer::new("Melody#000")?),
//Box::new(Plugin::new("Plugin#000")?),
//])?),
//])),
//Box::new(Mixer::new("Mixer#000")?),
//Box::new(Sequencer::new("Rhythm#000")?),
]))
}