Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multichannel-to-equave implemented #649

Merged
merged 4 commits into from
Apr 15, 2024
Merged

multichannel-to-equave implemented #649

merged 4 commits into from
Apr 15, 2024

Conversation

000masa000
Copy link
Contributor

implemented changes suggested by frostburn and recoded over here as a feature branch. Hope I correctly updated to the current commits in main.

@000masa000 000masa000 requested a review from frostburn April 15, 2024 17:30
@@ -288,6 +303,15 @@ div.channels-wrapper span {
text-align: center;
}

div.checkbox-group-scoped {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to name them scoped. Vue does the scoping for you.

@frostburn
Copy link
Member

npm run format please.

</span>
</div>
<label>Settings for multichannel-to-equave mode</label>
<div class="control multichannel-input-scoped">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be better UX if this div was collapsed or at least the inputs disabled when multichannel mode is off.

Copy link
Contributor Author

@000masa000 000masa000 Apr 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how should I implement this? I agree but am not sure how to do it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can do it. Just make an issue and assing it to me so that I don't forget. Same goes with checking all channels when changing modes.

@frostburn
Copy link
Member

I don't think the MIDI color mapping stuff makes sense with multichannel devices that don't have a piano layout. Maybe they should be ignored in multichannel mode.

@@ -52,6 +52,7 @@ const tagline = computed(() => TAGLINES[Math.floor(Math.random() * TAGLINES.leng
Forrest Cahoon - <i>developer</i> <br />
Videco - <i>developer</i> <br />
Inthar - <i>developer</i> <br />
Marc Sabat - <i>composer / developer</i> <br />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically Scale Workshop does not ship with a soundtrack, so maybe notation advisor or hardware specialist instead of composer.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@frostburn
Copy link
Member

Overall seems good. Can't really test the functionality due to lack of hardware.

@000masa000
Copy link
Contributor Author

working with my lumatone

</div>
<label>Settings for multichannel-to-equave mode</label>
<div class="control multichannel-input">
<span>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Semantically spans are for phrasing content. The styling on the input element puts it on a separate line so in terms of code style this should be a div.

type="number"
min="1"
max="16"
value="3"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't use value with v-model.

gap: 0.15rem 1rem;
}

div.multichannel-input {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically multichannel-input-container, but now I'm just splitting hairs.

@frostburn
Copy link
Member

Approved. Feel free to merge after fixing the minor issues.

@@ -4,6 +4,7 @@ import { Input, Output, WebMidi, type NoteMessageEvent, type MessageEvent } from
import MidiPiano from '@/components/MidiPiano.vue'
import { useMidiStore } from '@/stores/midi'
import { useScaleStore } from '@/stores/scale'
import { divNodes } from 'sonic-weave'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused import.

@frostburn
Copy link
Member

When merging. Use the squash option to create a single commit with these changes.

@000masa000 000masa000 merged commit 71f09fe into main Apr 15, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants