The Multimedia Platypus

(Platypus accepts UK and US spellings)

Registration

Overview

Understanding a script

Application | Animation | Textbox
Do | Button | Text Styles
Learn | Image | Program
Frame | Sound | Browser
Scene | Page | ACTION and ROLLACTION

Two introductory lessons

Special commands

Drag and Drop | Random Images | Video Control | Browser Commands
Red pen highlight | Pause | Click | Remove

Programs

Platypus Project | Platypus Editor | Platypus Interactive Editor

Overview

The Multimedia Platypus contains several programs that work together to provide you with a marvelous balance of power and simplicity in developing multimedia. The intelligence within these programs is contributed to the "Platypus", an unusual and industrious animal (one of the few egg laying mammals) that has an uncanny talaent for building multimedia!

Platypus Project | Platypus Editor | Platypus Interactive Editor

Understanding the concept

The Platypus is designed to be a quiet achiever. You will never see it, but you will know that it is there. It will work away, under the surface turning your instructions and resources into professional quality multimedia applications.

All you need is the Platypus, and the software that comes with any Win 95/98 or Win NT multimedia machine. Such machines include:

- Sound Recorder ( for wave sound files)
- Paint (for bitmap image files)

Of course you can improve the quality of your resources immeasurably by substituting more highly powered products for these minimal applications. You can even add video capture applications, but none of this is not essential to get started.

What does the Platypus do?

The Platypus helps you develop a multimedia script and then executes it for you. While the Platypus reads a text script that can be written in any word processor, Platypus includes the Platypus Editor that actually writes the text for you, as you fill in the appropriate dialog boxes.

Why can't we see the Platypus?

When you write multimedia, you want full control of the screen. You don't want fixed borders, or fixed windows, or standard title bars or menus. You want everything EXACTLY as you decide. For this reason the Platypus is completely invisible. All that RGMT asks is that either at "start-up", or at "shut-down", you display the Made with The Multimedia Platypus icon, so that the little worker gets just a taste of thanks for all his hard work.

The Quit button always will display this for you.

Platypus comes with a distribution version which accompanies your Platypus applications. This version, known as the Traveller, does not read a script but the reads your compiled and encoded application. In the Traveller, the Exit button exits immediately, without a warning, and relies on you to script your own "shut down" alert. This feature recognises that professional applications need complete freedom. You are, however, still required to display the Made with The Multimedia Platypus icon. The Quit button is unaffected.

Platypus Project

To begin Platypus development, launch Platypus Project. Platypus Project is a simple menu of your existing projects.

Platypus projects contains a list of projects currently under development.

The NEW button launches the Application Wizard

The Wizard contains NINE starting templates that can be edited and developed to create different styles of applications. The Wizard continues with the New Application dialogue which provides for the <APPLICATION> section of the script. It also provides an opportunity to set the BASE frame dimensions.

NB. Not all Wizard Templates allow the user to specify SIZE and POSITION. Such freedom may result in important frames and buttons within the template becoming unusable. For this reason some templates ignore the BASE frame parameters but the user still has the power to adjustment inside the script.

EDIT loads the selected project into the Platypus Editor.

START begins your project running in the Interactive Editor. In this environment the project works exactly the same way as it would if completed for publication, except that you can make changes on the fly.

MAKE is an exceptional feature of the Platypus. It accepts a project as complete, and prepares it for distribution. You can find the distribution copy, complete with its installation program, in the setup folder of the Platypus directory.

ADD allows you to browse through your disks and add projects scripts to the scrolling list of projects on the left.

DELETE deletes projects from the list BUT not from your hard disk. Deleted projects can always added again later.

IMAGE loads your preferred graphics package. As shipped it loads MS Paint which is provided as part of your operating system. MS Paint is a minimal tool but it is quite capable of supporting multimedia development. You can use the OPTION button to alter this selection.

AVI loads your preferred animation or video editing software. As shipped it loads Platypus Animator which is provided free with the Platypus. Platypus Animator is a simple tool for stringing images together into a slideshow and adding sound. While it is minimal in nature, it is very quick. It should not be overlooked for simple tasks even if you have a more powerful application. You can use the OPTION button to alter this selection.

SOUND loads you preferred sound package. As shipped it loads Sound Recorder which is provided as part of your operating system. Sound Recorder is a minimal tool but it is quite capable of supporting multimedia development. You can use the OPTION button to alter this selection. Platypus supports AVI, MPEG and Quicktime.

TOOLS launches two little utilities that assist you to select coordinates and sizes. The interactive editor minimises the need for these tools but you may find them handy.

The TOOLS button opens the Rectangle and Mouser utilities.

- Mouser floats over the screen reporting the position of the mouse at any instant. This can be useful when deciding the position of buttons and images. If you click on Mouser its banner becomes coloured. In this mode the ENTER key will copy the position to your clipboard. Holding down the ALT key and pressing the letter o, Alt-o, will shift the ORIGIN of the coordinates for Mouser to the current position. This is useful when working inside a frame.

- Rectangle floats over the screen reporting its own top left corner position and its current size. It can be resized by holding the right mouse button down with pointing at the bottom right corner of the rectangle and dragging it larger or smaller. Rectangle is useful for positioning and sizing frames, images and animations. New will create a new copy of Rectangle and you can use them to set up your screen. Copy places both the position and size information to the clipboard. When a Rectangle is selected and its banner coloured its orgin can be altered to current mouse position using Alt-o as per Mouser. The position of Rectangle can be fine tuned by right clicking in the banner and selecting 'Move' (use arrows to move pixel at a time)

