JPfeP / AddRoutes

Allow MIDI, OSC and a remote Android App to control Blender 2.8
http://www.jpfep.net/pages/addroutes/
GNU General Public License v2.0
99 stars 10 forks source link

Cannot enable pluging. Errors pop up. #4

Open TheSeanLavery opened 4 years ago

TheSeanLavery commented 4 years ago

Using the latest "ready to go" version here. http://www.jpfep.net/pages/addroutes/ on blender 2.82a

Traceback (most recent call last): File "C:\Program Files\Blender Foundation\Blender 2.82\2.82\scripts\modules\addon_utils.py", line 351, in enable mod = import(module_name) File "C:\Users\Sean\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\AddRoutes__init__.py", line 51, in from . import ui File "C:\Users\Sean\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\AddRoutes\ui.py", line 27, in from data import generate_dict File "C:\Users\Sean\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\multi-user\libs\replication\replication\data.py", line 15, in from .constants import ( ImportError: attempted relative import with no known parent package

JPfeP commented 4 years ago

Thank for your report. I wonder what could be the origin of this problem.

This line: File "C:\Users\Sean\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\multi-user\libs\replication\replication\data.py" ... is showing a different path than : C:\Users\Sean\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\AddRoutes\ui.py

It would mean that another module is called data.py in another add-on and Blender tries to import it. That's pretty unexpected.

As you could see on the github sources there is no replication/replication/data.py path in Addroutes.

JPfeP commented 4 years ago

It seems that there is indeed a conflict with this file: https://gitlab.com/slumber/replication/-/blob/master/replication/data.py

...which belongs to the multi-user add-on: https://gitlab.com/slumber/multi-user https://blenderartists.org/t/multi-user/1187118

I am going to study a proper way to fix that. Changing its name in AddRoutes is a simple solution but it's a little bit frightening that nameclashes can occur that way. Still puzzled...

JPfeP commented 4 years ago

I was in fact using absolute paths with a bit of naivety. I changed this in my local copy, so the issue should be fixed now. The next release will be available in a few days I hope.

TheSeanLavery commented 4 years ago

Cool! Please let me know when this is available.

Is there a quick fix I can try on my end?

JPfeP commented 4 years ago

It's not that difficult but might affect several files, mostly in ui.py: "from data import generate_dict" has to be replaced by "from .data import generate_dict"

I apologize for the delay as I had some Pandora's box to open/close in the meanwhile. I am rewriting the osc and midi device configuration.

JPfeP commented 4 years ago

At last, the v0.30 is ready with the bug fix: http://www.jpfep.net/addroutes-v030/

Please let me know if it solves the pbm.

TheSeanLavery commented 4 years ago

Awesome. Thank you so much for fixing the problem.

I got the plugin working after a bit of fiddling around. Ableton being open on start prevented the keyboard from being configurable. And opening Ableton afterward, I can't get the midi to work in there too. Might just be a limitation of midi though?