How to: Orgasm Switch for MultiFunPlayer

Yo, guys.
First post, but I thought this was interesting because it took a bit to figure out and I couldn’t find any discussion about it before.

The situation:
You are watching a video, the girl is riding it out, your servos are putting in their work and you try your hardest to hold on, but alas, you cum. She keeps riding you hard while you do so, but once the refractory period kicks in she just keeps going. The guy in the video clearly has more stamina than you and it has you fumbling for the pause key. The servos return into default position, which is somewhere in the center.

…but what if you like to be deep when you spew your load? Stay inside a bit? Have a bit of a grind too while the bliss fades?

Solution: Orgasm switch
The MultiFunPlayer has a powerful keyboard macro/shortcut system that is hard to find conversation on and a little confusing to learn without guide. But I did, and now I am going to share with you how you can bind a simple button to swap scripts mid video without having to pause the video or change any device settings, so that you too can ride out your orgasm in whatever way you want to.

You’ll need:

  • MultiFunPlayer (I am using v1.30.2 as of writing)
  • A short (30s) orgasm script that covers all of your devices Axis (you can make your own in OFS, just to your liking). You need just the script, no video.

How to:

  1. Open MultiFunPlayer

  2. Click on the “+” in the top right and add “Internal”
    image

  3. Go to “Settings” and then onto the “Shortcut” tab. This is where the magic happens.

  4. Open the dropdown for “Shortcut:” right above “Gesture:” and select “Button Press”.
    image

  5. Next press the “Start capturing” button. This will capture your inputs, in this case, buttons pressed. If you don’t press anything for long enough, the capture stops. The button will be greyed out during capture and will return back to active once the capture stops.
    image

  6. Press just the key/button you want to use as your orgasm switch. Wait a bit until the button returns back to active.

  7. If you did it correctly, it should now say “Captured 1 Gesture” in the dropdown next to the button. It might say “Captured X Gestures” (X being greater than 1), but that is fine too, as long as you pressed whatever key you want to use during the capture.

  8. Open the Gesture dropdown and select the key you want to ultimately use. For me it’s LEFT CTRL
    image

  9. Press “+” to add the shortcut.
    image

  10. Now that we have our shortcut, it should pop up in the formerly blank space below. Click on it to select it.

  11. Next we are going to add some actions to the shortcut. The “Actions” menu may be folded in for you, unfold it if it is:
    image

  12. Now that the Actions menu is open, a short explanation:
    image

(A) is the area where your selected actions will be.
(B) are all the possible actions to select from.
(C) is the search bar to filter (B) with.

  1. Click on the searchbar (C) and enter “Internal” because that is the module we want to create actions for.
    image

  2. Add the following actions in this order:

  • Internal::Connection::Connect
  • Internal::Looping::Set
  • Internal::Playlist::PlayByName
    This will connect us to the internal player, allow us to turn looping off and select a file in the playlist by name to play it.
  1. One action is missing still. Filter by actions again, this time search for “play”. Add the last action:
  • Media::PlayPause::set
    This actually plays the file.
    image
  1. Now all our macro steps are there, we are just missing the script to play. Close the Settings window for now to return to the player.

  2. Select the “Internal” tab, as you can see, the playlist is empty still.
    image

  3. You hopefully remembered how I told you you’ll need your own “Orgasm Script”. What we like on the brink may be very different, so boot up OFS with any random video that is longer than 30s, ignore the video, create a script with the movements you like and save it.

IMPORTANT: Your Script NEEDS to have all the Axis your device has available and every Axis needs atleast 1 (!!) action in it. On switch from any player to Internal, not-set Axis might lunge out randomly. You probably want to prevent that.

  1. Make sure that “Load additional Scripts” (1) is set to on and that all your scripts (pitch, roll and so on) are in the same folder. Drop the base L0 script (2) (just “.funscript”) into the playlist.

  2. Return to the Settings and into the Shortcut tab. Select your Button Press and open the Actions tab.

  3. There are little wrenches next to some of the actions. Those allow you to change the values passed to them. We are going to set the following:

  • Internal::Looping::Set – We will set this to [False]
  • Internal::Playlist::PlayByName – We will set this to the name of the script we just added. In my case, “OrgasmScript.funscript”.
  • Media::PlayPause::set – We will set this to [True]
    image

All done!
You can now test it out once. Disconnect from “Internal” and tab into something else. Try pressing your Orgasm Switch and check if MultiFunPlayer automatically connects to Internal and plays the script. All your set Axis Values should be moving down in the MultiFunPlayer interface. If only L0 is moving, make sure you enabled “Load additional scripts”, as instructed.

This will allow your video to keep playing while the machine adjusts to you with the press of a button.

Enjoy your improved orgasm experience!

15 Likes

Too bad @HereSphere HS can not send keypresses to MFP.

The specific binding I showed in the guide works with HereSphere. At least, for me, LEFT CTRL gets passed.

Maybe it’s some funky interaction with one of the toggles in the settings or keys already bound by HereSphere.

What I mean is controller commands in HS cant be set to keyboard keys so you can not activate a MFP command without using the keyboard.

Thats one of the ways of doing this.

I think the easier solution is to set looping script motion provider on L0 with blend slider set to 100% motion provider (0% script). Then you can just use Axis::Bypass::MotionProvider::Toggle to enable/disable your script.
Tho one downside is that it might not start playing from the start each time you toggle it on, I’ll add an action to reset it to start.

You can also use custom curve motion provider to make a short script inside MFP so you dont have to make funscripts. It has a reset action so you can make it run from start on each toggle. And you can set it to non looping so it only runs once.

This should not happen and must be a bug. I dont know if this is even possible to happen because all media players cause sync on disconnect.

Instead of making funscript files for other axes, you could try Axis::Bypass::All to just stop motion on those axes completely, or Axis::SyncAll at as first action to make sure the axes are during sync when changing to Internal.

2 Likes