Friendlyskies AoI Forum

You are not logged in.

Announcement

#1 March 31, 2009, 5:27 pm

TroY
Penguin?
Registered: October 29, 2007,
Posts: 182
Reputation :   

My Scripts and Plugins "Collection"

I tried to find the source codes for the ViewLayout-Plugin and failed. smile This reminded me of my own terrible chaos regarding plugins, scripts and source codes. So, I decided to perform some "clean-up".

On a "regular" basis (= when there's something new - you'll notice that as I'll post it here wink) I'm going to create (compiled) snapshots of all my plugins and scripts over here at Github:

http://github.com/vain/aoi-addons/downloads

The sources live in a single Git repository:

http://github.com/vain/aoi-addons

(Sadly, the sources for the Helix-Documentation is still missing.)

Please note: If you're going to build the plugins via ant, you'll have to have a link to or a copy of your ArtOfIllusion.jar in the "jars" directory. To build the DailyHelpers plugin and the ExternalEditor, you also need a link to PreferencesPlugin.jar.

Okay, most probably I did forget something really important. smile So, any feedback is most welcome. big_smile


(Outdated link for the repositories, not updated anymore: http://www.uninformativ.de/git/)

Last edited by TroY (September 25, 2009, 1:45 pm)

Offline

 

#2 March 31, 2009, 10:12 pm

Nik777
Moderator
From: Sydney, Australia
Registered: December 5, 2004,
Posts: 1119
Reputation :   
Website

Re: My Scripts and Plugins "Collection"

Hi Troy,

A commendable undertaking. Just a few points which may be of help:

1. The AOI Scripts and Plugins project (AOISP) on Sourceforge was created to help with exactly this issue. We keep source code for (most of) the current plugins there. The SF source download system can manage multiple versions of source for each plugin.

2. The AOISP project also has a subversion SCCS. Personally I am very much against subversion (it seems to be the opposite of what we want for a distributed development effort), but it is a centralised repo for source code. And it is globally accessible.

2a So what would be useful would be for us to arrange some way to regularly update the AOISP subversion repo from your GIT repo.
Speaking of this, I should arrange a similar update process from my Darcs repo of my plugins... (Francois asked me to do this years ago, and it is in fact quite possible - I just haven't got around to it...)

3. Now is a good time we got all the plugin developers to discuss this. I don't know enough about Github, but what we really need is a central place for source code and the binaries for the SPManager to download from. We currently have all of this with AOISP. We don't really get great value from AOISP in terms of source code management, so if we decide to move elsewhere I am ok with that. But I would not want to separate the 2 functions - it's hard enough keeping the 2 parts of the single project we have up to date. Having 2 separate projects to update would be even worse. :-)

Cheers!
Nik


Honorable
I would not be a member of any club that would have me as a member
- Groucho Marx

Offline

 

#3 April 1, 2009, 10:43 am

TroY
Penguin?
Registered: October 29, 2007,
Posts: 182
Reputation :   

Re: My Scripts and Plugins "Collection"

Hmm. Yes, that would be the next step (I didn't even think of that yet). smile In the first place, I just wanted to collect my stuff and make it available at a central location.

Nik777 wrote:

So what would be useful would be for us to arrange some way to regularly update the AOISP subversion repo from your GIT repo.

Sure, somehow, this should be possible - although I haven't found a *clean* way to do so, yet. But git is quite flexible, so maybe I'll discover the ultimate-uber-solution. cool

Nik777 wrote:

I don't know enough about Github, but what we really need is a central place for source code and the binaries for the SPManager to download from.

Actually, I would not leave SF unless there's a good reason for it. Github was just an idea for my own stuff because it provides a web interface (just like SF), so other users can easily browse the repos. But I don't think their decentralisized model would fit your needs.

Offline

 

#4 April 2, 2009, 10:04 pm

Nik777
Moderator
From: Sydney, Australia
Registered: December 5, 2004,
Posts: 1119
Reputation :   
Website

Re: My Scripts and Plugins "Collection"

The other thing I have considered is hosting a public Darcs repo on the AOISP project. This is actually quite easy to do, and offers a better environment for distributed development.

Whichever way we go, I am planning on achieving the following:

1. Single global website with scalable download mirroring that supports both versioned sourcecode and versioned binary distributions;
2. Web-based access to the source repository;
3. Web-based access to the versioned binary repository;

I can achieve all of the above through SourceForge and SVN. I am still looking into whether the result would be better or worse if I used Darcs instead. In amongst all of that, I should consider GIT. It is possibly a better solution for a global repository such as this, but in other respects it may be more difficult to set up on SourceForge.

However, that does raise the interesting prospect that perhaps GITHub might be a good solution for both source and binary repos...

Cheers!
Nik


Honorable
I would not be a member of any club that would have me as a member
- Groucho Marx

Offline

 

#5 April 13, 2009, 7:16 am

Nik777
Moderator
From: Sydney, Australia
Registered: December 5, 2004,
Posts: 1119
Reputation :   
Website

Re: My Scripts and Plugins "Collection"

On this point:

I've just discovered that SourceForge now supports GIT repositories out of the box. I'll have a look into that over the next couple of weeks. It may be that we just enable the GIT repository on AOISP, and continue from there! :-)

Cheers!
Nik


Honorable
I would not be a member of any club that would have me as a member
- Groucho Marx

Offline

 

#6 April 13, 2009, 12:30 pm

TroY
Penguin?
Registered: October 29, 2007,
Posts: 182
Reputation :   

Re: My Scripts and Plugins "Collection"

Well, that would be great, I guess. big_smile Didn't know that either. Looks like git is really gaining popularity ... smile


Just to report some updates. The snapshots are up to date, so you can obtain these plugins / scripts from there.

External Script Editor:

Allows you to edit scripted objects in an external editor such as vim, geany or whatever. Just select your script(s) and choose "Tools" -> "External Script-Editor". You can configure that plugin under "Edit" -> "Plugin Preferences".

Note that there's a button to create a hotkey. You only have to do this *once*, even if you change the editor command. That hotkey can be adjusted using "Edit" -> "Preferences" -> "Shortcuts".


Regex-Tools: (all of the following are tool scripts)

RegexSelect and RegexTextureWipe provide simple utilities to select objects and delete textures whose names match the given pattern. For example, selecting "Sphere.*" would select every "Sphere 1", "Sphere 2", ... in the scene. Please note that there's no undo record being created when using RegexTextureWipe - so you can't recover any deleted textures.

RenameByFindAndReplace is a little bit more complex. It allows you to batch rename objects. For example:

- Select nothing and start the script. To replace every "PolyMesh" in object names with "Bomb", just enter "PolyMesh" as the pattern and "Bomb" as the replacement.

- To restrict this process to *some* objects, you have to select them before you start.

- There's a "counter" feature: A %c in the replacement-string will be replaced with a growing number. So, to rename all objects like "Sphere red", "green Sphere" ... with "Ball 1", "Ball 2", you'd have to enter ".*Sphere.*" as the pattern and "Ball %c" as the replacement-string. Note that in this case you'd have to disable the "Regex: Word boundaries" option.


Feel free to poke me if that short description was just too confusing. big_smile

Offline

 

#7 September 25, 2009, 2:10 pm

TroY
Penguin?
Registered: October 29, 2007,
Posts: 182
Reputation :   

Re: My Scripts and Plugins "Collection"

Okay, I moved my stuff to Github. It's quite obvious that hosting Git repos on a simple webserver wasn't a good idea. There's no web interface, so users can't have a quick glance at the code. Pushing changes to it is a pain. Also, I merged all repositories into one single repository. There are way too few changes to the plugins or scripts that would legitimate an entire repository for just a few files.

Github allows you to upload arbitrary files aside from the source code, so I moved the snapshots to Github as well. smile

I really became a fan of Git and I use it for everything. big_smile

I do hope that I won't regret this step. Github moves to a new hoster in the next few days. With some bad luck, I'll end up in chaos. ack2 wink On the other hand, I expect the site to be much faster after the switch. Whatever, there's not much traffic on my repositories anyway.

Offline

 

#8 May 27, 2010, 11:31 am

TroY
Penguin?
Registered: October 29, 2007,
Posts: 182
Reputation :   

Re: My Scripts and Plugins "Collection"

Hey,

I'm sorry, I should have put the DOF autofocus scripts in this thread, too. Sorry for the slight chaos. smile

Anyway, here's another tool script: MoveObjectsToLocation

Download via github, just throw it in your "Scripts/Tools" directory.

This is pretty self-explanatory. You select a bunch of objects and launch the script. Now you pick one of the selected objects and all other objects will get moved to the location of the target object. An undo record will be created.

Offline

 

#9 May 27, 2010, 1:31 pm

mayid
42
From: Argentina
Registered: March 29, 2009,
Posts: 1004
Reputation :   
Website

Re: My Scripts and Plugins "Collection"

Hi TroY. I tried the MoveObjectsToLocation script. It moves all the objects to a single location, sharing the center. (I IMAGINE IT running with CopyToLocation script, abd naybe also with Distribute. I feel like grouping related scripts into a common menu).

Just to mention than i'm copying your tutorials to a tutorials manager, so they'll be translatable. You can see the page in draft here:
http://www.aoi-castellano.com.ar/AoITut … =tutorials

Last edited by mayid (May 27, 2010, 4:18 pm)


Comunidad en español:
www.aoi-castellano.com.ar/ForoBB/index.php
Comunidad de aprendizaje.

Offline

 

#10 May 27, 2010, 4:59 pm

TroY
Penguin?
Registered: October 29, 2007,
Posts: 182
Reputation :   

Re: My Scripts and Plugins "Collection"

Hey,

grouping and categorizing scripts is another "battlefield". smile (I suppose that sentence was proper denglisch).

I totally agree that it's hard to find one particular script in such a long list. Categories (preferably editable by the user) would be very nice. However, this has been discussed on SourceForge a while back and as far as I can recall there were no proposals yet on how to solve this issue...

Translating my tutorials? That's nice! smile I have to admit that I haven't followed your "Editable Manual" project in detail. Seems like I should take a closer look. wink Anyway, let me know if you need any help in translating those tut's.

Offline

 

#11 May 28, 2010, 1:16 pm

mayid
42
From: Argentina
Registered: March 29, 2009,
Posts: 1004
Reputation :   
Website

Re: My Scripts and Plugins "Collection"

grouping and categorizing scripts is another "battlefield".  (I suppose that sentence was proper denglisch).

Would you merge the scripts in a single menu item, and put it in a menu? (outside the Scripts submenu).

Take by example the advanced rendering. It place the menuItems in the tools menu (i'd prefer to see them in the SceneMenu instead wink)

I'm meaning

(I IMAGINE IT running with CopyToLocation script, and maybe also with Distribute. I feel like grouping related scripts into a common menu).

+ the Randomize Script. Doesn't this make sense?

If you don't have the mood, anyway i'll try this because i'm learning to code, and improving my skills this way.
karate

Second point: the wireframe Object liked me much (thanks Harald for the video tutorial!). However, i don´t feel comfortable with the object scripts. And i'd prefer a GUI to manage them. I already asked about this, and Francois explained me why the scripted objects cannot have a GUi. But how about converting it into a Tool?. Would you guide me to do it? I should ask Siri to make an icon for it (with the pawn would be nice!).

Last edited by mayid (May 28, 2010, 2:52 pm)


Comunidad en español:
www.aoi-castellano.com.ar/ForoBB/index.php
Comunidad de aprendizaje.

Offline

 

#12 May 29, 2010, 6:36 am

TroY
Penguin?
Registered: October 29, 2007,
Posts: 182
Reputation :   

Re: My Scripts and Plugins "Collection"

mayid wrote:

Would you merge the scripts in a single menu item, and put it in a menu? (outside the Scripts submenu).

Hm, well, I'm thinking of something like this (click for full view):

http://www.uninformativ.de/thumbnails.php?path=tmp/AoI_menusketch.jpg&size=160x120

Of course, in any case, grouping poses the question of "how to group?" You may want to group scripts in a different way that I would group them. smile Hence, the best way would be to have some kind of "default grouping" (maybe non at all) and if the user wants to, he may group his scripts in any way he likes. This results in user-editable-menus (at least for the scripts).

I do have some ideas of how this could be implemented. However, most of the code would be GUI code (--> create a menu editor) and that's cumbersome. The underlying logic wouldn't be that hard to code, I guess -- but writing GUI code is very time-consuming.

Francois explained me why the scripted objects cannot have a GUi. But how about converting it into a Tool?. Would you guide me to do it?

I would if I could. big_smile

The nature of tool scripts is that their output is immutable. Once a tool script has done it's job, nothing can be changed. You may create a wireframe with a tool script -- but you can't change it programmatically afterwards.

Object scripts can do that. They don't really "create" objects but they "describe" them. An object script says: "Put a sphere at this location and it shall have radius x." At any point in time, the user may change the value for "x" -- so we can animate them or make them dependant on other objects. But they will never have a proper GUI and they will never be equivalent to tool scripts. Hence, both types can't be converted into each other.

If you really need to combine the advantages of both tool scripts and object scripts, you need to make a plugin that defines a new object type. Just like the polymesh editor or the fluids plugin. Then, you can create a very nice GUI and programmatically change the objects at any time.

Offline

 

#13 May 29, 2010, 7:55 am

Nik777
Moderator
From: Sydney, Australia
Registered: December 5, 2004,
Posts: 1119
Reputation :   
Website

Re: My Scripts and Plugins "Collection"

Hmmm, regarding grouping scripts (or any extension).

My thoughts for the grouping is to associate keywords and allow users to search on those (there was a long discussion in SF over this).

For the menus, I would suggest:

1. favourites
2. most recent
3. search

So:
* AOI would allow a user to add as many scripts, plugins, textures, materials, prebuilt objects, atc to the favourites list, and this would be shown
either on the main menu, or as a submenu called "favourites"
* AOI would keep the n most recently used extensions (see incomplete list above) on the main menu, where n can be set in the preferences
* The search function would allow users to put in keywords, and find whatever they were looking for
(The search panel would be dockable, so users could dock it when they are using it a lot)

- In fact, I would suggest that the favourites list could also be dockable...

Cheers!
Nik


Honorable
I would not be a member of any club that would have me as a member
- Groucho Marx

Offline

 

#14 May 29, 2010, 8:24 am

mayid
42
From: Argentina
Registered: March 29, 2009,
Posts: 1004
Reputation :   
Website

Re: My Scripts and Plugins "Collection"

* The search function would allow users to put in keywords, and find whatever they were looking for
(The search panel would be dockable, so users could dock it when they are using it a lot)

Dockable searcher for scripts would be nice. It would be a editable combobox, right?
http://java.sun.com/docs/books/tutorial … bobox.html

The nature of tool scripts is that their output is immutable.

I meant a tool plugin. It would be the same than for tool scripts? Immutability? (there's already a lattice tool script, btw)

I think that having an object on scene, and pressing an icon in the tool bar, would generate the wireframe. Moving and posing the primitive object and pressing the tool again would generate another wireframe object. See, I'm thinking in terms of photos not in animations.

Double clicking the icon would let you set the thickness parameter. (And the texture from a list maybe?) It likes me this way because it's simple.

TroY: The picture about grouping did what i was thinking about. But i consider these tools should be in Object menu instead of there. The scripts are too far from the workflow (and other things are too, making the modeling process quite slow). I miss the mnemonics in AoI. More predefined keystrokes would make thinks flow. By example, one for opening the script panel. But the docks would make it better.

Is nice to speak about this.

Mayid.

Last edited by mayid (May 29, 2010, 8:28 am)


Comunidad en español:
www.aoi-castellano.com.ar/ForoBB/index.php
Comunidad de aprendizaje.

Offline

 

#15 May 29, 2010, 10:39 am

mayid
42
From: Argentina
Registered: March 29, 2009,
Posts: 1004
Reputation :   
Website

Re: My Scripts and Plugins "Collection"

If you really need to combine the advantages of both tool scripts and object scripts, you need to make a plugin that defines a new object type. Just like the polymesh editor or the fluids plugin. Then, you can create a very nice GUI and programmatically change the objects at any time.

Oh! Now i understand. Yes, a parametric edit would be nice. But hard to build.

Last edited by mayid (May 30, 2010, 3:24 pm)


Comunidad en español:
www.aoi-castellano.com.ar/ForoBB/index.php
Comunidad de aprendizaje.

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson