If you want to send a killer Director wishlist to Macromedia, how about mine?:


To the Director wishlist team...

As soon as I understood how to use parent scripts and behaviors I realised that Director is really an excellent Object Oriented development environment and not a rickety animation program. I wish this was given more focus earlier in the printed tutorials instead of all the stuff about animation. The Director movie metaphor is not great, but I suppose you're married to the idea. It prevent beginners from seeing the true power of the program and encourages a linear mindset which creates complications when they try to make something really interactive. I have been teaching Director for a few years now and have had best results by starting with behaviors, leaving score - based animation until later. My students are artists, not programmers.

Some of my wishes below represent radical departures from the timeline/spreadsheet approach, but I am convinced they would make Director a much better product.

Here are my wishes in detail:

 

The Score and the Playback Head

It would be great if you could make filmloops on the fly from the score selection. I'd like to be able to manipulate the media of filmloops with Lingo. I'd like to be able to trigger them, play them backwards and test how many frames and channels they contain. Most of all I'd like to able to double click on a filmloop sprite and have another score window opening with its own playback head. Otherwise, I'd like to be able to group sprite channels together, like in Adobe After Effects, and attach behaviors to the group.

I'd like Lingo access to the tweened properties of a sprite without having to go to another frame to test and set them.

It would be great if you were able to set the default volume and stereo pan of the sound channels with GUI sliders. I'd also like to see as many sound channels in the score as there are sound channels on the computer (eight is normal on a Mac, four is common on a modern Windows configuration.)

I'd like a way of storing objects birthed from scripts in 'spriteless' channels which perhaps have some kind of standard way of accessing an 'output value'. This might be achieved by more 'framescript' channels where properties specified by property dialog boxes can be stored

I'd like the ability to turn off transitions' cpu hogging Behavior (they'd become less smooth if you do this, but at least there's a chance of getting some ticks)

I'd like to able to make the playback head go backwards and I'd like pause to be supported in future releases. go to the frame does not work in quite the same way, and pause very useful in some situations.

 

 

Authoring Environment

I'd like cross platform Director to be available together as one package, or at least projectors for the other platform should be included in the box with simple editors to set playback properties etc.

I'd like to see the authoring envrionment being fully scriptable. Lingo access to menu items, window buttons and so on. Everything you can do with the mouse and keyboard should have a Lingo equivalent.

I'd like to be able to fold and unfold cast selections a bit like files and folders (a recursive container structure) so that they can be more easily encapsulated and exchanged between different people working on the same project. It's often the case that you need several cast members to be moved around or replaced and it's easy to miss one.

It would be great to have improved clipboard support, at least such that you can check the type of the clipboard media.

I'd like to see tool MIAWs being able to trap the ordinary modifier keys so that they can use the ordinary key combinations for select all and clipboard operations etc.

Auto Filter does not work, even with Aldus gallery effects 1.0 (as suggested in the technotes). This would be a great feature to reintroduce. What about making some filters for it or bundling the few that do work with Director.

I'd like settable keyboard shortcuts, as in Freehand. If you are not using a US keyboard, some of the shortcuts are impossible.

As well as the 'Alphabetical' and 'Category' Lingo popups in the script and message windows, I'd like there to be a 'Custom' or 'User' popup where you could add your own commonly used custom lingo and templates.

I'd like the ability to LOCK Sprites so that their properties can't be changed until you unlock the sprite.

 

Behavior Inspector:

What about an add/edit property button? This would actually make it possible for beginners to make REUSEABLE scripts! It would also be cool if you could specify the format of those properties, and whether they are initialised on beginsprite or in the getPropertyDescriptionList handler. All this in an 'edit property' dialog.

Related to this, I'd like to see a list of existing properties in the Behavior shown in the inspector, double-clicking on existing properties brings up the 'edit property' dialog.

It would be great to be able to type the behavior description in an ordinary text editor, then have the getBehaviorDescription handler generated automatically.

The list of events in the behavior inspector is incomplete. What about mouseUpOutside and enterframe for example?

