PyQtForSoftimage vs Blur-dev

89 views
Skip to first unread message

Ana Gomez

unread,
May 7, 2012, 3:04:27 PM5/7/12
to soft...@listproc.autodesk.com
Hello everybody!

I'm trying PyQtForSoftimage and I'm wondering some questions.
As far as I know, this plugin is based on Blur tools. So, which are the differences between them? Do they have the same features? (of course, from the point of view of PyQt)

Thanks in advance and thanks to Steven Caron and Jo Benayoun for sharing it.


jo benayoun

unread,
May 7, 2012, 3:38:34 PM5/7/12
to soft...@listproc.autodesk.com
Hi Ana,

Qt on windows relies on the win32 api as well as Softimage (MFC). As they share a common base, both are "hackable".
So, whatever the strategy that is used, it still remains the same ... hooking a widget into the main softimage app by going thru the win32 api.
The only main difference I would say by using pyQtSoftimage (except the source codes) is to not have to deal with all the overhead and extra layers Blur developers put over their modules/wrappers ...
Those packages are both first steps considering more should be done by spending time on it and make things working better.
I had lot of feedback around me saying studios are using this implementation ... so it should be solid enough to go with it.
So feel free to make your own additions and come back here to share them with us ...

:)
-jo






2012/5/7 Ana Gomez <agomez...@gmail.com>

Steven Caron

unread,
May 7, 2012, 3:44:01 PM5/7/12
to soft...@listproc.autodesk.com
hey ana

originally i planned on exposing blur's pyqt implementation and simplify it but its proved a lot harder (not impossible). then jo came along and showed us a much easier way to host a pyqt app inside softimage. so pyqtforsoftimage is a lot lighter than blur's implementation. the python key stroke rerouting is very similar, in fact is a near copy of it.

as jo points out, blur's implementation has a lot of wrappers to provide cross platform (3dsmax, softimage, motionbuilder) functionality but that comes at a cost. outside that, they provide very similar functionality because they really just expose pyqt.

with all that said, pyqtforsoftimage needs to be tested more and pushed harder. i would love to hear more about how people are using pyqt and provide example code and tutorials.

there is one issue someone logged last week...https://github.com/caron/PyQtForSoftimage/issues/2 please test to see if this is an issue for you and if it is provide feedback on the github issues page.

s

Enrique Caballero

unread,
May 7, 2012, 10:42:39 PM5/7/12
to soft...@listproc.autodesk.com
i was looking into implementing PYQT at our studio for a while. I used both blur and PYQT for softimage and in the end decided to go with PYQTforSoftimage because it is much lighter.  As jo and steven said, the blurcore has a lot of overhead, and I did not want to bloat our pipeline with tools that we might not use

Ana Gomez

unread,
May 8, 2012, 7:48:48 AM5/8/12
to soft...@listproc.autodesk.com
Hello again!

My concern was if some features have been lost in the process of exposing the pyqt implementation from the Blur tools. Or if someone has had problems by using this plugin.

You told me that people is using it, more or less, without problem so I'm going to keep testing it. I don't really want to install the Blur tools just for PyQt. I don't need its rest of tools, nor the wrappers for the rest of softwares.

I see that Steven has just made a new example that uses a ui file in response to the last issue. Thanks and thanks for pointing me the issue, I hadn't read it.

On the other hand, I've rewritten some of the code in order to control the XSI events because I don't like the idea of having unecessary active events. I read that Steven doesn't like this idea (last comments in Issue #1) but if you like, i'll give you the changes (well, I haven't invented the wheel).

:)




Steven Caron

unread,
May 8, 2012, 1:36:50 PM5/8/12
to soft...@listproc.autodesk.com
see below...

On Tue, May 8, 2012 at 4:48 AM, Ana Gomez <agomez...@gmail.com> wrote:
Hello again!

My concern was if some features have been lost in the process of exposing the pyqt implementation from the Blur tools.

the plugin is no longer related to blur tools, nothing is lost...
 
Or if someone has had problems by using this plugin.

You told me that people is using it, more or less, without problem so I'm going to keep testing it. I don't really want to install the Blur tools just for PyQt. I don't need its rest of tools, nor the wrappers for the rest of softwares.

exactly why i started the project, in the end jo's solution means no blur dependencies. 

I see that Steven has just made a new example that uses a ui file in response to the last issue. Thanks and thanks for pointing me the issue, I hadn't read it.

