OpenFunscripter - another scripting tool - 1.1.9 release

I’m aware of .NET 5 and I did some searching but didn’t find anything helpful.
Pretty confident in saying that mono in 2021 is still the way to go.
Atleast I couldn’t find any pointers on how to embed the .NET 5 runtime in a C++ application.

Maybe with .NET 6 lol

After reading the comments it almost sound like they won’t have time for that in that release either. .NET 6 preview 1 is already out and the scheduled release is November or something.

Yeah from what I can tell I might be able to run “managed code” if I already know the name of what I want to call but would lack the ability to do any reflection on the assemblies I load from the C++ side which is obviously crucial.
Probably still years till regular people like me can integrate that stuff.

mono has a shit documentation but atleast something I was able to work with mono - Mono Documentation :thinking:

They want to release a new .NET major version each year in november 5.0, 6.0,…

Just because it supports multi platform this does not mean that you can compile it out of the box for all systems. At some point I also have to switch to .NET 5.0 but not right now while everything is on the move.

In retrospect I don’t like this idea at all and got a little over exited sharing it.
I feel like if I was going to do something with mono it would have to be a lot more sophisticated (like actual plugins with their own GUI and stuff ).
The external dependency on the mono runtime libraries/compiler is a major turn off honestly.
I’d rather focus on Lua, which has no external dependencies and runs everywhere without any additional work/maintenance.
Long story short I’m going to shelve this idea for now. ˢᵒʳʳʸ

I did manage to add the ability to bind scripts to keys/button and have that persists through restarts of OFS, which was more difficult than one might think. So that allows Lua extensions to effeciently integrate into a “scripting” workflow and make it less cumbersome to execute them.

4 Likes

:partying_face:

6 Likes

Hi,

I’d like to request the ability to have “Select all right” and “Select all left” as keyboard shortcuts.

Here is the code I think should do this: OpenFunscripter.txt (Renamed OpenFunscripter.cpp because site restrictions)

I started to look into the code to see how easily it could be done before just asking for it. I think that’s all it takes but I haven’t been able to test it because the code won’t build. I think I’m just missing a dependency (hidapi) but honestly, I’m too blazed to go down that particular rabbit hole.

Thanks for the great tool

Going even further it would be nice if you could just press a key during selection to select only the upper points. So if you select an area while holding CTRL you select the lower points and CTRL+SHIFT selects the upper points.

Maybe it’s possible to toggle the selected points with a button so you don’t have to select them again. Select an area, press button to select upper points, press button again selects lower points, press button again and all points of the area are selected again.

I am using the gamepad quite often lately. Is it possible to map the undo/redo key to a gamepad button?

@anon12036825 Yeah you got it, that’s how I do it :grin:
I commited it. Although I would’ve prefered this as a github pull request/issue or at the very least a private message.
https://github.com/gagax1234/OpenFunscripter/commit/ca841f2ca1ed1aae1c3bccca1993b56d26d50ed1

I’m going to give the “Select top/mid/bottom points” function the same treatment.

Yes, everything which can be mapped to a key combination can also mapped to a button.
You may have to unbind other things first though to make room.

Note: If you bind something which is already in use a message appears in the console but nothing in UI.

2 Likes

Have any Lua scripts been made? Is there been a place determined to post them when donated to the community?

I have not seen any Lua scripts here. Have build two by myself and two with the help of gagax123. All are still under testing :slight_smile:

Maybe create a separate topic in the software section and post it there. Another way would be to post them here and @gagax123 could just add them to the app so they are included on the next release.

Is this the best tool to adjust alignment of a script to a video that has “extra” intro over the one that was used as the source? Is there any tutorials on how to learn the basis of OpenFunScripter?

No not that I’m aware of. In general I think it’s rather hard to make a Lua extension which is generally usefull to everyone. But they are really powerful the possiblities are endless.

Well that was never the idea because then I would also have to maintain that script.
These scripts are supposed to be for functionality which doesn’t fit in the C++ codebase because they are too niche. The jitter script & the easing script are perfect examples for such functionality and also serve as examples to get someone started.
Do let me know if you have ideas on how the Lua scripting api could be extended.

@g90ak I don’t know about the best tool but yes that’s something you can do.
By default you’d go ctrl+a to select everything and then shift+left / shift+right to offset everything till it lines up.

1 Like

@gagax123 - thanks! I have a few minutes to offset, is there a quicker way than holding down “left” forever? :slight_smile:

Select all, cut, reposition insertion point, paste?

Yeah, sorry about that, PM would have been a good idea. I considered making it a PR but I didn’t particularly want this associated with my github account for obvious reasons and making a smurf seemed like too much effort for this small a change.

Yes, there is.

Awesome, thanks for implementing this. Really appreciate all the hard work you put into this for us!!

Is it possible to get an option to save the default stroke speed for dynamic injection? I like setting it to 350 instead of the default 300 but whenever I switch to default scripting mode it goes back to 300 every time. Just a minor inconvenience I know, but just a little change that could help speed up workflow.

Handy has a max speed of 400 but since it also depends on the stroke distance of your device, speed alone will not be enough. Maybe a global setting?

The Handy officaly supports 110mm but the Handy team just revealed that it’s not using the full range :roll_eyes:
The stroking range of the new beta firmware is increased to 100mm so we have to expect that the current firmware is even less capable. Sadly this is true. It’s only 95mm when using a ruler at slow speeds.
13,6% less than advertised :face_with_raised_eyebrow: