OpenFunscripter - a scripting tool - 3.2.0 release

Aaah there it is, thanks.

Same problem with me…
This comes from the mpv-2.dll library. I replaced it with the old one (mpv-1.dll renamed to mpv-2.dll) and it’s ok. It’s not very orthodox but for the moment it works…

Having the same problem. Does replacing the mpv-2.dll break anything?

Just another idea: there are videos with multiple POV angles that require constant adjustment of the simulator due to them having the items that need tracking at horizontal vs vertical angles. When manually scripting, would it be possible to rotate the background video while keeping the simulator locked in position?

Or in another sense, locking the simulator (which is already an option) but being able to freely rotate it without it losing its size? please let me know if this doesn’t make sense or this feature is already available! thank you so much!

A few points of feedback that i have (some i also had for ofs2, but some are ofs3 specific):

  • Im missing a quick deselect. in OFS2 clicking anywhere quickly deselected whatever you had (and ctrl+z reselected it).
    • i mainly used this to fix sections that exceed the speed, and then to verify whether my edits properly made them fit within the limitations again. But on that the next point could also help:
  • You cannot see line colors on any selected region. Line colors are useful to quickly get an indication when something exceeds a certain limit (when you configured this). Having transparency on the highlight would help a lot here
    • idealy i would also like it if i can set all color tresholds that blend. Currently from 400 to 600 its just a single color (this way you can adjust it to the desired device)
  • It would be nice if the overview heatmap also shows the entire region you have in your editing area. That way it gives an idea of zoom.
  • Subframe editing. Being allowed to hold down a button and for example make the script move with 10ms per step (or any value you configure). This makes audio matching easier.
  • A button to add node in the exact middle of the current movement line
  • Markers for video start and end in the editing window.

Yeah, the lack of click-deselect is a pain. I definitely want that one back.

Has anyone figured out how to script while having a handy sync’d yet? I got close with multifunplayer and a combination of scriptplayer/intiface/ofs, but it has some stutter issues that make it unuseable.

Edit- im in college for compuer science i could maybe figure it out I just need to be pointed in the right direction. This feature would be a massive help for scripters.

1 Like

MFS was made with OSR in mind and sends actions in high frequency. Handy’s Bluetooth protocol would struggle to keep up.

This post may be relevant

Yeah im not sure i understand the exact reasoning, if something like script player can play a video and show a script with the chart and even a heatmap and OFS can edit a script. then whats the issue with marrying that functionality. even something like a load button to send the script to handy when you want it to test the part of the script. Maybe the communication between those two appplications is the weak point? Which I would think the solution there is implement it without the other application. I’m just thinking out loud here though, not sure about any of it.

TBH, just using OFS and script player side by side isnt that much of a problem, refreshing the script is fast enough (unless you have 40+min videos) to not be any hassle in most cases. And provides enough information to identify issues (accurate timestamps).

Since the handy doesnt have a direct protocol outside of bluetooth (which is horrible), having instant responses isnt going to happen. Yet it would be nice if the handy devs manage to make a mode which relies on script streaming instead of a single upload. If it just streams each 10s of script, and stores like 5 portions, the experience will be smooth enough. Only upon changing timestamp it then needs to wait for the first 10s to be uploaded again, but most online video already works like that, and almost nobody complains about it either.

It would be a very nice feature to have as it also gets around most filesize restrictions (would generaly only benefit 2h videos, or heavy vibration scripts). But other than that, it barely has a usecase. As even if you regularly change scripts, the waiting time is rarely more than 10s anyway (or you are loading very long videos repeatedly).

That scripting isnt the most optimal method is often not considered that much of an important factor. As in the end, its the playback that realy matters.

1 Like

This is a feature suggestion…

Would it possible to select points by drawing a box around them, rather than having this vertical line stuff?

example:


Step 1 - drawing the box with your mouse (I used Windows paint here)

Step 2 - let go of your mouse click, and the points you drew the box around will be highlighted:


Here you can see how I selected all the “bottom” points, as in they’re supposed to be the bottoming out parts of a stroke, anything below a vertical of like 35 or so.

I think this would be a pretty useful feature for scaling and fixing up points that you’ve mapped with some complexity added.

Not sure if this is in here.

1 Like

OFS 3.x doesn’t open .mov
It can read them though. Ie by changing it to .mp4

There is a command to select only the bottom points within a selection, can’t recall if it’s bound to anything by default but you can select all of the points in the range you want and then use that select only bottom points action and get the selection you want. Same thing for top only points, it’s very useful.

I agree that such an implementation would be rather handy.

As for now you can use My tools, which offers such a feature that selects a vertical range. It is however a bit of a hassle to perform though.
image

If you just wanted to select bottom points like what @YellowBanana said there’s a select bottom point feature which lets you do that. But it will not select all desired points nicely in your example.
image

Let me demonstrate what happens when you use this feature with points with “bottoming out” or “topping out” for smoothness:

Points:

Select Top:

If I now shift all of these Top points up, I’m going to get a few sharp increases:

It’d be the same if I selected the Bottom.

Aaaah I had a feeling that this tool had it, thank you for explaining how to use this. Works pretty well.

Is it possible for the user to configure a project in OFS3x to not use relative paths?

Also, is it possible to store the “Mode: frame / tempo / tempo measures” setting in the project file once they are set and a project saved?

In OFS2x I was using a flow that allowed me to keep the various files in separate useful locations, now it doesn’t seem to work.

My original full videos (and final funscripts) were in:
g:\interactive

My project files and funscripts were written/saved in a backed up location so your work would never be lost:
e:\funscript-work

My reduced size videos for using in OFS were in a non-backed up directory:
d:\no backup required\Video-OUT-from ffmpeg.mp4

I do have an idea how this can be done plugin wise though. As there is still a pattern:

For this example i only assume we want the top points as it describes it easier, but the inverse also works:
The points are above the middle when comparing the 2 other opposite points (it doesnt matter if there are 4 or 10 points, there lowest point can be found).
So for each top point, we just need the surrounding bottom points as reference point. Once taking these, we can calculate a diffirence. For example when the top was at 80 and bottom at 0, the middle is going to be 40.
All points below 40 can be safely deselected and ignored from now on

The next part is finding the curve. Especialy when the stroke has a few bumps, those bumps should not be considered part of the top. For this we loop through all the top points again, and now consider the speeds of the neighbors. As long as the speed is increasing, the point was part of a slowdown/speedup of that top point. So when the speed isnt increasing, all points beyond that can be deselected again.

And this probably can even be made in a single check (because checking the speed can also consider the distance at the same time).

I could make this as a plugin at some point, unless someone else wants to.

1 Like

I have finished a mockup of the plugin, it can be buggy, but hopefully it does what you want.

On small bumps it might incorrectly detect peaks, but thats because i havent realy excluded many of those things. Sometimes crude versions are already quite good at what they do. @Falafel Does this work better than the mytools version?

2 Likes

Thank you for making this!

The Mytools feature works differently, it selects over an absolute range and doesn’t take relative position into account, so any anomalies won’t be included. Yours should overcome this issue.

I did some testing over random shapes, it gets its job done pretty nicely!


Only issue I’ve found so far is that it tends to crash if the selection is close to the first (last) action in a script. Is this because it’s trying to get an adjacent action which doesn’t exist?

1
3

I see no problem with that! Bumps are peaks after all. I’d rather not have actual peaks ignored bc smol.

1 Like