diff --git a/src/App.vue b/src/App.vue
index 5186d777..80465f8e 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -120,6 +120,7 @@ const centsFractionDigits = ref(3);
const decimalFractionDigits = ref(5);
const showVirtualQwerty = ref(false);
const midiOctaveOffset = ref(-1);
+const intervalMatrixIndexing = ref(0);
// Special keyboard codes also from local storage.
const deactivationCode = ref("Backquote");
@@ -783,7 +784,11 @@ onMounted(() => {
if ("midiOctaveOffset" in storage) {
midiOctaveOffset.value = parseInt(storage.getItem("midiOctaveOffset")!);
}
-
+ if ("intervalMatrixIndexing" in storage) {
+ intervalMatrixIndexing.value = parseInt(
+ storage.getItem("intervalMatrixIndexing") ?? "0", 10
+ );
+ }
// Fetch special key map
if ("deactivationCode" in storage) {
deactivationCode.value = storage.getItem("deactivationCode")!;
@@ -968,6 +973,9 @@ watch(showVirtualQwerty, (newValue) =>
watch(midiOctaveOffset, (newValue) =>
window.localStorage.setItem("midiOctaveOffset", newValue.toString())
);
+watch(intervalMatrixIndexing, (newValue) =>
+ window.localStorage.setItem("intervalMatrixIndexing", newValue.toString())
+);
// Store keymaps
watch(deactivationCode, (newValue) =>
window.localStorage.setItem("deactivationCode", newValue)
@@ -1069,6 +1077,7 @@ watch(degreeDownCode, (newValue) =>
:keyboardMapping="keyboardMapping"
:showVirtualQwerty="showVirtualQwerty"
:midiOctaveOffset="midiOctaveOffset"
+ :intervalMatrixIndexing="intervalMatrixIndexing"
@update:audioDelay="audioDelay = $event"
@update:mainVolume="mainVolume = $event"
@update:scaleName="scaleName = $event"
@@ -1095,6 +1104,7 @@ watch(degreeDownCode, (newValue) =>
@update:decimalFractionDigits="decimalFractionDigits = $event"
@update:showVirtualQwerty="showVirtualQwerty = $event"
@update:midiOctaveOffset="midiOctaveOffset = $event"
+ @update:intervalMatrixIndexing="intervalMatrixIndexing = $event"
@update:deactivationCode="deactivationCode = $event"
@update:equaveUpCode="equaveUpCode = $event"
@update:equaveDownCode="equaveDownCode = $event"
diff --git a/src/analysis.ts b/src/analysis.ts
index 6f82dfb9..f2129568 100644
--- a/src/analysis.ts
+++ b/src/analysis.ts
@@ -105,10 +105,10 @@ export function utonalFundamental(frequencies: number[], maxDivisor = 23) {
// Interval matrix a.k.a the modes of a scale
export function intervalMatrix(scale: Scale) {
const result = [];
- const degrees = [...Array(scale.size + 1).keys()];
+ const columns = [...Array(scale.size + 1).keys()];
for (let i = 0; i < scale.size; ++i) {
const mode = scale.rotate(i);
- result.push(degrees.map((j) => mode.getInterval(j)));
+ result.push(columns.map((j) => mode.getInterval(j)));
}
return result;
}
diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue
index 9a79254b..53fac6f9 100644
--- a/src/views/AboutView.vue
+++ b/src/views/AboutView.vue
@@ -39,6 +39,7 @@
Lajos Mészáros - developer
Forrest Cahoon - developer
Videco - developer
+ Inthar - developer
Kraig Grady - lattice advisor