Coyote Socket - A DG Labs Coyote GUI

Originally posted as a follow-up to @Cardot’s thread since his work inspired this project, but enough people have asked that this get it’s own thread so here it is.


Features

  • Supports V2 and V3 DG-Lab Coyote Devices
  • Customizable hotkeys to increase/decrease all values
  • Settings are remembered between sessions
  • Ability to bind any option (frequency, intensity, etc) to a TCode channel (L/R0-2) with a custom curve
  • Link A to B system to an Interplay system with several options
  • Multiple input processing engines. Try each and see which feels best with your script
  • Presets: Save your favorite settings
  • ButtPlug support: still a work in progress, but it connects, I’m just not sure how well it’s handling the position commands. TCode support is just better still.
  • Output waveform visualizers: See what’s getting sent to your device
  • Pause Button: Pause all output to the device at any time by pressing the button or the corresponding hotkey (defaults to space).

Download It OR Contribute (It’s open-source)


How to Use
Full usage guide is available on GitHub

I’d recommend using MultiFunPlayer and then using WebSockets to connect to Coyote Socket.

6 Likes

Worked like a charm. Thanks for the help. :face_savoring_food:

Thanks for the program!

Could you please add how to connect it to Intiface?

I’ve been using this for quite awhile now and with T-Code support for all of the controls, it’s the most powerful tool for funscripts on the Coyote. Awesome work.

What does this mean? I tried to find this in the GitHub documentation, but what’s an Interplay system?

I was just tinkering with this the other day. I wasn’t able to connect it to intiface, but the thing I was trying to connect to intiface was able to connect to Coyote Socket was able to connect to it directly through the buttplug support it has.

If anyone has experience connecting buttplug compatible websocket devices through Intiface, please jump in. I don’t know enough about it to help.

This is specifically the value linking system. Ever channel value can be linked to any T Code input and the links even have settings for utilizing midpoint, other mapping functions, etc.

I love the interface, but I’m confused how people are actually using this. It seems that the “no input behavior” is completely ignored by the program.

It wouldn’t be so bad to just ignore the value, but the default behavior seems to be the worst possible implementation. As far as I can tell, when a script is playing, if the input stops, coyote socket sets the intensity to MAXIMUM. No one anywhere wants that behavior, but it seems like that’s an un-changable default.

There also seems to be no way to actually set the intensity minimum to 0. It only has the extremely confusing minimum/maximum slider. For example, why, in the picture below, is the MINIMUM listed as the same as the maximum when the minimum slider is clearly at 0.

image

Am I completely missing something? Are people actually using this software with that behavior? I understand that this was vibe-coded, but the vibe used appears to be pain.

The two intensity percentages is showing the highest value(bigger number) and the difference between the two intensities. So if you have the minimum at 6% and the max at 16%, one number will be 10% and the other will be 16%.
In your image, the lowest level is 0%

I’m not having your intensity set to maximum issue, but I’m also using MFP to control things and whatever I’ve done seems to work. I’m basically taking the left and right channels and mirroring them to create a stroking effect while connecting the ‘middle’ electrode connected as a common to both channels.

I also use MFP, how does the intensity behave when the input is zero for you?

Example: Intensity mapped to vibrate in MFP, vibrate is currently 0, output display shows channel A at MAX.

image

Even the input monitor shows that the input is 0, but it’s still outputting MAX. That’s got to be a bug.

hey i ran into a little bit of an issue trying to connect the coyote 3 to the app. it says it cant find the device. i went into my bluetooth settings to make sure it was on and working, it was. so i did a scan to see if the computer could see the coyote and it can. and can even connect to it through the bluetooh menu on windows. but the scan on the ap just cant seem to find it. anything i should try out or info i could send you to help figure this out?

Just found a solution to this as I was having the exact same issue.
Within MultiFunPlay you can set the AutoHome to Target Value 0 with no delay so that on pause it will stop sending a signal to CoyoteSocket.

Note that even though the target is now zero in MFP, Coyote will still output the minimum intensity you have set on the channel when paused but this can be put to zero as well by just setting the min intensity to zero.

Hope this helps!

1 Like

Did not work for me, but it seemed to make things random. Can you please post your settings in Coyote Socket, or tell me what you see wrong?

Here, the input is completely 0, and I have your settings, but the output (purple on the bottom right) is MAX:

But here, from a pausing a few seconds later, it behaves as expected now:

Now the program can’t tell if it should go to zero when the input is 0, or go to MAX, so it flips a coin. Tried with all the different input behavior settings ans saw no difference:

Here is what I have set on my CoyoteSocket


(Set to Decay but also works with Zero immediately)

I think I am noticing where the difference is.
I am only using the L0 output which is making it stable however if I use another output it breaks again.

The solution to this is that you have to set the home setting to zero on each output type in MFP as it doesnt change all at once by default


See how you go wi0ch changing the home setting on all the outputs you are using.
Fingers crossed


Text