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

N/M Got, it forgot about setting the timecode server within Whirligig

I’m still getting a lot of jitter with butttplug. I have MFP 1.17.2, and intiface v27 with engine v46, but I still get around 50 jitter at 62 hz.

Jitter stats you see in MFP will be “normal”, the fix was for completely unusable OSR when setup in buttplug which was stuttering a lot.

Sadly, updating Initface didnt do much for me :frowning: Still stutters alot.

It will probably still stutter a bit, but it was completely unusable before. You can try 30hz instead of 60hz, might behave better.
Buttplug integration was meant for vibes and such, not for high update rate osr.

MultiFunPlayer v1.18.0:

Download: Release MultiFunPlayer v1.18.0 · Yoooi0/MultiFunPlayer · GitHub

Breaking changes:

  • Pattern motion provider Period was removed and defaults to 4s

Changelog:

  • Minor tweaks that should improve output smoothness in some situations
  • Add ability to auto-skip video to script start (#42)
    MultiFunPlayer_2022-01-18_01-11-00
  • Add ability to auto-start MPV when auto-connecting (#38)
    MultiFunPlayer_2022-01-18_01-11-39
  • Add advanced random motion provider settings (octave, persistance, lacunarity)
    MultiFunPlayer_2022-01-18_01-13-16
  • Add output target and video source scan delay/interval settings
  • Fix rare exception when stopping buttplug.io output (#35)
  • Fix sync behavior when adjusting sync duration slider
  • Fix exception when parsing linux paths (#41), for example when playing a local video on oculus
  • Sync when motion provider settings are changed (#39)
  • Improve motion provider update toggles behavior (#36), motions providers can now be paused when video is paused
  • Improve keyframes heat and stroke visualization (#43)
  • Minor UI updates

If you like what I’m doing, please consider supporting me on Patreon

4 Likes

Hi Yoooi,

Hoping you could provide some insight on the new random motion provider settings (script blending, octave, persistance, lacunarity).

Any insight would be nice as to what they do, especially in the use case when using them to generate some additional motion to single axis scripts when used with the OSR2+.

Thanks!

script blending

If you have a script loaded/linked and motion provider configured, then this slider will blend between the two.
You can for example add some random movement to a linked script so its not exactly the same as the target script.

octave, persistance, lacunarity

Might be a little hard to explain but:

  • octave: the number of levels of detail you want the noise to have.
  • lacunarity: number that determines how much detail is added or removed at each octave (adjusts frequency).
  • persistence: number that determines how much each octave contributes to the overall shape (adjusts amplitude).

This video might help too: https://www.youtube.com/watch?v=wbpMiKiSKm8&t=56s

Thanks for the details - will check out that link too.

Do you have suggested starting points for someone looking to add a bit more flavor to additional axises when playing a single axis script?

You could try:

  1. Link R2 to L0, invert R2, add slight offset to R2, should give you grinding motion
  2. Use random motion provider for R1 and R2
3 Likes

I’m not overly experienced in programming or writing applications and the such, but is there a specific reason behind all the multi-axis script players only using MPV as their flat screen video players? Why is there no support for any other more user-friendly video players like VLC or the such? MPV is fine for just loading a video and playing it, but when it comes to anything more like setting up a playlist on shuffle and a repeat I have no idea how to do it.

Would it be possible to maybe some day add support for something like VLC or is there some programming reason behind not being able to support it?

Hi Yoooi,

I’m using a wevibe vector through intiface BLE connection, and have noticed how non optimal BLE is wrt responsiveness for nearly all the scripts on here, and started writing my own. I love the different interpolation functions that you have between points for strokers, but noticed that even for slow transitions BLE has a problem with following command the interpolations between points. In an effort to improve the responsiveness, I was wondering if it would be possible to turn off any interpolation, so that for vibrators the funscript position would be a command to vibrate at a certian level, until the next command is sent (in my limted understanding that this would improve response). In a future update is this a feature that could be included?

Not really, MPV just has a very good api.
Are there more multi-axis players? I know only two.

Yea should be possible. I would add either VLC or MPC-HC, depending on which has a better api.
I’ll add it as todo on github.

If I understand correctly I actually added what you want recently, exactly for vibe usage.
Use this build: nightly.link | Repository Yoooi0/MultiFunPlayer | Run #1757893862
And switch interpolation type to “Step”.

You’re a legend. Thank you I’ll check it out!

Added support for MPC-HC/BE in this build: nightly.link | Repository Yoooi0/MultiFunPlayer | Run #1764189680
VLC has the remote control buried deep in settings and it required some weird workarounds to be fully usable.

3 Likes

Wow that was crazy fast. You’re amazing, I really appreciate this!

Hey so how do you connect the osr to the MFP?

If you use USB:

  • Select “Serial” tab at the bottom
  • Expand settings with the arrow button on the right side
  • Select “COM Port” from the list
    • If you dont know which one is OSR, look for the new item in the list after you connect OSR and rescan
  • Click “Connect” button

If you use WiFi:

  • Select “Network” tab at the bottom
  • Expand settings with the arrow button on the right side
  • Enter the IP and port of your OSR on your local network, for example: 192.168.0.30:8889
  • Set protocol to UDP
  • Click “Connect” button

Thanks for the quick reply was a real help!