buttplugio / awesome-buttplug

A list of awesome projects that use the Buttplug Sex Toy Control Library
553 stars 38 forks source link

Simple Python script playing videos alongside their funscripts. Suppo… #85

Closed ghost closed 4 months ago

ghost commented 4 months ago

This adds a reference in the Video sync section, to a simple Python script shared my monsieur_so in milovana and patched in a few places by give_a_nap to fix some minor issues. Detailed history in the Milovana forum post. Github repo created to maintain the script here.

Executive summary:

CLAassistant commented 4 months ago

CLA assistant check
All committers have signed the CLA.

ghost commented 4 months ago

Apologies for the double-submission, I had issues with Github's CLA.

qdot commented 4 months ago

I love that the milovana forums are still active. I should stop and say hi again soon. :D

And ugh, I need to remove the CLA bot from this repo, that's really just for our main API repos.

ghost commented 3 months ago

Thanks for the merge, I hope the script enables more Linux people to try things out.

I also just wanted to thank you for all your work that made this possible.

qdot commented 3 months ago

I'm debating adding more basic functionality for things like funscript playback, music sync, etc to intiface, since it already compiles everywhere. Just gotta figure out how to do it without stepping on the feet of my community. :)

ghost commented 3 months ago

For what it's worth, I support the notion :-)

The python script of monsieur_so covers my needs for now, but I am pretty sure you'd do a far better job - and the result would be more maintainable and clean. My patches to address the bugs made it even worse - it works, but it ain't pretty :-)

I guess the issue is that there's too many players to work with... In the linux world it's kind of easy, since mpv and VLC are defacto standards; but there's also VR players... In monsieur_so's script, mpv calls back approximately 20 times a second, so it's easy(er) to implement funscript syncing. But what do you do with e.g. DeoVR? Where you get notified once per second? The latency is completely unknown - I could write code to "sync the clocks" so to speak, but I have no idea about the initial latency, unless I send the packet to start the playback myself. And that has latency of its own...

So for now, I use the "start from pause" way which works fine, but is a bit tedious.

Anyway, I digress - thanks again for all your work.