MultiFunPlayer v1.33.1 - Multi-axis funscript player with SLR & FapTap support

another small item: fullscreening videos in the web source only makes them fill the window mfp makes, instead of going fullscreen

Re: Web source

  • Just make it a regular input, what’s the point of having a scheme when people gonna copypaste the url anyways
  • Video name cannot be inferred from URL, you need Content-Disposition
  • Change download directory
  • Fix fullscreen very please

My target usage:

  • I have a Pixeldrain album and open it
  • I open the funcscript and hit download
  • I open the video and it should work well with just downloaded funscript in fullscreen

Not sure what you mean. I dont think there will ever be a general automatic script loading for Web window because each page behaves differently. It requires specific script repositories like for FapTap/Stash etc.

I’m assuming it downloads to the windows downloads folder by default?
Don’t know where it should be changed to. Probably \Bin\EBWebView\Downloads or just a Downloads folder in MFP directory.

Hi! I am in the same situation, did you find a way to make it work?

it used to work for me, but not anymore.
I’m in the green, same as in your picture on the pc software, but inside the quest slr/deovr app, it cannot connect to haptics anymore, it stays red (also don’t use bluetooth, funsr1 2.0 via usb for device).
I did almost everything i can think off, including the things Yoooi mentionned, restarted router, updated to newest software, updated deovr app and quest, update firewall excluding multifunplayer, reboot everything etc… lol i am also out of options to try

@ [Yoooi] , if it’s not something minor that changed on your part, maybe it’s from the slr/deovr side. I can’t tell

Last time it worked for me was maybe a week ago with the previous version of multifunplayer,
Would be nice to know if you have knowledge of people in our case, that have succeeded using it these past few days . Thanks!

i also tried to allow MFP through my firewall, but still did not work. same as him, can start/play the player on quest by using mfp, but script could not work on device. Haptics connect is red on deovr
(mfp works fine for me with local player on pc)

Do you have v1.32.1 to try?
I would also need trace logs, change log level to trace via application settings at the top of the window, connect to DeoVR with SLR and try playing a video that has a script, wait few seconds, change log level back to info and DM me the latest log file.

Threw together a guide on Stash + MFP using Web media source

1 Like

MultiFunPlayer v1.33.1:

Download: timed patreon only exclusive
Patreon build: https://www.patreon.com/posts/122741611

1.33.1

  • Improve Web window UI
  • Add support for F11 and video fullscreen in Web window
  • Close Web window if initialization fails
  • Show WebView2 runtime download dialog if it’s not installed
  • Allow changing playback speed of Web window player from MFP
  • Fix instant device movement due to invalid PolledUpdate events
  • Fix Web source start page not allowing urls with custom ports
  • Fix crash when calculating heatmap with negative keyframe positions
  • Fix crash when receiving messages in UDP output after disposing
  • Add FixedUpdate and PolledUpdate helpers for plugins
  • Add dynamic KeyframeCollection which allows live streaming of keyframes

1.33.0

Additional patreon only changelog:

  • Add FapTap script repository - works with Web media source
    uo42J7VQRo
  • Fix scripts stored on VR headset not loading via SLR interactive api
  • Fix SLR login code not opening browser

