Closed Xinnoh closed 2 years ago
Considering how this is already possible, as you said, isn't that somewhat support already? Unintentional support sure, but support nonetheless. Also, since you mention rare, I seriously doubt it is necessary to officially begin support for something that is not only rare, but already somewhat possible, especially considering that there are more important issues to worry about currently. Perhaps backlog
, if it must be supported?
This is 100% a backlog feature, but it needs to be implemented in the future.
not much to add to what sinnoh said, very well worded and concise but just to elaborate with examples as i do think its important to have
the current implementation for something like this is really broken especially when most of a song is in a regular divisor like 1/4. if you have 1/5 in just one place, you have to artificially raise the bpm by 5/4 or by 5 and then map that one part in 1/5 and then go back to 1/4, even though musically the bpm never changes. for an example: https://osu.ppy.sh/s/693816 at 06:42:715 the bpm is raised by 5/4x to map a small section of quintuplets, even though musically the bpm isnt changing. this is a rather light example but i'm sure you can imagine how things would get more complicated. it's an unnecessary roadblock and results in the song really being timed incorrectly.
as far as implementation, an option to select a "custom beat snap divisor" in the top right, where the beat-snap divisor currently is, so that the regular 1/1, 1/2, 1/4 etc.. aren't affected but custom values are possible. then maybe move/reword the "1/16 should never be used EVER!!!" message to custom divisors.
Given this I would like to express my proposal for even further divisions. What I had in mind is three separate panels like the one that already exists where in order the divisors they contain are:
Now I see this being useful for osu!mania since it involves more complex patterns and faster speeds, and not that much in other gamemodes. However these are to be universally available since they might be needed for any case (please don't do 1/32 in osu!standard though).
This new comment puts me more on edge. It improves the mapping scene, but further complicates what the editor is going to become.
How many cases would other panel even help with? I can understand the common panel, or even (with some hesitation), the triplets panel. I don't see how useful the other panel can be, or how much music it even assists in.
Additionally, I feel just adding divisors is just going to be a hassle, there should be a better way to mapping these kinds of songs without just adding new divisors. It will start getting cluttered, and become extremely tedious for mappers.
The implementation I have in mind and will hopefully do a pull request implementing it does not complicate it, in fact it gives the mapper the option to switch between the types of panels (common, triplets, other) with other buttons, which will only show the divisors on each panel.
In my opinion, 1/11 is the rarest to use, yet I don't see why not adding it. It would be useful somehow somewhen, and having it implemented beforehand surely assists.
What is preventing us from making lazer beatmaps and thus the editor support any arbitrary beat snapping? Then all the rare beat snaps like 1/5, 1/7, 1/9, 1/11, 1/18, 1/24, 1/32 would all be supported but only when necessary.
this was added to stable so i would assume it's fine to close this?
No, this is the issue tracker for lazer specifically. The issue should remain open until the snaps are added to lazer, too.
Bumping this because I think it warrants a higher priority. Several recently added FAs have licensed tracks that require 1/n snapping (where n>9) which is not possible to represent in the current editor (stable or lazer). If we are providing pre-timed .oszs of licensed tracks, I think it is reasonable to provide support for mappers to accurately place objects without needing to change the BPM.
Further details/examples in #16536
I'd be up for trying to make this happen, but before I stray too far on the wrong path - does this (very rough proof of concept) UX for setting the divisors look OK / acceptable?
The "common" / "triplets" distinction was borrowed from #2403, but the unusual snaps option from there is gone in favour of a free entry textbox.
I haven't done much other work besides just gluing that UI together, but I have a pretty decent idea how I want to make the "custom" option work - it would involve basically finding and displaying all larger rational divisors if possible where the current preset snaps are (e.g. if somebody sets a custom 1/14 divisor via the textbox for whatever reason, after closing the popover the beat snap control will show options of 1/1, 1/2, 1/7 and 1/14).
Seems maybe okay, although a bit cumbersome in terms of UX. The arrows to adjust in the original PR definitely feel better.
For custom, would it not make more sense to have the snap divisor itself clickable and immediately allow entering the custom snap? Is there any benefit of the way you have it?
There's the question what should happen to the arrows from the original PR if a custom snap is indeed entered. I guess you could have common/triplet modes as the original PR had it, but then entering your own snap would go into a normally-inaccessible "custom" mode. Not sure whether that's too convoluted or not? I guess I can try.
Ok, I've done some more experimenting - how's this?
I know there is still some touching-up to do (like after entering the custom divisor, the max one should be selected initially) but does the central idea of how this works make sense?
Looks pretty good. A couple of notes:
1/4
is entered too, rather than potentially switching to a weird custom mode.
There are rare cases where 1/5 or 1/7 beatsnap is used in a song. This is uncommon, but some songs are simply unrankable due to this. https://osu.ppy.sh/s/647360 - Example of a 1/5 map that could easily be ranked if 1/5 was supported
The current workaround to 1/5 is to multiply the bpm by five, use 1/1 snapping, and have a 5/4 meter. It's dumb.
Because 1/5 and other weird snaps are so uncommon, they should only be accessible via an extra panel or by editing the .osu file, else new mappers would be confused by them. Regardless, it needs support somehow