Hello and welcome to the new thread
OpenFunscripter (OFS) is fully open source over at Github
Disclaimer: You can do whatever you want with scripts created with OFS. No strings attached.
How to get started with scripting and OFS?
- Be aware of the fact that scripting takes a lot of time and is a very subjective process.
Subjective as in if you like the script you made you did a good job.
- The “Options”->“Keys” window is your friend it shows all possible key combinations and buttons you can press it also let’s you rebind them.
- I can highly recommend these threads as a starting point.
The video tutorial by Husky
How to get started with scripting by sentinel
- There’s also the old thread which is a mess
For more advanced users
- OFS functionality is extensible using Lua scripts
- Lua scripts by Lucifie
I prefer feature request as Github issues.
To put it simply it’s going to make it more likely that a desired feature is implemented.
Warning: Project files created with 1.2.0 are not compatible with 1.2.1.
This is an exception. Normally they will remain forward compatible.
If you want to move a project to this version you’ll have to export to funscript and then reimport into a new project first.
Latest release: 1.4.1 Github
- When making a selection the timeline will auto scroll when hitting the borders.
- Double clicking the script timeline no longer seeks. Instead it’s now double clicking the middle mouse button.
- Moving the mouse across the script timeline while holding the middle mouse button now scrolls the timeline
- Lua API
- All functions now correctly clean the stack.
- This fixes a stack overflow which would otherwise inevitably occur.
- Added ofs.SilentCmd (Windows only)
- Added ofs.SaveScript & ofs.ScriptPath
- Added ofs.ClosestAction
- Added ofs.RemoveSelected
- Added ofs.SelectedIndices
- Added step size for ofs.Input
- Added binding which reloads all active extensions. (Options->Keys->Extensions)
- More info here LuaApiReference.md
- All functions now correctly clean the stack.
New Lua Extension API
- Now work on Linux
- Added “Extension Log Output” in “Extensions”->“Show logs”
- Created a reference: LuaApiReference.md
- Use this power wisely
- Added a “OFS Log Output” in “View”->“Debug”->“Log output”
- Rewrote the waveform rendering. again…
- It now scrolls smoothly instead of stutter stepping
- Merged fix #4 for paths containing square brackets in the Lua scripts
- Stopped linking libmpv.
- Should have no impact on anything just an implementation detail.
- Removed some implicit project saving.
- This avoids the creation of
.ofspfiles when not desired.
- This avoids the creation of
- Fixed Metadata import
- Fixed autobackup month being one month off.
- Using the “Click simulator to add a point” modifier key now checks if the mouse is on the simulator.
Small maintenance release
- Windows: The runtime is now statically linked. (no more missing vcruntime.dll errors)
Windows: Enabled AVX. (makes things go faster)
- If your CPU doesn’t support it you’ll get an error message.
- Let me know if you need non AVX builds.
Windows: There isn’t a console window anymore.
- Logs are written to “%appdata%/OFS/OFS_data/OFS.log” and are always overwritten
Windows: ffmpeg.exe is no longer included.
- Instead it now can be automatically downloaded.
- Now includes “NotoSansCJKjp-Regular.otf” for Chinese/Japanese/Korean glyphs
- The font atlas is now generated dynamically based on what glyphs are needed.
- So if you type non ascii characters the font atlas will be rebuilt and the characters will display correctly
- Glyphs which are not part of the included fonts are not supported
- When scrubbing the video timeline with the mouse you can now move the cursor away to slow down the scrubbing speed for more accurate mouse scrubbing
- Added “go to the start/end” bindings (self explanatory)
- “Close project” is now under the “File” menu
single-precision floating-point edition
- The whole application now uses single-precision floating-point numbers (in seconds) for timing
- This was more work than it sounds. The whole application was using 32 bit integer milliseconds before.
- This reduces any timing error introduced by copy/pasting, moving, etc. significantly
- Unfortunately this makes project files created with 1.2.0 incompatible.
- Added clip export (contribution by @Blueboom42 )
- You can now create clips by creating bookmarks
- And export them via “Bookmarks”->“Export Clips”
- Removed arbitrary T-Code limit (Range is now 0-999)
- Added ability to add a mpv.conf to the application directory
- If you’re a technical user you’ve now got full control over mpv mpv.io
- Added a new Lua script “add_spline_smoothing_to_selection.lua”
- Fixed audio only scripting which I broke in 1.2.0
- Fixed playback looping which I broke in 1.2.0
- “Lua output” is now a seperate window
- Fixed issue where the auto-backup was clearing the “script has unsaved changes” flag
- Heatmap generation was changed to actually use “Speed” instead of just point density
- OFS now uses it’s own project files to store scripting projects.
- When loading funscripts they’ll get imported into such a project file.
- To get a funscript back out you’ll have export explicitely as a regular save no longer saves a funscript instead it saves to the project file.
- Script metadata becomes Project specific in this case and each script exported gets the same metadata. Previously all loaded scripts had their own metadata.
- Scripting settings also become project specific.
- There’s a new “Project” menu in the mainmenu to which some stuff got moved.
- The auto backup system also uses these project files.
- Now OFS will remember a timestamp when you launch it and save all backups to a folder with that timestamp.
- This fixes the issue of closing without saving and than restarting OFS, go looking for the backup and realizing it has already been overwritten.
- This also means you probably want to manually clean up the directory more frequently otherwise a few megabytes may accumulate there overtime.
- Now has a label indicating where he next point is going to go.
- I added a “Context sensitive” checkbox which gives back the old behaviour that I previously removed.
- You’ll now get a dialog asking you to save when trying to close with unsaved changes.
- The undo/redo history is now global. Previously it only showed the active script.
- In general the undo system got improved when working with multiple scripts.
- Fixed “Equalize” function precision. (Thanks to @Husky for noticing that one)
- Improved moving points with the mouse while (by default) holding shift.
- Reworked the simplify function. Hopefully for the last time.
- OpenGL 3.3 compatibility is restored.
- When creating a new project you’ll get nudged to enter metadata then and there. (Based on @defucilis request)
- Points in the timeline fade out when zoomed out far.
- Mainly for performance reasons.
- The center indicator has now this little triangle.
Difference between the previous beta
- I rolled back the selection changes so it’s the same as 1.1.9. (I have plans for a different implementation)
- Under “Keys”->“Modifiers” you can now bind multiple modifiers
- Changed project extension to “.ofsp” (if you have “.OFS” files you’ll have to rename them)
- Fixed a bug where the T-Code configuration wasn’t saved.
- Added default metadata. You can now save default values for the metadata which are always the same.
- Fixed video zoom issue that only occured if you had a panel docked on the left side
- Fixed minor jitter of the script timeline during video playback
- The timeline won’t snap to the position of the video it’s all smooth now.
- Fixed Windows exclusive borderless fullscreen glitch ( where it would flash black when focus was lost )
- Reduced the maximum playback speed to x3 (still more than neccessary I hope)
- You can now make OFS the default program for “.ofsp” files and it will open them
- I now expose a “Light” theme in “Options”->“Preferences” but it still needs some work
- Other smaller fixes not worth naming