use crate::model::{LaunchQuantization, PatternSpeed, SyncMode}; use crate::state::editor::{PatternField, PatternPropsField}; use crate::state::file_browser::FileBrowserState; #[derive(Clone, PartialEq, Eq)] pub enum Modal { None, ConfirmQuit { selected: bool, }, ConfirmDeleteStep { bank: usize, pattern: usize, step: usize, selected: bool, }, ConfirmResetPattern { bank: usize, pattern: usize, selected: bool, }, ConfirmResetBank { bank: usize, selected: bool, }, FileBrowser(FileBrowserState), RenameBank { bank: usize, name: String, }, RenamePattern { bank: usize, pattern: usize, name: String, }, SetPattern { field: PatternField, input: String, }, SetTempo(String), AddSamplePath(FileBrowserState), Editor, Preview, PatternProps { bank: usize, pattern: usize, field: PatternPropsField, name: String, length: String, speed: PatternSpeed, quantization: LaunchQuantization, sync_mode: SyncMode, }, }