On the other hand, I've rewritten some of the code in order to control the XSI events because I don't like the idea of having unecessary active events. I read that Steven doesn't like this idea (last comments in Issue #1) but if you like, i'll give you the changes (well, I haven't invented the wheel).

i wouldn't mind seeing your changes... sign up for github, fork the repro, make the changes, push them to your repo and send me a pull request.

jo benayoun

unread,
May 8, 2012, 1:37:03 PM5/8/12
to soft...@listproc.autodesk.com
Hey Ana,

I'm agreed with you about how softimage events are managed for now is not the best way to go ...
Ideally, we should have QEvent subclasses for Softimage events and one and unique method with the following signature "SoftimageWidget::softimageEvent(QEvent *event)" to handle them (and fit the Qt design, events are not signals) and a method to register to them. There is also lot of other additions to think about to get everything's working fine.
But as you guess, Steve or me have jobs and personal projects on the way which make our free time precious.
As I told you, any additions or examples are welcomed to be commit to the github repo and would be greatly appreciated by Steve or me.
In a wonderful world, it would be awesome if more people were jumping on Qt to let developers and artists having the same experience on the different platforms and 3d packages ...
Thanks to have done that jump :)

-jo





2012/5/8 Ana Gomez <agomez...@gmail.com>

Ana Gomez

unread,
May 9, 2012, 10:27:45 AM5/9/12
to soft...@listproc.autodesk.com
Hello,

Steve, here you have the fork https://github.com/anuska/PyQtForSoftimage and I have also sent you a pull request.

Jo, I think you are going to be disappointed :( I like what you suggest a lot but I fear that I have started with something easier. Probably most people will have already done a similar change. I'm going to take what you say into account for a second round.

:D

Steven Caron

unread,
May 9, 2012, 1:10:18 PM5/9/12
to soft...@listproc.autodesk.com
thanks ana for your contributions, this is exactly what i hoped for by putting this plugin on github.

Olivier Jeannel

unread,
May 9, 2012, 1:52:02 PM5/9/12
to soft...@listproc.autodesk.com
Hello list,

Im sure it is easy :

I'm trying to get random (scalar) values distributed on some points.
But I want only values 0 1 or -1 to be returned.

How do I do something like that ?

Thank you !

Ciaran Moloney

unread,
May 9, 2012, 2:00:34 PM5/9/12
to soft...@listproc.autodesk.com
Hi,
randomise value by range, with min and max set to -1 and 2. Then pass the result into a floor node.

Thomas Volkmann

unread,
May 9, 2012, 2:02:43 PM5/9/12
to soft...@listproc.autodesk.com

Set the random range from -0.5 (or whatever below 0) till 1. Then: if < 0 set to -1


Olivier Jeannel <olivier...@noos.fr> hat am 9. Mai 2012 um 19:52 geschrieben:

Thomas Volkmann

unread,
May 9, 2012, 2:07:00 PM5/9/12
to soft...@listproc.autodesk.com

Just saw that you don't want 0-1, but 0 and 1. So basically the same... or set random range -1 till 1 and use round? Or why not getting a random integer and convert to scalar?



Olivier Jeannel <olivier...@noos.fr> hat am 9. Mai 2012 um 19:52 geschrieben:

Renaud Bousquet

unread,
May 9, 2012, 2:08:08 PM5/9/12
to soft...@listproc.autodesk.com
Hey!

Have you tried to use a randomize value by range with integer as input
then use integer to scalar?
or round the result of a randomize valur by range using scalar value.

Hope it help!
RB
> -----
> No virus found in this message.
> Checked by AVG - www.avg.com
> Version: 2012.0.1913 / Virus Database: 2411/4954 - Release Date: 04/23/12
> Internal Virus Database is out of date.


Grahame Fuller

unread,
May 9, 2012, 2:10:45 PM5/9/12
to soft...@listproc.autodesk.com
That leaves a very small risk that you'll get 2. I would use min and max of -1.5 and 1.5, and round instead.

gray

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Ciaran Moloney
Sent: Wednesday, May 09, 2012 02:01 PM
To: soft...@listproc.autodesk.com
Subject: Re: Random Values

Hi,
randomise value by range, with min and max set to -1 and 2. Then pass the result into a floor node.


winmail.dat

Alok Gandhi

unread,
May 9, 2012, 2:32:54 PM5/9/12
to soft...@listproc.autodesk.com
Also, little long winded but you can use make an array with -1, 0, 1 and use select in array with index coming from randomize value by range between 0 and 2.

Grahame Fuller

unread,
May 9, 2012, 2:47:44 PM5/9/12
to soft...@listproc.autodesk.com
Doh. 1.5 rounded is still 2. I think that to be absiolutely certain never to get 2 you must test the boundaries yourself using > and <=.

gray
winmail.dat

Olivier Jeannel

unread,
May 9, 2012, 2:51:14 PM5/9/12
to soft...@listproc.autodesk.com
Thank you all for the good read :)