Also in the behavior inspector, it's annoying that the filed width of the 'new event' and 'new action' dialogs are data driven. There's rarely enough room to type anything. Can't these be single line resizeable text fields? It would also be cool for the 'new action' dialog boxes to have lingo popups.

I'd like to see messaging lingo like 'sendsprite' as actions in the actions popup.

It would also be great if all moviescript handlers appeared in the action popup.

 

Behaviors and other OO stuff.

I'd like to be able to modify the behavior initializers with lingo. This would be great and would save a lot of time on large projects. I'd also like to be able to access with lingo the list of behaviors attached to a sprite.

It would be really wonderful if there was an optional default handler for objects, a bit like the global primary event handlers but specific to each class and without a specific message. All messages arriving at the object would be sent to this handler first if it exists, giving the object a chance to intelligently deal with unrecognised messages or route a set of messages to a particular handler. This would prevent the need for writing a handler for each message which is expected.

It would be great if there was a scriptInstanceList of member so that messages sent to cast members would be passed to objects attached to them, even when the movie is not running.

Also,

sendmember(#message)

sendallmembers(#message)

sendallmembers(castlib, #message) --for individual castlib messaging, to make better use of multiple casts.

Related to this, I'd like to see getPropertyDescriptionList available for parent scripts as well, so that the property dialog could be called up for abstract objects, or objects stored in script properties as well. If you drag a script on top of a member, the cast member script could have a scriptInstanceList property added automatically and the getPropertyDescriptionList function would be called bringing up the property dialog. Property initializers could be stored in the cast member.

I'd like to see a GUI for abstract objects, a visual object browser which could also be used to examine nested lists.

I'd like to see support for interface description so that code can be shared more easily. Something like public and private would be handy, or perhaps 'gettable' and 'settable'. I'd like to make property dialogs available to end users so that public properties, or just those placed in a getInterface handler are displayed there. Such dialogs should be available to all objects of ilk #instance.

Property dialogs should be dynamically updated so that you can disable and enable items according to specific choices. This would mean an optional extra item in the property description list specifying which values make which other items disabled. All other values would make them enabled.

The idea of puppets is totally anti OO. I'd like to be able to attach scripts to the effects channels, similar to the change which occured to sprites between Director 5 and 6. At the very least, ALL properties of the effects channels should be puppetable. (Consider the tempo channel.)

Similarly the properties puppet and visible are properties of the sprite channel, not the sprites themselves. What about clearing this up? It's confusing. It would be great if you could attach scripts to channels as well as sprites! This would make layer-shuffling easier too.

I'd like to be able to dump the state of an object then rebirth it with the same properties later using a standard technique. (Persistence.)

 

Xtras

I'd likeMUI to be modified so that callbacks can be addressed to particular objects. MUI is messy, slow and unfinished. I'd like to see MUI fixed.

I'd like a 'safe' fileIO which ALWAYS prompts before accessing the user's hard disk.

We should be able to add a string mask to the fileIO displayOpen dialog box, such as "Please locate xyz..." At present you can only add a string mask to the displaySave box.

I'd like Xtra equivalents of the defunct XCMDGlue Xobject and the SerialPort Xobject to be added to future releases.

I'd like to see closer integration with Quicktime, particularly the sprite track, maybe also some way of embedding a subset of Lingo in a Quicktime track?

 

Miscellaneous

tan2() -- a full circle arctangent function

TraceUnload (like Traceload), to trace how/when cast members are loaded and unloaded.

 

MIAWs

a #loseFocus event (when the user clicks on a window other than the stage) or (at least) the frontwindow MIAW property should indicate this somehow.

 

Contentious ;)

Runtime support for BeOS
Runtime support for Linux
Runtime support for interactive TV / consoles etc.

Authoring Environment for BeOS
Authoring Environment for Linux


Copy (and preferably reword) the above, add your own wishes, remove what you're not interested in (or don't understand) and send it to wish-director@macromedia.com