forum

I wrote a program that automatically blankets a slider

posted
Total Posts
3
Topic Starter
Grrum
Do you like blankets but hate the time-consuming process of making a perfect blanket? Try Blanket, the easy way to get a near-perfect blanket almost every time! It's a java program that will automatically make a circle that blankets a given slider. Read the How to use box for additional information.

Unfortunately, this is a work in progress, and you will get wrong blankets a fair amount of the time. Will work on this when I have time.

Also here's the post where I explained it earlier: p/3456903.

Download Requirements: Need Java

Blanket V5.0* - puu.sh/czEc7/d81d4235f8.zip
VirusTotal approved

Extract the zip file and you will have a folder that contains the Blanket program, which is what you click to open the application.

Description:
Copy paste slider into box, get a blanketed circle on your map.

How to use
You must first select a map clicking the select map button. If you are on a Windows 8, 64 bit computer, this should open you to your osu! folder. If not, you will have to go find it by going to Settings->Path to songs Folder. Enter the Folder's name where your osu!/Songs folder is. Now when you select a beatmap, it will start your search here. Select a beatmap from your songs folder. You can filter to only search for .osu files if you have lots of storyboard elements for example.
:x
Hit settings->Set default beatmap to make the beatmap be open the next time you use the program. Songs are organized by number, so knowing the map number will help find it.

Now that you have a map, open it in the osu! editor. Whenever you need to blanket something, copy and past your slider into the text field that says Timestamp. This will show what time the slider is at. The limitations for what sliders you can use are the following:

The slider must have exactly 3 points or this will not work.
If any point is a red tick, this will not work.


Now you are ready to find where the blanket should go. There are two Options: Normal blankets and Center blankets. Center blankets pretends your slider is a circle, and puts it directly in the center of that circle. This means that distance snap will have no effect on it. This is good for when your slider is basically a large circle. Normal blankets will blanket your slider by the given distance snap. The time divisor also plays a part into the position since the distance snap is dependent upon it. Choose the distance snap and time divisor you want it to have by adjusting them at the bottom of this program.

There are two options for output. The simple one will just output the co-ordinates of the point of where the blanketed note should go.
By selecting add to .osu file, you get the second option of having the program automatically add a circle to your map at the blanketed point. HOWEVER, there is a problem with doing this. Any work you did in the osu! editor is not recognized in the .osu file until you save it. Since I don't have access to the editor, I can't save it for you (If someone knows how to give me access to that, please contact me). This means all unsaved work will be lost when you make a blanket! That is why there are multiple warnings for you to save before you go ahead with the blanket. You can disable the pop-up warning under settings, but this is not recommended, and I am not responsible for your lost work.

Now the blanket is in your .osu file, but not in your editor. Hit CTRL + L in the editor to update to your .osu file. This is the last chance to save any unsaved work. Saving now will save the work you have in your editor and will not have the blanketed note. Once you hit "yes, revert to last saved," the blanket will be in your editor, any unsaved work will be lost, and you can continue mapping.

If you forget what map your mapping, hit show beatmap under the settings menu.

If you like it, please give your feedback of features you would want so I can maybe add them in the future.

Hope this helps! There may be some bugs still, so please tell me if you get something wrong.
previous updates
UPDATE1: I've improved the GUI, made distance snap .05 sensitive, and added a beat divisor option. Tomorrow I want to fix the inheriting timing section bpm change problem, make an option to type out the beat spacing, and if I have time (which I won't) add the co-ordinate as a circle in the .osu file.

UPDATE2: Have not uploaded link yet. Changes: Hopefully fixed the green inheriting section bug. Made a feature that guesses the end point and mid point even if you didn't do CTRL + G twice. It is sometimes off from the CTRL + G option (error is generally +- 1 for both x and y), so for best results, continue to do that. Made a feature called center blanket. This ignores beatspacing, and pretends your slider is a full circle, and puts it in the center of the circle. Useful for sliders that are almost full circles. However, this one is off by a fair amount. I assumed that sliders are a curve of a circle, and that the start, mid, and end points are all points on that circle. This may be a faulty assumption, I will look into this eventually.

Update 3: added feature to edit the .osu file, but has several quality of life problems:
--deletes unsaved work -- if I could tell the editor to save the current work, this wouldn't be a problem. If someone knows how I could do this, please contact me.
--fixed others

Update 4: 10/29
Added a menu and the select beatmap option there.
Also added a way to set a beatmap to automatically be opened with the program, though this changes how the application is downloaded.
Beginning testing of bugs with the algorithm. Will post the updated version when I fix these (3 left).
The CTRL + G problem persists, still about +-1 off, though made a fix to make it a little better.

Update 5 - I have the program running, and I think it's in a very good spot. Unfortunately I'm having problems with turning it into an executable file. This is because I'm trying to have default settings that the program uses, so I have some text files that I want to store your settings on, but can't get them to work with the executable. Hopefully I will have a solution for this by tomorrow, but I'm honestly stuck. If anyone can help, please contact me.
Went ahead and redid the description above to describe the new setup.

Other changes:
The CTRL + G problem got a little better for blanketing, but will be +- .01 on the dist snap.
bug fixes
Made a pop-up window to warn you that you are deleting unsaved work
Made it possible to set where the song selection menu opens.
Made an option to show what beatmap you are working on

Future plans -
-Allow mid point to be a red tick
-Add an option to enter distance snap by text.
-Add a help menu item that links to this thread

*As I do not have the right to copyright some of the Java API used, I revoke this copyright
Ayesha Altugle
Topic Starter
Grrum

vahn10 wrote:

Ran in Virustotal
Thanks man!
Please sign in to reply.

New reply