panic if shell desired as not impl

This commit is contained in:
Bel LaPointe
2026-03-13 11:34:10 -06:00
parent 36c047caf7
commit de5717a61a
7 changed files with 121 additions and 74 deletions

View File

@@ -20,27 +20,31 @@ impl Tone {
let mut result = match captures.name("letter") {
Some(letter) => Tone::char_to_middle_i32(letter.as_str()),
None => match captures.name("major") {
Some(major) => Tone::char_to_middle_i32(&major.as_str()[..1]) + match &major.as_str()[2..] {
"0" => 0,
"1" => 2,
"2" => 4,
"3" => 5,
"4" => 7,
"5" => 9,
_ => 11,
},
Some(major) => {
Tone::char_to_middle_i32(&major.as_str()[..1])
+ match &major.as_str()[2..] {
"0" => 0,
"1" => 2,
"2" => 4,
"3" => 5,
"4" => 7,
"5" => 9,
_ => 11,
}
}
None => {
let minor = captures.name("minor").unwrap();
Tone::char_to_middle_i32(&minor.as_str()[..1]) + match &minor.as_str()[2..] {
"0" => 0,
"1" => 2,
"2" => 3,
"3" => 5,
"4" => 7,
"5" => 8,
_ => 10,
}
},
Tone::char_to_middle_i32(&minor.as_str()[..1])
+ match &minor.as_str()[2..] {
"0" => 0,
"1" => 2,
"2" => 3,
"3" => 5,
"4" => 7,
"5" => 8,
_ => 10,
}
}
},
} as i32;
@@ -85,23 +89,30 @@ impl Tone {
pub fn string(&self) -> String {
let v = self.i32();
let modifier = if v > 0 && v < 57 { "-" } else if v >= 69 { "+" } else { "" };
modifier.to_string() + match v {
45|57|69 => "a",
46|58|70 => "a+",
47|59|71 => "b",
48|60|72 => "c",
49|61|73 => "c+",
50|62|74 => "d",
51|63|75 => "d+",
52|64|76 => "e",
53|65|77 => "f",
54|66|78 => "f+",
55|67|79 => "g",
56|68|80 => "g+",
0 => " ",
_ => "?",
}
let modifier = if v > 0 && v < 57 {
"-"
} else if v >= 69 {
"+"
} else {
""
};
modifier.to_string()
+ match v {
45 | 57 | 69 => "a",
46 | 58 | 70 => "a+",
47 | 59 | 71 => "b",
48 | 60 | 72 => "c",
49 | 61 | 73 => "c+",
50 | 62 | 74 => "d",
51 | 63 | 75 => "d+",
52 | 64 | 76 => "e",
53 | 65 | 77 => "f",
54 | 66 | 78 => "f+",
55 | 67 | 79 => "g",
56 | 68 | 80 => "g+",
0 => " ",
_ => "?",
}
}
}