here's the bare minimum you need to know
the basic usage is just passing the .sm in question as an argument; it then shits out a json
the .sm needs to be formatted in a very specific way though, because arrowvortex's dance double editing sucks prolapsed placenta so to get around that, it instead uses 3 charts. (also this makes it way easier to playtest in etterna)
- Medium: used for indicating mustHitSection, AKA: whether the camera focuses on bf or not. if there is one mine at the start of a measure (those big lines with numbers) it will focus the camera on bf for that section
- Hard: enemy's side
- Challenge: bf's side
DUE TO SOME SHITTY WORKAROUNDS if bf's side has more sections than the enemy's side (e.g. bf sings until sect 49 and enemy until 47) the program does some weird shit to those last 2 sections, to prevent this, put a mine on the last enemy section where bf sings (in the example i just gave, bf stops singing at 49 so you put a mine on 48 in the Hard chart)
- The .sm's Title is the song name/filename the converter will spit out.
- The Artist is the stage
- The program automatically tries to detect difficulty. if the path has "_ez" it detects easy, "_n" normal, if it has neither it defaults to hard
To change the singers and scroll speeds you have to edit the .py itself
i put some default scroll speeds i think are fit for each difficulty; there's probably a way to implement these arguments as something you pass into the program but my knowledge of python is neanderthal
with this knowledge you may be able to use this without it crumbling like a termite-infested studio apartment