Open PladsElsker opened 2 years ago
ozu fix [fixer] [beatmap-location]
Description: beatmap fixer that finds bugs and mistakes in a beatmap, and fixes them automatically.
[fixer]
possibilities are:
note-snap [divisions]
(fixes unsnapped notes)
[divisions]
is in the format of -d[n] -d[n] ... -d[n]
, where n
is the allowed division of a measure.
example:
ozu fix note-snap -d4 -d6 myBeatmapFolder
This snaps every note on either the closest 1/4 or 1/6 beat division. line-snap
(removes duplicate timing points of the same type, and snaps them to the specified divisions (so -d[n]
, like the note-snap
command. You can also add the -t
command).bpm
(automatically setups bpm and offset)ozu analyse [analyser] [beatmap-location]
difficulty
(prints custom calculation for the difficulty of a beatmap (more accurate))map-style
(gives a list of confidence-based values on what the type of map is)kiai
(gives information about the kiai structure in the map)ozu beatmap-generator [difficulty] [optional:seed] [beatmap-location]
Description: generates procedurally a beatmap. The folder location needs to have a valid mp3 file.
[difficulty]
is the difficulty wanted for the beatmap, and is specified as a floating point value. 0 means 0 stars, 5 means ~5 stars on average, etc.
This difficulty value is actually a custom beatmap calculation based on more parameters than what the osu! game offers, and is more precise and in accordance with the perceived difficulty of a beatmap.
[optional:seed]
is the seed to use for the map generator. Any 2 identical seeds will yield the exact same beatmap for a given beatmap difficulty and song.
ozu hitsound [sound-tool] [beatmap-location]
Description: tool to mess with hitsounds in general.
match [similarity]
(automatically setups a beatmap's hitsounds)
The [similarity]
parameter specifies how close to the song the hitsound should be. If a value of 0 is entered, the matcher will look for the least similar sound it can find using either the basic available osu sounds, or user-provided ones in the beatmap location. If a value of 1 is entered, the matcher will look for the most similar sound it can find instead. The value is a floating point number, so any value between 0 and 1 can be entered (like 0.325).generator [similarity]
(gotta think a bit more about this one... the general idea is to try generate completely new sound files and use them as the input sounds to the match
command)autoset-volume
(automatically adjusts the volume of every hitsound to match the song's volume throughout the whole song)The more I think about it, and the more the parameters -d[n]
and -t [number1] [number2]
seem to fit better as global parameters (parameters you can put to almost any command)
ozu speed [new-bpm] [optional:-n] [beatmap-location]
Description: changes the bpm of a beatmap. This command also modifies the bpm of the audio files (pitch + speed) to match the new speed of the notes. Your audio file can end up losing precision when chain-calling this command on the same beatmap due to data loss in the process.
[new-bpm]
is a decimal value (203.6, 144, etc...), and corresponds to the new bpm value the beatmap will have. [optional:-n]
is an optional parameter. When this option is used, the re-scaled beatmap is saved in a new beatmap instead of saving it directly in the specified one. probably gonna become the modify
command
the [-n]
parameter for saving the changes into a new beatmap could also be considered a global parameter
ozu modify [tool] [beatmap-loc]
tools:
bpm [new-bpm]
modifies the bpm of a beatmap (and it also changes the speed of the song and everything basically)ozu edit [edition-type] [object-to-edit] [parameters] [beatmap-loc]
To edit objects in a beatmap.
[edition-type]
can be either:
add
remove
[object-to-edit]
can be either:
circle
slider
spinner
color
hitsound
When using the remove
commmand, we need to specify the object number:
ozu edit remove slider 34 beatmap-location
When using the add
command, we need to specify the object's parameters (they have the same format as in the beatmap standard file):
ozu edit add color 255;255;255 beatmap-location
replace "modify" by "set"? Then, we can add commands like:
ozu set approach-rate 9.3 [b-l]
ozu set background-image [image-location] [b-l]
Just a bunch of command ideas
DISCLAIMER: I do not intend on maintaining this issue for documentation purposes. This is only a bunch of ideas that may end up contradicting themselves over time. The goal of this issue is only to throw in ideas for the development of the app. The official documentation will be available using the
ozu help [tool]
command of the app, or later in development on the repo's main page.As of the time I'm writing this disclaimer, this issue is already out of date with the app.
The general command format is the following:
ozu [command] [parameters] [beatmap-location]
The
[command]
possibilities are explained in the comments below.The possible
[parameters]
depend on the command.The
[beatmap-location]
is the absolute path containing your beatmap.Every command is executed directly on the beatmap passed as a parameter. You might want to keep a backup of your beatmap if you don't want to modify your beatmap permanently.