tryptech / obs-zoom-and-follow

Dynamic zoom and mouse tracking script for OBS Studio
Apache License 2.0
375 stars 62 forks source link

It crashes when every time when I tried to zoom in on vsti plugin in Ableton Live #122

Open Rilliums opened 1 year ago

Rilliums commented 1 year ago

It works well BUT I am a musician and I stream some tutorials. This script is great! Every time I open the window of some 3rd part virtual instruments (VSTi plugin) and VST fx plugins in Ableton and then tried to zoom in the script crashes and I see this log (MacOS Ventura, M1):

[zoom_and_follow_mouse_copy.py] Source loaded successfully: screen_capture [zoom_and_follow_mouse_copy.py] Source Type: screen_capture [zoom_and_follow_mouse_copy.py] Apple Silicon [zoom_and_follow_mouse_copy.py] Found monitor 1 | Built-in Retina Display [zoom_and_follow_mouse_copy.py] Manual monitor size enabled [zoom_and_follow_mouse_copy.py] Dimensions set to: [zoom_and_follow_mouse_copy.py] Width, Height, X, Y [zoom_and_follow_mouse_copy.py] 3456, 2234, 0, 0 [zoom_and_follow_mouse_copy.py] Zoom: True [zoom_and_follow_mouse_copy.py] Mouse position: [779, 654] [zoom_and_follow_mouse_copy.py] Zoom: False [zoom_and_follow_mouse_copy.py] Traceback (most recent call last): [zoom_and_follow_mouse_copy.py] File "/Applications/OBS.app/Contents/PlugIns/frontend-tools.plugin/Contents/Resources/scripts/zoom_and_follow_mouse_copy.py", line 915, in toggle_zoom [zoom_and_follow_mouse_copy.py] zoom.update_sources() [zoom_and_follow_mouse_copy.py] File "/Applications/OBS.app/Contents/PlugIns/frontend-tools.plugin/Contents/Resources/scripts/zoom_and_follow_mouse_copy.py", line 110, in update_sources [zoom_and_follow_mouse_copy.py] self.windows = pwc.getAllWindows() [zoom_and_follow_mouse_copy.py] File "/Users/kirill/.pyenv/versions/3.10.9/Library/Frameworks/Python.framework/Versions/Current/lib/python3.10/site-packages/pywinctl/_pywinctl_macos.py", line 126, in getAllWindows [zoom_and_follow_mouse_copy.py] titleList = _getWindowTitles() [zoom_and_follow_mouse_copy.py] File "/Users/kirill/.pyenv/versions/3.10.9/Library/Frameworks/Python.framework/Versions/Current/lib/python3.10/site-packages/pywinctl/_pywinctl_macos.py", line 403, in _getWindowTitles [zoom_and_follow_mouse_copy.py] res = ast.literal_eval(ret) [zoom_and_follow_mouse_copy.py] File "/Users/kirill/.pyenv/versions/3.10.9/Library/Frameworks/Python.framework/Versions/Current/lib/python3.10/ast.py", line 64, in literal_eval [zoom_and_follow_mouse_copy.py] node_or_string = parse(node_or_string.lstrip(" \t"), mode='eval') [zoom_and_follow_mouse_copy.py] File "/Users/kirill/.pyenv/versions/3.10.9/Library/Frameworks/Python.framework/Versions/Current/lib/python3.10/ast.py", line 50, in parse [zoom_and_follow_mouse_copy.py] return compile(source, filename, mode, flags, [zoom_and_follow_mouse_copy.py] ValueError: source code string cannot contain null bytes

pls help, really want to know what's wrong

Upd: When I turn on zoom in at first and tnen open window of plugins - it's ok. but when I tried to turn of zooming it crashes again.

tryptech commented 1 year ago

Window capture was recently removed from macOS support as it was causing a number of issues as it is currently implemented. That's the part of the code that seems to be throwing the issues.

Could you please try to reproduce the issue on the current version of the script?