OPTIONS provides a means of altering the selection of software called through the IMAGE, AVI and SOUND buttons.

HELP offers both this HTML based help file (installed on your Hard Disk) and the Platypus Tutorial (stored on the CD ROM). This version of the Tutorial omits the introductory animations. You should watch the Platypus Website for updates of the HTML file and other updates or lesson notes.

Platypus Script

A Platypus script is a description of a multimedia performance. A script is saved in text-only format, and resides in a folder along with a media folder containing your sounds, images and animations.

A Platypus Script consists of three distinct sections

- <APPLICATION></APPLICATION>
- <LEARN> </LEARN>
- <DO> </DO>

NOTE: Some may notice a similarity with HTML, in that images, animations and sound are defined along with properties. Like HTML, Platypus script uses tags within < > brackets to define resources, but, unlike HTML browsers, the Platypus simply stores this information, and waits until instructed to use it in the DO section.

Each Platypus script starts with the Platypus Template, generated by Platypus Project when you start a new project. The standard template displays the structure and conventions that script writers are urged to follow.

NOTE: In the unregistered, templates are resistricted to 6 objects. To help overcome this limitation many objects are "commented out". These can be removed after registration.

COMMENTS

The Platypus stops reading a line as soon as it encounters a double slash, //. This lets the script writer put comments into the script to serve as reminders and information to people reading it.

/*It also ignores statements inside markers like this one */

The Platypus Template

Details of the elements that can be placed in scripts will be provided later. Let’s look what information the template gives to the Platypus.

// Created on Tuesday, February 23, 1999

<APP>

> NAME = "MyProject: A walk in the forest"

> VERSION = 2.0 AUTHOR = "Ron Green"

> COMMENT = "All images are my personal holiday snaps."

> MEDIA = "ForestMedia" // Place all the resources into this folder

> CLICKSOUND = "Click.wav"

> </APP>

<LEARN>

<FRAME NAME ="base" SIZE = 640, 480 COLOUR = cyan>

> <SCENE NAME ="setup">

> > <BUTTON NAME ="exit" SET=SquareExit POS =10,10>

</FRAME>

< /LEARN>

<DO>

Scene(setup)

> Button(exit)

> // Insert your code here

End (setup)

</DO>

APPLICATION

At the start of any Platypus script is the APPLICATION section. The Platypus calls up indentification elements of this section along with licensing details when the right mouse button is click. This information is input through the Application Wizard

Element

IDENTIFICATION

NAME

This should include the name of the file. This will help you to keep track of printouts.

VERSION

The version statement is essential for later versions of Platypus to understand how to read this script. It is 1.4

AUTHOR

Contains the name of the author or authors. This should be maintained to assign credit where it is due.

The Platypus can call up this information along with licensing details from within a performance.

COMMENT

Any other information as desired by the script writer. This is particularly useful for copyright credits. Other elements can be added to this list

MEDIA

A performance is largely the playing and showing of multimedia elements at the right time and in the right place. These resources are stored together in a media folder which must be placed in the same folder as the script. The name, "Media", is just a suggestion. You will have to create this folder yourself, through windows, and place your resources in it.

CLICKSOUND

When an active object such as a button or live image is clicked, the Platypus will automatically play the named sound. You can change it for individual objects, but this sound will be used as the default. If CLICKSOUND is not defined, the default is silence. Other elements can be added to this list

LEARN

The LEARN section contains details of every image, sound, animation/video and button. LEARN alone does not "perform" any of the media, it simply provides the platypus with information. It was introduced so that the DO section would not get bogged down with detail, but could concentrate only on the logic of the performance.

Structures

FRAME

A performance can take up the entire screen or only a part of the screen. FRAME is the rectangular section of the screen in which your images and animations appear. A performance can have several frames, but the first frame must be called "base", and all other frames are contained within it.

A FRAME is declared using <FRAME> and </FRAME> tags. SCENEs that are declared between these tags belong to that FRAME.

Properties

NAME

Any single word can be used. The first frame must be called "base". The frame name is associated with the scenes in the frame. A frame comes into existence automatically when a scene needs it, and disappears when no scene needs it.

SIZE

Typically the "base" frame will be 640,480, but can be any size your screen can handle. All other frames must completely fit inside this base frame

COLOUR (optional)

The colour of the background of this frame is grey.

SCENE

If a FRAME is like the stage of a theatre, the SCENE is like the scene of a play. In the DO section elements (sounds and images) are called in to do their thing like actors or props in a play. The purpose of the SCENE declaration in LEARN is to tell the Platypus that the scene belongs to the FRAME in which it is set. The Platypus automatically places the scene inside that FRAME.

Properties

NAME

A single word must be used.

BUTTON

A button object can be clicked to initiate an action.

Properties

NAME

A single word must be used, but "exit" is a special name that sets up the button to end the program when it is pressed.

SET

SquareExit is a set of button images for the normal, rollover and active states. Platypus already knows these images.

DO

The DO section lets the Platypus out of the "classroom" and into the "playground". The Platypus has learned all about the frames, scenes, buttons and so on. It is time to start the performance.

This performance is made up of a single scene. The opening, "setup", builds the base frame.

Scene (setup ) //This scene uses the base frame, so that frame is built.

Button (exit) // Places the exit exactly as the Platypus has "LEARNed".

End (setup) //The scene is closed.

The standard template really defines the simplest possible performance.

- One FRAME
- One SCENE
- One BUTTON

As such it is not very interesting, but it is lovely to start a project with something that works. Your task now is to make it do more.

