wip3 (33e): ermh...

This commit is contained in:
🪞👃🪞 2024-12-09 17:31:31 +01:00
parent b028dc41a3
commit 1bb0107485
135 changed files with 590 additions and 654 deletions

75
crates/tek/src/lib.rs Normal file
View file

@ -0,0 +1,75 @@
pub(crate) use ratatui;
pub(crate) use jack;
pub(crate) use jack::{
Client, ProcessScope, Control, CycleTimes,
Port, MidiIn, MidiOut, AudioIn, AudioOut, Unowned,
Transport, TransportState, MidiIter, RawMidi
};
pub(crate) use midly;
pub(crate) use midly::{
*, live::LiveEvent, num::u7
};
pub(crate) use clap;
pub(crate) use std::sync::{Arc, Mutex, RwLock};
pub(crate) use std::sync::atomic::{Ordering, AtomicBool, AtomicUsize};
pub(crate) use std::collections::BTreeMap;
pub(crate) use std::marker::PhantomData;
pub(crate) use std::error::Error;
pub(crate) use crossterm::{ExecutableCommand};
pub(crate) use crossterm::terminal::{EnterAlternateScreen, LeaveAlternateScreen, enable_raw_mode, disable_raw_mode};
pub(crate) use crossterm::event::{KeyCode, KeyModifiers, KeyEvent, KeyEventKind, KeyEventState};
pub(crate) use tek_core::midly::{num::u7, MidiMessage};
pub(crate) use std::sync::{Arc, RwLock};
pub(crate) use std::path::PathBuf;
pub(crate) use std::ffi::OsString;
pub(crate) use better_panic::{Settings, Verbosity};
pub(crate) use std::thread::{spawn, JoinHandle};
pub(crate) use std::time::Duration;
pub(crate) use ratatui::prelude::{Style, Color, Buffer};
pub(crate) use ratatui::style::{Stylize, Modifier};
pub(crate) use ratatui::backend::{Backend, CrosstermBackend, ClearType};
pub(crate) use std::io::{Stdout, stdout};
pub(crate) use atomic_float::*;
pub(crate) use palette::{*, convert::*, okhsl::*};
use std::ops::{Add, Sub, Mul, Div, Rem};
use std::cmp::{Ord, Eq, PartialEq};
use std::fmt::{Debug, Display};
/// Standard result type.
pub type Usually<T> = Result<T, Box<dyn Error>>;
/// Standard optional result type.
pub type Perhaps<T> = Result<Option<T>, Box<dyn Error>>;
/// Define and reexport submodules.
#[macro_export] macro_rules! submod {
($($name:ident)*) => { $(mod $name; pub use self::$name::*;)* };
}
/// Define public modules.
#[macro_export] macro_rules! pubmod {
($($name:ident)*) => { $(pub mod $name;)* };
}
/// Define test modules.
#[macro_export] macro_rules! testmod {
($($name:ident)*) => { $(#[cfg(test)] mod $name;)* };
}
submod! {
api
core
layout
tui
}
testmod! {
test
}