Skip to content

Commit e5203c4

Browse files
committed
fix lookup table, update nix deps
1 parent 704b6d0 commit e5203c4

File tree

4 files changed

+18
-15
lines changed

4 files changed

+18
-15
lines changed

flake.lock

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
packages.${system}.default = pkgs.rustPlatform.buildRustPackage {
3131
pname = "scoreman";
3232
version = "1.0.0";
33-
cargoHash = "sha256-PeWB4zK2G8DiLxRZSLGJWoNh0PACandjYHhjy2zNG4E=";
33+
cargoHash = "sha256-z/nCYw3ShSZoJDXchue7a1zmprdvCo/g5r3qRrymJeA=";
3434
src = ./.;
3535
};
3636
devShells.${system}.default = pkgs.mkShell {

src/backend/muxml/fretboard.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@ pub fn get_fretboard_note2(string: char, fret: u8) -> Option<MuxmlNote2> {
4646
/// cache line
4747
/// Generated by tools/gen_note_lookup.rs
4848
#[rustfmt::skip]
49-
const STRING_BASE_NOTES: [Option<NonZeroU8>;256] = [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, Some(NonZeroU8::new(45).unwrap()), Some(NonZeroU8::new(49).unwrap()), None, Some(NonZeroU8::new(50).unwrap()), Some(NonZeroU8::new(40).unwrap()), None, Some(NonZeroU8::new(55).unwrap()), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, Some(NonZeroU8::new(62).unwrap()), Some(NonZeroU8::new(64).unwrap()), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None];
49+
const STRING_BASE_NOTES: [Option<NonZeroU8>;256] = unsafe {[None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, Some(NonZeroU8::new(45).unwrap_unchecked()), Some(NonZeroU8::new(59).unwrap_unchecked()), None, Some(NonZeroU8::new(50).unwrap_unchecked()), Some(NonZeroU8::new(40).unwrap_unchecked()), None, Some(NonZeroU8::new(55).unwrap_unchecked()), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, Some(NonZeroU8::new(62).unwrap_unchecked()), Some(NonZeroU8::new(64).unwrap_unchecked()), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]};

tools/gen_note_lookup.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
1+
use std::fmt::Write;
12
use std::num::NonZeroU8;
23
fn main() {
34
let mut lookup = vec![String::from("None"); 256];
45
let mut set_lookup = |c: char, value: u8| {
5-
lookup[c as usize] = format!("Some(NonZeroU8::new({value}).unwrap())");
6+
lookup[c as usize] = format!("Some(NonZeroU8::new({value}).unwrap_unchecked())");
67
};
7-
8+
// octave * 12 + offset in the 12-scale
9+
// (so octave 0, C = 0)
810
set_lookup('E', 3 * 12 + 4);
911
set_lookup('A', 3 * 12 + 9);
1012
set_lookup('D', 4 * 12 + 2);
1113
set_lookup('G', 4 * 12 + 7);
12-
set_lookup('B', 4 * 12 + 1);
14+
set_lookup('B', 4 * 12 + 11);
1315
set_lookup('d', 5 * 12 + 2);
1416
set_lookup('e', 5 * 12 + 4);
17+
1518
let mut b = String::from("[");
1619
for x in &lookup {
1720
b.push_str(&x.to_string());
@@ -21,7 +24,7 @@ fn main() {
2124
b.pop();
2225
b.push(']');
2326
println!(
24-
"#[rustfmt::skip]\nconst STRING_BASE_NOTES: [Option<NonZeroU8>;{}] = {b};",
27+
"#[rustfmt::skip]\nconst STRING_BASE_NOTES: [Option<NonZeroU8>;{}] = unsafe {{{b}}};",
2528
lookup.len()
2629
);
2730
}

0 commit comments

Comments
 (0)