diff --git a/src/App.vue b/src/App.vue index 5530fbab..1d49371a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -72,10 +72,13 @@ function sendNoteOn(frequency: number, rawAttack: number) { } function midiNoteOn(index: number, rawAttack?: number, channel?: number) { - // in multichannel-to-equave mode calculate an offset based on the incoming channel if (midi.multichannelToEquave && channel !== undefined) { - let offset = mmod(channel - midi.multichannelCenter + midi.multichannelEquavesDown, midi.multichannelNumEquaves) - midi.multichannelEquavesDown + let offset = + mmod( + channel - midi.multichannelCenter + midi.multichannelEquavesDown, + midi.multichannelNumEquaves + ) - midi.multichannelEquavesDown offset = offset * scale.scale.size index = index + offset } diff --git a/src/stores/midi.ts b/src/stores/midi.ts index 1eadb984..f622cdca 100644 --- a/src/stores/midi.ts +++ b/src/stores/midi.ts @@ -20,7 +20,7 @@ export const useMidiStore = defineStore('midi', () => { // State input, output, - outputChannels, + outputChannels, multichannelToEquave, multichannelCenter, multichannelNumEquaves, diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue index 8280a798..c0cebea5 100644 --- a/src/views/AboutView.vue +++ b/src/views/AboutView.vue @@ -52,7 +52,7 @@ const tagline = computed(() => TAGLINES[Math.floor(Math.random() * TAGLINES.leng Forrest Cahoon - developer
Videco - developer
Inthar - developer
- Marc Sabat - composer / developer
+ Marc Sabat - developer / notation-hardware advisor
Kraig Grady - lattice advisor
Abnormality - quality assurance
Kite Giedraitis - notation advisor
diff --git a/src/views/MidiView.vue b/src/views/MidiView.vue index 20548bde..731712df 100644 --- a/src/views/MidiView.vue +++ b/src/views/MidiView.vue @@ -178,7 +178,7 @@ onUnmounted(() => { /> -
+
@@ -189,12 +189,42 @@ onUnmounted(() => {
-
- Center channel +
+ + Center channel + - Total equaves + + Total equaves + - Equaves down + + Equaves down +
@@ -303,12 +333,12 @@ div.channels-wrapper span { text-align: center; } -div.checkbox-group-scoped { +div.checkbox-group { flex-flow: unset; gap: 0.15rem 1rem; } -div.multichannel-input-scoped { +div.multichannel-input { gap: 0.15rem 1rem; }