Skip to main content

Separating Zoom Sensitivity from Pan and Tilt Sensitivity

By default Pan, Tilt, and Zoom are all controlled by the setting Joystick Sensitivity. This is not ideal for some users who would like Zoom to be controllable at its own sensitivity. To separate this out it is necessary to dive into the configuration and the json editor, but don't worry, it isn't too difficult. 

This example will be done on the PTZ Extreme but can be applied to all configurations. 


Joystick sensitivity is not set for the whole controller, but per camera configuration based on device core. The configuration in this instance is different from the panel mapping. There will be a different configuration added for each device core used. 

Different brands might use the same device core, example: BirdDog, NewTek, Marshall all use the Visca device core. 

1. Determine the number of PTZ configuration in your set up.
In the set up example there are 3 different device cores used as indicated in the Devices section. All devices will be grouped by the used core in this section. Screenshot 2022-12-16 at 13.29.42.png







2. Navigate to the Configuration Tab.

Screenshot 2022-12-16 at 13.46.26.png

3. Open the Tree to navigate to the Device Core Configurations. The tree expands from the bottom up, like a tree starting at the roots. (This is shown in a collapsed view)

Screen Shot 2022-12-19 at 8.44.20 AM.png

4. Navigate to the Joystick Sensitivity variable for a Device Core Configuration. 

Screenshot 2022-12-16 at 13.48.52.png

5. Open the Tree Layer with the Joystick Sensitivity Variable. When selected the layer will change color and you will see it open in the Inspector on the right side of the screen. 

Screenshot 2022-12-16 at 13.52.30.png

6. Create a new variable called ZoomSens. This could be named anything, but it is best to use something that will be easy to remember and type later. 

Screenshot 2022-12-16 at 13.58.04.png

7. Open the ZoomSens variable to edit the details. Use the same details as the JoystickSens variable. 
The name is however you would like it to display on the controller. 
The type is Range
The Min is 1
The Max is 10 (The scale should not exceed 10)
Default value is 10

Screenshot 2022-12-16 at 14.02.05.png

8. Go back to the Tree and select the JoyRot box in the same layer you are working in. This will open the joystick rotation (zoom) in the inspector. 

Screenshot 2022-12-16 at 14.08.36.png

9. DON'T PANIC

10. Open Show JSON for the JoyROT component. 

Screenshot 2022-12-16 at 14.09.54.png


11. Select Format

Screenshot 2022-12-16 at 14.11.57.png

12. Select Show Parent Behavior

Screenshot 2022-12-16 at 17.56.39.png

13. In the Window the pops up, select Format again. This will expand the data to see the whole JSON text. 

Screen Shot 2022-12-19 at 8.55.43 AM.png

14. Scroll down to the Joystick Sensitivity commands and copy the whole command set as seen below, every part is essential:

"ValueMapping": {
"ScalingDivisor": 10,
"ScalingIOReference": {
"Raw": "Var:JoystickSens"
}
},

Screen Shot 2022-12-19 at 8.57.39 AM.png

15. Close this window. 

16. In the Inspector, find the BehaviorSetValues text in the JSON editor. Click after the comma and hit enter.

Screenshot 2022-12-16 at 18.10.15.png

17. Paste in the text you copied from the Parent Behavior pop up. 

Screenshot 2022-12-16 at 18.12.52.png

18. Find the text in the pasted in command that say: "Var:JoystickSens"

Screenshot 2022-12-16 at 18.14.17.png

19. Edit this text to say: "Var:ZoomSens" then press Save

    If you did not name the variable you created earlier ZoomSens, you will type the name you did create here after the :

Screenshot 2022-12-16 at 18.16.20.png

20. If there is a Zoom Rocker, you will need to do steps 18 + 19 for that hardware component as well. 

Screenshot 2022-12-16 at 18.20.24.png

21. The variable and command have now both been set up. The last step is to assign control of the variable to an encoder. 

22. Go back to the tree view and navigate deeper in that device core configuration to the Camera Adjustment layer and open it. This will open the tree to see the different page layers of settings for the camera. They should be named based on the what they contain. Screenshot 2022-12-16 at 18.40.43.png

23. Navigate to and select the System layer, this is where the Joystick Sensitivity control is usually located but may also be on the Home page. This should be the same across all device core configurations. The number and names of layers will be different for each device core configuration. On each of them should be a Home and a System page.

Screenshot 2022-12-16 at 18.50.52.png

24. Find one of the encoders that does not currently have something assigned to it, you can see this by going to that page on your physical panel and seeing where a good place to put the Zoom Sensitivity Control would be. In this example I am using Encoder 4 (from right to left on the physical panel).Screenshot 2022-12-16 at 18.54.13.png

25. In the Inspector select Edit next to the Parameter.

Screenshot 2022-12-16 at 18.56.14.png

26. In the pop up window, select Variable. 

Screenshot 2022-12-16 at 18.57.15.png

27. In the drop down next to Variable Name, select ZoomSens and press Submit.Screenshot 2022-12-16 at 19.33.39.png

28. After submitting the Behavior should either suggest or auto-assign Step Change. This is the correct behavior. 

Screenshot 2022-12-16 at 19.34.48.png

29. You should now be able to control Zoom Sensitivity separately from Pan and Tilt. 

Screenshot 2022-12-16 at 19.36.29.png

30. If you are combining cameras that use multiple device cores on your panel, you will need to go in and do the same in each device core configuration. In the example below there are 3 different configurations and we made the changes to the Canon configuration. 

Screenshot 2022-12-16 at 19.38.01.pngScreen Shot 2022-12-19 at 9.00.26 AM.png