firecircle opened this issue on Dec 10, 2020 ยท 26 posts
firecircle posted Thu, 10 December 2020 at 3:59 AM
Being naive i installed dson before it became common knoledge that it no longer works. I have since uninstaled it but now every time i start poser this message appears: An error occurred importing addon dson : ERROR: DLL load failed: The specified module could not be found If anyone knows where to find the dson remnants and delete them i would be much obliged The window this appears in is titled main Wacros
Y-Phil posted Thu, 10 December 2020 at 5:59 AM
Did you remove the corresponding directory, under "Runtime:Python:addons" (I mean: the "Runtime" folder in which the executable is located)?
๐ซ๐ฝ๐๐
(ใฃโโกโ)ใฃ
๐ฟ Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
๐ฟ Mac Mini M2, Sequoia 15.2, 16GB, 500GB SSD
๐ฟ Nas 10TB
๐ฟ Poser 13 and soon 14 โค๏ธ
firecircle posted Thu, 10 December 2020 at 6:15 AM
yep
firecircle posted Thu, 10 December 2020 at 6:36 AM
Y-Phil posted at 6:35AM Thu, 10 December 2020 - #4406872
Did you remove the corresponding directory, under "Runtime:Python:addons" (I mean: the "Runtime" folder in which the executable is located)?
firecircle posted Thu, 10 December 2020 at 6:36 AM
i did
structure posted Thu, 10 December 2020 at 5:06 PM Forum Coordinator
did you install it for p12 - or for a different version of Poser? Have you checked the poserStartup.py script ?
you will find a couple of lines in there which say :
_loadAddons(runtimeRoot)
for runtimePath in poser.Libraries():
_loadAddons(runtimePath)
try editing them to read :
_loadAddons(runtimeRoot)
for runtimePath in poser.Libraries():
if not "dson" in runtimePath:
_loadAddons(runtimePath)
Locked Out
firecircle posted Thu, 10 December 2020 at 5:38 PM
structure posted at 5:37PM Thu, 10 December 2020 - #4406982
did you install it for p12 - or for a different version of Poser? Have you checked the poserStartup.py script ?
you will find a couple of lines in there which say :
_loadAddons(runtimeRoot) for runtimePath in poser.Libraries(): _loadAddons(runtimePath)
try editing them to read :
_loadAddons(runtimeRoot) for runtimePath in poser.Libraries(): if not "dson" in runtimePath: _loadAddons(runtimePath)
Hi thanks for the reply tried that does not work same error appears
firecircle posted Thu, 10 December 2020 at 6:08 PM
Hi guys problem solved added the line if not "dson" in runtimePath: After the lines try: addonpath = os.path.join(runtimeRoot, "Runtime", "Python", "addons") sys.path.append(addonpath) for addon in os.listdir(addonpath): fullpath = os.path.join(addonpath, addon) if "Kinect" in fullpath:
in the poserStartup.py
Thanks for your suggestions and help
Al
malcolm474 posted Thu, 31 December 2020 at 5:26 PM
OK. I did the Structure addon and the Firecircle edit. I still get the same error message.
I don't know anything about writing code. I had to get a code writing program in order to complete these two steps. I don't think that when I buy a program, I should have to learn code and be able to edit the program in order to be able to effectively use it. You should make the correction yourself and issue and update. And you shouldn't release a program before it has been thoroughly tested. Was it really a good idea to edit Python if it made dson unusable. I was hoping that you were working towards a product more compatible with genesis characters. OK. Now, I have to figure out how to deal with the Lights issue.
Y-Phil posted Thu, 31 December 2020 at 8:17 PM
malcolm474 posted at 8:08PM Thu, 31 December 2020 - #4409084
OK. I did the Structure addon and the Firecircle edit. I still get the same error message.
I don't know anything about writing code. I had to get a code writing program in order to complete these two steps. I don't think that when I buy a program, I should have to learn code and be able to edit the program in order to be able to effectively use it. You should make the correction yourself and issue and update. And you shouldn't release a program before it has been thoroughly tested. Was it really a good idea to edit Python if it made dson unusable. I was hoping that you were working towards a product more compatible with genesis characters. OK. Now, I have to figure out how to deal with the Lights issue.
About dson: I haven't checked dson's install routine, but I've seen that in other programs: you may install them twice, even more, but only one uninstall routines remains. That's weird. I don't know if that's the case for dson, but if you installed it for a previous Poser version, and re-installed it for Poser 12, you can't be sure that the uninstall routine removed the previous or Poser 12's installed version.
That's why you should take a look at Poser 12's "runtime:python:addons" folder, under Poser 12's executable folder, and if it's till there, delete it.
About the Lights issue: which one are you talking about? I mean: there are: the problem with infinite lights' shadows (it must be fixed in a next release), the fact that there are new default lights, the double-click behavior with lights?
๐ซ๐ฝ๐๐
(ใฃโโกโ)ใฃ
๐ฟ Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
๐ฟ Mac Mini M2, Sequoia 15.2, 16GB, 500GB SSD
๐ฟ Nas 10TB
๐ฟ Poser 13 and soon 14 โค๏ธ
malcolm474 posted Thu, 31 December 2020 at 8:41 PM
Well, I didn't actually uninstall dson. So now I have and the problem has been solved. Tada. Sorry. The light issue was that light sets accumulated without replacing the old light set. Now, I am hitting the replace button in library. Actually, I don't mind doing that. So, I'm OK. Find somebody else who's ranting and raving. Thank you.
ChromeStar posted Fri, 01 January 2021 at 11:04 AM
So, I'm OK. Find somebody else who's ranting and raving. Thank you.
One down, millions to go. :)
Thalek posted Tue, 03 May 2022 at 3:44 AM
Sorry to raise this zombie, but I have driven myself nuttier trying to implement this very simple code change. I get nothing but indentation error messages when I try the original modification and the proposed modification. I feel like my head is full of cotton and I'm not thinking clearly, but I'm sober, so that's a bit less likely than otherwise.
(And just to pour acid on my wounds, I just discovered that my own simplistic Shadow Camera Rename freebie now is flagged for syntax errors, so the syntax must have changed as well. Python has got me in a stranglehold and is starting to squeeze. I might as well be a dead parrot for all that I'm accomplishing.)
structure posted Tue, 03 May 2022 at 3:50 AM Forum Coordinator
Thalek posted at 3:44 AM Tue, 3 May 2022 - #4438060
Indentation errors are usually caused by conflicting tabs and spaces at the beginning of lines,Sorry to raise this zombie, but I have driven myself nuttier trying to implement this very simple code change. I get nothing but indentation error messages when I try the original modification and the proposed modification. I feel like my head is full of cotton and I'm not thinking clearly, but I'm sober, so that's a bit less likely than otherwise.
(And just to pour acid on my wounds, I just discovered that my own simplistic Shadow Camera Rename freebie now is flagged for syntax errors, so the syntax must have changed as well. Python has got me in a stranglehold and is starting to squeeze. I might as well be a dead parrot for all that I'm accomplishing.)
Syntax has changed in python 3 - you would need to post the code here for us to be able to assist you with it.
however if the syntax error is a print command...
new syntax is :
print("text here")
printable items MUST be in brackets
Locked Out
Thalek posted Tue, 03 May 2022 at 4:56 AM
I do believe that you've hit upon my problem: Notepad2 apparently defaults to Tabs as Spaces. I'll check that out in a little while.
And at least part of the problem has been solved with the print statements: Nope, they weren't in brackets or parentheses. Of course, now, it doesn't like how I handled printing variables.
You offer to assist with the code is most gracious, and I humbly and desperately accept: I learned just barely enough Python to write the tools (Shadow Cam lister, and Shadow Cam renamer), and then promptly forgot everything I learned.
# script to set all Shadow Cam names to the
# same name as the light it works with.
import poser
scene = poser.Scene()
def main():
for actor in scene.Actors() :
if actor.IsLight() :
kid = actor.Children()
for cam in kid:
if cam.IsCamera():
vu = cam.Name()
cam.SetName(actor.Name())
print ('%s renamed to %s.') % (vu, actor.Name())
break
main()
print ('\n Renaming completed.')
Y-Phil posted Tue, 03 May 2022 at 6:59 AM
This is about the line
print ('%s renamed to %s.') % (vu, actor.Name())
the correct ways, still Python2-compatible, are:
print ('%s renamed to %s.' % (vu, actor.Name()))
or:
print ('%s renamed to %s.'.format(vu, actor.Name()))
Starting with Python3, the most efficient way is:
print (f'{vu} renamed to {actor.Name()}.')
note the "f" before the string to print, and the fact that your variables and python calls are between {....}
I find this more easy to read, as I precisely know what will appear where.
๐ซ๐ฝ๐๐
(ใฃโโกโ)ใฃ
๐ฟ Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
๐ฟ Mac Mini M2, Sequoia 15.2, 16GB, 500GB SSD
๐ฟ Nas 10TB
๐ฟ Poser 13 and soon 14 โค๏ธ
structure posted Tue, 03 May 2022 at 7:35 AM Forum Coordinator
Y-Phil is correct,
if you start your script with :
from __future__ import print_function
then your print line in py2 will be
print ('%s renamed to %s.' %(vu, actor.Name()))
which will also work in py3
Like Y-Phil, I think the f-string prints are better, but they only work in py3.
Locked Out
Thalek posted Tue, 03 May 2022 at 8:31 AM
Oops! I put the parenthesis in the wrong place when I made the correction. [sigh]
Thanks, guys! I'll make the appropriate change to the lister, as well.
Thalek posted Tue, 03 May 2022 at 8:40 AM
Damn. Now it doesn't like the "break" syntax. This script is too damned simple to be this much trouble, even if I was the one who screwed up the parenthesis fix.
Thalek posted Tue, 03 May 2022 at 8:51 AM
Removing the word "break" was the final repair needed. Thanks again, guys!
structure posted Tue, 03 May 2022 at 8:54 AM Forum Coordinator
Tested :
Locked Out
Thalek posted Tue, 03 May 2022 at 7:37 PM
Odd that you didn't get a syntax error; I did. At any rate, removing the word "break" fixed my problem, and it's working again in Poser 12, for which I thank you and Y-Phil.
Please tell me that all of these changes and breakages of older scripts are actually worth it to those who code in Python regularly, because it's pretty frustrating to me. Presumably to the others who had scripts die and can't fix them, too.
At any rate, as Chromestar quipped, "One down, millions to go".
Y-Phil posted Wed, 04 May 2022 at 1:45 AM
Since we don't have any control on Python's evolution, we're doing our best to upgrade the script we can work on, such as SnarlyGribbly's
๐ซ๐ฝ๐๐
(ใฃโโกโ)ใฃ
๐ฟ Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
๐ฟ Mac Mini M2, Sequoia 15.2, 16GB, 500GB SSD
๐ฟ Nas 10TB
๐ฟ Poser 13 and soon 14 โค๏ธ
structure posted Wed, 04 May 2022 at 9:49 AM Forum Coordinator
Python 2 reached EOL on Jan 1 2020.
that being the case, in order for poser to stay relevant, it needed to upgrade to a version of python which is maintained.
Is it worth it? That is a subjective question. I have seen people type that python 2 is much preferred and more people use it. That might be true, but for coders, pushing boundaries, getting the most out of your software, and moving forward is always a good thing. (again that's my opinion - subjective.)
Locked Out
Y-Phil posted Wed, 04 May 2022 at 10:43 AM
Is it worth it? That is a subjective question. I have seen people type that python 2 is much preferred and more people use it. That might be true, but for coders, pushing boundaries, getting the most out of your software, and moving forward is always a good thing. (again that's my opinion - subjective.)
And I share your point of view.
๐ซ๐ฝ๐๐
(ใฃโโกโ)ใฃ
๐ฟ Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
๐ฟ Mac Mini M2, Sequoia 15.2, 16GB, 500GB SSD
๐ฟ Nas 10TB
๐ฟ Poser 13 and soon 14 โค๏ธ
Thalek posted Sat, 11 June 2022 at 11:36 PM
Sorry it took so long. I have revised the Read Me to thank you for the much-needed assistance, and updated the zip file with the new versions. I'm going to upload it to my Freebies contributions in a couple of minutes.
Thanks again. I doubt I would have done it without you.