Building your own performances

The complete list of elements that can be used to set up a performance is

- ANIM
- BROWSER
- BUTTON
- IMAGE
- PAGE
- PROGRAM
- SOUND
- TEXTBOX

This is all that you need to develop a high quality and highly functional performance.

In addition to these elements there are a number of application settings, some of which you have seen

- MEDIA = "Media"

Tells the Platypus the name of your media folder

- CLICKSOUND = "click.wav"

  Tells the Platypus the default sound to be played when buttons or images are clicked.

- BLACKOUT = on

Tells the Platypus to paint the entire screen black before it begins. BLACKOUT is useful when you are making a product with a frame size smaller that the entire screen. It works best when the users machine "autohides" Window's task bar.

- TIMING <TIMING=3>

Tells the Platypus how fast to run transition effects. (0-5, where 0 is fast, 5 is slow)

- PRELOAD <PRELOAD = yes>

Tells the Platypus to preload as much as possible. This speeds up the response of the computer but is not recommended when runninhg large videos or animations..

TEXTSTYLES

Textstyle teaches the Platypus styles of text which you can then use in the TEXTBOX
eg <TEXTBOX NAME = "greeting" TEXT = "hi" TEXTSTYLE = "Country">

There is no limit to the number of TEXTSTYLES that you can set. It is common for designers to develop a set like Heading1, Heading2, Heading3 and Plain.
Remember that multimedia is not the best medium for presenting text, so keep it short!

While you can generate textstyles directly, it is better to use the textstyle wizard. The Wizard only offers selections that are available on your computer.

> <TEXTSTYLE>
> NAME = "Country"
> TEXTSIZE = 20 //This number is often confusing. The Textstyle wizard generates the number that responds to your selection
> BOLD = off
> ITALIC = off
> UNDERLINE = off
> STRIKETHROUGH = off
> FONT = "Arial" //any common font
> COLOUR = red //any colour
> ROLL = green //any colour
> ACTIVE = cyan //any colour
> HALIGN = centre //or left or right of box
> VALIGN = centre //or top or bottom of box
> </TEXTSTYLE>

ANIMATON

The Platypus uses AVI for all animations. AVI animations can include:

- video clips with sound tracks
- flipping images assembled with Platypus Animator
- silent video clips without sound tracks
- sound tracks without any visual component (often more compact than WAV files)

<ANIM NAME="video" SRC="vid.avi" LOOP=yes POS=100,100 SYNC=no CLICK=end STAY =on >

Properties | Values | Descriptions
NAME | A single word must be used. | Must start with a letter, but can use numbers eg clip3 is acceptable.
SOURCE ( or SRC) | The filename of the ANIM. | The ANIM must be in the named MEDIA folder or on a path from that folder. SRC must always have a value unless SET is used. eg: SRC = "myAnim.avi" SRC = "anims\\myAnim.avi"
LOOP (optional) | yes, true, on or ok no, false, off or cancel | A looping ANIM starts again each time it finishes. It only stops when the resource is killed, either specifically or when the scene changes. eg: LOOPS = yes
POSITION (or POS) | x,y | Uses pixel coordinates starting form the top left of the frame. eg: POS = 50,100
SIZE (option) | x,y | Uses pixel dimensions. Essential when running MPEG. Can be used to scale the animation.
CLICK (optional) | end or ignore | Any click outside the animation will end the animation or be ignored.
SYNC (means wait) (optional) | yes, true, on or ok no, false, off or cancel | A SYNChronous animation keeps control of the scene until it is finished, or stopped with a click (outside the animation). This is useful when wanting to string small sequences together, one after the other, rather than have one huge file. The default, "yes", is ideal for voice-overs. eg: SYNC = no
STAY | yes, true, on or ok no, false, off or cancel | STAY refers to the animation when completed. Note that when SYNC = off STAY can only be on.

BUTTON

A button is a control element that enables users to direct the course of events within a performance. Clicking on, or pressing, a button can:

- Add or subtract an image, sound, animation, video or page from the current scene.
- Start a new scene.

<BUTTON NAME="show" SET=OvalExit POS=100,100 TYPE=command>

The Button/Image/Textbox Wizard generates your LEARN line for you.

