OpenFunscripter - another scripting tool - 2.0.0 release

Thanks gagax123 for this lovely software. One thing I missed is a way to selct a section and then save this for future use. I am primary use the OFS for creating estim files. And it could be nice when finding a section that is working perfect for ex. edging and then save this to a named section just like Bookmarks. And then reuse this in other script. Rigt now I have to open one and se haw it was made and then manual set this again.
Hope you understand what I am missing.
Or perhaps this is done in another way that I have not found out.

@Puste Just an idea of a workaround.
You could use Project > Addā€¦ > Add Newā€¦ to create a new script in parallel in your project. Copy the section you want to save then paste the copied section into the new script. Using multiple scripts in one project is usually for multi-axis, but you could use it to store a favorite section for later use. Each axis can be exported as individual funscript files and you can save those and create a library for later use. When you are working on another project later you can use Project > Addā€¦ Add Existingā€¦ and then copy/paste the section to your main script.

Check out Part 3 at 09:03 - Multi-axis scripting for a tutorial

This would be a solution.
@Puste You would create one (or multiple scripts) were you store all your patterns and reuse them like @sentinel described.
I can imagine an actual implementation of this with separate gui and everything but I donā€™t think itā€™s the best use of my time.

I was wondering the same. Iā€™ve just started looking at sway and surge for SR6, but it feels a bit dead while scripting without the 3D simulator showing it on screen.

Yes I will try what @sentinel has explained. Thanks for feedback.

Hey,
I made a bunche of tool :yum:
My tools

  • Add actions
  • Beyond time line
  • Function
  • Mirror
  • Scale - by Min Max
  • Scale - Step by Step
  • Scale - by Function
  • Selection tool
  • Slope
  • Toggle Position
  • Pattern
1 Like

Can someone maybe answer if this is possible. I am scripting a CH style video using dynamic injection mode, which limits the range to match speed, so all the sections with a faster beat only go halfway but I now realize I actually just want the up-stroke to be at 100 for all those sections. (I was using that mode because it seemed to be the easiest way to get the program to do a full up/down stroke with one key-press) Do I have to go in a manually shift each point? or is there a way I can tell the program to move all tops to 100? Iā€™m new to the program so I dont really know what Iā€™m doing haha. Also could use some tips on how to use alternating to do a full stroke with one key-press. I skimmed the instruction videos, and perused the PDF, but I didnā€™t see how to set that up there.

EDIT: I figured out how to modify it. Still donā€™t get how to use alternating properly.

Alternating will always just insert one point.
Thereā€™s no proper usage :face_with_raised_eyebrow:
Itā€™s either useful to you or it isnā€™t.

I need help installing the latest 1.4.4 on Intel processor system running Win 10.
Previously I have had 1.2 running since it came out. And other versions before that.
I downloaded the AVX installer ending .exe and ran it. It appeared to install.
I did not get a desktop shortcut to I navigated to the location of OFS1.4.4 and ran it.
Pretty quickly my screen turned white and after 5 sec or so it ended and my regular screen came back.
I cannot get past this.
Any guidance would be helpful.

@hosenguy Have tried not taking the AVX installer?

I did an uninstall of the AVX and installed the non-AVX. same results.
I am going to try a couple other details today to see if it may be outside issue.
Weird the way it is failing in my opinion,

Iā€™d say the next step would be to clean up %appdata%/OFS/OFS_data

I just deleted %appdata%/OFS/OFS_data and the program started right p perfectly!!
Unfortunately I think it is the non-AVS version. I will use the one that now works until I either need AVS or find out that that is what is loaded.

Is there a way to tell which I have loaded?

And thanks for the suggestion as I had forgotten about the app data.

No, no way to tell.
But itā€™s just very minor performance difference (10% at best).
Youā€™ll be fine either way.

1 Like

Does anyone know if youā€™re able to control playback speed with Lua with some command/variable?

@Judge No that is not a thing at the moment.
I can trivially add that.

However Iā€™m slightly confused about the use case. :thinking:

Iā€™m liking the idea to have different offset timing for different playback speed setups.

Having to change from 0.12 and 55ms and then to 0.2 and 60ms lots of time gets a bit time consuming. And if you havenā€™t scripted for a while itā€™s easy to forget the values that you have setup for each playback rate.

I am also using the motion tracker to fast setup some strokes, then I go through each stroke to readjust timings and position.
But if it would be possible to instead having the speed of 0.5 playback rate until it the strokes are close enough, and then change playback rate to 0.1 you can more easily scrobble through each point.
Otherwise having different intervals and playback rate of 0.1 is a bit tricky to manually adjust the playback rate in-between strokes.

If I unsterstand correctly you need to set the playback speed as well as the offset which is applied while playing the video.
I can add both of those things to the Lua API.

Iā€™m going to release OFS 2.0 soon so any changes you request now can still make it into that release (as long as they are not to big).
I completely rewrote the Lua API and there are breaking changes between the current version 1.4.4 and 2.0.
Thereā€™s also this new API documentation openfunscripter.github.io/API

1 Like

Exactly :slight_smile:

The offset is already possible to define, just using a variable and using the actions.at and player.CurrentTime function (Even though this makes me create new functions for stroke insertion).
It would only be the changeable playback speed parameter I would need to solve my issue.

There seems to be a misunderstanding.
I thought you meant this offset
Screenshot
but I guess not?

Either way I added a ā€œplaybackSpeedā€ property which can be read or written to from Lua.

function fun()
  print("Current speed: " .. player.playbackSpeed)
  player.playbackSpeed = 1.0 -- set it to 1
end

So thatā€™s going to be in the next release.

1 Like