Quaver icon indicating copy to clipboard operation
Quaver copied to clipboard

Add Snap Color Panel to Editor

Open Cuckson opened this issue 3 years ago • 8 comments

What is the purpose/use of this panel?

The way the snap color panel works is by allowing mappers to manually change the color of notes to a set snap color out of the snap colors available, for the purpose of extra representation in a chart, zero hassle.

What I mean by zero hassle, is that currently you are able to pull off this technique using new timing points and a little bit of math, but it can be quite annoying to use and not many people are aware of the plugin BeatSnapColorOverride created by kusa for it.

It is a niche concept used by a handful of active mappers here but will be greatly appreciated by the ones who do.

The Panel is able to be toggled in the View tab of the editor, and by default it will be off, as it is quite an advanced concept to be using as a new mapper.

Overall I think this needs a bit of work mainly on the visuals and i'm willing to make any necessary changes that might be needed to see this implemented.

Here is an example usage of the Panel and how it works: https://user-images.githubusercontent.com/31227094/185970433-509f3d41-25c6-4b93-a43f-bd2eeeffedd6.mp4

Another PR has been opened for the API to add the Color field to the HitObjectInfo, which you can find here

If you have any feedback, suggestions or requested revisions let me know

Cuckson avatar Aug 22 '22 16:08 Cuckson

I think the panel should list the snap values instead of (or alongside) the colors, as different skins could have different colors assigned to different snaps.

Maybe something like: 1/1 (Red) 1/2 (Blue) 1/3 (Purple) 1/4 (Yellow) ...etc

with the colors used in the panel somehow being reconfigurable in the case that the skin uses different colors

~~or maybe use the snap values and color the text of the snap values a representative color~~ i see it already does that on hover

Illuminati-CRAZ avatar Aug 22 '22 19:08 Illuminati-CRAZ

Also having keybinds for this would be nice, the plugin had qwert asdfg bound to n = 1,2,4,8,16, 3,6,12,24,48(?) so that mappers could recolor notes more quickly, although those keybinds conflict with other shortcuts for saving the map and whatnot

Illuminati-CRAZ avatar Aug 22 '22 19:08 Illuminati-CRAZ

@Illuminati-CRAZ if anything those should be keybinds for switching the current snap divisor on those keys as (at least for me) you switch snaps more often than you switch colors, and then add a modifier like alt to change the color of the note

IceDynamix avatar Aug 22 '22 22:08 IceDynamix

imo, instead of having SnapColor be defined across 0-8, I think it should instead just use ints 1,2,3,4,6,8,12,16,(24,32,)48 so that 1/n is just the beat snap, as it's more intuitive to understand

it would also be easier to preserve backwards compatibility with old maps, as notes would default to Color = 0, which wouldn't be in the range of values that would be defined to cause a snap color override

Illuminati-CRAZ avatar Aug 23 '22 20:08 Illuminati-CRAZ

toggling the setting to open color override panel doesn't immediately toggle the panel, rather currently you need to close and reopen the editor for it to show up or disappear

Illuminati-CRAZ avatar Aug 23 '22 20:08 Illuminati-CRAZ

any snap color override currently don't save to the qua file

Illuminati-CRAZ avatar Aug 23 '22 20:08 Illuminati-CRAZ

This feature for now is in a finalized state

image Here is how it looks now (Courtesy of Ice for design/implementation).

Cuckson avatar Aug 24 '22 13:08 Cuckson

Undoing and redoing a bunch of snap color overrides doesn't result in the same map, it seems the last override action doesn't redo properly after being undone.

Illuminati-CRAZ avatar Aug 24 '22 21:08 Illuminati-CRAZ

This branch needs to have Quaver.API updated to commit 042fb5e0f656aa9f2fb471ac90b754aee5d9313b, currently the branch uses a version of Quaver.API without the SnapColor enum

Illuminati-CRAZ avatar Oct 26 '22 18:10 Illuminati-CRAZ