Properties | Values | Descriptions
NAME | A single word must be used. |
POSITION | x,y | Uses pixel values eg: POSITION = 5,200
TYPE (optional) | Command (default) | Irreversible action This type is used for changing scenes, or "permanently" changing this performance of the scene.
TYPE | State | Reversible two state button ON/OFF This button type is used for displaying an image, a video a scene within a new frame. The button remains on the screen in an active state, and can be pressed again to cancel the event that it caused.
SOURCE ( or SRC) SRC must always be given a value unless SET is used. | The filename of the image of the button in its normal state. If no SRC and no SET is provided BUTTON will default to a SquareBullet | The image must be in the named MEDIA folder, or on a path from that folder. eg: SRC = "myPic.jpg" SRC = "images\\myPic.jpg" Notice the double slash
ROLL (optional) | The filename of the image of the button when the pointer rolls over it, rollover state. | The image must be in the named MEDIA folder, or on a path from that folder. eg: SRC = "myBrightPic.jpg" SRC = "images\\myBrightPic.jpg"
ACTIVE (optional) | The filename of the image of the button in its active or depressed state. | The image must be in the named MEDIA folder, or on a path from that folder. eg: SRC = "myGlowingPic.jpg" SRC = "images\\GlowingPic.jpg"
SET (optional) | Set names are derived from the shape and the markings. eg: RoundExit RoundBack SquareNext OvalAgain And so on… | There are 3 inbuilt button shapes Round Square Oval The are 13 inbuilt button markings Exit /Quit Next Back Again Return Bullet Blank SET actually puts values in SRC, ROLL and ACTIVE When SET is used, it is not necessary to give SRC a value. The Platypus already knows these images.
SIZE (optional) SCALE = on or off | x,y The button is cropped unless SCALE = on. | Uses pixel sizes. SIZE will crop images to size or resize. eg: SIZE = 100,80
CLICK (optional) | The filename of the sound to be played when the button is clicked. | The sound must be in the named MEDIA folder or on a path from that folder. The sound is made when the button is clicked. It defaults to CLICKSOUND if not specified here, and to silence if CLICKSOUND is not specified either.
EFFECT (optional) Recall the TIMING setting | Effect names are derived from the speed, the effect and the "direction". eg: FastWipeLeft SlowIrisOpen FastBlindVertical SlowDissolve | There are 2 speeds Fast Slow The are 5 effects. Wipe, Dissolve, Slide, Iris, Blind A transition effect is used when the image is brought to the screen. Note that a scene also has a transition.
TRANSPARENT (optional) | Any colour described as a colour name or using Red/Green/Blue values. | Nominates a colour that will NOT appear when the button is displayed. Platypus prefers BrightYellow, 255,255,0. This colour is available in all paint and drawing packages. See the colour table for more detail. eg: TRANSPARENT = 255,255,0
COLOUR (Optional) | Select a native colours; red, blue green, yellow grey, darkgreen darkred, dark blue,black, white. | COLOUR is the colour that the frame is painted with initially. It can be a colour from the defined colour list eg: white,grey,black an RGB colour mix of red (0-255) green (0-255) and blue(0-255) eg: 0,0,0 is black 255,0,0 is bright red 255,255,255 is white 100,0,100 is a purple
STYLE (Optional) | The buttons style required. Select from frame, button,oval, simple, plain or none | Platypus creates 3 button states based on the STYLE selected and the COLOUR nominated. Plain and Simple are just coloured rectangles and Plain does not have any rollover and active effect.

IMAGE

In most respects, IMAGE is the same as a button. This odd situation arises because, while it is useful to think in terms of buttons that have a function, it is very often that images are also called upon to act like buttons, or even be buttons. We recommend that you use the BUTTON when the image has little purpose beyond inviting the user to click it, and IMAGE when the picture is an important feature of the scene. In this way your DO script will be more easily read.

You will notice that the order of this list of properties reflects the use of an image as a picture, rather than as a button.

<IMAGE NAME="me" SRC="me.jpg" ROLL="me2.jpg" ACTIVE="me3.jpg" POS=100,100 TRANSPARENT=yellow >

The Button/Image/Textbox Wizard generates your LEARN line for you.

Properties | Values | Descriptions
NAME | Any single word |
POSITION | x,y | Uses pixel coordinates starting form the lop left of the frame. eg: POSITION = 5,200
SOURCE ( or SRC) | The file name of the image in its normal state. | The image must be in the named MEDIA folder, or on a path from that folder. SRC must always have a value eg: SRC = "myPic.jpg" SRC = "images\\myPic.jpg"
SIZE (optional) SCALE = on or off | x,y The button is cropped unless SCALE = on. | Uses pixel values. SIZE will crop images to size by default or resize them if SCALE is on. eg: SIZE = 100,80 SCALE = on
TRANSPARENT (optional) | Any colour described as a colour name or using Red/Green/Blue values. | Nominates a colour that will NOT appear when the button is displayed. Platypus prefers BrightYellow, 255,255,0. This colour is available in all paint and drawing packages. See the colour table for more detail. eg: TRANSPARENT = 255,255,0
ROLL (optional) | The filename of the image when the pointer rolls over it, rollover state. | The image must be in the named MEDIA folder, or on a path from that folder. eg: SRC = "myBrightPic.jpg" SRC = "images\\myBrightPic.jpg"
ACTIVE (optional) | The filename of the vesrion of the image in its active or depressed state. | The image must be in the named MEDIA folder, or on a path from that folder. eg: SRC = "myGlowingPic.jpg" SRC = "images\\GlowingPic.jpg" Notice the double slash
TYPE (optional) | Command (default) | Irreversible action This type is used for changing scenes, or "permanently" changing this performance of the scene.
State | Reversible two state button ON/OFF This type is used for buttons that display an image, a video scene within a new frame. The image remains on the screen in an active state, and can be pressed to cancel the event that it caused. Normally used for BUTTON.
CLICK (optional) | The filename of the sound to be played when the image is clicked. | The sound must be in the MEDIA folder, or on a path from that folder. The sound made when the image is clicked. It defaults to CLICKSOUND if not specified here, and to silence if CLICKSOUND is not specified either.
COLOUR | The buttons style required. | COLOUR is the colour that the button is painted. It can be; a colour from the defined colour list eg: white,grey,black an RGB colour mix of red (0-255) green (0-255) and blue(0-255) eg: 0,0,0 is black 255,0,0 is bright red 255,255,255 is white 100,0,100 is a purple
STYLE | Select from frame, button,oval, simple, plain or none. Select a native colours; red, blue green, yellow grey, darkgreen darkred, dark blue,black, white. | Platypus creates 3 button states based on the STYLE selected and the COLOUR nominated. Plain and Simple are just coloured rectangles and Plain does not have any rollover and active effect.

FRAME