Changelog:

  • Add Web media source - opens a custom Edge browser which sends playback information to MFP from a video element on the page
    MultiFunPlayer_QGPzRTZJKl
  • Add option to split axes in heatmap preview (#198)
  • Add ability to configure main thread update rate (#176) - can be used to lower CPU usage
    MultiFunPlayer_woxUjv5IfH
  • Add support for reading and writing PotPlayer playback speed - requires 2501xx beta or later
  • Make looping optional in script motion provider
  • Aggregate plugin file watcher events and queue compile only once
  • Optimize axis state locking
  • Fix unable to receive data from auto-started PotPlayer
  • Fix OFS source PathAndQuery not set after changing ip or port (#203)
  • Fix first plugin #r reference not found if source file contains BOM

If you like what I’m doing, please consider supporting me on Patreon
https://www.patreon.com/yoooi

4 Likes

So passed on some logs to Yoooi and turns out the guillotine chop between movies is a bug and will be resolved which is nice - survival is secured. @burtreynolds I learned that Wifi can not really be used without being saw/choppy/sandpaper yet. They are on it and it seem solvable to have buttersmooth on Wifi/BT also, which is even nicer. Until then pull out your USB cords and connect them even to your SSR1PCB. Dont use Wifi for now. It makes you or new users think Multifunplayer is bad.
Thanks Yoooi for the infinite work on MFP. When my annual Patreon is running out, no idea when, I will redo another year.

Yea that should be fixed in the v1.33.1 above.

1 Like

Yoooi can you tell us how you got Wifi movement so smooth in that test version I was allowed to try? You emulated buffer on the hardwareside by making the commands longer? I mean it introduced terrible variable lag but the smoothness was amazing. I understand that commands get lost even oder 5-10ms lag which is quickly happening with Wifi or BT. Could @Khrull add a buffer to his firmware?

It was not a buffer, I just made it so the moves are longer while preserving speed so that the next command does not have to line up perfectly. It should eliminate those tiny pauses that dont feel smooth but the device will be slightly out of sync when a command takes longer to arrive.
The actual solution is to have a dynamic buffer in TCode and in device firmware.

I see, the result is day and night. The lag makes it unusable as it throws every script out of sync but it is a nice demo that Wifi can be super smooth as cable connection. I hope the dynamic buffer finds its way in soon. Wifi is quite unusable as long as it is not buffered.

Hey, thanks for all the great work on multifunplayer its super useful! I’m using it right now with node red to change scripts on the fly, and currently I’m just triggering the scripts by sending the relevant keystrokes through node red to the virtual keyboard and triggering the keybind shortcuts I made in advance. However for some reason it has this bug where it will randomly stop accepting any keystroke inputs and just do nothing, until you open and close the settings tab, after which it will work again.

Now assuming that it would be hard to find and fix that bug itself, is it possible maybe to trigger actions inside multifunplayer through ways other than keystrokes? I can easily make a python script that catches the node red output and then sends whatever is needed to multifun to trigger the actions, I’m just not sure how I would tell multifun what to do bascially if its not through keystrokes. Is there any way? :pray:

1 Like

Would second that could you harass @HereSphere a bit so it can control MFP?

What MFP version are you using, it was a bug in some old versions.

You could make a plugin to accept data from node-red.
Tho there is currently no way for the plugins to invoke shortcuts, but they can invoke actions. I might add a way to invoke shortcuts by name, or maybe allow creating fake input gestures.

I think you could use some reflection magic and access the internal IShortcutManager field in the PluginBase, from that you might be able to invoke the shortcut directly but most of the classes are internal.

Its better if multiple users make requests. IIRC someone alredy asked about this.
HereSphere would need to send input events via their api.

I’m on version 1.30 right now, was it fixed in .31 or in .32?

Also for the plugins, I’m only coding with chatgpt so I’m not sure about the basics, is there an example plugin code somewhere just so I can see how the base of that would look like? Then i can have chatgpt experiment around on it haha

I think that was fixed in 1.29.3.
I would have to see your shortcut setup and probably trace logs.
The only thing that disables shortcuts from running is when you open the shortcut settings tab.

Sample shortcuts are here: MultiFunPlayer Sample Plugins · GitHub
But chatgpt wont be able to help you with invoking shortcuts, that requires reflection and looking at MFP source code to access the right internal parts, until I allow plugins to invoke shortcuts.
You should be able to figure out a plugin invoking the actions directly with InvokeAction.

Thank you I’ll check it out :slight_smile:

For the logs, I’m assuming I should change the “log level”? Do I choose “trace”?

Also in case it’s relevant, my temporary fix for the bug is that I made a python script that literally manually opens and closes the settings tab every minute or so. And with that setup the bug doesnt appear anymore.

Yes change log level to Trace and also check Enable UI logging.
Additionally exit MFP and open the MultiFunPlayer.config.json file in text editor, find LogBlacklist line and remove the two lines that are inside { and } so that the logs include full input data.

Then start MFP reproduce the issue and then fix it by opening the settings dialog.
Revert LogBlacklist, Log level and Enable UI logging settings to defaults.
And DM me the latest log file.