137 lines
2.4 KiB
Rust
137 lines
2.4 KiB
Rust
use std::path::PathBuf;
|
|
|
|
use crate::engine::PatternChange;
|
|
use crate::model::PatternSpeed;
|
|
use crate::state::{FlashKind, Modal, PatternField};
|
|
|
|
#[allow(dead_code)]
|
|
pub enum AppCommand {
|
|
// Playback
|
|
TogglePlaying,
|
|
TempoUp,
|
|
TempoDown,
|
|
|
|
// Navigation
|
|
NextStep,
|
|
PrevStep,
|
|
StepUp,
|
|
StepDown,
|
|
ToggleFocus,
|
|
SelectEditBank(usize),
|
|
SelectEditPattern(usize),
|
|
|
|
// Pattern editing
|
|
ToggleStep,
|
|
LengthIncrease,
|
|
LengthDecrease,
|
|
SpeedIncrease,
|
|
SpeedDecrease,
|
|
SetLength {
|
|
bank: usize,
|
|
pattern: usize,
|
|
length: usize,
|
|
},
|
|
SetSpeed {
|
|
bank: usize,
|
|
pattern: usize,
|
|
speed: PatternSpeed,
|
|
},
|
|
|
|
// Script editing
|
|
SaveEditorToStep,
|
|
CompileCurrentStep,
|
|
CompileAllSteps,
|
|
DeleteStep {
|
|
bank: usize,
|
|
pattern: usize,
|
|
step: usize,
|
|
},
|
|
ResetPattern {
|
|
bank: usize,
|
|
pattern: usize,
|
|
},
|
|
ResetBank {
|
|
bank: usize,
|
|
},
|
|
CopyPattern {
|
|
bank: usize,
|
|
pattern: usize,
|
|
},
|
|
PastePattern {
|
|
bank: usize,
|
|
pattern: usize,
|
|
},
|
|
CopyBank {
|
|
bank: usize,
|
|
},
|
|
PasteBank {
|
|
bank: usize,
|
|
},
|
|
|
|
// Clipboard
|
|
CopyStep,
|
|
PasteStep,
|
|
LinkPasteStep,
|
|
HardenStep,
|
|
|
|
// Pattern playback
|
|
QueuePatternChange(PatternChange),
|
|
TogglePatternPlayback {
|
|
bank: usize,
|
|
pattern: usize,
|
|
},
|
|
|
|
// Project
|
|
RenameBank {
|
|
bank: usize,
|
|
name: Option<String>,
|
|
},
|
|
RenamePattern {
|
|
bank: usize,
|
|
pattern: usize,
|
|
name: Option<String>,
|
|
},
|
|
Save(PathBuf),
|
|
Load(PathBuf),
|
|
|
|
// UI
|
|
SetStatus(String),
|
|
ClearStatus,
|
|
Flash {
|
|
message: String,
|
|
duration_ms: u64,
|
|
kind: FlashKind,
|
|
},
|
|
OpenModal(Modal),
|
|
CloseModal,
|
|
OpenPatternModal(PatternField),
|
|
|
|
// Page navigation
|
|
PageLeft,
|
|
PageRight,
|
|
PageUp,
|
|
PageDown,
|
|
|
|
// Help navigation
|
|
HelpNextTopic,
|
|
HelpPrevTopic,
|
|
HelpScrollDown(usize),
|
|
HelpScrollUp(usize),
|
|
|
|
// Dictionary navigation
|
|
DictToggleFocus,
|
|
DictNextCategory,
|
|
DictPrevCategory,
|
|
DictScrollDown(usize),
|
|
DictScrollUp(usize),
|
|
|
|
// Patterns view
|
|
PatternsCursorLeft,
|
|
PatternsCursorRight,
|
|
PatternsCursorUp,
|
|
PatternsCursorDown,
|
|
PatternsEnter,
|
|
PatternsBack,
|
|
PatternsTogglePlay,
|
|
}
|