A FRAME is the stage upon which scenes are performed. A FRAME is declared using <FRAME> and </FRAME> tags. SCENEs that are declared between these tags belong to that FRAME. Belonging to a FRAME is important because

- a SCENE must create its FRAME when it is called to perform
- a SCENE takes all of its position measurements from this FRAME.

<FRAME NAME="tv" POS= 0,170 SIZE=500,160 COLOUR=black>

Properties | Values | Descriptions
NAME | Any single word can be used. | The first frame MUST be called "base". The frame name is associated with the scenes in the frame. A frame comes into existence automatically when a scene needs it and disappears when scenes no longer require it.
POSITION (optional - if not set it will default to the centre of the screen) | x,y | Coordinates are in pixel units and number from left to right and top to bottom. 0,0 is the top left corner. 300,300 will be towards the centre of the screen depending on the screen resolution. Standard screen sizes are 640,480 600,800 1024,768
SIZE | x,y | Typically the "base" frame will be 640,480, but can be any size your screen can handle. All frames must completely fit inside the base frame.
BACKGROUND (optional) | The name of an image file in the Media folder | The filename of an image which is used to fill the background initially. The image will be tiled if it is too small, or cropped if too large. BACKGROUND overides COLOUR
COLOUR (optional) COLOR | Select a native colours; red, blue green, yellow grey, darkgreen darkred, dark blue,black, white. With no BACKGROUND and no COLOUR set the frame is invisible. | COLOUR is the colour that the frame is initially painted. It can be; a colour from the defined colour list eg: white,grey,black an RGB colour mix of red (0-255) green (0-255) and blue(0-255) eg: 0,0,0 is black 255,0,0 is bright red 255,255,255 is white 100,0,100 is a purple

SCENE

In a play, a scene is a small piece of the performance that begins with the complete removal of all old props and characters, and builds afresh on an empty stage. A Platypus SCENE is very similar. All the elements on the frame are removed and the new scene is built up from scratch. It is possible to rebuild much of the same scene again, if that is your wish, but the old scene is destroyed and a new one built.

If the new SCENE uses a new FRAME, the SCENE in the old FRAME is left untouched until it too, is replaced with another SCENE.

<SCENE NAME="kitchen" EFFECT=fastSlideUp>

Properties | Values | Descriptions
NAME | Any single word can be used. | Because the SCENE belong to the FRAME it is not necessary to give it a SIZE or POSITION. It completely fills the FRAME.
EFFECT (optional) | SlowWipeLeft SlowWipeRight SlowWipeUp SlowWipeDown FastWipeLeft FastWipeRight FastWipeUp FastWipeDown SlowSlideLeft SlowSlideRight SlowSlideUp SlowSlideDown FastSlideLeft FastSlide Right FastSlideUp FastSlideDown SlowDissolve FastDissolve SlowIrisOpen SlowIrisClose FastIrisOpen FastIrisClose SlowBlindVertical FastBlindVertical SlowBlindHorizontal FastBlindHorizontal | When the SCENE is changed, Playtpus does most of the work in the background. It shows you the new scene only when it is finished building it. It "thinks" that it is finished whenever it comes across something that takes time for the user to look, act or listen. An ANIMation or a pause(0) or an END statement, tells the Playtpus to stop and let the user see what has been done. When the Platypus is ready to show you a new scene, it will uncover its work all at once (called a ‘cut’ to the scene) or it will reveal it with a special effect.

PAGE

PAGE is the simplest of resources and often the most useful. It is used to show an image larger than the screen. It is particularly useful when you are showing a printed A4 page or huge project sheet. When a PAGE is shown it dominates the entire screen and all other buttons and frames are hidden and are inactive. The PAGE can be moved about the screen by using the mouse so that all point can be viewed. There is no maximum size for a page.

<PAGE NAME="myProject" SRC="cheesemaking.bmp">

Properties | Values | Descriptions
NAME | Any single word can be used. |
SOURCE | The filename of the PAGE in the Media folder. | A PAGE is a large image in standard Platypus format (*.jpg, *.pcx , *.bmp, *.rle, *dib,*.tif)

PROGRAM

PROGRAM is an exceptionally powerful feature that lets the script writer call programs into the multimedia performance. It may be used to call up a word processor, a graphics package, a game, another Platypus application, an executable from another multimedia program or such thing.

Using the program feature the Platypus can absorb fancy animations, or effects developed in other environments. In this way, a Platypus performance can include other features that may become available without committing the script writer to develop the entire works in that environment.

<PROGRAM NAME="mywork" SRC="notepad.exe" PARAMETER="mywork.txt">

At this time Platypus Editor does not have a Wizard for the PROGRAM object.

Properties | Values | Descriptions
NAME | Any single word |
SOURCE | The filename of the PROGRAM or $DEFAULT which uses the program associated with the file extension of the parameter. | The program to be run should be either on the set path of the computer specified with a full path $MEDIA is the the path to the media file. eg: "$Media\\..\\my.exe"
PARAMETER (optional) | As required by the program being called. | Lists of parameters can separated by spaces. eg: PARAMETER ="myfile.txt" eg: PARAMETER ="myfile.txt 30"

BROWSER

Browser is a unique feature of the Platypus that allows you to open a window to the internet. Browser calls into action the internet routines of Microsoft Explorer 4.5 or higher. The installation program for this software is available on the CD ROM.

Using the browser object, Platypus can take advantage of web resources, HTML, Java, JavaScript, CGI and other web technologies. It is a simple matter for users to create their own browser and to use them to access the net without the ability to tamper with browser options.

