Feat: mixed bag

This commit is contained in:
2026-02-25 20:31:36 +01:00
parent a6ff19bb08
commit 0119988d7c
25 changed files with 246 additions and 10 deletions

View File

@@ -20,6 +20,7 @@ pub enum PatternField {
pub enum PatternPropsField {
#[default]
Name,
Description,
Length,
Speed,
Quantization,
@@ -32,7 +33,8 @@ pub enum PatternPropsField {
impl PatternPropsField {
pub fn next(&self, follow_up_is_chain: bool) -> Self {
match self {
Self::Name => Self::Length,
Self::Name => Self::Description,
Self::Description => Self::Length,
Self::Length => Self::Speed,
Self::Speed => Self::Quantization,
Self::Quantization => Self::SyncMode,
@@ -47,7 +49,8 @@ impl PatternPropsField {
pub fn prev(&self, follow_up_is_chain: bool) -> Self {
match self {
Self::Name => Self::Name,
Self::Length => Self::Name,
Self::Description => Self::Name,
Self::Length => Self::Description,
Self::Speed => Self::Length,
Self::Quantization => Self::Speed,
Self::SyncMode => Self::Quantization,

View File

@@ -35,6 +35,7 @@ pub enum RenameTarget {
Bank { bank: usize },
Pattern { bank: usize, pattern: usize },
Step { bank: usize, pattern: usize, step: usize },
DescribePattern { bank: usize, pattern: usize },
}
impl RenameTarget {
@@ -43,6 +44,9 @@ impl RenameTarget {
Self::Bank { bank } => format!("Rename Bank {:02}", bank + 1),
Self::Pattern { bank, pattern } => format!("Rename {}", model::bp_label(*bank, *pattern)),
Self::Step { step, .. } => format!("Name Step {:02}", step + 1),
Self::DescribePattern { bank, pattern } => {
format!("Describe {}", model::bp_label(*bank, *pattern))
}
}
}
}
@@ -73,6 +77,7 @@ pub enum Modal {
pattern: usize,
field: PatternPropsField,
name: String,
description: String,
length: String,
speed: PatternSpeed,
quantization: LaunchQuantization,

View File

@@ -17,6 +17,7 @@ pub enum StagedMuteChange {
pub struct StagedPropChange {
pub name: Option<String>,
pub description: Option<String>,
pub length: Option<usize>,
pub speed: PatternSpeed,
pub quantization: LaunchQuantization,