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.

Please note:

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!

The students were asked to come up with ideas for useful tools in Illustrator, either for their own needs or for something they identify as generally missing in Illustrator's functionality. During one intense week of teaching a mixture of geometry, scripting and designing simple user interfaces and interactions, the students then worked on turning their ideas into functioning products.

With Time Bandit 2.0, the first result of this week just started to arrive on the Scriptographer.org website now, and a quite astonishing one too. Who would have thought that Illustrator would be useful as an animation tool?

Thanks again to all the students for their enthusiasm for the scripts. We hope your work will inspire you and others to take this way of working further, beyond the scope of these workshops.

Just in time for this week's workshop at ECAL, we released the latest version of Scriptographer. As always this includes a row of bug fixes, and this time also some quite substantial performance improvement in various fields.

But most of all, this includes new functions and classes for creating user interfaces and palettes in very easy ways, as described by the new Displaying Dialog Windows tutorial. Speaking of tutorials, we also wrote quite a few new ones.

As this is the main new feature in this release we are not going to include a detailed change-log this time.

This should basically eradicate the need to tinker with any of the complex types in the UI package, which is a good thing, as Adobe will likely move away from ADM in CS6 onwards due to the necessary switch to Cocoa on Mac in order to support 64 Bit. This will break all of Scriptographer's UI code and making it literally impossible to maintain backward compatibility for the UI package. Therefore the methods described in the Displaying Dialog Windows tutorial will be the only ones guaranteed to work in the future in order to create user interfaces in Scriptographer.