nutti / Screencast-Keys

Blender Add-on: Screencast Keys
GNU General Public License v3.0
1.27k stars 112 forks source link

Not working in Blender 4.02 on macOS #194

Closed akagumo closed 8 months ago

akagumo commented 8 months ago

System Information

Expected behavior

overlay to show

Description about the bug**

install add-on, enable it, check Screencast Keys on nothing restart blender. nothing uninstall add-on, reinstall, enable, restart blender, check Screencast Keys on nothing

Screenshots/Files [Optional]

Additional comments [Optional]

Blender Info shows when checking on bpy.data.window_managers["WinMan"].enable_screencast_keys = True

and when checking off bpy.data.window_managers["WinMan"].enable_screencast_keys = False

seems like it should work, but no overlay

nutti commented 8 months ago

@akagumo

Could you show me the output of a system console?

akagumo commented 8 months ago

Python console inside Blender? Not sure what you need.

On Feb 9, 2024, at 6:50 PM, nutti @.***> wrote:

@akagumo Could you show me the output of a system console? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

nutti commented 8 months ago

@akagumo

See the answer of the following link. https://blender.stackexchange.com/questions/145890/where-is-the-system-console You can see detailed logs on the system console. These logs are useful for me to investigate your issue.

mac4kent commented 8 months ago

Yes exactly same I have. blender 4.1.0 Beta there screencast key turn enable on doesn't show up display.

image

and

image

See screencast key https://imgur.com/E47XCC5

anthonyesau commented 8 months ago

Screencast Keys isn't working for me either on macOS and Blender 4.02.

MacBook Pro 14-inch, 2021 Chip Apple M1 Pro Memory 16 GB macOS Sonoma 14.3.1

FYI, showing the console on macOS is a little more involved than other operating systems. See How to open system console to get output from Blender on Mac OS 10? - Blender Stack Exchange.

