1 of the debugging tools i would prefer is that when you update the script, and detects 2 points on the same timestamp, what timestamp that actualy was. That way you can look at the script to see what can potentialy cause the error in the script. Now you realy need to guess the potential causes.
I also wanted something like this, or like a way to find points that are close within a certain time threshold (like less than 30ms or 20ms).
Ideally, there could be a button to just average the points here as well.
Example:
could become:
I find that Iām not the only one that makes this mistake or like adding an extra point that shouldnāt be there, in between the beginning and end of a stroke.
example:
Clears all nodes that are placed within 15ms (0.015s) of each other. I havent made it so you can dynamicly adjust, or only applies that to the selected part of the script. But thats because its not realy needed.
If needed you can just edit the code (there is only 1 line where the edit is needed).
Note, it always removes the point afterward (as that keeps the timing of the movement the same)
Canāt seem to get it to work.
It seems like the points have to literally be on each other, but 2 points literally on each other are cancelled out already with OFS.
I made two points that are both at the same vertical level, but 3ms apart from each other horizontally, and it wonāt delete them.
Apparently i made it already that it only considers the selected area. Had been a while since i used it, and since it was just a once purpose script didnt pay too much attention to it.
This is very useful.
Just edit this line in the script if you want to change the distance,
if action.pos == action_prev.pos and action.at - action_prev.at < 0.015 then
Before:
After:
Note though, if your script looks like that, you might want to use OFSās built in simplifyer instead. Thats just way too many nodes to begin with. In this case the handy will very likely mimic a vibrating motion rather than a smooth one.
My script was more ment for some limited situations where most of the script is fine, but some nodes were erroneous and you quickly want to get rid of those. But that example looks like a live recording, and my plugin isnt going to make that usable by simply removing duplicates.
Hey, check out my newly released OFS v3 extension enabling way more detailed statistics for the GUI!
Iāve tried to update from (working) version 2 to version 3.2.0, and it wonāt run.
Iām using the non avx build.
Iāve uninstalled, rebooted, updated Nvidia drivers, tried the installer and the zip file, nada.
Just a spinning circle for 5 seconds, then nothing.
Earlier, someone mentions that thereās possibly an issue with MPV-2.dll, and suggests replacing with a renamed MPV-1.dll, but that doesnāt help.
I did see on github, thereās discussion that mpv-2 uses the AVX processor extensions. I donāt know if thatās the issue.
The log file is empty, and thatās the only file in the āOFS3_dataā folder.
Has anyone found the issue or a workaround?
Edit - additional information:
Intel Core i5-3450S, step E1.
HWiNFO64 says that AVX is supported. Base level, not FMA. No AVX-2 or -512
SIMD 4.1 and 4.2 supported
GPU GTX960, and OpenGL is supported
OS is Windows 7 (ultimate 64 bit)
Hello I had a question please forgive me I know nothing about programming so if this is asking the world tell me to heck off but I had a genuine question.
So I figured out that when mapping cock heroes itās easier to just watch the video once and hit zero every time a beat passes and then go back through and put a dot in the middle of the two beats is there a way that this program could automate that second half
Basically having a feature where you put down two dots and then the computer figures out what the middle of the two dots is and places the peak
you put the points down on the beats/notes and the program figures the mid point between them
I also apologize if this is not the proper way to ask/recommend things / itās probably already in the program and Iām just a dingus and havenāt figured it out yet lol
So, also not a programmer here but avid Linux user. Would love to try and get this working on Linux (Gentoo) but I donāt know how you even compile it. I can see it uses CMake but I donāt know the commands needed or what dir you should be in to do the CMake. Anyone have any pointers for me?
Sorry for the newbie questionā¦
hi i cant get 3.2.0 to work. if i download the exe files at the install it says v1.0.0 and wont start up after install and the zip files dont do anything at all for me. v2.0.0 works fine tho.
is this a problem in the files or just something that i dont get?
Its a plugin
Got it figured out (kinda):
From the GitHub page:
- Clone the repository
cd "OpenFunscripter"
git submodule update --init
- Run CMake and compile
With step 4, go in to the src directory then do ācmake ..
ā (thatās two periods after cmake) and it will start to build.
The build is failing with localization errors but at least I have something to work with now
What software did you install to do that? I assume you installed CMake and maybe Clang?
GCC and cmake.
I missed Step 5 - run āmakeā after the cmake portion has finished.
If you are able to try it, please let me know if it fails for you also around the 85% mark with localization errors. I donāt know how to fix it, though.
@LeGrosFromage It turned out to be much easier than I initially thought.
I decided to install Visual Studio 2022 Community edition and made sure to select C++ desktop development and also made sure that CMake was selected to be installed in the optional modules for C++.
After that I simply connected to git, cloned the repo and then Iām a bit unsure what I did. I doubled clicked on showing Folder View in the Solution Explorer and suddenly CMake was running, downloading and possibly building stuff. Once that was done I simply did an ordinary Build All in Visual Studio and voila, OFS was built and it was possible to run OpenFunscripter.exe from the OFS/bin folder. My first C++ build in over a decade btw
However, I guess this doesnāt help you since you want to build it for Linux. There is an option in the Visual Studio installer called Linux Development with C++, but that feature is dependent on either a remote Linux machine or the Windows subsystem for Linux. The build will be done in Linux, which must be configured with gcc, gdp, rsync, zip and ninja-build according to the documentaiton.
@sentinel Yeah Iām using Gentoo so Iām building code all the time (everything in Gentoo is done from source). The āmakeā portion runs fine until I get to this:
[ 82%] Building CXX object localization/CMakeFiles/gen_localization.dir/gen_localization.cpp.o
/home/phil/Downloads/OFS/localization/gen_localization.cpp:10:6: error: āColIdxā has not been declared
10 | enum ColIdx :: uint32_t
| ^~~~~~
/home/phil/Downloads/OFS/localization/gen_localization.cpp:11:1: error: expected unqualified-id before ā{ā token
11 | {
| ^
/home/phil/Downloads/OFS/localization/gen_localization.cpp: In function āvoid write_src_file(FILE*, rapidcsv::Document&)ā:
/home/phil/Downloads/OFS/localization/gen_localization.cpp:62:16: error: āColIdxā has not been declared
62 | fwrite(row[ColIdx::Default].data(), 1, row[ColIdx::Default].size(), src);
I donāt know how to fix that and based on other experiences with other programs in the past, Iām reluctant to ask for help on Github as the answer usually is āthereās a Windows binary, just use thatā
So near but yet, so far.
That double colon :: in the enum declaration on line 10 should not be there. It should be a single :
It only has a single colon on github, so I guess another one must have magically appeared in your source tree?
Ha, that was my attempt at a bug fix. With the one colon, as in the source code, it also produces this error:
[ 82%] Building CXX object localization/CMakeFiles/gen_localization.dir/gen_localization.cpp.o
/home/phil/Downloads/OFS/localization/gen_localization.cpp:10:13: error: found ā:ā in nested-name-specifier, expected ā::ā
10 | enum ColIdx : uint32_t
| ^
| ::
/home/phil/Downloads/OFS/localization/gen_localization.cpp:10:6: error: āColIdxā has not been declared
10 | enum ColIdx : uint32_t
Note now the expected ā::ā