This helped me clarify what I really had in mind. So, basicly I was looking for a node that would randomly output a few preselected numbers (and only those numbers).
Here's a screen grab :

So this one will output randomly 0 or 90 or -90 or 180

Olivier Jeannel

unread,
May 9, 2012, 2:51:56 PM5/9/12
to soft...@listproc.autodesk.com
That method looks cool :)

Le 09/05/2012 20:32, Alok Gandhi a �crit :

Olivier Jeannel

unread,
May 9, 2012, 3:02:05 PM5/9/12
to soft...@listproc.autodesk.com
Even simpler (sorry for the noise)

will output randomly 0 or 90 or -90 or 180

Le 09/05/2012 20:51, Olivier Jeannel a écrit :
Thank you all for the good read :)

This helped me clarify what I really had in mind. So, basicly I was looking for a node that would randomly output a few preselected numbers (and only those numbers).
Here's a screen grab :

Grahame Fuller

unread,
May 9, 2012, 3:07:42 PM5/9/12
to soft...@listproc.autodesk.com
Be careful with that - Randomize Value by Range does not work well with integers. It's better to work with scalars then round or floor.

gray

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Olivier Jeannel
Sent: Wednesday, May 09, 2012 03:02 PM
To: soft...@listproc.autodesk.com
Subject: Re: Random Values

Even simpler (sorry for the noise)
[cid:image0...@01CD2DF5.7A5F3630]
will output randomly 0 or 90 or -90 or 180

Le 09/05/2012 20:51, Olivier Jeannel a écrit :
Thank you all for the good read :)

This helped me clarify what I really had in mind. So, basicly I was looking for a node that would randomly output a few preselected numbers (and only those numbers).
Here's a screen grab :

So this one will output randomly 0 or 90 or -90 or 180



Le 09/05/2012 20:10, Grahame Fuller a écrit :

That leaves a very small risk that you'll get 2. I would use min and max of -1.5 and 1.5, and round instead.



gray



From: softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com> [mailto:softimag...@listproc.autodesk.com] On Behalf Of Ciaran Moloney

Sent: Wednesday, May 09, 2012 02:01 PM

To: soft...@listproc.autodesk.com<mailto:soft...@listproc.autodesk.com>
image001.png

Steven Caron

unread,
May 9, 2012, 3:11:40 PM5/9/12
to soft...@listproc.autodesk.com
ppsssttt... factory random integer by range?

s

Sam Cuttriss

unread,
May 9, 2012, 3:18:21 PM5/9/12
to soft...@listproc.autodesk.com
i think just fixing the random value by range to internally handle integers correctly would be best, custom nodes for custom types misses the polymorphism boat.

Grahame Fuller

unread,
May 9, 2012, 3:37:50 PM5/9/12
to soft...@listproc.autodesk.com
I don't have one of those. Are you sure you didn't make it yourself?

gray

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Steven Caron
Sent: Wednesday, May 09, 2012 03:12 PM
To: soft...@listproc.autodesk.com
Subject: Re: Random Values

ppsssttt... factory random integer by range?

s
winmail.dat

Steven Caron

unread,
May 9, 2012, 3:42:04 PM5/9/12
to soft...@listproc.autodesk.com
sorry it was a suggestion... we need a factory random integer by range compound or built in node which handles this better.

s

Grahame Fuller

unread,
May 9, 2012, 3:45:38 PM5/9/12
to soft...@listproc.autodesk.com
Ah right. Gotcha.

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Steven Caron
Sent: Wednesday, May 09, 2012 03:42 PM
To: soft...@listproc.autodesk.com
Subject: Re: Random Values

sorry it was a suggestion... we need a factory random integer by range compound or built in node which handles this better.

s
On Wed, May 9, 2012 at 12:37 PM, Grahame Fuller <Grahame...@autodesk.com<mailto:Grahame...@autodesk.com>> wrote:
I don't have one of those. Are you sure you didn't make it yourself?

gray

From: softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com> [mailto:softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com>] On Behalf Of Steven Caron
Sent: Wednesday, May 09, 2012 03:12 PM
To: soft...@listproc.autodesk.com<mailto:soft...@listproc.autodesk.com>
Subject: Re: Random Values
ppsssttt... factory random integer by range?

s
winmail.dat
Reply all
Reply to author
Forward
0 new messages