<BROWSER NAME = "Browser1" SOURCE = "$MEDIA\\Platypus.html" POSITION = 115 ,10 SIZE = 500 , 420 SCROLL = on >

At this time Platypus Editor does not have a Wizard for the BROSWER object.

A BROWSER object is a complex object and needs a set of commands to perform its function rather than just one. These are well documented in the "Browser" template, generated by the Application Wizard.

Properties | Values | Descriptions
NAME | Any single word |
SOURCE | HTML or ofter web resource. (jpg,gif,cgi) Animated gifs will operate with a browser | The program to be run should be either eg: SRC="my.html" $MEDIA is the the path to the media file. eg: "$Media\\..\\my.html"
SCROLL | on, off | Controls the existance of a VERTICAL scroll bar.
POSITION | x,y | pixels
SIZE | w,h | pixels

SOUND

The Platypus most commonly uses wave and midi sound file . They are different. Midi files are used for music that can play in the background, or as a focus. Wave files, on the other hand, are much larger files, and are used for sound effects and voice. Script writers with avi editing software may find that compressed ANIM files with sound, but no image, are a more compact option than WAV for longer pieces of sound.

<SOUND NAME="voice" SRC="voiceover.wav" LOOP=no SYNC=no CLICK=end>

Properties | Values | Descriptions
NAME | A single word must be used. |
SOURCE ( or SRC) | The file name of the SOUND. | The SOUND must be in the named MEDIA folder, or on a path from that folder. eg: SRC = "beep.wav" SRC = "sounds\\myMusic.mid" Notice the double slash
LOOP (optional) | yes, on, true or ok no, off, false or cancel | A looping SOUND starts again each time it finishes. It only stops when the resource is killed, either specifically, or when the scene changes. eg: LOOPS = yes
CLICK (optional) | end or ignore | Any click outside the animation will end the animation or be ignored.
SYNC (optional) | yes, on, true or ok no, off, false or cancel | A SYNChronous SOUND keeps control of the SCENE until it is finished, or stopped with a click. This is useful when wanting to string small sounds together, one after the other. The default is "yes." eg: SYNC = no (note about SYNC and LOOP. If both are "yes", the application never moves forward.)

You can play an avi file, a wave file and a midi file all at the same time, but you can’t play more than one sound of the same type together.

TEXTBOX

TEXTBOX is used for placing text on screen quickly. In many instances, you will prefer to place text on screen using IMAGE and developing the image in a graphics program. This way you can use attractive fonts and be certain that the users computer will show your work beautifully.

<TEXTBOX>

NAME="recipe"

TEXT="Making an omlette

Step 1. Separate 2 eggs

Step 2. Whip the whites into a cream

Step 3. Add the yolks

Step 4. Spread into disk on a hot buttered frypan

Step 5. Flip when firm\nStep 6. Serve direct from the pan"

POSITION = 50,50

SIZE = 300,400

TEXTSTYLE = "Country"

</TEXTBOX >

Note the use of expanded tags. Compact tags and expanded tags can be used on any object.

The following is also valid

<TEXTBOX NAME = "Title" TEXT= "My Title" POS = 250,10>

The Button/Image/Textbox Wizard generates your LEARN line for you.

Properties | Values | Descriptions
NAME | Any single word |
TEXT | The text in quotes | The text can extend over serveral lines. It will start a new line when the script starts a new line. It also recognises tabs. SEE TextEdit
POSITION | x,y default is 0,0 | Uses pixel coordinates starting form the top left of the frame. eg: POSITION = 5,200
SIZE (optional) | x,y default is 300,50 | Uses pixel values. The text will be wrapped within a rectangle of this size. Text that does not fit will be lost.
TEXTSTYLE | As defined in globals. | A standard default exists. (Times, 20 pixels high, black)
AUTOHEIGHT | on, true, yes, ok off, false, no, cancel | Automatically resizes the height of the box to fit the text. May shrink or expand. This feature is ignored if VCENTRE = on
SRC | filename of an image that can be placed in the background | If no image is choosen the background will be transparent.
TYPE (optional) | Command (default) State | See IMAGE and BUTTON
COLOUR | Select a native colours; red, blue green, yellow grey, darkgreen darkred, dark blue,black, white. | COLOUR is the colour that the frame is painted with initially. It can be a colour from the defined colour list eg: white,grey,black an RGB colour mix of red (0-255) green (0-255) and blue(0-255) eg: 0,0,0 is black 255,0,0 is bright red 255,255,255 is white 100,0,100 is a purple
STYLE | The buttons style required. Select from frame, button,oval, simple, plain or none. | Platypus creates 3 button states based on the STYLE selected and the COLOUR nominated. Plain and Simple are just coloured rectangles and Plain does not have any rollover and active effect.

WARNING:

Textbox tries to use the font and size defined by the user in TEXTSTYLE. However, not all fonts and sizes are available on all computers. Windows itself handles fonts and sizes. If you ask for something that does not exist, Windows will give you the best match it can make.

For this reason sometimes you do not get exactly what you ask for. If you are developing for other people's machines, it is always wiser to use images with text in it rather than use the TEXTBOX. This way, you can guarantee that your work will maintain its quality.

DO

The Do section is divided into scenes much like a theatrical performance.

Typically, a scene is first set up to look the way that the writer wants it to be, before the actors take the stage.

The standard template provides an example of how the first scene must be set.

<DO>

Scene(setup) //Name of the starting scene is not important

Button(exit)

// Insert your code here

End (setup)

