obs-zoom-to-mouse icon indicating copy to clipboard operation
obs-zoom-to-mouse copied to clipboard

Issue macOS 14.6 for M1 Pro - Not tracking properly

Open benjaminfiliatrault opened this issue 1 year ago • 13 comments
trafficstars

Description

The tracker works for a little bit and then stop, then work again then stop.

It is not following the mouse on the screen properly

Environment

  • MacOS 14.6.1
  • Apple M1 Pro
  • OBS Version: 30.2.3

Notes

I'm using the "macOS Screen capture" since the deprecated Display Capture do not show in Zoom Source

Video of behavior

https://github.com/user-attachments/assets/fcb1de14-b8f2-47d6-bf59-96e9284062fa

Debug logs

Debug logs
[obs-zoom-to-mouse.lua] Zoom crop filter removed
[obs-zoom-to-mouse.lua] Transform info reset back to original
[obs-zoom-to-mouse.lua] Transform crop reset back to original
[obs-zoom-to-mouse.lua] OBS Version: 30.2.3
[obs-zoom-to-mouse.lua] Platform: OSX
[obs-zoom-to-mouse.lua] Current settings:
[obs-zoom-to-mouse.lua] {
[obs-zoom-to-mouse.lua]   use_socket = false,
[obs-zoom-to-mouse.lua]   socket_port = 12345,
[obs-zoom-to-mouse.lua]   socket_poll = 10,
[obs-zoom-to-mouse.lua]   debug_logs = true,
[obs-zoom-to-mouse.lua]   use_auto_follow_mouse = true,
[obs-zoom-to-mouse.lua]   use_follow_outside_bounds = true,
[obs-zoom-to-mouse.lua]   follow_speed = 0.25,
[obs-zoom-to-mouse.lua]   follow_border = 8,
[obs-zoom-to-mouse.lua]   follow_safezone_sensitivity = 4,
[obs-zoom-to-mouse.lua]   use_follow_auto_lock = false,
[obs-zoom-to-mouse.lua]   zoom_value = 2,
[obs-zoom-to-mouse.lua]   zoom_speed = 0.06,
[obs-zoom-to-mouse.lua]   version = 1.0.2,
[obs-zoom-to-mouse.lua]   use_monitor_override = false,
[obs-zoom-to-mouse.lua]   monitor_override_x = 0,
[obs-zoom-to-mouse.lua]   monitor_override_y = 0,
[obs-zoom-to-mouse.lua]   monitor_override_w = 1920,
[obs-zoom-to-mouse.lua]   monitor_override_h = 1080,
[obs-zoom-to-mouse.lua]   monitor_override_sx = 1,
[obs-zoom-to-mouse.lua]   monitor_override_sy = 1,
[obs-zoom-to-mouse.lua]   monitor_override_dw = 1920,
[obs-zoom-to-mouse.lua]   monitor_override_dh = 1080,
[obs-zoom-to-mouse.lua] }
[obs-zoom-to-mouse.lua] Adding transition_start listener to Cut
[obs-zoom-to-mouse.lua] Adding transition_start listener to Fade
[obs-zoom-to-mouse.lua] Finding sceneitem for Zoom Source 'macOS Screen Capture'
[obs-zoom-to-mouse.lua] Looking in scene 'Vertical'
[obs-zoom-to-mouse.lua] Found sceneitem 'macOS Screen Capture'
[obs-zoom-to-mouse.lua] Parsing display name: Built-in Retina Display: 1728x1117 @ 0,0
[obs-zoom-to-mouse.lua] Parsed the following display information
[obs-zoom-to-mouse.lua] {
[obs-zoom-to-mouse.lua]   display_width = 1728,
[obs-zoom-to-mouse.lua]   height = 1117,
[obs-zoom-to-mouse.lua]   x = 0,
[obs-zoom-to-mouse.lua]   y = 0,
[obs-zoom-to-mouse.lua]   display_height = 1117,
[obs-zoom-to-mouse.lua]   scale_y = 1,
[obs-zoom-to-mouse.lua]   scale_x = 1,
[obs-zoom-to-mouse.lua]   width = 1728,
[obs-zoom-to-mouse.lua] }
[obs-zoom-to-mouse.lua] Using source size: 3456, 2234
[obs-zoom-to-mouse.lua] Parsing display name: Built-in Retina Display: 1728x1117 @ 0,0
[obs-zoom-to-mouse.lua] Parsed the following display information
[obs-zoom-to-mouse.lua] {
[obs-zoom-to-mouse.lua]   display_width = 1728,
[obs-zoom-to-mouse.lua]   height = 1117,
[obs-zoom-to-mouse.lua]   x = 0,
[obs-zoom-to-mouse.lua]   y = 0,
[obs-zoom-to-mouse.lua]   display_height = 1117,
[obs-zoom-to-mouse.lua]   scale_y = 1,
[obs-zoom-to-mouse.lua]   scale_x = 1,
[obs-zoom-to-mouse.lua]   width = 1728,
[obs-zoom-to-mouse.lua] }
[obs-zoom-to-mouse.lua] Zooming in
[obs-zoom-to-mouse.lua] Zoomed in
[obs-zoom-to-mouse.lua] Tracking mouse is on (due to auto follow)
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 864, 640
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 864, 598
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 864, 1070
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1373, 562
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1256, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1255, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1255, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1255, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1256, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1256, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1256, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1256, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1256, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1256, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1256, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1256, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1256, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1256, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1256, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1537, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1538, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1538, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1539, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1539, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1540, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1540, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1540, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1541, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1693, 558
[obs-zoom-to-mouse.lua] Locked area exited - resume tracking
[obs-zoom-to-mouse.lua] Cursor stopped. Tracking locked to 1578, 1113
[obs-zoom-to-mouse.lua] Zooming out
[obs-zoom-to-mouse.lua] Tracking mouse is off (due to zoom out)
[obs-zoom-to-mouse.lua] Zoomed out

