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.
Developer of LightUp https://www.light-up.co.uk
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.
Developer of LightUp https://www.light-up.co.uk
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:
1. At least one configuration with guaranteed crashing is: Random Painter + PlayUp + Windowizer 4 ...with the final trigger being the menu command Plugins/Windowizer4
2. Part of the problem appears to be that Random Painter and PlayUp are both running their own separate sessions of wxSU, which is dangerous.
3. 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?
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.
EDIT: I am unaware of other plugins that use WxSU at this point.
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:
Hey, thanks for being an early adopter!
A new version (v0.3.0) of wxSU is now posted on the project website.
Multiple 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 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).
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 mac
the 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.
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?
(it's not from me of course , it's from TiG
Chris, thanks for the cool plugin!
Little feature request: would it be possible to make it paint groups and components as well?
(not inside them, just the component instance itself...)
At this moment, that would save my life (damn deadlines)..!
I didn't installed it yet, but I want to ask a question before:
What's the difference between that two versions? (with and without WxSU) ?
WxSU is/was an add-on to offer new functionality to SUp but it proved to be a big flaky [and/or difficult to 'get right'] and so Chris wrote the alternative version that didn't need it...
Thanks, just downloaded it. I hoped it will work on groups/components too. Maybe Chris reads this and update the plugin?
Other nice functionality would be to be able to "pick" materials/textures from model and/or from Material Browser and use them to paint the selected entities...
This is a very useful tool. Perhaps would could be improved by using su's dialogue color picker which I know you have probably thought of already.
You ruby God's are fantastic!
Yes ultra cool
I am fan from the beginning!
I'm actually sitting on a color picker I made that is built into SketchUp's view. Its pretty cool. I have not ever gotten around to using it for anything, maybe I should post the code so someone else can use it.
Oh - that one! Please do make something out of it. It was cool!
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
Very helpful plug-in, Chris! Thanks so much for making and sharing this.