logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
snabela86  
#1 Posted : Wednesday, July 13, 2022 9:44:55 AM(UTC)
snabela86

Rank: Member

Groups: Registered
Joined: 3/21/2017(UTC)
Posts: 10

Was thanked: 1 time(s) in 1 post(s)
Hi!

I really like the pressure sensitive control with the analog stick on the Xbox controller, but would also need a way to adjust that pan/tilt ptz speed using more variables. I have searched a bit but haven't found a post with this exactly request, but sorry if this is a duplicate.

Today 0.5 pressure is 0.5 movement speed. I would like to set it to half the speed, like 0.5 pressure is 0.25 speed. Just to make the control stick less sensitive, like this formula:
Pressure * 0.5 = movement speed

An even better solution is to make it possible to set the movement speed slower the more zoomed in you are. Maybe a formula like this:
Pressure * (1-(zoom * 0.9))=movement speed

So half a press on the controller is 0.5, and zoom value is 1 when fully zoomed in, results in:
0.5 * (1-(1 * 0.9))=0.05 movement speed

When fully zoomed out it's:
0.5*(1-(1 * 0))=0.5 movement speed

I hope you understand all my explanations! My reason is simply to make sure to have slow (but still pressure sensitive) movements in all scenarios.

I have tried doing some stuff using VB scripts but couldn't figure out how to solve this. Then I tried using JavaScript and gamepad API to register the movement of the Xbox controller's analog stick, then make API calls to vMix, and adjust the speed that way. The problem here is that the tab in the browser must be active all the time and vMix can't be full screen, otherwise the browser disables the gamepad API (in general puts the tab to sleep) and my clever workaround doesn't work any longer. Another problem is that I don't know the zoom position, so I can't adjust the speed based on the zoom value.

Another thought was to make API calls directly to the PTZ Optics camera to move it, but that would also depend on API calls from my JavaScript code and an active browser tab. PTZ Optics didn't have a rest API for getting the position of the zoom either.

It was a long text. If you know a solution for this, please share it with me. Otherwise I hope that you think it's a good future implementation request to vote for. :)

Thanks in advance!
Johan
paco3346  
#2 Posted : Wednesday, July 13, 2022 1:23:47 PM(UTC)
paco3346

Rank: Advanced Member

Groups: Registered
Joined: 9/10/2015(UTC)
Posts: 81
United States

Thanks: 2 times
Was thanked: 21 time(s) in 19 post(s)
I feel your pain. Logarithmic movement speed would be nice. One thing that is a limiting factor, though, is that any VISCA based camera (this includes PTZ Optics) only has 8 movement speeds.
Rille  
#3 Posted : Wednesday, July 13, 2022 3:58:19 PM(UTC)
Rille

Rank: Member

Groups: Registered
Joined: 11/10/2016(UTC)
Posts: 14
Location: sweden

Thanks: 1 times
+1 from me
doggy  
#4 Posted : Wednesday, July 13, 2022 4:45:24 PM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 4,311
Belgium
Location: Belgium

Thanks: 246 times
Was thanked: 771 time(s) in 629 post(s)
Originally Posted by: snabela86 Go to Quoted Post
Hi!

Another problem is that I don't know the zoom position,



When playing with a variable remote zoom control (Birddog - serial - arduino) i noticed there was a whole list of Visca commands the get feedback from the camera . amongst them there was zoom position.
HoverJackal  
#5 Posted : Friday, July 22, 2022 7:47:33 AM(UTC)
HoverJackal

Rank: Member

Groups: Registered
Joined: 10/6/2020(UTC)
Posts: 10
United States
Location: New York

Thanks: 4 times
I'm also looking for a solution for this. Xbox controllers are way too sensitive to rack smoothly.
HoverJackal  
#6 Posted : Friday, July 22, 2022 9:04:41 AM(UTC)
HoverJackal

Rank: Member

Groups: Registered
Joined: 10/6/2020(UTC)
Posts: 10
United States
Location: New York

Thanks: 4 times
I'm not a big programmer so I wasnt able to figure out the Javascript + Gamepad API solve like you did, but I did just find this app for windows called reWASD that will let you linearly customize your joystick response "curve".

I tuned everything by half and now I've got a pretty smooth PTZ control. It also runs nicely in the background and im pretty sure if you close the app the settings are still applied.

Has a 7 day trial and costs $14 to unlock but it seems worth it.
Tuomas  
#7 Posted : Sunday, November 13, 2022 9:23:30 PM(UTC)
Tuomas

Rank: Newbie

Groups: Registered
Joined: 11/14/2021(UTC)
Posts: 5
Finland

Coupple of years ago I started writing Auto Hotkey Script that you could use to control Panasonic cameras.
I did not finished it because reasons... :-D But anyway if anyone like to take a look at it is available in Github.
https://github.com/TuomasJaa/PanasonicController

Or even better... If vMix just implements variable speed, dualrate and expo settings for joystick momevent that would be nice.
doggy  
#8 Posted : Sunday, November 13, 2022 10:31:44 PM(UTC)
doggy

Rank: Advanced Member

Groups: Registered
Joined: 12/27/2012(UTC)
Posts: 4,311
Belgium
Location: Belgium

Thanks: 246 times
Was thanked: 771 time(s) in 629 post(s)
Originally Posted by: paco3346 Go to Quoted Post
I feel your pain. Logarithmic movement speed would be nice. One thing that is a limiting factor, though, is that any VISCA based camera (this includes PTZ Optics) only has 8 movement speeds.


See my other response in this post (arduino - serial)
While there are "only" 8 fixed speeds the trick is to change the speed based on the throw position (resistor value) of the joystick and using the Visca "variable" zoom speed command

thanks 1 user thanked doggy for this useful post.
eduardocfs on 11/13/2022(UTC)
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.