xenharmonic-devs / scale-workshop

Design and visualize microtonal scales and play them in your web browser. Export your scales for use with VST instruments. Convert Scala files to various tuning formats.
MIT License
79 stars 11 forks source link

Collaboration to issue #534 #648

Closed wilckerson closed 4 months ago

wilckerson commented 4 months ago

Hello everyone.

I have been using the Scale Workshop since V1 and I would like to congratulate you all for the amazing work and the new features added to each version.

I am a software developer and microtonal enthusiast as well, developing my own tools to explore this new musical world, like: https://microtonal-keyboard.onrender.com https://microtonal-tuner.onrender.com

However, I would like to start collaborating more with the existing tools in the community.

This PR is my contribution to handling the issue #534 that I have been missing for a while.

I have adjusted the code to display the label, ratio, cents, and frequency on the VirtualKeyboardKey considering the light/dark theme and the automatic colors. In a future PR, I am thinking of adding a left panel to the VirtualKeyboard page to allow the user to configure which of those info to display, and other related configurations, like the isomorphic vertical and horizontal values.

image image image

I hope this can be useful because I am excited to collaborate more with the project. Also, it would be awesome if this could be included in the V2 as well.

Thank you.

frostburn commented 4 months ago

Screenshots look great! Will review after breakfast.

I hope this can be useful because I am excited to collaborate more with the project. Also, it would be awesome if this could be included in the V2 as well.

We're now in the beta cycle for version 3, so if you want to backport it to current line of releases on sevish and plainsound, branch off of the two branch and make another PR targetting it: https://github.com/xenharmonic-devs/scale-workshop/tree/two

frostburn commented 4 months ago

If you're interested in further collaboration I recommend joining our discord channel. You should find an invitation link on the About page.

frostburn commented 4 months ago

The labels are sometimes offset by 1. We should pass in scale.colorForIndex as colorMap and scale.labelForIndex as labelMap similar to how the VirtualPiano component works.

frostburn commented 4 months ago

I wonder if there's a CSS trick that's color-aware in order to switch text color based on context. Now it's hard to read the labels on pink notes.

frostburn commented 4 months ago

This behavior should be toggleable using a setting. Makes sense to have it on by default, but the text gets busy on a mobile screen and some people will miss the old look.

frostburn commented 4 months ago

Remember to add your name on the About page if you wish to be credited.

wilckerson commented 4 months ago

Thanks for the feedback. I will address them. 👍

wilckerson commented 4 months ago

@frostburn I have handled your comments, except the one about the colors which I don't have a better solution for now. Also, I have included the setting to display the keyboard notes information (The default value is TRUE). image

frostburn commented 4 months ago

Nice work! Good to go once you remove the unused prop and squash the commits into one.

frostburn commented 4 months ago

Missing a Wilckerson - <i>developer</i> <br /> line on the about page, (unless you don't want to be credited).

wilckerson commented 4 months ago

@frostburn I have squashed my commits. Thanks for this feedback.

frostburn commented 4 months ago

Looking good. I'll review and do a minor squash tweak to the commit message to ref the issue.