Director 11.5 New Feature Examples, Demos, Source Code

Director 11.5 Demos & Source

Updated: 19 April 2009: Further examples will be uploaded over time.

This page presents a number of examples and demos written with the new features found in Adobe Director 11.5. Unless otherwise stated the examples come complete with source code to aid others in learning about the new features. They were created in order to explore the new features of Director 11.5 and although the code is frequently commented they were not designed as tutorials, as such they may also not exhibit 'best practices' in terms of coding.


Using byte arrays, demos
ByteArray Synthesizer 102 - Updated

Added support for envelope control, LowPass Filter, chord playing, hold note, 303 sequence and playing of a drum beat backing track.

Dynamic creation of audio with a baisc synthesizer, where ByteArrays are used to pass lingo generated audio into a streaming soundObject.

Features 6 Oscillators types, LFO Ring Modulator, virtual keyboard, so plenty of options explore. However its still quite basic, first pass at writing a Synthesizer using the new D11.5 features. Needs a pattern editor in order to start building 'tunes'.
Coming Soon.

Got side tracked implementing MP3 Tag support.
Using byte arrays with source code
Video Postcards

Proof of concept inspired by a post on Direct-l about Adobe Air. Using D11.5 MP4 support and 1bit window mask, to generate dynamic realtime content over of the users desktop. Clicking on the video will spawn a postcard, containing a screenshot of the video at the time it was created. You can drag the postcards around your desktop, or click on them to play the video within that postcard.

Video Postcards: Windows version, projector and source code.

Video Postcards: Mac version, projector and source code.
Only tested Intel Mac, no idea if it will work with PowerMacs.
Creative Commons License
This work is licenced under a Creative Commons Licence.
Using byte arrays with source code
BSP Reader

ByteArrays are used to directly import a Quake 3 bsp file and its lightmaps. The map is converted into w3d models and raw lightmap data into images for use as textures. To keep things simple there is no support for Quake 3 shaders or textures. These would be straightforward to add, but as the assets themselves are copyright to ID software they could not be supplied with this demo anyway.
Creative Commons License
This work is licenced under a Creative Commons Licence.
MD2 Player

ByteArrays are used to import the old Quake md2 character format and the bitmap pcx format for the textures. The md2 is converted into a w3d model along with its animation, which is accomplished by vertex morphing/interpolation between keyframes.
Creative Commons License
This work is licenced under a Creative Commons Licence.
3DS Converter

ByteArrays are used to import 3ds files and w3d models generated from the data. The w3d can then be exported to an external file. Its very basic with limited support for 3ds features and does not import textures/materials although texture mapping is supported. An example model is supplied and the project could act as a basis to write a more fully supported version.
Creative Commons License
This work is licenced under a Creative Commons Licence.
w3d Texture Extractor

ByteArrays are used to extract textures from an external W3D. Exports all textures as jpeg's to external folder, no support for alpha component ... yet.
Creative Commons License
This work is licenced under a Creative Commons Licence.
wav Player via ByteArrays

ByteArrays are used to import wav files, parse their header, then using the createSoundObject to control playback of the audio.

In this example everytime to soundObject issues a callback, its byteArray is filed with the next seconds worth of audio data from the wav bytes.
Zip Directory Reader

ByteArrays are used to examine a zips content directory. It does not unzip data, just shows how to parse the zip format and extract information on the files stored within it.
Creative Commons License
This work is licenced under a Creative Commons Licence.
Z80 Emulator
License: GNU General Public License version 2


Specifically a Spectrum 48k emulator, featuring a few sample games (manic minor etc) based on Jon Pollard 's Flash AS3.0 version and released under GNU General Public License version 2.

Although functional its a 'work in progress', but there are no plans to further its development at this time. The main aims were to see how Director could cope with emulating an old cpu, use of byteArrays and porting AS3.0 to Director Javascript.

Previous knowledge of old Spectrum games will be advantageous as they rarely convey the keys the needed to play. There is a readme in the first cast member that details a few games controls, along with a whole bunch of other information.

Performance is disappointing. This is wholly due to Directors Javascript implementation, which from testing can be twice as slow as the same lingo code and further more byteArrays in JS are twice as slow again! Conversion of the code from Javascript to lingo could provide substantial increases in performance, however the process would take a huge amount of time. Lingo is also missing some functionality such as logical and bitwise operators, meaning it will still have to fallback on Javascript for some code.
NoiseCrime 2009