</DO>

The important thing here is that the SCENE called "setup" belongs to the FRAME called "base". Such a scene MUST be called first. The base frame is built and establishes the size and position of the stage. Everything else is built within this base FRAME. (The only exception is PAGE)

The exit button can be removed, but this is not recommended. A Platypus performance can be terminated with the [Alt][F4} key combination.

Platypus Editor provides a Command Wizard that lets you develop commands by making selections with your mouse.

DoImage()

An IMAGE is shown using the DoImage() command. The Platypus has already learned all about the images so it only needs to be told when to display them.

DoImage(photo) will cause the IMAGE named "photo" to be displayed.

Scene(setup)

DoImage (photo)

Button(exit)

End (setup)

DoSound()

A SOUND is played using the DoSound() command. The Platypus has already learnt all about the sounds, so it only needs to be told when to play them.

DoSound(music) will cause the SOUND named "music" to be played.

Scene(setup)

DoImage (photo)

DoSound (music)

Button(exit)

End (setup)

DoAnim()

An animation is played using the DoAnim() command. The Platypus has already learnt all about the animations, so it only needs to be told when to play them.

DoAnim(video) will cause the ANIM named "video" to be played.

Scene(setup)

DoAnim(video)

DoImage (photo)

DoSound (music)

Button(exit)

End (setup)

You will notice that the video and the music play together. This is not always possible or desirable. You will be able to play a midi sound file, and another sound or animation file at the same time. This is because midi sounds use different parts of the computer. But in general you can only play one ANIM or one SOUND resource at a time. This is a computer limitation.

Animations and videos are unique in Platypus in that they have two available Do Commands.

DoScene()

A scene is played using the DoScene() command. The Platypus has already learnt all about the scenes, so it only needs to be told when to play them.

DoScene(flowers) will cause the Scene named "flowers" to begin.

Scene(setup)

DoImage (photo)

DoSound (music)

DoAnim(video)

DoScene (flowers)

Button(exit)

End (setup)

The Platypus wants to play the SCENE named "freshStart" as soon as possible, but it has also been told to play "video", and the video will be lost when SCENE changes. When teaching the Platypus about "video" we told it that "video" was SYNChronous, SYNC=yes. That means that it must finish playing before anything else can happen.

Clearly, "music" was set with SYNC=no. The Platypus was also asked to LOOP "music", that is, play it forever or until it is deliberately stopped.

Button()

You will notice that the we used Button() and not doButton().

Button() places the BUTTON on the screen and loads it ready to be "done" as soon as it is pressed.

ACTION

(see Command Wizard)

A BUTTON (image or textbox) can be even be given different actions at different times or in different scenes.

Button (next) ACTION=DoScene (flowers) will place the BUTTON on the screen and load it with the DoScene() command. This will play the SCENE named "flowers", when the BUTTON is pressed.

Button (again) ACTION=DoAnim (video) will place the BUTTON on the screen and load it with the DoAnim() command. This will play the ANIM named "video" again, when the BUTTON is pressed.

Button (countrySide) ACTION=DoPage (panorama) will place the BUTTON on the screen and load it with the DoPage() command. This will display the large PAGE graphic named "panorama", when the BUTTON is pressed.

Scene(setup)

DoImage (photo)

DoSound (music)

DoAnim(video)

Button(again) ACTION= DoAnim (freshStart)

Button(next) ACTION= DoScene (flowers)

Button(countrySide) ACTION= DoPage (flowers)

Button(exit)

End (setup)

ROLLACTION

(see Command Wizard )

A ROLLACTION is an action that is initiated when the mouse rolls over an object, and is removed when the mouse rolls off the object. It may be an image that displays in another part of the screen, or a sound. It is possible for it to be an animation, or a browser, or a scene, or any other command but these are difficult for the user to comprehend. Only images and short sounds are recommended.

A BUTTON (image or textbox) can be even be given different ROLLACTION actions at different times or in different scenes.

Button (next) ACTION=DoScene (flowers) ROLLACTION = DoImage (buds) will place the BUTTON on the screen and load it with the DoScene() command and the DoImage() command.

There are many techniques that can be used to build a plethora of variations to Platypus performances, but many professional CD ROM applications do little more than move the user back and forth between SCENEs no more complex that the one above.

Make

When you have finished your application you can create a distribution version using the MAKE button on Platypus Project. This is a one step operation. The Platypus builds the application for you, and places the entire project in a folder that can be copied to another location, zip drive or CD ROM. The folder contains a means of playing direct from the folder, or installing to another machine.

Each time that an application is "made" the Platypus adjusts the contents of the C:\Platypus\Setup folder so that it becomes dedicated to your new application. Once it is made, the Setup folder is ready to become the root directory of your CD ROM. Just drag and drop it into your CD ROM burning software. DO NOT move or delete it. When next you want to MAKE an application, the Setup folder will clean out the old application and recreate itself for the new application. Really, it could not be simpler.

Platypus Editor

Platypus Editor is a classic word processor with special features specifically developed to build and test Platypus scripts.

The most significant of these features are

- movement with in the script

  > The Goto menu provides immediate access to Sections, Frames, Scenes and Objects. It also allows you to set and use bookmarks. In addition, the Goto menu has two associated icons on the toolbar.

  > The first allows you to place the curser in an object name in the DO section and click on the icon to travel to the LEARN line for that object. (activated by a right mouse click on the object name)

  > The second sends you back to the original line in the DO section

- the add menu and associated toolbar icons launch wizards that build lines of script for you. Click on the icons and menu selections for more detail.

