buttplug-py icon indicating copy to clipboard operation
buttplug-py copied to clipboard

send_vibrate_cmd(float) only works with single-motor devices

Open Baguettedood opened this issue 4 years ago • 0 comments

Devices with multiple motors will not vibrate as expected when using send_vibrate_cmd(float). Instead, only the first motor of that device will vibrate.

Steps to reproduce:

  1. Connect a device with multiple motors (e.g. Lovense Edge)
  2. Perform send_vibrate_cmd(1.0) on that device.
  3. The first motor will vibrate while the second does not.

Expected behavior:

All motors will vibrate with the same intensity.

It appears to be because Line 255 of buttplug/client/client.py only sets the speed of the motor at index 0 and does not consider devices with multiple motors.

Workaround: Multiplying a list by the number of motors: e.g.

vibratorCount = dev.allowed_messages["VibrateCmd"].feature_count
intensity = [1.0] * vibratorCount
await dev.send_vibrate_cmd(intensity)

Baguettedood avatar Aug 23 '20 04:08 Baguettedood