Another release for you to go and try. The big change in this release is speed ramping on the controls. The speed slider has been removed entirely and the speed of movements starts small, and ramps up the longer the button is held down. This behaviour appears to be more user-friendly, but I would like to have feedback on how it is working.

The other big change is in how a PTZ device is associated with an OBS source. Instead of having to manually name the PTZ device exactly the same as the PTZ source, now there is a combo box in the settings dialog to choose which source the camera is connected to.

Finally there are a bunch of backend fixes and cleanups that make the plugin more reliable. VISCA TCP connections should automatically reconnect. Camera settings and state are kept up to date and can be viewed in the settings dialog when debug is turned on. In a future release those changes will allow some of the settings to be controlled easily.

Hopefully this will work well for all of you. As always, please test in a controlled environment before using in production, and let me know how it goes, either good or bad. I always love to hear feedback and how you're using this plugin.
This is a minor bug fix release. It fixes toolbar controls that weren't working, and it fixes the Windows installer to remove old versions of the plugin so that an error message isn't shown when OBS starts.
I've just released v0.12.0 which works with OBS Studio v28. Lots of bug fixes and tweaks in this one, plus binaries for MacOS, Windows and Linux. You can find the full release notes on GitHub here. Please test and report back.
  • Like
Reactions: Paul74
This is another test release. I do not recommend using it in a production environment, but please do test and let me know how it is working. Serial port support has been turned on again, so it will work for your VISCA over UART and PELCO devices.
  • Like
Reactions: GregPeatfield
A first test release of the plugin that works with OBS Studio v28 is available now. This is only a test release, and a lot of stuff is still broken, but it should at least run. If you have some time and don't care if it breaks your system then please give it a try and report back here how it goes.

Minor fixes for compatibility with Face Tracker v0.4.2. There is no need to update unless you're using the Face Tracker plugin. Also, please remember that Face Tracker integration is experimental and you may encounter bugs or tracking problems. Always test before using for a live stream.
v0.10.1 didn't work for MacOS. The serial port library wasn't able to find the Qt libraries on machines without the OBS development environment set up. I think I've got it sorted now. Please try this new release.

There was also a crash on exit bug that I've fixed.
  • Like
Reactions: GregPeatfield
Hi everyone. I've just pushed out a minor release adding MacOS support! This is the first time I've released a MacOS build and there may be problems. Please test and let me know how it goes.

There are no other changes in this release, so if you are already using v0.10.0 you do not need to upgrade.
I need some help with this project. The PTZ Controls plugin needs an icon, but my graphic design skills are laughable at best. Are there any artistically minded folks would would like to create an icon for the project? If so, let me know by commenting in the discussion thread here:

To be used in the project I would need permission to use the icon either under the terms of the project license which is GPLv2, or under a creative commons license. It needs to be round and at least 100x100px in size to look good here in the OBS Project resource list, though a resizeable vector SVG would be even better.
  • Like
Reactions: norihiro
It took a few -rc releases to finally squash a bug on the live camera lock feature where sometimes a device moving from program to preview will still have its controls locked, and to sort out some UI issues, but it seems to be sorted now. So, v0.10.0 is out there with some helpful new features please go and test.

If you haven't already seen it, here is a short video showing of the live camera lock feature:

New Features:
  • Provide list of source names when setting device name
  • Make PTZ device name track source name
  • Allow device to be associated with any source name
  • Move PTZDevice contructor/destructor into cpp
  • Assign each device a persistant unique id
  • Add config to disable controls for active scene
  • Use toolbar buttons instead of radio buttons for autoselect mode
  • Add button for manually unlocking the live camera lock
Bug fixes and codebase improvements
  • Only send stop commands when needed
  • Drop unnecessary calls to setFlat() on focus buttons
  • Fix setting state of livemoveDisable checkbox
  • Use the same terminology between dock and settings
  • visca-over-tcp: Automatically reconnect when sending
  • Fix Linux build
  • trivial: Fix layout of settings dialog
  • action-source: Fix handling of disabled sources
  • action-source: use .activate() callback
  • Remove unused signal handler from action source
  • trivial: Delete commented out code from ptz-controls.cpp
  • Drop default hostname/address from visca over IP config
  • ptz-device: fix name handling
  • Pass obs_data_t config to PTZDevice constructor
  • Update screenshots
  • Always use .currCamera() to get ptz device
  • Rename "camera" to "device_id" in the action filter
  • ui: Remove errant '&' from setting dialog
  • visca: Clamp device address to [1,7]