This script assists into making the upstrokes for a CH script. This means only the beat timestamps themselve have to be placed in the script.
It considers factors like pacing (a 1-2-3 has the 3 downstrokes at similar speeds instead of using the midpoint everywhere). And also considers device limits by supporting a maximum speed.
To use:
Either you have an entire script with 0 positions, in which case you can use the global setting, and then click the generate button which parses the entire script.
Or you select all the 0 pos nodes which require a beat, and deselect the global setting. In which case it will add the beats for the selection (note, this ignores surroundings! beats can overlap other sections if not careful)
The selection must always be a complete section, if there are unselected midpoints, these will be ignored. While some invalid node positions are detected, overlap is not and will crash the script (in which case you have to restart it). In normal use this wont happen
Plugin
Install this in the folder:
<user>\AppData\Roaming\OFS\OFS3_data\extensions
or for OFS2:
<user>\AppData\Roaming\OFS\OFS2_data\extensions
(the zip contains the plugin folder so you dont have to make that yourself).
Example
This is the beat only script with all positions at 0
This is the result afterward
Yes, the upstrokes here are not equal, which is normal with human input, and its especialy noticed since the speed limiting is taking place here.
I hope it can save you a lot of time.