this is an experimental script that creates a shortcut within SFM that selects key frames to the right of the mouse and shifts them over either a frame forward or back. The main use for this is to help with timing on frames. This video should explain it better.
How to install
extract the files cv2.pyd, mousemacro.py*, numpy* and numpy-1.10.1.dist-info to "SourceFilmmaker\game\sdktools\python\global\lib\site-packages\"
extract KeyFrameMover.py and the two images to "SourceFilmmaker\game\platform\scripts\sfm\"
now here you can either copy every line in KeyFrameMover.py and past it into sfm_init.py or just rename KeyFrameMover.py to sfm_init.py if nothing important is in it.
it should work now the next time SFM starts be sure to check the console or script editor for errors.
How to use
- This script has three shortcut keys, which can be change at end of the script file.
1) shift forward ".": all bookmark keys on screen and to the right of the mouse will get selected and shift over a frame to the right, or any already selected frames will shift
2) shift back ",":all bookmark keys on screen and to the right of the mouse will get selected and shift over a frame to the left, or any already selected frames will shift
3) re-scale "/": this one controls how far in pixels the keys move. use this after changing zoom level to get smoother shifts.
How this script works
This script uses the OpenCV library in order to work
first it takes a screenshot of the window then it uses a template img to find all the bookmarks on screen and records each one positions to the right of the mouse. from there the script moves the mouse to each key selecting it then just uses middle click to drag the keys over. There is a simpler way to do this in sfm with only python but due to an unfixed bug it will crash SFM if you do it with a GUI.
feel free to modify the script for your own use if you find any bugs or have suggestions message me in the comments below.