Skip to content

katodevin/MultiFunPlayer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MultiFunPlayer



About

MultiFunPlayer is a simple app to synchronize your devices (e.g. OSR or buttplug.io supported devices) with any video using funscripts. Supported video players are DeoVR, MPV, HereSphere and Whirligig. The player's main feature is the ability to play multiple funscripts at the same time, allowing for greater movement fidelity.

Features

  • Supports DeoVR, MPV, HereSphere and Whirligig video players
  • Supports buttplug.io, network TCP/UDP, namedpipes and serial output
  • Supports TCode v0.2 and TCode v0.3 devices
  • Auto detection and connection to any supported video player and output
  • Bind keyboard/mouse/gamepad input to almost any customizable action (150+ available actions)
  • Seek and play/pause video from MultiFunPlayer
  • Supports multiple concurrent outputs
  • Real time script smoothing using pchip or makima interpolation
  • Auto-home feature which when video is paused moves axis to its default value after some delay
  • Supports local, DLNA, web and unc video paths
  • Soft start sync feature to prevent unwanted motion
  • Script libraries to organize funscripts in different folders and load funscripts not located next to the video file
  • Ability to link unscripted axes to scripted axes
  • Ability to generate motion for unscripted axes with motion providers
  • Smart limit on R1 (roll) and R2 (pitch) axes to limit values based on L0 (stroke) height
  • Multi funscript heatmap with stroke length visualization
  • True portable app, no files are created/edited outside of the executable folder

How To

To synchronize with videos, start your desired video player and wait for automatic connection or click on the connect button to connect manually (NOTE: DeoVR, Whirligig and HereSphere require you to enable remote support in their settings). Once connected, the funscripts can be loaded in several ways:

  • Manually, by dragging a funscript file from windows explorer and dropping it on the desired axis File text box.
  • Manually, by using the Load script button in the axis settings toolbar.
  • Automatically, based on the currently played video file name if the funscripts are named correctly:
Common
Axis Description Valid file names
L0 Up/Down <video name>.funscript
<video name>.stroke.funscript
<video name>.L0.funscript
L1 Forward/Backward <video name>.sway.funscript
<video name>.L1.funscript
L2 Left/Right <video name>.surge.funscript
<video name>.L2.funscript
R0 Twist <video name>.twist.funscript
<video name>.R0.funscript
R1 Roll <video name>.roll.funscript
<video name>.R1.funscript
R2 Pitch <video name>.pitch.funscript
<video name>.R2.funscript
TCode v0.2
Axis Description Valid file names
V0 Vibrate <video name>.vib.funscript
<video name>.V0.funscript
V1 Pump <video name>.lube.funscript
<video name>.pump.funscript
<video name>.V1.funscript
L3 Suction <video name>.suck.funscript
<video name>.valve.funscript
<video name>.L3.funscript
TCode v0.3
Axis Description Valid file names
V0 Vibrate <video name>.vib.funscript
<video name>.V0.funscript
A0 Valve <video name>.valve.funscript
<video name>.A0.funscript
A1 Suction <video name>.suck.funscript
<video name>.A1.funscript

Names in bold are commonly used used and are preferred

The above file names are matched in all script libraries and in the currently playing video directory.

Prerequisites

About

simple app to synchronize OSR or buttplug.io devices with scripts

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%