benjaminfiliatrault avatar Oct 29 '24 22:10 benjaminfiliatrault

Same here. Seems like the dimensions are off, the script will follow the mouse to the upper left, but only about 75% to the right and down 🤔

aaronfay avatar Nov 15 '24 04:11 aaronfay

@benjaminfiliatrault me and Cursor sat down for an hour and played "random Lua generator" until we came up with something that worked for me. No warranty implied: https://gist.github.com/aaronfay/a1b4272b43d83a8088969800e952d9e0

In my instance, whenever the mouse was on the right side of the display, the script would zoom perfectly into the middle, hinting that the retina display values weren't being calculated correctly.

https://github.com/user-attachments/assets/41f75797-525a-41b1-973b-4db32f5c3da0

aaronfay avatar Nov 15 '24 07:11 aaronfay

I just upgraded my mac, and now to OBS 30.2.3 and my script above is not working again, I'll post an update if I get a fix in place

aaronfay avatar Nov 16 '24 00:11 aaronfay

Same issue here. I thought its just on my end. Working on a Macbook M1.

regenrek avatar Nov 17 '24 22:11 regenrek

My suspicion here is that you all have retina displays here?

There is an issue with how OBS reports the resolution of your monitor when you have a retina display. So the script thinks that your resolution is smaller than it actually is.

Your best bet is to use the manual source settings to override the calculated values and give the script the actual resolution and size of everything.

The values will be different depending on your real resolution, canvas size, filters and stuff, so I can't give you exact values, but try playing with those and you should be able to get it tracking correctly.

You can take a look at: #24 Which has some ideas

BlankSourceCode avatar Nov 23 '24 17:11 BlankSourceCode

It is definitely a retina display issue. I had the script working, but then I upgraded to Sequoia and it is not working again. Thanks for the pointer @BlankSourceCode

aaronfay avatar Nov 23 '24 17:11 aaronfay

I also upgraded the mac os system to macos sqoia 15.2 and the script is basically available.

egtai avatar Dec 16 '24 10:12 egtai

I may have fixed your issues in my version of the script. The original script did not work for me on Mac OS Sequoia 15.1 on M4 Pro with Retina display. Feel free to try mine: https://github.com/ZakirG/obs-zoom-to-mouse-mac-sequoia

ZakirG avatar Feb 08 '25 20:02 ZakirG

I tried @ZakirG's conde on 15.3 with multi-monitor, and the coordinates are off. With zoom following mouse I was able to find the zoom but I had to move my cursor to the end of a different monitor.

mattharrison avatar Feb 11 '25 04:02 mattharrison

Image

pig6 avatar Feb 23 '25 04:02 pig6

Image

pig6 avatar Mar 02 '25 06:03 pig6

@pig6

LG 外置显示器分辨率 / External LG Monitor Resolution: 3840x2160 MacOS Studio 显示器设置 / MacOS Studio Display Setting: 2560x1440

我的设置 My settings should be: Width: 3840 Height 2160 ScaleX 1.5 ScaleY 1.5 Monitor Width: 2560 Monitor Height: 1440

我理解的对吗?Correct?


不太明白 "Transform" 设置。每次重置后默认是 5120x2880,应该要设置什么呢? The "Transform" settings are still a bit confusing though. Once reset, it always default to 5120x2880. What are the correct values in my case?

Image

drewzhao avatar Mar 02 '25 14:03 drewzhao

Following this issue, because I experience the same behaviour on my retina display. MacOS 15.3.2 M1 Max 16"

Lejouz avatar Mar 26 '25 14:03 Lejouz