mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
26 lines
677 B
Rust
26 lines
677 B
Rust
use crate::*;
|
|
/// Display mode of arranger
|
|
#[derive(Clone, PartialEq)]
|
|
pub enum ArrangerMode {
|
|
/// Tracks are columns
|
|
V(usize),
|
|
/// Tracks are rows
|
|
H,
|
|
}
|
|
impl<E: Engine> Content<E> for ArrangerMode {}
|
|
/// Arranger display mode can be cycled
|
|
impl ArrangerMode {
|
|
/// Cycle arranger display mode
|
|
pub fn next (&mut self) {
|
|
*self = match self {
|
|
Self::H => Self::V(1),
|
|
Self::V(1) => Self::V(2),
|
|
Self::V(2) => Self::V(2),
|
|
Self::V(0) => Self::H,
|
|
Self::V(_) => Self::V(0),
|
|
}
|
|
}
|
|
}
|
|
fn any_size <E: Engine> (_: E::Size) -> Perhaps<E::Size>{
|
|
Ok(Some([0.into(),0.into()].into()))
|
|
}
|