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

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!

Hi, I am having trouble getting my new OSR2+ to connect and move.
I have downloaded the Multifunplayer, connected everything and turned the device on, however, when it comes to the seriel port, I only have COM1, whether the USB is connected or not.
The OSR2+ does work, as it moves and twitches when I turn it on, the lights on the back are on, so the cable is fine.
Any help would be much appreciated. Thank you.

You either have to refresh the list of ports with the refresh button next to it, or your cable is power only with no data so its not visible in windows at all.

Unfortunately, refreahing didn’t work.
I am using the cable that came with it, i would have assumed it would have worked.
I will find another cable and see if that works.

I’ve been using serial connection to try and eliminate wifi interference as a possible issue with jerky movements. However, my serial connection will randomly drop. I’ve tried a different esp32 board and a different usb cable. I also reinstalled the CP210x driver and reflashed my ESP32. Any ideas on troubleshooting the serial connection?

I’m using the Krull firmware if that matters.

Serial connection drops how?
Any errors shown in MFP or logs?

IIRC if you switch to TCode V2 in the firmware then the jerky movement will stop.

Logs showing:
Serial failed with exception|System.IO.IOException: A device which does not exist was specified. : ‘COM3’
at System.IO.Ports.SerialStream.EndWrite(IAsyncResult asyncResult)
at System.IO.Ports.SerialStream.Write(Byte array, Int32 offset, Int32 count, Int32 timeout)
at System.IO.Ports.SerialPort.Write(String text)
at MultiFunPlayer.OutputTarget.ViewModels.SerialOutputTargetViewModel.Run(CancellationToken token)

I am on Tcode V2 in the firmware, and T-code-0.2 in MFP.

I’ve had it drop and the unit goes past limits set in MFP and hold at a crazy awkward angle. Also had it drop and just hold a stutter/vibrating pattern. And also had it simply drop and do nothing.

Yea I dont really know, it does seem like it just disconnects.
Maybe a different PC port? Could also try a separate ESP32 without servos connected, maybe the one on OSR shorts or something.

Oh, that’s an interesting thought re: servos. One shorting out somehow on the data line and causing a reboot/crash of the esp32. I’ll try running it with the power bus off.

With regards to the Update without script option (for the Motion provider settings), I understand it does exactly that; generate motion on the axis even if a script doesn’t exist or isn’t loaded.

With this option enabled, what is the behavior if a MAx script for that axis does exist and gets loaded?

I would like to use the random motion provider as default and have the motion provider be inactive/bypasses if a script for that axis is available and loaded. How would I accomplish that? Thanks!

2 Issues that I currently have on 1.18.0 if anyone can help with this:

  1. Serial port does not auto-connect if it was disconnected.
  2. Multi-Axis scripts stutter a lot (not all of them, it’s usually random). Single axis scripts are fine though even when I switch back and forth between multi-axis and single axis.
  3. Is there a way to add a default global offset? I usually add -0.20s.

ugh. now it won’t connect at all. I swear my computer isn’t a piece of junk haha.

System.IO.IOException: A device attached to the system is not functioning.
at System.IO.Ports.SerialStream.set_DtrEnable(Boolean value)
at System.IO.Ports.SerialStream…ctor(String portName, Int32 baudRate, Parity parity, Int32 dataBits, StopBits stopBits, Int32 readTimeout, Int32 writeTimeout, Handshake handshake, Boolean dtrEnable, Boolean rtsEnable, Boolean discardNull, Byte parityReplace)
at System.IO.Ports.SerialPort.Open()
at MultiFunPlayer.OutputTarget.ViewModels.SerialOutputTargetViewModel.Run(CancellationToken token)

Yup.

If you have script loaded and motion provider enabled then those two will be mixed based on the Script blending slider.
100% means only motion provider values will be used.
0% means only script values will be used.

Should be able to just set Script blending to 0% and enable Update without script. When script gets loaded the blending will force only script values bypassing motion provider.

I’m still not really satisfied with how confusing that part of motion providers is, so it will probably change.

1 Like

You need to set the ComPort manually once, then if you check auto connect it will try to connect to that port every few seconds.
If you restart MFP it will remember the selected port and should auto connect when you connect it to your PC.

Note that if you connected/disconnected more devices then your OSR ComPort number could have changed. So you will have to select it again.

This probably could be improved so that MFP remembers actual device id instead of the port number.

I never had issues with single or muli axis stuttering on my OSR. I know that there is a bug in the firmware which causes sporadic stutters, not sure what causes it. If you use Khrulls firmware you could try switching to V2 TCode. Probably best to mention it on OSR discord too, more people report it the faster it might be resolved.

You could also try a different app like https://trymosa.netlify.app/ to see if it also stutters.

Yes, there is the Global Offset slider but there was a bug introduced recently where MFP does not save it, fixed in this developer build: https://nightly.link/Yoooi0/MultiFunPlayer/actions/runs/1757893862

Try a different app to see if it also has problems with serial port connection.
Dont think there is a bug in MFP since this was never reported but better to be sure.

Totally don’t think its a bug, was just looking for any troubleshooting advice - appreciate the help.