It has been a busy couple of weeks here at the Scriptographer HQ, as we were adding new features and writing tutorials, squashing bugs, simplifying things further and also adding support for the new Illustrator CS5.
We are quite excited about the mixture of new things, simplifications and more stability that we added to this release and think it was well worth the wait.
Refer to the change-log for a more complete list of what is new, but here some of the highlights:
Script Repository Manager
We introduced a new way to organise your scripts that is far more flexible and also more secure, as it prevents you from accidentally overriding your own script files: The Scriptographer Repository Manager lets you define multiple script repositories that serve as root folders for your scripts. These root folders show up in the Scriptographer Main Palette as if they were all nested together in one parent folder, but in fact they can be located anywhere on your hard-drive, and really should be located outside of the Scriptographer folder. In the future this will allow far simpler updates of Scriptographer to new versions, without the risk of any changes to your scripts lost – that is as long as you do not store your changes inside the default Examples folder.
Here is how it looks like with my personal configuration of multiple projects done with Scriptographer, all located in different parts of my harddrive:
Palette Improvements
We also spent a lot of time thinking about how the already great new Palette class could be made even more useful, simple and flexible. And we believe we came up with some really great ideas that we are soon going to write more about in the tutorial about Displaying Dialog Windows. We also changed many of the example scripts in the Tools folder to use this powerful new feature, so until the tutorials are done, the best way to see how to use it is to look at these scripts.
Components in palettes now support a couple of new values for component.type: 'font', 'color', 'ruler', 'menu-entry' and 'menu-separator'. But what's even better: If a script changes properties in the values object that is passed to palettes on creation, the palette gets updated automatically and efficiently. In the same way, the components object that is passed to the it now offers simpe access to the created Components, allowing the components to be disabled and enabled again, hidden and shown, list options can be changed, etc.
From this release on, the classes previously available through the UI package are now deprecated. The reason for this is that the technology they are based on (ADM) will go away in CS6 when Illustrator will be ported to Cocoa.
In order to prepare for this transition early, and also to simplify the way people work with Scriptographer, we decided to come up with this new way of making UI in Illustrator that we believe is very powerful and incredibly easy. The only classes you need to know of are Palette, Component and Dialog.
Documentation for the previous UI package, now dubbed ADM, is still available at http://scriptographer.org/legacy/adm/.
Timers
Lastly we would like to highlight a feature that might produce a whole new category of scripts: In this release, timers finally became reliable, much faster and stable, allowing them to be used to write background scripts that can continuously change items in the document. This can for example be used for animations, or other playful things, such as the new Throw.js script in the Examples folder. Timers are currently not documented in the reference, but you can use them in the same way as you would in browsers: setInterval() / setTimeout() to set a periodic / one-shot timer, and clearTimeout() / clearTimeout() to abort them again.
This should give a good overview of what is new. We are aware that a lot of things still need better documentation and will now again focus on that part.
We hope you will have as much fun with this release as we had making it.
So that's about it for now from us, time to download and start writing your own scripts!