[Plugin] Random Painter (Updated March 9th, 09)
-
i think it is a good idea and i would thank you for that. but i suggest you wait a few days to see if rick comes up with a solution to this problem.
-
Great idea for a script - thank you! Should come in very useful for a bit of mattepainting.
I'm getting all kinds of errors with wxSU when sketchUP loads, which means that I haven't got 'randompainter' to run at all yet (though it's in the menu bar).
Obviously me having problems with wxsu is nothing to do with you at all , but until I can work out what's happening a version that doesn't require wxSU to run would be brilliant.
Thanks for all your work.
AJ
-
Oh bummer, sorry to hear it. I think I'll post a version that is independent of wxsu. Hopefully I can get it done today.
Chris
-
OK Edson, I put another version of random painter up. It is non-reliant on wxsu. Its a bit slower to use, but I suppose if the other didn't work at all, then this is quite an upgrade
Chris
-
surely. thanks a lot. you have become quite an asset to this forum.
is this "new" version up on the first post? why do you not keep both versions up? not all people use windowizer4; perhaps some would prefer the version that relies on wxSU.
-
They are both up there - the latest version that supports wxsu and the stripped down version that does not. I think at some point I had added some features to pre-wxsu version that have been lost. So if there is something you remember it doing that it no longer does, let me know. All in all though, its still very functional. Thanks for the complements Edson, I'll let you take me out to a churrascaria if I ever make it down to Porto Alegre
Chris
-
Cool plugin.
However, I think wxSU isn't really ready for primetime. Specifically, it doesn't manage Ruby threads correctly wrt SketchUp.
If you have a look at lib/App.rb there are some moderately scary comments. It seems to assume its the only plugin running - I think this is why it causes so many problems.
Adam
-
Adam, does having it installed for my plugin mean that it is possibly going to mess up other plugins?
-
Yes, I believe it does. I've spent weeks trying to track some crash bugs for LightUp users that appear to be directly related to having wxSU loaded.
The most simple case I found was having wxSU installed and typing "sleep 10" at the console for a crash with some plugins that use it.
Today I've been talking on email with Peter (author of wxSU) and he's on the case - so lets hope it can be fixed asap.
Adam
-
Hi everyone,
First of all, thanks to Adam for bringing me into the discussion. I had no idea anyone was using wxSU with their plugins yet! I'm sorry it's been the source of some nasty crashes.
I've been studying the wxSU conflicts with other plugins and have come to some conclusions:
-
At least one configuration with guaranteed crashing is: Random Painter + PlayUp + Windowizer 4 ...with the final trigger being the menu command Plugins/Windowizer4
-
Part of the problem appears to be that Random Painter and PlayUp are both running their own separate sessions of wxSU, which is dangerous.
-
The other part of the problem is that wxSU's threading scheme has instabilities on its own.
I'm pretty sure I can fix #1 and #2 by adding some code to ensure that only one session of wxSU is running at a time. That should solve most of the crashes described in this topic.
I'm not sure I can fix #3 without help. With only one session of wxSU running, you can type "sleep 10" at the console without any crash. BUT, the unique threading scheme actually gives you back control before the sleep is done. If you now type "sleep 10" again, you get a crash. In reality, will two plugins be asking to sleep at the exact same time? Probably not. It would be nice to figure out but I don't think it's necessarily a showstopper for wxSU in the meantime.
A couple questions for the forum:
Are there other configurations (besides #1) that will cause a crash with wxSU?
Is anyone aware of any other plugins that are using wxSU?
Thanks,
P -
-
HI Peter, great work on WxSU. I'm afraid most of this discussion might be over my head. I only barely was able to implement WxSU, and I'm not sure that I did it correctly.
Is there a better way to implement so that it won't cause a crash? or is that something you need to do on the development end? I can post my code in this thread if that will help.
Chris
EDIT: I am unaware of other plugins that use WxSU at this point.
-
Hi Chris,
There's nothing you can do in your code to prevent the crash. It's really my fault for not blocking multiple sessions of wxSU. I'll make the change and try to put out a new release of wxSU over the weekend.
The only change I would make to your code is to replace:
require "wxSU.rb"
with
require "wxSU/lib/Startup"
Hey, thanks for being an early adopter!
P
-
A new version (v0.3.0) of wxSU is now posted on the project website.
http://sourceforge.net/project/showfiles.php?group_id=240585&package_id=292646Multiple instances of wxSU are now blocked which should eliminate the conflict that I've seen between Random Painter, wxSU, Windowizer 4, and other plugins. However, the conflicts won't go away until each plugin that uses wxSU upgrades to 0.3.0. In particular, the PlayUp plugin needs to be upgraded.
The new version also updates to wxRuby 2.0 which is more stable and has some new features.
If anyone finds problems or conflicts that I haven't mentioned, please email me.
Thanks,
P -
Thanks for the update Peter! I don't have time to update this right now, but perhaps in a week or two I'll get it all updated and working with the new version (though I'm not sure I really need to change very much, it should just be a matter of the users upgrading their version of WxSU they have installed).
Chris
-
mmmm cant get it to work on my mac os x 10.5.6.
first installed the wxSU ppc (that didnt work ofcourse) than tried the platform independent. but got this error see attachment... pretty weird for a macthe next image was the error i got from the mac ppc version
-
Well, I guess "platform independent" was kind of a mislabeling on my part... It would be more accurately described as a "source-code only package for Windows"; no installer. And thus the wacky error message. Sorry about that.
The Mac installer should have worked for you. It's supposed to be a PPC/x86 universal install. Are you using SU 6 or SU 7? It tries to install in the SU 7 directories, which could be the problem if you only have SU 6. Email me and I'll help you debug it. Sounds like there is at least one or two things for me to fix here.
Thanks,
P -
Oops, just noticed you list SU 6-7 in your profile. If wxSU did install successfully under SU 7, you should be able to just copy it over to your SU 6 directory. If that's not the problem, let me know.
-
nice ruby. good video too, I didn't realise you could combine textures in SU
-
-
Hi Chris why don't make that inside your plug?
clselection.each{|e|### if e.class==Sketchup;;Face matx=mats[rand(mats.length)] e.material=matx e.back_material=matx if paint_back==1 elsif e.class==Sketchup;;Group or e.class==Sketchup;;ComponentInstance ######### matx=mats[rand(mats.length)] e.material=matx end ########################################################## }###
(it's not from me of course , it's from TiG
Advertisement