Ozu-Beatmap-Toolset / ozu-cli

A cli app to help with Osu! beatmap creation
0 stars 0 forks source link

command ideas #1

Open PladsElsker opened 2 years ago

PladsElsker commented 2 years ago

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.

PladsElsker commented 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:

PladsElsker commented 2 years ago

ozu analyse [analyser] [beatmap-location]

PladsElsker commented 2 years ago

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.

PladsElsker commented 2 years ago

ozu hitsound [sound-tool] [beatmap-location]

Description: tool to mess with hitsounds in general.

PladsElsker commented 2 years ago

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)

PladsElsker commented 2 years ago

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.

probably gonna become the modify command

PladsElsker commented 2 years ago

the [-n] parameter for saving the changes into a new beatmap could also be considered a global parameter

PladsElsker commented 2 years ago

ozu modify [tool] [beatmap-loc]

tools:

PladsElsker commented 2 years ago

ozu edit [edition-type] [object-to-edit] [parameters] [beatmap-loc]

To edit objects in a beatmap.

[edition-type] can be either:

[object-to-edit] can be either:

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

PladsElsker commented 2 years ago

replace "modify" by "set"? Then, we can add commands like: