GithubHelp home page GithubHelp logo

Mac OS X support about bqt HOT 22 OPEN

techartorg avatar techartorg commented on June 3, 2024
Mac OS X support

from bqt.

Comments (22)

melMass avatar melMass commented on June 3, 2024 1

Yep my bad it works well, I ended up using a fork of bqt for the specific use case I had but I also tried again with bqt master with similar results

from bqt.

melMass avatar melMass commented on June 3, 2024 1

Nope I used this here which is now very outdated: https://github.com/melMass/bqt

I'll start fresh and rety bqt soon as I'm currently reimplementing a lot of my tools in pyside6.

I don't know if you use/heard of Prism v2, it's a pretty awesome asset/shot manager. Most of its core will be open source (it already is but just not "deployed" anywhere yet). The most impressive feature to me is how each integrations are seamless and really well made (some of these will be payed at the end of this month), it's all pyqt based but they seem to be able to ship a very minimal build, I just asked over their discord to know more:

ls blender_integration
╭───┬────────────────────────┬──────┬──────────╮
│ # │          name          │ type │   size   │
├───┼────────────────────────┼──────┼──────────┤
│ 0 │ space_topbar1.py       │ file │     72 B │
│ 1 │ space_topbar2.py       │ file │    534 B │
│ 2 │ PrismAutoSaveRender.py │ file │   3.0 KB │
│ 3 │ PrismInit.py           │ file │   6.1 KB │
│ 4 │ qminimal.dll           │ file │  36.4 KB │
│ 5 │ python3.dll            │ file │  59.0 KB │
│ 6 │ qoffscreen.dll         │ file │ 650.8 KB │
│ 7 │ qwindows.dll           │ file │   1.2 MB │
╰───┴────────────────────────┴──────┴──────────╯

from bqt.

JeffHanna avatar JeffHanna commented on June 3, 2024

I believe a tech art community member completed the Mac support, yes. I do not own a Macintosh so I can not test it for you. the blender_applications\darwin_blender_application.py file looks complete to me.

from bqt.

bob-white avatar bob-white commented on June 3, 2024

I believe there is a dependency on the PyObjc project to make it work. Much like we need pywin32 to make the windows version work.

from bqt.

skarndev avatar skarndev commented on June 3, 2024

I can't seem to be able to install AppKit with pip. Where can I grab the dependencies?

from bqt.

cmcpasserby avatar cmcpasserby commented on June 3, 2024

unless someone else has taken it, over i was never able to get mac support fully working

from bqt.

Amatobahn avatar Amatobahn commented on June 3, 2024

Last I recall we had it partially working but not at the same level of functionality as we have currently on windows

from bqt.

bob-white avatar bob-white commented on June 3, 2024

I can't seem to be able to install AppKit with pip. Where can I grab the dependencies?

pip install pyobjc should get you AppKit

from bqt.

skarndev avatar skarndev commented on June 3, 2024

It seems there is still an issue. In the Darwin Blender application, there is a method with __ (double underscore) being called which does not exist in the class. And the handler does not start the Window correctly as "startup" in file condition is not fulfilled? Any idea on how to fix the last one?

from bqt.

hannesdelbeke avatar hannesdelbeke commented on June 3, 2024

there is a method with __ (double underscore) being called which does not exist in the class

which method is this? afraid I won't be much help here since I don't have a mac.

And the handler does not start the Window correctly as "startup" in file condition is not fulfilled? Any idea on how to fix the last one?

the missing startup file has now been added, see PR #22

from bqt.

melMass avatar melMass commented on June 3, 2024

Hi,

Last time I tried bqt it wasn't working on either mac or windows, @hannesdelbeke just notified me on blender chat that the current master should fix my issues, I will give it another go today and I'm able to test/debug it on mac if needed

from bqt.

hannesdelbeke avatar hannesdelbeke commented on June 3, 2024

did you get a chance to test on mac?

from bqt.

hannesdelbeke avatar hannesdelbeke commented on June 3, 2024

thanks for your quick response 🙏
will close this thread for now then, sounds like it works

from bqt.

hannesdelbeke avatar hannesdelbeke commented on June 3, 2024

This might not work as intended due to the focus operator.
curious if @melMass noticed any errors?

Right now it should run the following code whenever the window focus changes. Which I believe would not run on Mac.
Could someone try run this manually on Mac in Blender and see if this errors?

import ctypes

keycodes = [
	("_ALT", 0x12),
	("_CTRL", 0x11),
	("_SHIFT", 0x10),
	("VK_LWIN", 0x5B),
	("VK_RWIN", 0x5C),
	("OSKEY", 0x5B),  # dupe oskey, blender names it this
]

for name, code in keycodes:
	ctypes.windll.user32.keybd_event(code, 0, 2, 0)  # release key

from bqt.

melMass avatar melMass commented on June 3, 2024

Did it change recently?
I did not encounter any error besides that it always segfaults when closing blender (not sure if it's a Mac specific or not though)

from bqt.

hannesdelbeke avatar hannesdelbeke commented on June 3, 2024

It didn't change, just surprised you didn't get any errors tbh.
The issue on closing also happens on windows.
Thanks for the quick reply :)

from bqt.

hannesdelbeke avatar hannesdelbeke commented on June 3, 2024

tested myself on mac, and noticed bqt is completely broken.
one of the reasons is that the requirements dont include appkit and pyobjc

from bqt.

hannesdelbeke avatar hannesdelbeke commented on June 3, 2024

after small fix where method was named with _ but called with __,
and manually installing the modules above with pip install iterm2 instead of appkit and pyobjc,
bqt now loads without crashing and wraps blender on mac
but it also freezes blender ...

Also on exit I get an error, just like on windows #47
image

TODO

  • wrap blender without freeze
  • instructions on how to install dependencies
  • auto install dependencies based on different OS

from bqt.

hannesdelbeke avatar hannesdelbeke commented on June 3, 2024

when I set the env var "BQT_DISABLE_WRAP" to 1, to disable wrapping, bqt seems to run great on Mac. see #66

from bqt.

hannesdelbeke avatar hannesdelbeke commented on June 3, 2024

released some more fixes, since code broken when init on blender startup. likely some code functions different if startup is not finished yet. seems to be running alright now if wrapping is disabled

error

also running into this warning when creating a dock widget. repro 100%
image

locall modules PySide2 5.15.2.1 (believe we only use this one)
Qt.py 1.3.8
Qt5.py 0.1.0

from bqt.

melMass avatar melMass commented on June 3, 2024

Honestly it was months ago so I could'nt tell, I feel like I would just have solved the issues you mention locally since they seem straightforward, but I think I would have specify it here (maybe not 😅)...

Anyway now my main driver isn't a Mac anymore but I can still test anything needed on an m1 laptop. Don't hesitate

from bqt.

hannesdelbeke avatar hannesdelbeke commented on June 3, 2024

i wonder if perhaps you pip installed bqt on mac before we updated it on pip.
it was outdated for over a year on pip, and only a few months ago was updated
that version likely worked on mac.

from bqt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.