Last login: Tue Feb 13 08:07:35 on ttys000
/Applications/Blender.app/Contents/MacOS/Blender ; exit;
username@MBP ~ % /Applications/Blender.app/Contents/MacOS/Blender ; exit;
Read prefs: "/Users/username/Library/Application Support/Blender/4.0/config/userpref.blend"
WARN (bgl): source/blender/python/generic/bgl.cc:2678 BPyInit_bgl: 'bgl' imported without an OpenGL backend. Please update your add-ons to use the 'gpu' module.
Exception in module register(): /Users/username/Library/Application Support/Blender/4.0/scripts/addons/blender_cloud/__init__.py
Traceback (most recent call last):
  File "/Applications/Blender.app/Contents/Resources/4.0/scripts/modules/addon_utils.py", line 401, in enable
    mod.register()
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/blender_cloud/__init__.py", line 93, in register
    from . import (
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/blender_cloud/texture_browser/__init__.py", line 30, in <module>
    from . import (
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/blender_cloud/texture_browser/menu_item.py", line 13, in <module>
    from . import draw
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/blender_cloud/texture_browser/draw.py", line 18, in <module>
    shader = gpu.shader.from_builtin("2D_UNIFORM_COLOR")
ValueError: expected a string in ('FLAT_COLOR', 'IMAGE', 'IMAGE_COLOR', 'SMOOTH_COLOR', 'UNIFORM_COLOR', 'POLYLINE_FLAT_COLOR', 'POLYLINE_SMOOTH_COLOR', 'POLYLINE_UNIFORM_COLOR'), got '2D_UNIFORM_COLOR'
Imported multifiles
Registered Group Pro
Exception in module register(): /Users/username/Library/Application Support/Blender/4.0/scripts/addons/blender_cloud/__init__.py
Traceback (most recent call last):
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/blender_cloud/__init__.py", line 69, in reload_mod
    old_module = sys.modules[modname]
KeyError: 'blender_cloud.texture_browser'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Applications/Blender.app/Contents/Resources/4.0/scripts/modules/addon_utils.py", line 401, in enable
    mod.register()
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/blender_cloud/__init__.py", line 87, in register
    texture_browser = reload_mod("texture_browser")
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/blender_cloud/__init__.py", line 72, in reload_mod
    new_module = importlib.import_module(modname)
  File "/Applications/Blender.app/Contents/Resources/4.0/python/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/blender_cloud/texture_browser/__init__.py", line 30, in <module>
    from . import (
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/blender_cloud/texture_browser/menu_item.py", line 13, in <module>
    from . import draw
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/blender_cloud/texture_browser/draw.py", line 18, in <module>
    shader = gpu.shader.from_builtin("2D_UNIFORM_COLOR")
ValueError: expected a string in ('FLAT_COLOR', 'IMAGE', 'IMAGE_COLOR', 'SMOOTH_COLOR', 'UNIFORM_COLOR', 'POLYLINE_FLAT_COLOR', 'POLYLINE_SMOOTH_COLOR', 'POLYLINE_UNIFORM_COLOR'), got '2D_UNIFORM_COLOR'
Traceback (most recent call last):
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/ops.py", line 1432, in draw_callback
    draw_rect(0, 0, 0, 0, [0.0, 0.0, 0.0, 0.0])
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/ops.py", line 282, in draw_rect
    imm.immEnd()
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/gpu_utils/imm.py", line 262, in immEnd
    batch = batch_for_shader(shader, 'TRIS', data, indices=indices)
  File "/Applications/Blender.app/Contents/Resources/4.0/scripts/modules/gpu_extras/batch.py", line 61, in batch_for_shader
    attrs_info = shader.attrs_info_get()
AttributeError: 'NoneType' object has no attribute 'attrs_info_get'
Traceback (most recent call last):
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/ops.py", line 1432, in draw_callback
    draw_rect(0, 0, 0, 0, [0.0, 0.0, 0.0, 0.0])
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/ops.py", line 282, in draw_rect
    imm.immEnd()
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/gpu_utils/imm.py", line 262, in immEnd
    batch = batch_for_shader(shader, 'TRIS', data, indices=indices)
  File "/Applications/Blender.app/Contents/Resources/4.0/scripts/modules/gpu_extras/batch.py", line 61, in batch_for_shader
    attrs_info = shader.attrs_info_get()
AttributeError: 'NoneType' object has no attribute 'attrs_info_get'
Traceback (most recent call last):
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/ops.py", line 1432, in draw_callback
    draw_rect(0, 0, 0, 0, [0.0, 0.0, 0.0, 0.0])
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/ops.py", line 282, in draw_rect
    imm.immEnd()
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/gpu_utils/imm.py", line 262, in immEnd
    batch = batch_for_shader(shader, 'TRIS', data, indices=indices)
  File "/Applications/Blender.app/Contents/Resources/4.0/scripts/modules/gpu_extras/batch.py", line 61, in batch_for_shader
    attrs_info = shader.attrs_info_get()
AttributeError: 'NoneType' object has no attribute 'attrs_info_get'
Traceback (most recent call last):
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/ops.py", line 1432, in draw_callback
    draw_rect(0, 0, 0, 0, [0.0, 0.0, 0.0, 0.0])
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/ops.py", line 282, in draw_rect
    imm.immEnd()
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/gpu_utils/imm.py", line 262, in immEnd
    batch = batch_for_shader(shader, 'TRIS', data, indices=indices)
  File "/Applications/Blender.app/Contents/Resources/4.0/scripts/modules/gpu_extras/batch.py", line 61, in batch_for_shader
    attrs_info = shader.attrs_info_get()
AttributeError: 'NoneType' object has no attribute 'attrs_info_get'

These lines continue to repeat and be added to the console without any user input:

Traceback (most recent call last):
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/ops.py", line 1432, in draw_callback
    draw_rect(0, 0, 0, 0, [0.0, 0.0, 0.0, 0.0])
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/ops.py", line 282, in draw_rect
    imm.immEnd()
  File "/Users/username/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/gpu_utils/imm.py", line 262, in immEnd
    batch = batch_for_shader(shader, 'TRIS', data, indices=indices)
  File "/Applications/Blender.app/Contents/Resources/4.0/scripts/modules/gpu_extras/batch.py", line 61, in batch_for_shader
    attrs_info = shader.attrs_info_get()
AttributeError: 'NoneType' object has no attribute 'attrs_info_get'
akagumo commented 8 months ago

I have the same thing repeated endlessly too. tested on two intel Macs and an M1 Mac.

AttributeError: 'NoneType' object has no attribute 'attrs_info_get' Traceback (most recent call last): File "/Users/user/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/ops.py", line 1432, in draw_callback draw_rect(0, 0, 0, 0, [0.0, 0.0, 0.0, 0.0]) File "/Users/user/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/ops.py", line 282, in draw_rect imm.immEnd() File "/Users/user/Library/Application Support/Blender/4.0/scripts/addons/screencast_keys/gpu_utils/imm.py", line 262, in immEnd batch = batch_for_shader(shader, 'TRIS', data, indices=indices) File "/Applications/3D/Blender.app/Contents/Resources/4.0/scripts/modules/gpu_extras/batch.py", line 61, in batch_for_shader attrs_info = shader.attrs_info_get()

nutti commented 8 months ago

@akagumo

Thank you for your information. I fixed this issue. Could you try the unstable version for now? You can try the unstable version by updating it from the user preferences or installing it manually. https://github.com/nutti/Screencast-Keys/blob/master/docs/installation.md

304719571-f628cde5-30df-4c8f-ba60-0d8cc6b4cbc6

mac4kent commented 8 months ago

Sureeeeeeee see youtube: https://youtu.be/vB9f8u5elbo

nutti commented 8 months ago

@mac4kent

Actually, your issue is not related to this issue. As you know, you can fix this kind of issue by restarting Blender. If does not work, please install manually.

mac4kent commented 8 months ago

Ok I just did quit Blender 4.1.0 and open Blender 4.1.0 then push the N key and turn check box on enable Screencast Key and I can see appear it worked.

mac4kent commented 8 months ago

Blender 4.2.0 Alpha it worked on Screencast Key yaaaaa ay.

akagumo commented 8 months ago

unstable works. ありがとう

nutti commented 8 months ago

@akagumo

Good to hear that. I will close this issue.

anthonyesau commented 8 months ago

Thanks for fixing this @nutti!

rraallvv commented 4 months ago

Should I open a different issue for this error:

Screen Shot 2024-06-15 at 9 55 55 AM

Blender 4.0.2 Intel macOS 12.7.3 (Monterey)

mac4kent commented 4 months ago

There already close ticket. You will need put new open ticket.