- the start menu and associated platypus icon launches the Interactive editor with the current script.

The Goto menu lets you go directly to Platypus objects and scenes in the LEARN and the DO section.

Interactive editor

The interactive editor lets you see exactly how your project will run as a finished product. But it is designed to let you alter images, buttons and text dynamically.

You can align and space buttons, resize images, and edit text. The interactive editor allows you the freedom to approximate positions and wording quickly, but then adjust for aesthetics and meaning on a dynamic stage.

To take control of an object, hold down the control key and click the object with your mouse. The object will be given handles and the interactive editor toolbar will appear. You can select several objects at a time with successive mouse clicks and then;

align them

equi-size them

space them

centre them

move them. Drag and drop is also supported.

resize them. Dragging object handles is aslo supported.

Clicking the right mouse button normally brings up an "about" window, but, in the interactive editor, a right click on a text object allows you to edit the words, live! When you have finished your adjustments, press the save icon and your script will be corrected and formatted perfectly.

TextEdit is a brilliant feature of the Interactive Editor. RIGHT-Clicking on an object that contains real text (rather than an image of text) will bring up and edit box that will allow you to edit text while your application is running.

Special Commands

Each Object type has its own DO command (eg: IMAGE has DoImage(), ANIM has DoAnim(), etc)

There are several additional commands that add a little spice to the Platypus. They operate on existing objects giving them greater flexibility

DoVideo

| DoVideo operates on any ANIM. Including those without image. It places the ANIM in frame with a video control bar, giving the user additional control. DoVideo(MyAnim) Used to control Sound (in AVI format) and Video.

DoDrag

Button(myButton) ACTION = DoDrag(myButton) DoImage(myImage) ACTION = DoDrag(myImage) DoTextbox(myText) ACTION = DoDrag(myText) (see Lovely Little Presents in the Tutorial for examples of its use) | DoDrag operates on any IMAGE, TEXTBOX or BUTTON. The command line places the object on the screen and declares that when the object is clicked it will attach to the mouse and be dragged along with the mouse until the mouse button is released. The feature is commonly called DRAG and DROP.

DoRandomImage

<IMAGE NAME = "mypic1.jpg"> DoRandomImage (myPic) or Button(myBut) ACTION = DoRandomImage (myPic) Randomly provides mypic1.jpg to mypic9.jpg if they exist. (see Lovely Little Presents in the Tutorial for the Snakes and Ladders example) | DoRandomImage operates on Images with the same name except for a single digit at the end. Perfect for dice or a draw from a random deck of "opportunity" cards.

DoBrowser

DoBrowserBrowser(myBrowser, URL) | Loads the URL eg: "http://www.yahoo.com" into myBrowser.
DoBrowserHome(myBrowser) | Returns the browser to the URL that was originally set.
DoBrowserBack(myBrowser) | Like the back button on any browser
DoBrowserForward(myBrowser) | Like the forward button on any browser
DoBrowserRefresh(myBrowser) | Like the Reload button on any browser
DoBrowserStop(myBrowser) | Like the Stop button on any browser

PEN = on

| Projects specifically for presentations can include a red marker pen which draws on the screen. PEN begins marking when the mouse button is depressed. PEN stops marking when the mouse button is released PEN markings disappear when the mouse is double clicked. PEN is enabled in the APPLICATION SECTION. MEDIA = "myMedia" PEN=on CLICKSOUND = "Click.wav" See Presentation Template in the Application Wizard for an example of its use.

PAUSE ( 100 )

Pause can be placed in a Scene in the DO section. Pause Stops the Platypus and makes it wait the required number of centi seconds before moving to the next time.

Scene( myscene) DoImage (myBackDrop) DoImage ( myCharacter) Pause( 0 ) DoImage ( myCar) // with wipe effect End (myscene) | Pause also tells the Platypus that the screen should be redrawn now. As the platypus prepares a scene it looks through the scene and collects all the images putting them together in his mind before he paints the screen. Images that come in with a special effect it paints first. This can surprise you when you first see it. However, if you want other images displayed before the effects, you need to place a pause ( 0 ) after the last of the "background images.
Scene( myscene) DoImage (myBackDrop) Pause(200) //wait 2 seconds DoImage ( myCharacter) Pause( 200 ) //wait 2 seconds DoImage ( myCar) DoScene (myscene) End (myscene) | Pause can also be used to bring images in separately. Pause(200) is a 2 second wait. DoScene (myscene) at the end of the Scene calls the scene again. This technique can set up an animation or sequence that repeats until Removed by actions elsewhere in your script.

Click( ) and Pause( ) can be used in concert to create automatic (self-running) presentations. Such presentations may need to to be stopped by a user who wishes to control events herself. If you name a button automatic, Platypus will react to that button being pressed by toggling the automatic play, on and off. in the OFF mode all pauses are treated as Pause(0) and all clicks are ignored

CLICK( myButton)

Scene( myscene) DoImage (myBackDrop) DoButton (myButton) ACTION = DoSound (my Sound) Pause (200) Click (myButton) End (myscene) | Click (myButton) has same effect as the user clicking the myButton. The mouse moves to the button and clicks it. This command is perfect for setting up rolling demonstrations in which the use sees actions as though the they are performing them.

Remove

Remove() removes any frame, scene or object from the screen.

eg; Remove ( myImage)

Registration

The Platypus will work happily unregistered, but will only allow 6 objects in your script. However, when you register the product through your distributor, you will receive a personalised ID and password, which will unlock the Platypus and allow any number of objects.