• Welcome to the Community Forums at HiveWire 3D! Please note that the user name you choose for our forum will be displayed to the public. Our store was closed as January 4, 2021. You can find HiveWire 3D and Lisa's Botanicals products, as well as many of our Contributing Artists, at Renderosity. This thread lists where many are now selling their products. Renderosity is generously putting products which were purchased at HiveWire 3D and are now sold at their store into customer accounts by gifting them. This is not an overnight process so please be patient, if you have already emailed them about this. If you have NOT emailed them, please see the 2nd post in this thread for instructions on what you need to do

Poser 12 will switch to Python 3!

RAMWolff

Wolff Playing with Beez!
Contributing Artist
Speaking of shiny objects. That was one of the biggest turn offs for me using DS. Every new release the coders would have all these shiny new toys to play with but they would leave things for other areas unfinished or buggy and after a while there was some grumblings from the community to STOP with the new features for a while and FIX the damned bugs and finish X Y and Z.

So while I want things for Poser I want improvements more than anything!
 
Speaking of shiny objects. That was one of the biggest turn offs for me using DS. Every new release the coders would have all these shiny new toys to play with but they would leave things for other areas unfinished or buggy and after a while there was some grumblings from the community to STOP with the new features for a while and FIX the damned bugs and finish X Y and Z.

Yeah, there's no value in getting a shiny new bell for your bicycle if the tires won't rotate :)
 

Ken1171

Esteemed
Contributing Artist
But I hate the idea that these scripts might just stop working one day if something about the scripting language changes.

This has happened a couple of times before. The difference now is that this is the first time the developers are not present to do the updating. This has never happened before.

So hopefully script writers and Poser's new design team will come up with a solution to do as much "future proofing" as possible!

There is no way to prevent Python from changing, I suppose. That's a different kind of language, because others I have used over the years have remained basically the same. It's Python that changes syntax from time to time, breaking code that came before it.

Speaking of shiny objects. That was one of the biggest turn offs for me using DS. Every new release the coders would have all these shiny new toys to play with but they would leave things for other areas unfinished or buggy and after a while there was some grumblings from the community to STOP with the new features for a while and FIX the damned bugs and finish X Y and Z.

I guess we have to consider they make no money out of the program, and that probably explains why the documentation was abandoned many years ago. They fix or change one thing, and break another. "Remove unused bones" was working in 4.6, but then they broke it after an update, and it has never worked ever since. We had things like this in Poser 7 that were never fixed all the way to 11. SMS had this tendency of adding new features instead of fixing bugs. I guess it makes sense considering they were software retailers. They were thinking ahead for what to add to the headlines for the next release advertisement.

I can only hope Rendo won't be like this. Like you, I prefer big fixing to new features. SMS had other priorities.

Yeah, there's no value in getting a shiny new bell for your bicycle if the tires won't rotate :)

Exactly.
 
This has happened a couple of times before. The difference now is that this is the first time the developers are not present to do the updating. This has never happened before.

There is no way to prevent Python from changing, I suppose. That's a different kind of language, because others I have used over the years have remained basically the same. It's Python that changes syntax from time to time, breaking code that came before it.

What I was thinking WRT "future proofing" was that they'd come up with some kind of arrangement with the script vendors who supply third-party script sets (the purchasable kind, not necessarily the freebies) so that someone on the Poser development team could get access to the pre-compiled Python code in the event that the script vendor is no longer available to update their scripts (regardless of why). In other words, figure out how to prevent the current scenario from happening again. There will always be new talent who can work on Python scripts, but (as far as I understand it) they can't update an existing script set that was sent to the marketplace in a compiled form.

In other words, the problem isn't that Poser uses Python scripting or that it's being updated to use Python 3, but that there's no easy way to update existing scripts that were delivered compiled when the script creator is no longer available. (I'm assuming it's not that hard to update the non-compiled scripts?)
 

Ken1171

Esteemed
Contributing Artist
What I was thinking WRT "future proofing" was that they'd come up with some kind of arrangement with the script vendors who supply third-party script sets (the purchasable kind, not necessarily the freebies) so that someone on the Poser development team could get access to the pre-compiled Python code in the event that the script vendor is no longer available to update their scripts (regardless of why). In other words, figure out how to prevent the current scenario from happening again.

It's not that simple. Code is intellectual property of the developer. IT's very unlikely one would give the source code away like that. If that were a possibility, developers would distribute the Python scripts uncompiled.

I'm assuming it's not that hard to update the non-compiled scripts?

That depends on how the code was written. If the person didn't care for portability, it might be hard to make it work in Python 3. For example, I took special care not to use Python2-specific things when coding the Scatter Tool. But much older scripts may not be like that. In the ideal case, all we need is to recompile the same code to make it work in Python 3. But if it relied too much on the old way of doing things, it may require more extensive changes.
 

Ken1171

