MultiFunPlayer v1.32.0 - Multi axis funscript player - Now with SLR script streaming

I have no idea as I can’t test, probably because MFP sends way more commands while scriptplayer only sends on script actions. But MFP should work with update rate set at 5hz tho.

Hey I made a scene for VAM that is perfectly setup for BusDriver to sync the movements of the model to the movements from a funscript playing on MFP. Here is the setting file on my Patreon

Here is the scene on the VAM hub.
Here is a clip showing how it works in VAM.

Here’s still of it working.


1 Like

Nice :+1:
I should probably publish BusDriver on VaM hub so it can be used in scenes easier.

Im assuming you are using wifi for SR6? You can see that VaM motion is perfectly in sync to the video while SR6 is like 25-50ms behind.

1 Like

Yes I’m using WiFi for the SR6. I had all sorts of trouble getting the serial port to work. It just makes the SR6 lurch and jump if I have too many axis going. I gave up troubleshooting it. UDP is fine and when I’m in VAM, I can’t see the video anyway so I don’t care how in or out of sync it is.

Yea, a known issue with esp, you could try using latest firmware which I think allows you to change serial baud rate, and then use 921600 baudrate in firmware and in MFP.

Hi @Yoooi,

i think the stuttering comes from the interpolation. I’ve run a script and compared the file output with the original script. The interpolation inserts new points and positions based on it’s function. If the frequency is very high, more estimates are being inserted in the script - leading to positions such as 53.4321123 at time 52345. Paired with a bluetooth (buttplug) connection, every point is sent to the Handy. This explains why the stuttering is worst at the highest frequency and “better” with the lowest. Would it be possible to add a button to deactivate the interpolation feature? Maybe its already there and i haven’t found it.

Cheers,

1 Like

The issue is not the interpolation itself, since it is smooth, but the amount of data bluetooth can send.
If it stutters even at 5-10hz then it will also stutter during scripts because they frequently have moves below 200ms.
MFP was made with OSR in mind so devices that use bluetooth are not really able to keep up.
Sending only script actions without sampling will have to ignore 99% of features in MFP.
If the device can only support such low frequency commands then I dont know if I want to support that, it means it also wont work with random strokers or vam plugins, basically anything that isnt a predetermined script.

Currently no, I have this issue on github tho: Implement sending data only on script actions (look ahead) · Issue #92 · Yoooi0/MultiFunPlayer · GitHub

Really wish there was a thorough guide for this, it seems so good but I simply cant get it to work

Yea, I guess its about time I do that.
Will probably start writing one soon.

What are you having trouble with?

Like and impressed of the app but one wish to be added to the UI …

With a standard laptop, with recommended screen scaling of 150% @1980*1080 resolution, it’s not possible to get to the bottom with the device settings and it’s not possible to move the app upp either as it locks back to the top of the screen. Have to minimize what’s possible in the UI and change screen scaling to 100 or 125% to see the bottom parts. Would it be possible to add a scrollbar on the UI?

Yea that was one of the first issues I added:

I closed it some time ago due to only one user requesting it.
Reopened now, will see what can be done.

1 Like

Added, try this build: nightly.link | Repository Yoooi0/MultiFunPlayer | Run #3990172438
There is a toggle in settings that allows you to enable manual window resize.

2 Likes

Works as it should, thanks!

1 Like

Any plans to add linux support ?

So I was wondering, and actually tried it out, but it didnt work quite the way I had hoped.

What I tried was this: I tried adding multiple handies in different locations to maybe do cock heros or other scripted videos together. I know the app isnt meant to do this. but I figured why not give it a shot.

It did work, well kind-off, me as the host had the script working just fine but the other people that I had connected through the handy connection keys had choppy movement, probably this is PING related, since we were all connecting our handy through wifi and some off them were in the USA while I am in Europe, so I figure its related to latency.

Maybe this would be a fun feature to add and somehow add a setting to balance everything out? Or maybe there already is something that will be able to do this?

I know this might not be the most useful and easily comprehendable comment. its really late here and im super tired. my brain is not working great at the moment. but hopefully you understand my intentions.

I would like to add support for linux and mac but that requires rewrite in new UI library.
I might do it someday depending on how much work that will be.

The Handy support was added as experimental because their api does not behave well with the way MFP works. The Handy only works well when it is playing low quality scripts. I’m surprised that you as the host had smooth movement, I dont think I ever heard of The Handy working well with MFP :stuck_out_tongue:

So yea, your idea is sound, and that why I added support for multiple outputs at the same time. But The Handy just doesnt work well with MFP using their api currently because each command goes thru their servers. Ping shouldn’t be an issue, the movement would just be delayed by the ping, the issue is ping jitter where commands sometimes take 100ms and sometimes 1000ms to arrive.

1 Like

alright, that’s good to know, is there any way to fix this behaviour or improve it? maybe work together with the people that make the handy?

To improve it they would have to add a way to send commands locally via wifi without using their servers.
From what I’ve gathered on their discord its not happening.

Yoooi, thank you so much for creating this. There are so many features packed in that weren’t immediately obvious to me when first running it. Great work.

I am using MultiFunPlayer with a t-code connection to a custom ESP32 device controller over serial USB. I can successfully run multi-channel funscripts, which is amazing. But there are times when I am using OpenFunscripter for a while (like 20 mins), and then something hangs up in MFP and it stops sending t-code messages to my device. MFP displays the value changes from OFS in the UI, as well as the Serial device connected, but I’m not seeing data sent to the device (from the readout on the device itself).

I haven’t dug into where the issue might be happening yet, but curious if you had some ideas on how to triage (enable certain logs, different tests to try, etc.).

Also, It is difficult to replicate. And when it does, I haven’t figured out a surefire repeatable process to recover when the issue occurs. If I try disconnecting/reconnecting the Serial device manually several times in MFP, it seems to eventually work again. Some times it recovers more quickly than others.

I’ll keep an eye out if I notice anything else. Thanks again!

Edit: And apologies, I’ll put this in an issue on the repo. More appropriate there, methinks.

2 Likes

Hey, two quick questions. One, I’ve noticed that the Auto-home feature takes a little while to activate, even if both duration and delay are set to zero; as in, I pause the video, and the device goes to home over the course of about a second, even though duration is zero. Is there anything I can do to fix this?

Second, is there any way to add multiple copies of the same device through buttplug? I’ve got two vibes I want to use, but although they both show up, after I add one, there are no Index values in the device menu for the other to select.