Esteemed
Contributing Artist
Today I was writing some Python 2.7 code for Poser 11, and gosh, it has become such a mess now that Python 2 is no longer officially supported. There was some Python 2 functionality that was marked for deprecation, but was being postponed for years. Now the deprecated functions are forbidden for good, so some code no longer works when writing new apps for Poser. It won't compile, and the Poser modules cannot be updated. Really frustrating.

The same code works in my own Python 2.7 installation, with all modules updated, but Poser modules are frozen in time, so it doesn't work in Poser. This is affecting the WX graphical interface, where I can't seem to get some widgets to work. WX was created for C++, and that probably explains why the Python version is so poorly documented. SMS has created a PoserPython PDF documentation, which is filled with blank "TO-DO" sections that were never explained.

I have PhilC's tutorial, which was meant for Poser 8 and was never updated, and some stuff won't work anymore. That tutorial was written in 2010, which is now a decade old. Most things meant for Python 2 are from that period, 10-14 years ago, mostly outdated and abandoned nowadays, but that's the stuff I have to use.

No wonder so many Python developers have moved away from this. It's really about time Poser moved on to Python 3. Maybe that will attract new Python devs to make things for Poser again?
 

RAMWolff

Wolff Playing with Beez!
Contributing Artist
Do you think contacting 'Rosity and asking for a beta of Poser 12 might give you the one up on getting working python scripts out in time for Poser 12's release?
 
I can't believe I didn't mention two other scripts that I use all the time, both of which are free: Snarly's SceneFixer (which presumably he'll update) and ShaderWorks' Advanced Shader Manager. The latter is basically an interface that lets non-coders like me create little "snips" of Python code specifically to affect materials, and once I wrapped my head around how it works, I came to find it so valuable I can't imagine the tedium of living without it. I've used it to set up my own shader presets for all kinds of tasks related to "fixing" materials from older items (which I spend entirely too much time doing) and for easily adding my own favorite shader nodes and connections (HSVs between diffuse map and color input, Blinn to alt spec and bump map, etc.) as well as overlays.

Just wanted to toss that out there in case anyone's thinking about what kinds of functionality to try and bring to Poser 12, after the update to Python 3. I'm certain I'm not the only one who finds Advanced Shader Manager fantastically useful!
 

Ken1171

Esteemed
Contributing Artist
Do you think contacting 'Rosity and asking for a beta of Poser 12 might give you the one up on getting working python scripts out in time for Poser 12's release?

Rendo has contacted me tonight, and I am already on my way to joint their beta team for Poser 12. What you said was the first thing that came to my mind - testing the new Python 3 capabilities. I hope they already have documentation, though chances are they don't at this early time. After all, what's the point of writing and distributing a full PDF manual filled with empty TO-DO placeholders like we have with Poser 11? Truth is - the official wxPython documentation is also filled with empty placeholders as well. WX was created for C++, so the Python version was left mostly undocumented to this day. I have to use my imagination to figure things out.

There used to be plenty of open-ended issues with Poser development still by the times of SMS, and I wonder what direction those took now that Rendo has taken over. Due to NDA, I cannot disclose anything concerning Poser 12, so even though I will be testing Python 3 on it very soon, I will not be able to show anything. Perhaps the first thing shall be to convert the Scatter Tool to Python 3. It will be a good experience to see how much change the code will need.

In addition, I need to know what will change in Poser 12, so I can consider what plugins would be more useful for it. Maybe Rendo will upgrade the interface based on what extensions Python devs have created over the past decade. Based on what I have seen on the feature request thread at Rendo, that seems to be a major theme among Poser users.

I'm certain I'm not the only one who finds Advanced Shader Manager fantastically useful!

When it comes to mass editing materials, my favorite plugin is D3D's XS. It's easier to use and as helpful as the Advanced Material Manager. It has a smaller, more streamlined interface packed with useful features to mass edit Poser materials quick and easy. That's what I use the most nowadays when it comes to mass editing Poser materials. It allows, for instance, to replace textures from lots of zones that use the same maps in a single pass, and even mass rewiring entire shader nodes by modifying how they connect to the root node. The only thing I miss from the Advanced Material Manager is the ability to auto-select zones that share the same maps or shaders.
 

RAMWolff

Wolff Playing with Beez!
Contributing Artist
I was invited to test Poser 12. Now that I'm working from home fully I should see if they still want beta testers! Be cool to see what's up and test the hell out of it!
 

Ken1171

Esteemed
Contributing Artist
Besides the testing, one of the things I liked about the SMS beta program was the ability to talk directly to the dev team. I wonder if that will be the case with Rendo.
 

RAMWolff

Wolff Playing with Beez!
Contributing Artist
I'm sure there will be some options like that Ken. I can't imagine it being any different. How else would they know your feedback? I did write Jenn and ask if my invite was still on the list. I can't find the email so just going to wait for a reply....
 

Miss B

Drawing Life 1 Pixel at a Time
CV-BEE
If I didn't spend so much time beta testing for a number of CAs here, I would also volunteer, but I just don't see me having the time. :(
 
Top