scala infochannel designer 3 - extended authoring …...7 preface this volume of the infochannel...

302

Upload: others

Post on 27-Apr-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 2: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

2

2

Copyright © 1993-2003 Scala, Inc. All rights reserved.

No part of this publication, nor any parts of this package, may be copied or distributed, transmitted, transcribed, recorded, photocopied, stored in a retrieval system, or translated into any human or computer language, in any form or by any means, electronic, mechanical, magnetic, manual, or otherwise, or disclosed to third parties without the prior written permission of Scala Incorporated.

TRADEMARKS

Scala, the exclamation point logo, and InfoChannel are registered trademarks of Scala, Inc. All other trademarks or registered trademarks are the sole property of their respective companies.

The following are trademarks or registered trademarks of the companies listed, in the United States and/or other countries:

Microsoft, MS-DOS, Windows, Windows NT, DirectX, DirectDraw, DirectSound, ActiveX, ActiveMovie, Outlook, Verdana, JScript: Microsoft Corporation

IBM, IBM-PC: International Business Machines Corporation

Intel, Pentium, Indeo: Intel Corporation

Radius, Cinepak: Radius Incorporated

Ligos: Ligos Corporation

Adobe, the Adobe logo, Adobe Type Manager, Acrobat, ATM, PostScript: Adobe Systems Incorporated

Macromedia, Flash, Flash Player logo: Macromedia Incorporated

Laserjet, HP: Hewlett-Packard Corporation

UNIX: The Open Group

TrueType, QuickTime, Macintosh: Apple Computer, Incorporated

Agfa: Agfa-Gevaert AG, Agfa Division, Bayer Corporation

The typeface name “Segoe” is a trademark of Agfa Monotype Corporation.

The typeface names “Flash” and “Folio” are trademarks of Bauer Types S.A.

Some parts are derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.

JPEG file handling is based in part on the work of the Independent JPEG Group.

Lexsaurus Speller Technology Copyright © 1992, 1997 by Lexsaurus Software Inc. All rights reserved.

TIFF-LZW and/or GIF-LZW: Licensed under Unisys Corporation US Patent No. 4,558,302; End-User use restricted to use on only a single personal computer or workstation which is not used as a server.

WARRANTIES AND DISCLAIMERS

The following paragraph does not apply to the United Kingdom or any country where such provisions are inconsistent with local Law:

SCALA INCORPORATED PROVIDES THIS PUBLICATION “AS IS” WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE LIMITED WARRANTIES OF MERCHANTABILITY OR FIT-NESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer or express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This publication could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. Scala may make improvements and/or changes in the product(s) and/or the pro-gram(s) described in this publication at any time.

It is possible that this publication may contain reference to, or information about, Scala products or services that are not announced in your coun-try. Such references or information must not be construed to mean that Scala intends to announce such Scala products or services in your country.

Requests for technical information about Scala products should be made to your Scala Authorized Distributor, Dealer or your Scala Marketing Rep-resentative.

Scala may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. Send license inquiries, in writing, to Scala Incorporated, One East Uwchlan Ave., Suite 300, Exton, Pennsylvania 19341 USA.

This manual was produced by Ross Hippely, Marc Rifkin and Tracey Waldron.

Page 3: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

3

Table of Contents 3

Preface 7ICDesigner resources on the Web 7

1: Using sound 10Sound sources 10How ICDesigner manages sound 12The Sound menu 14Controlling different types of sound 15Using sound samples 17Using MIDI files 24Using audio CDs 27Using the Mixer 37Defining several sound events 42

2: Making scripts interactive 46Getting started: creating simple buttons 47Working in the Design Buttons menu 52Button states and state events 54Select Action options 57Other Action options 62Appearance options 65Using predefined buttons and presets 69Working with Toggle and Radio buttons 71Working with Text Entry Fields 73Editing buttons 78Creating more advanced buttons 79Using the Input menu for custom input options 82

Table of Contents

Page 4: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

4

3: Branching and using variables 88A simple Go To branch 88Variables and expressions in the Branch menu 89Branching with the Branch menu 97Controlling script flow with branches 100Using sub-scripts 112

4: Scheduling InfoChannel Designer 3 events 116Scheduling and the Scala InfoChannel Player 116Types of scheduling 119Working in the Schedule menu 122Scheduling with more complex scripts 136How not to schedule 137

5: Printing scripts with ScalaPrint 142Understanding ScalaPrint terminology 142The ScalaPrint menu 144ScalaPrint tabbed options 145Different layouts for different pages 153

6: Publishing with InfoChannel Designer 3 156Multiple media publishing 156Publishing features 158Publishing to InfoChannel Network 160Publishing to CD-ROM 167Publishing to a file 170Publishing to Web component 172Publishing to e-mail 175Publishing to HTML slides 177Publishing to video 180Completing publication of a script 185EX installation required on playback systems 188Microsoft components 189

Page 5: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

5

7: Additional InfoChannel Designer 3 EXes 192Launch EX 193Log EX 194TextFile EX 197Serial EX 202Billing EX 212MCI MPEG EX 215Optibase EX 222Queue EX 228Windows Scripting EX 236File I/O EX 240

8: Using the Multi-tile Editor 242How multi-tiles work 242The Multi-tile Editor 244Working in the Multi-tile Editor 251

Appendix A: Function and variable reference 258Standard ICDesigner functions 258System variables 265Sound function 266File I/O functions 266Sound variables 266Operators 268

Appendix B: Licensing issues 271GIF and TIFF files 271ICDesigner fonts, backgrounds and sounds 272Media not provided by Scala 273Using Scala trademarks 274Understanding the license agreement 274Third party redistributable software 275

Page 6: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

6

Appendix C: The ScalaScript language 277What is ScalaScript? 277Why ScalaScript? 279Using ScalaScript 281Experimenting with ScalaScript 282Switching between menus and ScalaScript 285

Appendix D: Possible problems and errors 287Errors 292

Index 293

Page 7: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

7

PrefaceThis volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain authoring features of Scala InfoChannel Designer 3 that not all script authors need, as well as ICDesigner’s publishing capability for distributed multimedia—mul-timedia content that can easily be delivered when and where you want it, whether the final destination is in another room, another city, or another country.

Note that additional documents in electronic form may be installed on your system, accessible through Start menu shortcuts. The most up to date versions of these documents, as well as a wide variety of other helpful information, are available on Scala’s Web site, http://www.scala.com.

ICDesigner resources on the WebScala’s Web site, http://www.scala.com, is an important resource for ICDesigner customers, dealers, and VARs. For answers to questions you can’t find in the User’s Guides, as well as downloads and addi-tional information relevant to ICDesigner users, the Scala Web site should be your first stop.

Pages you will find at the Scala Web site provide:

• General product information, press releases, contact data

• Technical support:

❖ Registration❖ Troubleshooting FAQs❖ Problem report submission❖ Recommended hardware configurations

Page 8: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

8

PrefaceICDesigner resources on the Web

• Downloads:

❖ Software updates and demos❖ Bonus art packs❖ Sample scripts❖ Additional documentation on EXes and ScalaScript

• VAR resources:

❖ Forum❖ Service packs❖ Technical support and training

• Customer case studies

• Third-party support links

Page 9: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 10: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

10

1: Using soundAny type of sound—music, voices, the sound of a creaking door, a mouse-button click or a big-city street corner—can be used to enhance an InfoChannel Designer 3 script.

The right sound applied at the right time not only attracts attention but also helps create a more vibrant viewing experience. When syn-chronized with on-screen activity such as a text wipe, page transition or animation, sound adds life to the message you are presenting. A simple voice-over recording can often replace pages of less dynamic text, and adding sound helps attract and maintain the interest of the audience. Sound is another ICDesigner element that enables you to create a script that has the impact and appearance of a polished televi-sion production.

Sound sourcesThere are three basic sources for sounds that can be played by the computer and used in an ICDesigner script.

• Samples: Sound samples are sounds that are digitally recorded and available as files on your hard disk or network, or on a diskette or CD-ROM.

The original sound is converted into a digital format that the computer can interpret and reproduce. This is done by taking samples of the sound at periodic intervals. The number of samples taken per second, that is the sampling rate, is expressed in hertz (for example 44100 Hz) or kilohertz (44.1 kHz). The higher the sampling rate, the more closely the digitized sound resembles the original. All audio compact discs (CDs), for example, have a fixed

Page 11: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

11

1: Using soundSound sources

sampling rate of 44.1 kHz, but 22 kHz is typical for most multi-media sound files where high fidelity is generally less necessary.

In addition to the sampling rate, the quality of a sound sample also depends on the sampling precision. This is expressed in bits, and reflects the level of accuracy used to measure the changes in amplitude—the up and down fluctuations—of the original sound. An 8-bit sample stores the sound’s amplitude as one of 256 different values, whereas a 16-bit sample is much more precise because it can choose from 65,536 values. The most common types of sound-sample file on the PC are “wave” files with the file-type extension .WAV and .MP3 files that use MPEG techniques for extreme compression.

• MIDI files: A MIDI file is the digital equivalent of a musical score, representing the notes, rests, orchestration and dynamics.

The score is created electronically using, alone or in various com-binations, a computer, a hardware device or software program called a sequencer, and an electronic keyboard or other controller. MIDI (Musical Instrument Digital Interface) is the standard that defines the way in which these devices are physically connected and the way in which they communicate with one another. MIDI

0

255

soun

d am

plitu

de a

nd

sam

ple

valu

e (8

-bit)

time

sampled sound wave

samples

Page 12: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

12

1: Using soundHow ICDesigner manages sound

also defines the standard for the format of the files that contain the score. These files have the file-type extension .MID.

Because the score is electronically recorded and reproduced, MIDI files are extremely accurate. The musical parameters that MIDI files can store include pitch, timing, volume, velocity (the force with which notes are struck), and instrument-specific perfor-mance nuances such as the use of the pedal on a piano, or vibrato on a guitar.

ICDesigner includes a MIDI player or “conductor” that reads the score and sends the notes to a MIDI sound module. This can be a part of the sound card installed in your PC or an external device such as an electronic instrument connected by MIDI cables.

• Audio compact discs: Most CD-ROM drives also enable you to access and play tracks on standard audio CDs. If your CD-ROM drive has this capability, ICDesigner can use it. This means that you can coordinate activities in a script with high-fidelity music.

How ICDesigner manages soundThe Mixer in ICDesigner enables you to combine sounds from each of these as stereo sources, plus two others.

You can globally adjust the volume of one source relative to each of the others, and you can set all sounds currently playing to new volume levels, which can take effect immediately or over time. The Mixer also

Mixer Mixer

MasterVolume Pan

Left audio

Right audio

output

output

Volume

MasterPan

CD audio

MIDI

Samples

Microphone

Line input

Page 13: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

13

1: Using soundHow ICDesigner manages sound

lets you control the volume of a microphone and a stereo line-level external device such as a VCR or tape recorder. You may want to do this, for example, to simultaneously fade out music in the background of the script and increase the volume of a microphone in preparation for a speech.

Sound optionsThe Sound options available to you depend on the type of sound you are working with. The ability to take full advantage of the opportuni-ties they offer depends on the equipment, especially the sound card (if any), installed in the PC used to run your script.

For example, most CD-ROM drives enable you to play an audio CD even if you do not have a sound card installed. Without a sound card, however, you cannot use the Mixer to mix the sound with other sources and, even then, this capability varies from card to card. Or, if the sound card is monophonic and not able to produce stereophonic sound, the Pan (balance) controls can be adjusted but have no effect.

Escaping hardware limitationsAlthough ICDesigner cannot overcome all of the limitations imposed by your equipment, there are many technical details it handles auto-matically that would pose insurmountable problems in most other multimedia applications.

For example, ICDesigner’s sound technology eliminates many worries involving sample playback on typical sound hardware. Most sound cards can play only one sample file at a time, and cannot play sounds that use sample rates different from the ones it supports. ICDesigner’s audio processing software lets you play several samples at once, and even can perform real-time sample rate conversion if your sound files were sampled at different rates. Similarly, sample precision is handled automatically.

So if you have an 8-bit sound card, you can still use 16-bit sound sam-ple files, or play an 8-bit sample on a 16-bit card. Even use 11-kHz, 22-kHz, and 44.1-kHz files in the same script, at the same time.

Page 14: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

14

1: Using soundThe Sound menu

Although there can be some reduction in sound quality, in many cases the difference is unnoticeable.

In general, you do not need to worry about the technical aspects of sound; ICDesigner takes care of them automatically whenever possi-ble. Once you have configured your sound card in Microsoft® Win-dows® so that it works properly outside ICDesigner, further adjustments should not be needed.

The Sound menuYou see the Sound menu when you click on a button in the Sound col-umn corresponding to an element in the List menu or a page in the Main menu. The Sound menu is also accessible from the Design But-tons menu, when specifying a sound for a button state transition.

In the Sound menu, there are four available panels let you select which type of sound event you want to work with: Sample, MIDI, CD, or Mixer.

Each type of event has a list of commands, and each command in turn may have its own set of options and parameters that you use to define the details of the sound event.

The Command: pop-up in the upper left corner of each panel deter-mines which options you see. Clicking on the Command: pop-up shows you the list of possible commands associated with that type of sound. When you choose a command, the pop-up shows the name of the command, and the set of applicable controls for that command, if any, appears in the panel.

Command: pop-up

Page 15: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

15

1: Using soundControlling different types of sound

When the Sound button in the List menu or Main menu is blank, it means that no sound of any type is currently applied to the element or page. When you click on a blank Sound button for the first time dur-ing an ICDesigner working session, you see the Sound menu shown in the preceding illustration. Otherwise, you see the panel for the type of sound you worked with most recently for that event.

When the Sound button is not blank, it means that a sound event is already applied to the element in the List menu or page in the Main menu. The text on the button specifies each sound event that is cur-rently applied; that is, the type of sound and the command defined.

In the page row shown below, for example, the Sound button indicates that when the script reaches page 2 a sound sample is scheduled to play. (You might need to adjust the width of the Sound column to see all the information about the sound events. See the section “Customiz-ing columns” on page 53 in chapter 2 of the “Basic Authoring” guide.)

When you click on a Sound button containing text, you see the Sound menu and the panel for that type of sound event.

If at any time the command you see is not the one you want to work with:

1. Click the tab for the panel of the type of sound event you want to apply.

2. Choose the desired command from the Command: pop-up.

The commands available for each type of sound event are discussed in the following section.

Controlling different types of soundDefining a sound event in your ICDesigner script inserts an instruc-tion that is similar to a cue in the script of a stage play. In the theater script, a cue may direct the actors to move to stage left or the techni-

Page 16: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

16

1: Using soundControlling different types of sound

cian to dim the lights. In your ICDesigner script, the sound event may initiate a special sound effect or adjust the volume of a musical track that is already playing.

In both cases, the cue indicates exactly when and where an action should occur, and it specifies the result that must be achieved regard-less of any other previous or on-going activity. And, in both cases, the effect of the cue may be brief or long lasting.

Each type of sound—Sample, MIDI, CD—has a set of possible events, each of which has its own panel, as does the Mixer. You access the set by clicking on the panel tab corresponding to the type of sound event you want to work with, and then choose the exact type of event from the Command: pop-up list.

You can only specify one command for each type of sound in a single sound event, but you can specify commands for more than one sound type in one sound event. For example, you could put both a MIDI command and a Mixer command in the same event.

The events available for each type of sound are summarized in the fol-lowing table.

Sample MIDI CD MixerNone None None None

Play Play Play Volume

Wait Wait Play MSF Pan

Stop Stop Sync

Volume Pause Wait

Pan Resume Stop

Volume Pause

Pan Resume

Eject

Read Contents

Next

Previous

Volume

Pan

Page 17: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

17

1: Using soundUsing sound samples

The name of the command is shown on the pop-up, and that name also appears on a button in the Sound column that uses such an event. None is used to remove a sound event for the particular sound type. When the pop-up reads None, no sound event of that type is applied to the current element or page.

The controls for each event include settings that define the event, as well as options that make it possible to coordinate sound events with other script events.

In the table, notice that several sound events are common to the differ-ent sound types. Many of the options in the panels that define these common sound events are the same, regardless of the type of sound associated with the panel. The settings have the same effect and the controls work the same way.

As a result, the discussion that follows begins by defining each of the sound events and controls associated with the Sample panel and, there-after, discusses only the things that are different for each of the other types of sound.

Click on Preview at any time to test the sounds and settings you define and to hear how well they fit into the events already applied to the cur-rent page.

Remember, however, that even though the Command: pop-up might indicate that no sound of a particular type is applied (None), a sound may be playing as the result of events on a previous page. When you click on Preview in the Sound menu, you hear only the sounds applied specifically to the current page. Use the Preview button in the List or Main menu to see and hear what actually happens with pages sur-rounding the one you are working with.

Using sound samples

Sample Play commandThis command enables you to select a sample file and access the com-mand panel for sampled sounds.

Page 18: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

18

1: Using soundUsing sound samples

1. In the Sample panel, choose Play on the Command: pop-up. You see the Command:Play panel, which looks like this:

2. Click on the File: button to open the File dialog.

You can listen to any of the sounds using the Preview icon in the File dialog toolbar. (When you preview sounds in the File dialog, the ICDesigner screen or window goes blank while the sound plays. Click the mouse to end the preview and see the File dialog again.)

3. When you find the sound you want, double-click on the name of the file or click on OK.

On the File: button, you now see the name of the file you selected. To define the details of the Play event, adjust the settings in the panel as necessary to play the sound sample you selected. You can define the settings in any order and at any time. Each control in the panel and its purpose, possible settings and ultimate effect in the script, are described below.

Loops defines the number of times the sample is played before the next page in the script is displayed or the sample is stopped. You can specify a number between one (1) and ninety-nine (99) or an “infinite repeat” setting (∞).

The infinite repeat setting is useful when you don’t know exactly when the event should stop. In an interactive script, for example, you often want music to continue playing in the background until someone presses an on-screen button.

Use the Loops value control to define the number of plays you want. If the setting is ∞, the sample doesn’t stop until the next time a sample

Page 19: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

19

1: Using soundUsing sound samples

Stop command is encountered in the script or it is otherwise inter-rupted. The default setting is 1.

Volume controls the loudness of the sound. Adjust the volume by dragging the slider to the position you want on the volume control. The sound gets progressively louder as the slider moves from left to right.

The intensity and quality of the sound that is heard at the minimum and maximum settings is determined by the sound card. There is nor-mally no audible sound at the lowest setting, but from some cards you might hear low-level noise when the sound is amplified by your audio system or computer speakers.

To ensure the highest sound quality from the card, it is common to first set the volume in the Play panel to the maximum level and adjust the volume of the external amplifier as necessary to produce the loud-est sound needed. Then go back to the Play panels of the individual sounds and set the Volume sliders to the desired levels.

The volume setting is at the maximum level by default.

Fade In Time allows you to gradually increase the volume of the sound from zero to the level set on the Volume control.

The setting ranges from zero (0) to ninety-nine (99) seconds. When the setting is zero, the sound sample starts to play immediately at the loudness level defined by the Volume control.

Use the Fade In Time value control to make the adjustment. The default time is zero and there is no fade-in period.

If you have a stereophonic (stereo) sound card and amplification sys-tem, the Pan control changes the balance of the sound going to the left and right channels, moving the position the sound appears to be com-ing from. When the slider is in the center position, the same amount of sound is produced by each speaker. If the speakers are positioned equally to the left and right of the listening audience, the sound is heard as though it is coming from a position in the middle.

Page 20: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

20

1: Using soundUsing sound samples

Dragging the Pan slider to the left or right of the center increases the amount of sound coming from one speaker as it decreases the amount coming from the other. When the slider is at the far left of the control, for example, no sound comes from the right speaker.

Changing the Pan setting of the sound can be very effective when the sound is coordinated with the position of an element on the screen.

Unless you specifically change the setting, ICDesigner assumes the sound should be balanced and the Pan slider is in the center position. If you have a monophonic (mono) card or system, adjusting the Pan control has no effect.

Wait? instructs ICDesigner to wait until this sound event is finished before proceeding to the next event in the script. When Wait? is on (✓ ), nothing new happens in the script until the sound event is com-pleted.

This overrides any pause setting. For example, if the sound sample you are using is 15 seconds long and a pause setting applied to the element or page is 10 seconds, the sample will be allowed to finish before the script continues to the next page.

If Wait? is off , after the sound starts, other script events occur according to schedule. The sound can continue in the background as the script progresses until it stops naturally, stops because it has completed the number of repetitions you defined in the Loops setting, or stops because you define a sample Stop command later in the script.

The Wait? button is available in several Sound menu panels for Sample, MIDI, CD, and the Mixer. By default, is off; that is, the script can continue although the sound events may still be tak-ing place. Leaving Wait? off for one or more events can let you have several sound events going on in the script at the same time. For exam-ple, music from a CD may be playing in the background when a but-ton pops up on the screen with a sampled sound as it appears.

ICDesigner Note

When Loops is infinite, the Wait option works like this: if Wait? is on, the sound contin-ues until the page advances from interactive input. If Wait? is off, the page advances when all remaining elements on the page have completed.

Page 21: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

21

1: Using soundUsing sound samples

Sample Wait commandLike the Wait? button, the sample Wait command causes script execu-tion to stop and wait for the completion of a sound sample event. The difference is that the Wait? button is an additional option for the cur-rent sound sample event (which may be to play a sample, or fade it out, etc.). The sample Wait command stands on its own, and causes the script to wait for a preceding sound sample to finish playing. It ensures that the current element or page continues to be displayed until any sound samples are done.

In other words, you use the Wait? button only when you want the script to pause and wait for this sound event. Use the Wait command when for an earlier sound event you needed the script to continue—you left its Wait? button off—and now at a later point you need the script to wait for that sound event to finish. For example, you might need to ensure that narration which accompanies the on-screen activ-ity for several pages is finished before the script proceeds to the next explanation or series of events.

The Wait command has no parameters, so its command panel is blank.

Coordinating several sound eventsICDesigner lets you play as many sample files at a time as you want. If there are several continuing sound samples in the script, the sample Wait command waits for all samples to complete before the script con-tinues.

When you need to ensure that several events continuing over several pages must all be finished before the script continues, a useful option is to group pages in the Main menu. When you apply the Play sound event to the group, you must also ensure that the Wait? button in the command panel is on (✓ ). For details about grouping pages, see “Grouping pages” on page 72 in chapter 2 of the “Basic Authoring” guide.

Page 22: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

22

1: Using soundUsing sound samples

Sample Stop commandThis sound event stops all sound samples currently playing. The Sam-ple panel for the command looks like this:

The function of the Fade Out Time control and the time range avail-able is the same as the Fade In Time control in the Play command panel. In this case, however, the time specifies the number of seconds that ICDesigner should use to reduce (rather than increase) the vol-ume of all the samples currently in effect.

The volume levels of the samples may vary when a sample Stop sound event begins, but they are all reduced to zero, no sound, during the time allowed. For example, when the Fade Out Time is 3, all sound samples diminish in loudness until, after three seconds, no sample can be heard.

The default fade-out time is 0— sampled sound stops immediately.

Wait? is available only when a non-zero fade-out time is specified. When Wait? is on (✓ ) the script will not continue to the next activity until the all samples have completely faded out.

The Wait? setting has priority over a pause setting. For example, if the Fade Out Time is 10 seconds and the pause setting applied to the ele-ment or page is 5 seconds, the full 10-second fade completes before the script continues.

Page 23: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

23

1: Using soundUsing sound samples

Sample Volume commandThis event’s command panel looks like this:

To set the loudness for all currently playing sound samples, drag the Volume slider to the position you want.

The default Volume setting is 255, the maximum level. If you don’t change it, any samples playing at a lower level will increase in intensity when this command executes.

Fade Time specifies the number of seconds that ICDesigner should take to adjust the volumes of the samples currently playing so that they match the level you set in the Volume control. The sound will gradu-ally fade up or down to the level set by Volume.

The function of the Fade Time control and the value range available is the same as the Fade In Time control in the Play command panel. By default, the Fade Time is zero and the volume levels are adjusted immediately.

The Wait? button is available only with a non-zero Fade Time. When Wait? is on (✓ ) and a Fade Time is specified, the script will not con-tinue to the next activity until the fade completes. When Wait? is off, some of the samples may not reach the established volume level until later in the script. By default, Wait? is off.

Sample Pan commandThis sound event lets you apply the same Pan setting to all sound sam-ples currently playing. This shifts the current samples’ apparent loca-tion between the left and right speakers. This event has no effect on a system whose sound card is monophonic rather than stereo.

Page 24: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

24

1: Using soundUsing MIDI files

The Pan command panel looks like this:

To adjust the balance so that it is the same for all sound samples cur-rently playing, drag the Pan slider left or right until the sound is in the position you want.

You can continue to work in the Sound menu and define sound events of other types for the current element or page, or you can click on the Sound button in the List menu or Main menu and define sound events for a different element or page.

Using MIDI filesIf your sound card is able to play MIDI (Musical Instrument Digital Interface) files, it should be set up correctly in Windows before you begin. If you have external MIDI equipment, it also needs to be set up properly beforehand.

When a MIDI file is playing, the MIDI equipment is dedicated to playing that file. This means that you can control only one MIDI file in the script at a time. Remember that when one file starts playing, any other MIDI file that is currently playing is stopped.

MIDI Play commandThis event lets you select a MIDI file and adjust the controls that determine how it should be played.

Remember

You can define only one Sample sound event per element or page.

Page 25: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

25

1: Using soundUsing MIDI files

With two exceptions, the MIDI Play command panel is the same as the sample Play command panel (page 17). The steps to access the panel are also the same:

1. Click on the MIDI tab, then choose Play from the Command: pop-up to display the MIDI Play command panel. The Sound menu looks like this:

2. Click on the File: button and, from the File dialog, select the MIDI file you want to use.

3. Double-click on the name of the file or click on OK. You see the Sound menu and, on the File: button, you now see the name of the MIDI file you selected.

Tempo adjusts the speed at which the MIDI file is played. It is expressed in beats per minute (BPM) and the setting you see when you begin to work in the command panel is determined by the file you selected.

Changing Tempo plays the file slower or faster than the original com-position in much the same way that a conductor changes the pace at which an orchestra plays a score. Changing the Tempo does not affect the pitch or quality of the sound that is heard.

Use the Tempo value control to increase or decrease the setting. ICDe-signer enables you to define a setting in a range from 40 to 300 BPM.

A tempo of 100 to 120 BPM is typical and 180 is very fast for most MIDI sequences. You should rely on your own sense of rhythm and feeling to adjust the tempo so that the music fits the mood of the pro-duction.

Page 26: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

26

1: Using soundUsing MIDI files

The other settings in this command panel work the same as those in the sample Play panel. For details about how you use these controls, see the discussion of the sample Play sound event beginning on page 17.

MIDI Pause commandThis event temporarily stops the MIDI file that is playing. It is used in combination with the MIDI Resume event, which continues playing the file from the point at which the MIDI Pause event placed it on hold.

The MIDI Pause command panel looks like this:

The Fade Out Time control and the Wait? button have the same func-tions and settings in this MIDI command panel as similar controls in the sample Stop command panel. A paused MIDI file, however, is placed on hold and can be used later in the script without having to retrieve it from the File dialog and go through the process of redefining it in the Play command panel.

For details about these controls, see the discussion about sample Stop on page 22.

MIDI Resume commandThis event continues a MIDI file that was placed on hold by the MIDI Pause command. The file begins to play at the point where it was paused.

To avoid confusion

If you do not intend to define a Resume sound event to complete a Pause event applied to a MIDI file in the script, we recom-mend that you use MIDI Stop instead.

Page 27: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

27

1: Using soundUsing audio CDs

The MIDI Resume command panel looks like this:

The functions and settings of each of the controls are the same as sim-ilar controls in the sample Play command panel. For details about these controls and how to use them, see the discussion about the sam-ple Play sound event, beginning on page 17.

Other MIDI eventsThe MIDI Wait, Stop, Volume, and Pan command panels have the same options and settings as the corresponding Sample command panels. For details about the purpose of any of these MIDI events see the discussion for the related Sample sound event:

Wait? page 21

Stop page 22

Volume page 23

Pan page 23

Using audio CDsAn audio compact disc (CD) is normally played on a portable or home stereo CD player. However, most modern CD-ROM drives are also able to play audio CDs. To incorporate sounds from a CD into your ICDesigner script, the CD-ROM drive installed in the PC must be able to play a standard audio CD. The documentation for the drive should tell you whether it has this capability.

Page 28: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

28

1: Using soundUsing audio CDs

Multi-unit CD-ROM drivesNormally, a PC has only one CD-ROM drive, and only one track on an audio CD can be played at a time. If there are additional drives installed, however, or if the drive can accept more than one disc at a time, ICDesigner can use all of them.

ICDesigner detects the drive(s) when you start an ICDesigner working session and you can access tracks and/or files on CDs or CD-ROMs from each drive available. In this case, in each of the CD command panels a CD Unit control is added, which enables you to choose the CD drive or disc number that should be used to generate the CD sound event.

New CD!All the CD command panels have the New CD! button. If you work with more than one CD while editing, you should click New CD! after you change a CD in the CD-ROM drive. This updates the table of contents for the CD that ICDesigner maintains in its memory so that times and track numbers can be displayed correctly. This button does not cause a script event. The CD Read Contents command (described on page 36) is the script equivalent.

CD Play commandThis sound event enables you to select a track on an audio CD and define the details of the command that plays the track in your ICDe-signer script.

The CD Play command panel looks like this:

Page 29: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

29

1: Using soundUsing audio CDs

Track In specifies the number of the track on the CD that should start when the element or page you are defining is encountered in the script.

The contents of a CD is divided into units called tracks, which are log-ical breaks in the sequence of the CD. Although a CD may have only one very long track, it is more common that each song, or each move-ment in a symphony, or each sound effect—anything that has a recog-nizable beginning—is a separate track. To identify tracks in the sequence of the CD, each track has a number.

All audio CDs have an internal table of contents that references each track by its number and specifies the length of time it takes to play. Most CDs also include a listing of the contents as part of the cover information.

Use this listing to determine the number of the track you want to play. Use the Track In value control to pick a track number. The upper limit depends on the number of tracks available on the CD.

The default for Track In is track 1.

Track Out specifies the number of the last track you want to play.

When the Track Out setting is higher than the Track In setting, ICDe-signer plays both tracks and all tracks between them. When the Track In and Out settings are the same, ICDesigner plays only the track they specify.

Use the Track Out value control to pick the final track to play. ICDe-signer initially sets Track Out to match your Track In setting.

Other settingsThe functions and settings of the remaining controls in this panel are the same as similar controls used in the sample Play command panel. For example, Loops specifies the number of times the CD track

Page 30: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

30

1: Using soundUsing audio CDs

repeats. For details about these controls see the discussion for the sam-ple Play sound event and, in particular:

Loops page 18

Volume page 19

Fade In Time page 19

Pan page 19

Wait? page 20

CD Play MSF commandUnlike the CD Play sound event, which allows you to play only com-plete tracks, Play MSF lets you use specific portions of one or more tracks.

The CD Play MSF command panel looks like this:

Time In specifies the exact point on the CD and track where you want the sound to start playing. The time is expressed in minutes, seconds and frames (MSF); for example:

The CD booklet or insert references each track by number and name. It also usually specifies the length of each track in minutes and sec-onds; for example 3:45 means that the track is three minutes and 45 seconds from beginning to end.

minutes seconds frames

Page 31: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

31

1: Using soundUsing audio CDs

The CD also has an internal table of contents, which you can’t see, that monitors the length more accurately. These measurements are based on the beginning of the CD, not the track itself, and are defined in terms of minutes, seconds and frames, where a “frame” is a unit of time equal to 1/75 of a second. (This is part of the CD standard and is not defined by ICDesigner. Note that CD audio frames are not related to video or animation frames.)

ICDesigner has access to this internal table of contents and enables you to take advantage of the more accurate timing measurements when it is essential that an action in the script is precisely coordinated with the CD sound.

The Time In setting is directly linked to the Track In setting. Chang-ing Track In automatically updates the Time In setting to reflect the beginning of the new track relative to the beginning of the CD. If, as you adjust the Time In setting, the value is not within the time frame of the track defined for Track In, the track number is automatically updated to correspond with the time you specify.

On the following timeline, for example, if you change the Track In setting to 2, then the Time In setting is 02:10.00, unless you choose to change it. If you define a Time In that is earlier than the time borders of track 2—for example 01:50.50—ICDesigner changes the Track In setting to track 1.

To refine the timing, use the value controls to edit the minutes, sec-onds and/or frames accordingly. Use the Preview button to test the set-ting in combination with other activities defined for the element or page.

Unless you specifically change the Time In setting, ICDesigner uses the starting time of the track number in the Track In setting.

track 1 track 2 track 3

00:00.00 02:10.00 05:30.45

Page 32: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

32

1: Using soundUsing audio CDs

Time Out specifies the exact point on the CD where you want the sound to stop.

The Time Out and Track Out settings are related to one another in the same way as the “In” settings described above. Changes in one setting can affect the other and, together, they define precisely where the CD stops playing.

Although the Track Out setting may be the same as Track In, Time Out must be later than Time In. Unless you specifically change the set-ting, the end of the Track Out track is used by default.

When the number of Track Out is higher than the Track In, ICDe-signer plays only the specified portions of the in and out tracks but plays any tracks in between in their entirety.

To experiment with the Time Out setting, use the Preview button to test the result.

The functions and settings of the remaining controls in this panel are the same as similar controls in the CD Play and sample Play panels. For details about these controls, see the discussion for the sample Play sound event.

Loops page 18

Volume page 19

Fade In Time page 19

Pan page 19

Wait? page 20

CD Sync commandThis option helps ensure that the activities associated with an element or page are synchronized with a CD sound that is already playing.

Page 33: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

33

1: Using soundUsing audio CDs

The CD Sync command panel looks like this:

The Sync command is similar to the Wait command. In essence, it halts the progress of the script until a certain point. The difference is that the Wait command waits for a previously started event to finish. The Sync command waits for a previously started CD to reach a partic-ular time setting you specify, and only then allows the script to con-tinue.

Rather than the script determining the CD activity, as it does, for example, in the Play MSF event, the CD actually controls the script in a Sync event; the script cannot continue until the CD reaches a certain point. This is useful, and often necessary, to ensure, for instance, that an animation starts at precisely the right time relative to a CD track or that a caption is coordinated with music for a video.

Sync Time specifies the time code on the CD that determines when the script runs the page you are working with.

The time is expressed in minutes, seconds and frames (MSF), just as it is in the Time In and Time Out settings in the Play MSF command. Unless you specify a time, the setting is 00:00.00. If the Relative to Track setting is off (not marked with a ✓ ), this Sync Time means that the script does not run the page until the CD begins again with track 1 or a new CD is inserted. If the Relative to Track setting is on (✓ ), the page is not run until the current track is repeated from the beginning.

Use the value controls in the Sync Time button to set the sync point. In order to set the time precisely, you must experiment with the set-ting and refine it until the on-screen activity is synchronized with the sound as accurately as possible. Use the Preview button in the Sound

Page 34: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

34

1: Using soundUsing audio CDs

menu and in the List or Main menus to see and hear how the setting fits into the scheme of the current page and surrounding pages in the script.

To begin testing from a reasonable reference point on the CD, you can use the information on the cover as a guide to the sequence and duration of each track. If there is a CD player with an elapsed time display available, you can use that to identify the time within one sec-ond. To determine a more specific starting point, you may find it use-ful to check the Time In and/or Time Out settings in the most recent Play MSF command (if any), or, from the Command: pop-up, tempo-rarily choose Play MSF to check the time frames and preview the part of the track you are interested in. You can do the final fine-tuning from the CD Sync command panel.

When the script encounters the Sync command before the CD reaches the specified time, the script waits at that point. When the sync time on the CD arrives, the script continues. If other events delay the script, however, and it reaches the Sync command after the CD has passed the sync time, the script just continues normally.

This could happen, for example, if a preceding event took more time than you had thought when you calculated the sync time—you might have reduced the speed of a wipe, making it take longer to complete. An element or page associated with the Sync event isn’t lost or over-looked; in this case it just does not appear when you planned. To avoid such difficulties, always preview the script in its entirety and be aware of other events that may affect the timing and coordination.

Relative to Track? enables you to choose whether the time you set for Sync Time is relative to the beginning of the CD or relative to the beginning of the track that is currently playing.

When Relative to Track? is on (✓ ), the Sync Time is measured from the beginning of the current track.

When Relative to Track? is off, the Sync Time is measured from the beginning of the CD.

Page 35: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

35

1: Using soundUsing audio CDs

Click on the button to switch the setting on or off as necessary. By default the button is off and the timing is measured from the begin-ning of the CD.

CD Eject commandIf the CD compartment on the CD-ROM drive has a motorized opening mechanism, this sound event automatically opens the com-partment and releases the CD. Otherwise, the command has no effect.

The Eject command can be especially useful in an ICDesigner produc-tion that requires a change in CDs. Combined with a visual cue on the screen page, it provides a clear and unmistakable signal that a new CD must be inserted.

When you click on CD and choose Eject on the Command: pop-up, the Sound menu looks like this:

Fade Out Time specifies the number of seconds ICDesigner should use to gradually reduce the volume of the track currently playing to zero (no sound) before ejecting the CD.

The function of the Fade Out Time control and the settings available are the same as the Fade Out control in the sample Stop command panel (page 22). For example, the settings range from zero (0) to ninety-nine (99) seconds, and a setting of zero means that the CD is ejected immediately when the Eject event is encountered in the script. Zero is the default setting.

As in the Stop command panel, the Wait? button is available only when the Fade Out Time is greater than zero.

Page 36: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

36

1: Using soundUsing audio CDs

CD Read Contents commandThis event reads the CD’s table of contents into ICDesigner’s mem-

ory. This is necessary, for example, after an Eject com-mand prompts the user to insert a new CD. The Read Contents command updates the table of contents that ICDesigner uses for CD events. This ensures that ICDesigner knows how many tracks are on the disc and what their timing is. The Play and Play MSF events could not locate the proper points on the CD otherwise.

The Read Contents has no parameters, so its command panel is blank.

Depending on the script, you may find it useful to insert a special event page in the List menu or Main menu to define this event.

CD Next, Previous eventsThe CD Next and Previous events select the next or previous track on the current CD, relative to the current track.

Other CD eventsThe CD Wait, Stop, Pause, Resume, Volume, and Pan command panels have the same options and settings as the corresponding Sample com-mand panels. For details about the purpose of any of these events, see the discussion of the related Sample sound event or, in the case of Pause and Resume, the related MIDI event:

Wait? page 21

Stop page 22

Pause page 26

Resume page 26

Volume page 23

Pan page 23

ICDesigner Reminder

If your script uses more than one CD, you should always use a Read Con-tents event to update ICDesigner after a new CD is inserted.

Page 37: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

37

1: Using soundUsing the Mixer

Using the MixerThe ICDesigner Mixer enables you to mix sound sources of any type and adjust their volumes or pan settings in relationship to one another. This includes external sound sources such as a microphone or tape recorder, as well as the three primary sound sources discussed in this chapter: sound samples, MIDI files and CD tracks.

Mixer settings affect all sound events currently playing or in effect for each sound source. This means that the mixer overrides any settings that were defined individually, such as the volume level in a Play event. Sound events you define for the element or page you are cur-rently working on are also affected by the Mixer settings.

Mixer versus Windows sound settingsThe ICDesigner Mixer duplicates the basic functions of the Windows Sound System Mixer. (The Sample source in ICDesigner corresponds to the Windows “Wave” source.) When you enter ICDesigner, the program copies all Windows sound settings and saves them. When you exit ICDesigner, the saved settings are restored. This way, running ICDesigner does not permanently alter your preferred sound settings.

However, while ICDesigner is running, it is possible for the Windows sound settings to be changed by working in the Mixer or playing a script that contains Mixer events. Because this can be undesirable for other applications that might depend on the Windows sound settings, the Mixer has the capability to disable any of its controls, so that they do not override the corresponding Windows settings.

Page 38: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

38

1: Using soundUsing the Mixer

Mixer Volume commandThis sound event enables you to set volume levels for one or more sound sources and automatically apply the setting to all current sound events related to the source. The command panel looks like this:

The three internal sound sources (Sample, MIDI, and CD) have their own volume controls. When a mixer Volume event occurs, the previ-ous volume settings for sounds for any of these sources whose sliders are enabled are replaced by the mixer Volume settings. This means that if you do not want the volume of a particular source to change, you must be sure that its volume slider is disabled. See the following sec-tion, “Enabling and disabling Mixer sliders”, for more information.

There are also sliders for two external sources. Line controls the vol-ume to the “line” input connector on a sound card and, thus, to any source such as a VCR or tape recorder that may use this connector. Microphone controls the volume of a microphone using a MIC input connector on the sound card. (If your sound card does not have Line or MIC input connectors, these controls have no effect.)

By default, the Microphone and Line controls are set to 0 (no sound), the Master is set to 75%, and the other controls are set to the maxi-mum level. If you have made different volume settings for individual sources, just applying the default settings can affect the volume of those sources.

Enabling and disabling Mixer slidersThe sliders in the Mixer panel are unique in that they can be enabled and disabled. By default, all sliders are enabled, as indicated by the ✓ to the right of each slider name.

Master volume slider

(all sources shown enabled)

Page 39: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

39

1: Using soundUsing the Mixer

When sliders are enabled they have an effect on the playing script, and also on the corresponding sound sources controlled by the Windows Sound System Mixer. Thus any other applications that use sound through Windows can have these parameters altered by editing changes in the Mixer panel.

When sliders are disabled, indicated by the absence of a ✓ by the name and the grayed appearance of the slider knob and numerical value, they have no effect, either on ICDesigner scripts or on outside applica-tions.

Enable and disable sliders by clicking on the slider name or on the ✓ beside it.

You should leave enabled only the sliders for those sound sources you intend to affect with a given Mixer command, so that settings made in Windows and used by other applications are not unnecessarily dis-turbed.

Tips on adjusting volume levelsSome things to remember when you are adjusting the sound levels in your script:

• For each sound source there are three controls within ICDesigner that can affect the final volume of the source:

1. the Volume slider for the individual source (for example, in a sample Play event)

2. the setting for that source in the mixer Volume panel (for example, the Sample slider)—this setting overrides any Volume settings made previously to the individual source

3. the Master volume slider in the mixer Volume panel

• When you apply a mixer Volume event, you affect the volumes of all sound sources whose sliders are enabled. Also, adjusting the volume control for a source adjusts the volume on all sound events of that type that are currently active. These two factors can pro-duce changes in the volume of sources you did not intend to affect with the event.

Page 40: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

40

1: Using soundUsing the Mixer

Be sure to consider all sources and all the current volume settings and changes you have made in the script when making a new vol-ume setting. Disable the sliders of any sound source you do not need to affect with a Mixer event.

The Master volume control adjusts the loudness of all sound sources simultaneously. Doing so, however, retains the relative levels set by the individual Sample, MIDI, CD, Line, and Microphone volume controls.

Although the effect of the individual source volume settings cannot be seen on the mixer Volume command panel, they can be heard. Note that the Sample slider overrides the individual volume settings for all the samples currently playing—they all are given the same new vol-ume. If they originally had different volumes in relation to one another, those will be lost when a mixer Sample volume event occurs. Use Preview as necessary to test the settings; be sure that you preview enough of the script that all concurrent sound events are included.

Fade Time specifies the number of seconds that ICDesigner should take to adjust the volumes of the sources to the levels you set.

For any source, if the volume of an event that is currently playing is different from the new setting, the sound will fade up or down to the new level.

The function of the Fade Time control and the settings available are the same as the Fade controls in any other command panel. By default, the Fade Time is zero and the volume levels are adjusted immediately.

As in other Volume command panels, the Wait? button is not available unless the Fade Time is greater than zero. The function of the button

Caution!

Setting the Master volume control to maximum may damage a listener’s hearing or cause damage to equipment that is connected directly to the speaker output on the sound card.

Page 41: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

41

1: Using soundUsing the Mixer

is also the same as elsewhere. In particular, see the discussion about the sample Volume sound event on page 23 for more information about the Fade Time control.

Mixer Pan commandThis event enables you to apply a pan setting to all current sound events from any source except Microphone. The command panel looks like this.

The controls in this panel adjust the direction that sounds seem to be coming from. They have the same global effect as the controls in the mixer Volume command panel. The Master Pan control works like the Master Volume control, simultaneously adjusting Pan settings while maintaining the relative settings among the individual sources.

The individual source controls work the same way as Pan controls in other sound events such as sample Play. The default setting for all the Pan sliders is centered.

Refer to these other discussions, if necessary, as you work in the mixer Pan command panel. In particular, see the sample Pan sound event (page 23) for more information.

As with the sliders for the mixer Volume command, the Pan sliders can be turned on and off to allow you to control which sources are affected, and whether the event overrides sound settings external to ICDesigner. See “Enabling and disabling Mixer sliders” on page 38 for more information.

Page 42: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

42

1: Using soundDefining several sound events

Defining several sound eventsUnlike other special effects that you specify in the List or Main menus, such as a wipe or pause, several sound events can be specified at once. You can repeat these steps and apply several types of sound to the same element or page before clicking on another button in the Sound col-umn to schedule the next sound event(s) in the script. Also, sound events are not confined to a single page; they can play while the other script events happen. You may want to do this, for example, to use a CD track as background music for several pages.

This means that many sound events may be happening in the script simultaneously. You can combine sounds as necessary for maximum impact. Here are a few general guidelines:

• On the Sound button for each page in the Main menu or each ele-ment in the List menu, you can define, at most, one sound event of each type—Sample, MIDI, CD—and manipulate the Mixer. For example, you can start both an audio CD track and a sound sample when you bring a clip onto the page, but you cannot apply two sound samples to the same clip.

• A script may include any number of sound samples and several can be used concurrently. For example, a sound sample scheduled to start on one page may still be playing when another sample starts on another page.

• Only one MIDI file at a time can be playing in the script. Unlike a sound sample, a MIDI file that is playing stops if you start another.

• When a CD-ROM drive is playing an audio CD, only one track on the CD can be accessed at a time. If you have more than one CD-ROM drive, however, ICDesigner adjusts the command pan-els accordingly and enables you to use a CD (or CD-ROM) from each available drive.

Page 43: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

43

1: Using soundDefining several sound events

Staying aware of your sound eventsAs you work in the Sound menu, the text on the button in the Sound column is constantly updated to reflect the sound event you are cur-rently defining and any others already applied to the element or page.

It is not possible, however, to look at the Sound button to determine if any sounds are playing at that point in the script. Even if the Sound button for one page or element is blank, a sound event you started ear-lier with the Wait? button off may still be playing. This means that you must be aware of the sounds you are using in the script and their playing lengths. In most cases, it will be obvious when the effect of a sound is not what you intended.

Adding sound to several pages or events in a rowWhen you have defined all the sound events you want to apply to one element or page, you can click on another Sound button in the List menu or Main menu and continue working in the Sound menu. As with the Wipe and Timing menus, this confirms the settings you have just defined without requiring you to close the Sound menu each time. Clicking on Cancel in the Sound menu resets or cancels only the last sound event you worked with.

When you have defined all the sound events you want, click on Close to close the Sound menu. Click on Preview in the List or Main menus to test the effect of the sound events you have defined in the total scheme of the page or script. You can open the Sound menu and work in it at any time to refine the settings as necessary.

Page 44: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 45: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 46: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

46

2: Making scripts interactiveA script that is interactive can accept input from the user. Buttons and fields are the key to the world of interactivity in InfoChannel Designer 3. A button or a field is an element in your script that pro-vides for interactivity. These elements give the viewer control over the direction of the production. By using the mouse (or another type of input device, like a touch screen) to select buttons, and the keyboard to enter data into fields, the viewer can make choices about how the script should proceed.

A button can trigger almost any kind of event in ICDesigner: jumping to a new page, playing a sound, wiping in an element, even making calculations with variables. This makes it possible for you to create flexible, powerful scripts that can adapt themselves to respond to a wide variety of audiences. Your interactive button, then, could be any-thing from a cat illustration that “meows” when clicked, to a catalog of product photos and text that a potential customer can browse for information, to a quiz that asks and answers questions differently for every user, and displays their scores at the end.

A text entry field can accept typed input just like any e-commerce Web page. It puts what the viewer typed—a name, a product code, a password—into an ICD variable, which can then be manipulated, stored, and transmitted.

Buttons are created and edited in the Design Buttons menu, where you work with unique button features:

• Go to other locations in the script

• Link sounds to buttons

• Specify hotkeys for buttons

• Set variables based on button activity

• Use custom mouse pointers

Page 47: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

47

2: Making scripts interactiveGetting started: creating simple buttons

• Independently set options for various button states:

Normal—normal appearance, sound, variables

Highlight—special appearance, sound, variables, custom mouse pointer image

Select—special appearance, sound, variables, custom mouse pointer image, Go To

Text Entry Fields are created through the Add drop-down, and defined in the Design Text Entry Field menu.

Although buttons and fields have special features, they are elements that can be manipulated just like other elements—using wipes, cut and paste, and the other ICDesigner menus. You have all the Element Design options open to you to make the element look the way you want.

ICDesigner gives you great freedom to design your own buttons, but you don’t have to do so. The Buttons menu also gives you the option of choosing from a selection of predefined buttons and button back-drops supplied by Scala, which have matched images for the various states.

This chapter introduces you to the Buttons and Text Entry Field menus, and walks you through the process of creating these interactive elements. It also discusses the Input menu, where you can set various options related to mouse input, keyboard input, and pointer images.

Getting started: creating simple buttonsTo use a button, you generally need a script consisting of at least a few screen pages. Once you have some pages in your script, you can begin making it interactive.

The following examples, “Creating a text button” (below) and “Creat-ing a predefined button” (on page 51) show you how to create simple buttons and illustrate how the use of buttons can change the normal script sequence when you set a Go To.

Page 48: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

48

2: Making scripts interactiveGetting started: creating simple buttons

The examples are intended to show you the basics, but there is much more that you can do when creating buttons. You are encouraged to experiment with ICDesigner’s interactive capabilities and use your imagination to create productions that get your audience involved in the multimedia experience.

Creating a text buttonA button in ICDesigner can be almost any element, so text can also be a button, even when there is no separate button image associated with it. The following example shows you how to make text into buttons.

1. Create four new pages by loading the four backgrounds provided in the ScalaArt:\ClipArt\GuideExamples folder. For the sake of this example, choose “look” for page 1; “clock” for page 2; “hour-glass” for page 3; and “idea” for page 4.

2. Go to the Design Text menu for the first page, choose a large font, then type “Clock”, “Hourglass”, and “Eureka!”, each on its own line.

3. Click the Buttons icon. You see the Design Buttons menu, which looks like this to start with:

Page 49: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

49

2: Making scripts interactiveGetting started: creating simple buttons

You make an element a button by choosing a kind of button from the Type: pop-up while the element is selected.

4. Select all three elements at once, then choose Push Button from the Type: pop-up. You will probably see a dialog asking if you want to change the timing of the page to Wait Forever. Click Yes in this dialog.

5. Select the 3-state button. This makes each word into a three-state push button.

6. Press F12 or click the middle indicator in the title bar to change the buttons’ visual state from Normal to Highlight.

7. Go to the Design Text menu and click Shadow. This gives each word a shadow when highlighted.

8. Press F12 again, to change to the Select state.

9. Turn on Shadow, and also change the Front color. The buttons will have a shadow and a new color when selected.

Page 50: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

50

2: Making scripts interactiveGetting started: creating simple buttons

10. Return to the Buttons menu and go to the Select Action panel. Select “Clock” by itself.

11. Choose Action: Go to Next Page.

The Select state is where a button actually does its work. Usually, this means jumping to another location in the script. You choose the destination for a button with the Action: pop-up on the Select Action panel. The Go to Event, Go to Next Page, and Go to Previous Page options let you specify that execution flow should branch to another page when the button is selected. The Action: pop-up is described in more detail on page 58 in this chapter.

The Level: selector also visible on the Action panel when Go to Event is chosen displays the level of the script where the destina-tion is. If your script doesn’t have any groups, as in this example, your only choices are “<this script>” and “<this page>”.

The Go To: selector indicates which page or event you want the script to advance to.

12. Select “Hourglass” and choose Action: Go to Event. Set the Go to: selector to page 3, and finally select “Eureka!” and set its Go To: to page 4.

13. Select Preview to see the buttons in the three button states; move the mouse pointer over the buttons and click on them to see the highlight and select states. (The preview cannot, however, show the effects of Go To: settings. To see how buttons change script execution, you must run the script.)

14. Click the Main icon to exit to the Main menu.

Now run your new script and click on the interactive text buttons you have created to see how they affect the flow of the script. See if you can figure out what needs to be done to return to page 1 after your buttons branch to the other pages.

You have now created three simple interactive text buttons. You can follow the same basic procedure to create buttons that start with clips instead of text. There are a number of ways to do this in ICDesigner,

Page 51: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

51

2: Making scripts interactiveGetting started: creating simple buttons

but one of the simplest is to use ICDesigner’s predefined buttons, as in the following example.

Using a predefined button1. Create four different pages by loading four different backgrounds

from the GuideExamples folder. Choose Paper for page 1; BlueBG for page 2; YellowBG for page 3; and RedBG for page 4.

2. Go to the Text menu for the first page, and type “blue”, “yellow” and “red”, each on its own line.

3. Go to the Buttons menu by choosing the Buttons icon.

4. Click the Add icon, which opens the File dialog, where you can choose button (.btn) files from the GuideExamples folder.

5. Choose the “Blue1” button. After you choose the button, you return to the Buttons menu, and you see the round button. The button is automatically created as a three-state Push button.

6. Place it next to the “blue” text, which will serve as a label.

7. Follow the same procedure to add the “Yellow1” and “Red1” but-tons.

You see three round buttons, each having a label of blue, yellow, or red. The buttons appear in their Normal states.

Predefined buttons, like the one in this example, have matched images for these various buttons states, so you don’t have to load, create or position separate imagery for each state.

8. Choose one of the three buttons you just created, then press F12 to see how the button looks in its highlighted state.

9. Press F12 again to see how the button looks in its selected state.

10. Select the “blue” button and click the Select Action tab.

11. Choose Action: Go to Event and set the Go To: selector to page 2. (You could also use Action: Go to Next Page for this one button.)

Page 52: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

52

2: Making scripts interactiveWorking in the Design Buttons menu

12. Select the “yellow” button, choose Action: Go to Event, and set the Go To: selector to page 3.

13. Select the “red” button, choose Action: Go to Event, and set the Go To: selector to page 4.

14. You can click Preview to see how the buttons appear in the differ-ent states.

15. Click Close to exit the Buttons menu.

16. Run the script and try out the buttons.

You have now learned how to create two types of buttons—text and predefined. The remainder of this chapter talks about working in the Buttons menu and creating more advanced buttons.

Working in the Design Buttons menuThe Design Buttons menu can be accessed from the Main menu Design drop-down, pressing F5, or by clicking the Buttons toolbar icon from any other Design menu. When you enter the Buttons menu, you see the Type panel, which gives you several options for button type.

Button typesThe button Type: pop-up controls whether an element is a button, and if so what type of button it is. The possibilities are:

• Push Button

Push buttons are the most common and versatile type of button. They are typically used for branching to another page of the script, or accepting some kind of response from the viewer. A Push button can have one, two, or three visual states.

• Toggle Button

A Toggle button is used to switch a logical variable between its two possible values, on and off. This makes it easy for a script to accept and respond to Yes/No kinds of input from the viewer.

Page 53: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

53

2: Making scripts interactiveWorking in the Design Buttons menu

The button itself can have either two or four visual states. Unlike a Push button, a Toggle button remains in its selected state after being clicked so that its value is obvious.

• Radio Button

A Radio button is similar to a toggle button, but it works with any kind of variable, so it can assign any type of value (text, numeric, or logical). Like a Toggle button, it has either two or four visual states, and remains in its selected state after being clicked.

Changing a button’s typeIt is possible to change a button from one type to another. Just select the button and then choose the new type from the Type: pop-up. When you do this, you see a confirmation dialog telling you that but-ton attributes unique to that button type will be lost in the conversion.

Turning a button back into a normal elementFor any element selected while in the Buttons menu that is not a but-ton, the Type: pop-up shows None. If you need to turn a button back into a normal element, select it and then choose Type: None. A warn-ing dialog indicates that you will lose any button attributes you may have already defined if you do this.

Button basicsIn ICDesigner, there are many ways to create a button. You can start with ordinary text, or a clip or graphic object, and turn them into but-tons. You can start with predefined button files supplied by Scala, and add text or imagery as labels. And you can build buttons using your own text along with predefined files from Scala in various combina-tions, or by modifying buttons that you have previously created and exported.

Face and backdropButtons you make in ICDesigner have two possible components for each state: backdrop and face. The face (text, for example) is generally used to identify the button. The backdrop is an area underneath the face that helps make the face visible against background imagery and emphasizes it or makes it look more presentable.

Page 54: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

54

2: Making scripts interactiveButton states and state events

Buttons with a backdrop image and no visible face, or with a face and no visible backdrop, are possible and may be useful. Keep in mind, however, that the face must be a single element only. You are always free to label your buttons with additional plain text or clips that are next to or on top of a button. If you do so, however, you will then have to move and adjust those items separately whenever you edit the button, and they will not change when the button changes state.

Button states and state eventsDifferent types of buttons have different state options. Push buttons can have one, two, or three visual states. Toggle and Radio buttons can have either two or four visual states.

When you have selected a type of button that has multiple visual states, a series of buttons appears on the menu showing the choice of number of states for that button. Click one of the choices to establish the number of states for the button you are creating.

Choosing and keeping track of button statesWhen you create a multi-state button, or select an existing multi-state button, a row of three or four identical buttons appears in the title bar of the Design menus, just to the right of the menu name. Each button has a “button” icon on it, and represents a particular state of the cur-rently selected button. You see these indicators in the title bar of any Design menu whenever a Push, Toggle, or Radio button is selected.

At least one of these title bar indicators is always selected, indicating the current state of the selected button. If you have defined a Push button with fewer than three states, or a Toggle or Radio button with fewer than four states, the title bar indicator(s) for the unused state(s) are disabled.

More than one state of the selected button(s) may be current at a given time, so that you can apply the same styles and attributes to several states at once. Select multiple button states to affect them all with the

Page 55: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

55

2: Making scripts interactiveButton states and state events

same attributes by Ctrl-clicking as many title bar state indicators as desired.

To cycle through the states of the currently selected button, use the F12 shortcut. Or you can click the title bar indicators to switch directly to a particular state. To remind yourself of which state a title bar indicator represents, hold the mouse pointer over that indicator. The Tool Tip that appears identifies which state it represents, as illus-trated here. Both F12 and the title bar indicators are available in any Design menu.

Most of the options in the Appearance and Action panels can be applied independently to each of a button’s states.

Push button statesA Push button with one state has a single appearance. It can respond to being selected, but the button itself cannot give any visible response to the mouse passing over it or clicking on it the way a button with multiple states can.

2-state Push button indicators

Normal state (selected)Highlight state (not available)Select state (not selected)

4-state Toggle or Radio button indicators

2-state Toggle or Radio button indicators

Normal Off stateHighlight Off state

Normal On stateHighlight On state

Page 56: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

56

2: Making scripts interactiveButton states and state events

A two-state Push button can have a different appearance for its Nor-mal (idle) state and its Select state (when it is clicked by the mouse).

A Push button with three states can have separate appearances for Normal, Highlight (mouse pointer touching it but not clicked, or highlighted by using arrow keys) and Select (clicked-on) states.

If you do not make changes to the button for its Highlight state, the button keeps its normal imagery when the mouse pointer is over it. Using the Highlight state is valuable in most interactive productions as a way of letting viewers know where buttons are, so they know when they can click or press Enter (↵ ) to choose a button.

During playback, a button displays the Select state when it is chosen by clicking on the mouse, when the viewer presses Enter (↵ ) while the button is highlighted, or when the viewer touches the button on the screen if using a touch screen. Using different imagery for the Select state helps confirm for the viewer that his or her choice has been noticed and accepted.

You can also create hotkeys to select buttons. See page 61, “Creating hotkeys”.

Toggle and Radio button statesThe states possible for Toggle and Radio buttons are somewhat differ-ent from those of Push buttons. These button types are always in either an Off or On state. Additionally, for a four-state button, both the Off and On states can have a Highlight state as well as a Normal state.

A two-state Toggle or Radio button can be either Off (typically appearing like a Push button in the Normal state) or On (typically appearing like a Push button in the Select state). It does not respond to the mouse pointer until clicked on.

A four-state Toggle or Radio button works the same way, but both the Off and the On positions also have a Highlight state to indicate when the pointer is over the button.

Page 57: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

57

2: Making scripts interactiveSelect Action options

When a Toggle or Radio button is clicked on, the button changes state, but unlike a Push button, it remains in the changed state after the mouse button has been released. A Toggle button switches from its current state to the opposite state whenever it is clicked. Clicking a Radio button, however, can only switch it from its Off to its On state. Clicking a Radio button in its On state does not switch it back to Off. For this reason, several Radio buttons are typically used together to let the user make choices.

See page 71 for information on using Toggle and Radio buttons.

Select Action optionsThere are two panels in the Buttons menu for controlling the actions that can happen when using the action-oriented button types (Push, Toggle, and Radio buttons): the Select Action panel and the Other Action panel.

Actions on button selectionThe Select Action panel is for specifying the primary purpose for an action-oriented button. In particular, it lets you choose what happens when the button is put into the Select or On state. (This occurs when the button is clicked on, or the viewer presses Enter (↵ ) or a defined hotkey while the button is highlighted.) Most often, the action is a branching type of operation, moving to another event or page within the script. However, other types of action are also possible.

Page 58: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

58

2: Making scripts interactiveSelect Action options

The Action: pop-up on the Select Action panel has the following options:

• None• Go to Event• Go to Next Page• Go to Previous Page• Return to Bookmark• Exit from Script• Show WWW Page

Using Go to actionsThe three “Go to” actions allow you to make script execution move to some other location in the script, from which execution continues. The new location can be another page or another event on a page. This lets the response to a button be almost any series of scriptable events. You can return to the original button location after a button Go to by setting a bookmark.

The Go to Event actionGo to Event is the most flexible button branching action. Conse-quently it requires you to specify both the destination itself and the level of the script where the destination exists. You see the controls for these on the panel when you choose Action: Go to Event.

Use Level: to choose the level of the script where the destination is. Use the selector to cycle through the levels. If the destination is in the same group you are in, you can leave the selector as is. If your script has no groups, the only choices are <this script> and <this page>. Only levels at or above the current level are accessible.

Page 59: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

59

2: Making scripts interactiveSelect Action options

Use the Go To: selector to choose the page or event that you want the script to advance to when a button is selected. In most cases, the Go To will be set to a page. Use the selector to choose a page number. A thumbnail of the destination page is shown in the box to the right of the button. Note that if you just want to advance to the immediately following or preceding page in the script, it is simpler to use the Go to Next Page or Go to Previous Page actions.

Setting a Go To to an event on the current page is also possible: set the Level: selector to <this page>, then use the Go To: selector to cycle through events on the page. Setting a Go To to events is used in advanced productions, and is covered in chapter 3.

Leave Bookmark? allows you to return from a series of events after branching with a Go to Event. Click on Leave Bookmark? to turn it on (✓ ). Then, at the end of the button’s series of Go to events, insert a special event. On this special event, open the Branch menu and select the Go To panel. Choose Action: Return to Bookmark. When executed, this returns the script to the bookmark location, which is immediately after the original Go to Event.

Using Go to Event with a bookmark lets you define sections of a script as independent units that you can go to and return from whenever a button is clicked. For details on using a Go To in the Branch menu, see the section, “Using Go To with a bookmark” on page 110 in chap-ter 3.

Going to the next or previous pageA very common type of button-activated branch is advancing to the next page in the presentation, or returning to the preceding page. Because these branches by their nature do not require the options that the general-purpose Go to Event action has, ICDesigner provides sim-plified actions to handle these two particular branches.

The Go to Next Page and Go to Previous Page actions do just what their names imply, advancing to the screen page that immediately follows or precedes the current page on the Main menu. Neither action requires a Level: selection, and because the destination page is implicit, a Go To: selector and page thumbnail image are left out. Leave Bookmark? is

Page 60: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

60

2: Making scripts interactiveSelect Action options

also omitted, because you can always return to the original page by using the complementary Go to page option.

Returning to a bookmarkWhen using a Go to Event branch on a button or in the Branch menu, you can choose to use the Leave Bookmark? option. This allows you to set a marker to which a later event can return. In this way, you can define sections of a script as independent units that you can go to and return from at any point in the script. This is discussed in more detail, with an illustration, in the section “Using Go To with a bookmark” on page 110 of chapter 3.

As with bookmarks and Go Tos on the Branch menu, bookmarks left with a button Go to Event action are used in conjunction with an action that restores the current execution location in the script to the bookmark location. This is Action: Return to Bookmark. The typical usage of this action would be as the Select Action of a “Return” or “Back” interactive button that you would place on a page that was the last in the unit branched to by a Go to Event button.

Exiting from a scriptAlthough most productions are designed to run continuously, some

need to allow the viewer to exit from the script. Cre-ating a button to do this is very simple. Just give a button the Exit from Script action as a Select Action. This ends the script, returning the viewer either to Windows, or to the Main menu if the script was run from within ICDesigner.

Viewing a Web page from a scriptThe last Action: possibility, Show WWW Page, actually allows the viewer to jump out of the ICDesigner presentation environment. You see the URL: text box in the panel when Show WWW Page is selected. Enter the address of the desired Web page there (for example, enter http://www.scala.com to jump to Scala’s Web page). When someone clicks a button that has this as its Select Action, ICDesigner attempts to launch or activate the preferred Web browser. If successful, it then tries to connect to the Web page specified.

ICDesigner Note

If this button appears within a sub-script, the sub-script is exited and execution of the parent script continues.

Page 61: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

61

2: Making scripts interactiveSelect Action options

If ICDesigner is in full-screen playback mode, the playback screen is minimized so that the Web browser window is visible on the desktop.

Creating hotkeysYou can specify a hotkey for any Select action. When a hotkey is defined for a button, instead of using the mouse or Enter (↵ ) to choose the button, the user can employ the hotkey. Set a hotkey by using the Hotkey: selector in the Select Action panel to cycle through the most common possible hotkeys, or type the hotkey you want into the space between the arrows.

With the selector, you can choose any key from A to Z, 0 to 9, F1 to F12, standard symbols and Space as hotkeys. To specify other keys than these—such as accented characters that might be unavailable on the keyboard you happen to be using for authoring—you can enter a keycode value in the format 0nxxx, where xxx is replaced by the key-code. The keycodes for all possible characters are available in the char-acter table in appendix C of the “Basic Authoring” guide. For example, enter 0n214 to make Ö a hotkey.

Shift, Alt, and Ctrl can be used as qualifier keys, singly or in combina-tion. Use those key names, and link the qualifier(s) and the main key with a hyphen. For example:

Capitalization is ignored in the Hotkey: selector—ctrl-C, CTRL-C, and ctrl-c all define the same hotkey. So to define an uppercase letter as a hotkey, you must enter shift with the letter. Entering the capital letter will not work: use shift-k to make the uppercase K a hotkey.

To make this action select the button:

Enter this in the Hotkey selector:

holding Shift while pressing F shift-f

holding Alt while pressing C alt-c

holding Control while pressing X ctrl-x

holding Control and Alt while pressing P

ctrl-alt-p

Page 62: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

62

2: Making scripts interactiveOther Action options

You can also use some special key names:

Other Action optionsThe Other Action panel of the Buttons menu provides options for sec-ondary responses to button events.

Secondary responses available are:

• adding sound

• setting a variable

• changing the mouse pointer

To use this in a button hotkey:

Enter this in the Hotkey selector:

up arrow (↑ ) up

down arrow (↓ ) down

left arrow (←) left

right arrow (→) right

Enter key (↵ ) enter

Tab key ( ) tab

Backspace key (⇐ ) backspace

Esc (Escape) key escape

left mouse button mouseleft

middle mouse button mousemiddle

right mouse button mouseright

Page 63: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

63

2: Making scripts interactiveOther Action options

Secondary actions are available for button selection status transitions. In other words, these actions take place when a button changes selec-tion status. Selection status is closely related to a button’s visual state, with the important distinction that any the selection status transitions can occur regardless of how many visual states you have defined for a button. So, for example, even a 1-state Push button can have second-ary actions defined for a transition to the Highlight state, regardless of the fact that the button itself does not have a visual Highlight state.

The possibilities available from the Transition: pop-up on this panel are:

• Mouse off button – the action takes place when the mouse moves off a button or otherwise becomes idle, typically changing to the Normal state from the Select/On or Highlight states

• Mouse over button – the action takes place when a button is passed over by the mouse pointer or otherwise is highlighted, typically changing to the Highlight state from the Normal state

• Button selected – the action takes place when a button is selected, typically changing to the Select/On state from the Normal or Highlight states

From the Transition: pop-up, choose the state transition to which the secondary action should apply. Then choose one or more of the three actions at the right of the panel. The actions happen when the state transition displayed on the pop-up takes place.

Adding soundTo add sound to your buttons, click on the Sound: button on the Other Action panel. This opens the Sound menu, where you can choose and adjust sounds.

Page 64: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

64

2: Making scripts interactiveOther Action options

Each button state can have a different sound. You may, for example, give your button a click sound when it is highlighted, and, if you are working with a button showing a bus, for example, the sound of a horn honking when the button is selected.

When the state transition for which you have set a sound on the button occurs, the sound event plays. It plays to completion, even if the button does not remain in the state that triggered the sound.

For details on working in the Sound menu, see chapter 1, “Using sound”.

Setting variablesICDesigner lets you set a variable value when a button changes state. Clicking on the Variable: button in the Other Action panel opens the Variables menu, where you can set variables. The Variables menu for buttons is the same as the Set Variables panel of the Branch menu. You have as much freedom as elsewhere in ICDesigner to use system vari-ables, functions, expressions, and operators to set values for your script variables.

For example, you may want explanatory text to appear at the bottom of the screen each time a particular button is highlighted. To do this, with the pop-up set to Mouse over button, click Variable: to open the Variables menu. In the Set Variable: text box, enter HELP=“Jump to first page”, for example, and click OK. Then, on your button page, type “!help” at the bottom of the screen. Now each time that button is highlighted, explanatory text appears at the bottom of the screen. You can also set variables to keep track of how many correct and incorrect answers a student has given in a quiz script, for example, or to create an on-screen calculator that actually does computations.

Refer to chapter 3, “Branching and using variables” for information on creating and modifying variables and expressions.

Using alternate mouse pointersYou can change how you want the mouse pointer to appear depending on button state. The Pointer: button in the Other Action panel lets you

ICDesigner Note

A sound or variable set for Mouse off button does not happen when the button first appears, but only when the button returns to the Normal state from another state.

Page 65: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

65

2: Making scripts interactiveAppearance options

change the mouse pointer shape when the interactive button changes states. Click Pointer: to open the File dialog, where you can select and load a clip to use as a mouse pointer.

The pointer is ordinarily the default arrow, or the pointer image speci-fied by the most recent Input menu event (see “Changing mouse pointer designs” on page 83 for more information). When you move the pointer over a Push, Toggle, or Radio button, its appearance changes by default to a hand with the finger extended. For a Text Entry Field, the default pointer image is an “I-beam” ( ) (The Text Entry Field’s Pointer: button is found on the Field panel of the Design Text Entry Field menu.)

Changing the mouse pointer by using the Pointer: button does not change the default pointer for your script. If you want a different pointer image that affects the entire script, you must use the Input menu. (See page 83, “Mouse pointers” in this chapter.)

Changing the pointer image is particularly useful if the button image is invisible, to let the viewer know that buttons are present. (Invisible buttons are described on page 70.) You may, for example, have a pic-ture of a flower, on which you have placed an invisible button. To let people know that the flower has been highlighted, you could change the pointer from the default arrow in the Normal state to a bee in the Highlight state. Now when someone moves the mouse pointer over the flower, a bee appears, which indicates that the flower is a button and has been highlighted.

To remove a pointer image from a button state transition, click Pointer: while that transition is selected on the pop-up, and, in the File dialog, click the Clear Pointer button in the Options section.

Appearance optionsAs described previously, buttons made from text elements, clips, or graphic objects can always be edited using the facilities of their Ele-ment Design menus to change how those buttons look. The Buttons menu has some additional options for controlling button appearance,

Page 66: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

66

2: Making scripts interactiveAppearance options

accessible in its Appearance panel. The appearance options apply to whichever button state is currently selected, as indicated by the high-lighted title bar button-icon buttons.

Button backdropsBackdrop Image: lets you choose a backdrop—a predefined image that you can put underneath a “face” element, such as a word or clip. The backdrop image stretches to fit the size you want. You can use any normal clip image, and it will stretch to fit the button. If you use the Scala “multi-tiles” with the .PNG file-type extension, the image does not look distorted the way stretched bitmap images often do.

These backdrop images typically have beveled edges, with special effects like rounded corners and patterned backgrounds. They are the ideal way to make plain text buttons look like they were custom-drawn by hand. You can create and edit multi-tiles for custom button back-drops using the Multi-tile Editor available from the Tools drop-down, as described in chapter 8.

To use a button backdrop, select a button and click Backdrop Image:. You see the File dialog. You can use the File dialog to see both clip and multi-tile images. After you choose a backdrop, you see the Buttons menu again, and the button you selected with the backdrop image underneath it. You can select a different backdrop image for each but-ton state, if desired.

The backdrop stretches to fit the button element; for example, if you type more text into the button, the backdrop becomes longer. You can also make the backdrop larger than the normal size of the element with the Border width and height attributes on the Effect panel of the

Page 67: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

67

2: Making scripts interactiveAppearance options

Element Design menus. In other words, a button backdrop behaves like a more elaborate version of the normal Backdrop style you can select on the Text and Clips menus, typically giving an effect similar to using Backdrop and Bevel together.

To remove a backdrop image from a button, click Backdrop Image:, and, in the File dialog, click the Clear Backdrop button in the Options section.

Loading clips on the Buttons menuClicking on the Image: button on the Appearance panel opens the File dialog where you can choose a clip to replace a clip currently being used as a button face. When a text button is selected, the Image: but-ton is disabled.

Note that you cannot use the Image: button for adding button preset or predefined button (.BTN) files. To add a predefined button, with its matching images for the various button states, you use Add, from the icon toolbar; to put a preset backdrop under a button, use Apply Preset: (see page 69, “Using predefined buttons and presets”).

Shifting the button faceThe Shift option makes it easy to center a button face within a back-drop, and to make an “indenting” 3-D button look more realistic. It allows you to specify an offset, in pixels horizontally and vertically, that the button face (text or a clip) has from its normal position in relation to its bounding box. You can specify the same offset for all button faces, or a different offset for each.

The most typical use of Shift is to use a small offset down and to the right for the selected face of a button that has a beveled style. This heightens the illusion that the button is being pressed down when it is clicked. Or, if one state of your button uses a shadow down and to the right, a simultaneous offset up and to the left makes it appear that the button face has moved up off the surface of the screen. Button back-drops automatically stretch to fit the larger area created by the offse.

Page 68: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

68

2: Making scripts interactiveAppearance options

Global button state optionsThe three on/off options in the middle column of the Appearance panel are not per-state, but affect all the states of the selected buttons.

Adjusting the hit areaThe Boxed Hit Area? button lets you adjust the button’s hit area—the

area in and around the button that responds when the mouse pointer moves over it or clicks on it. The hit area of a button can be rectangular or it can be an irregular shape.

When Boxed Hit Area? is on (✓ ), as it is by default, the hit area of the button is rectangular. When this option is off, the hit area is defined by the pixels of the button image, as opposed to the background.

The primary use of this option is with clip images that have transpar-ent areas. The hit area of a round button (which has transparent cor-ners), then, can be round.

If you have selected three elements with different sizes for the three different buttons states, ICDesigner uses the size and position of the Normal state image for the hit area determination.

Maintaining consistent button sizeBecause you can adjust the different button states independently, it is possible to have different sized buttons for each state. This is occasion-ally useful, but normally you want the button states to match in size. For this reason, the Link Sizes? button is on by default. Link Sizes? forces any size changes you make in one button state to be reflected in the other state(s) so that their sizes match. If this causes problems and

text button on backdrop, no Shift text button with Shift 27,10

ICDesigner NoteThe normal hit area of a text ele-ment is defined by its backdrop size, including Border plus Bevel Thickness; for a clip it is its bounding box. The easiest way to see an element’s boxed hit area is to select it—the selec-tion frame is also the hit area.

Page 69: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

69

2: Making scripts interactiveUsing predefined buttons and presets

you need to have independent control of the sizes of a button’s states, turn this option off.

Maintaining consistent positionICDesigner also lets you position button states independently, if you desire. However, most buttons are designed so that the states overlap each other and thus must be in the same position. The Link Positions? button therefore defaults to being “on”, causing button states to retain their relative positioning as you move any one of them. If you do need to position button states independently, turn off Link Positions?, move the individual button states to the correct places, and then turn the option back on again. You can then move the entire button (all states) as necessary without losing the relative positioning.

Using predefined buttons and presetsICDesigner offers two ways to reduce the amount of time and effort you must spend creating buttons: predefined buttons and button pre-sets. Both allow you to load a single file that can create all three button states for you, with appropriate Shift and Border values, and even pre-defined sounds and custom pointers, so that you do not need to set all these things yourself. Nonetheless, once they are loaded, you can mod-ify the buttons to further customize them to your purpose.

Button presetsButton presets load a set of backdrop images that are already aligned, and contain appropriate Shift and Border settings so that an element fits neatly into the backdrop with no additional effort. They are not complete buttons—they are too plain to be very useful without a label or image as a face element to identify the button’s function. Presets are thus much like an elaborate kind of style that you can apply to but-tons.

You use button presets by choosing Apply Preset: from the Appearance panel when a button is selected. You see the File dialog open to the Buttons folder, where you can choose a preset .BTN file.

Page 70: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

70

2: Making scripts interactiveUsing predefined buttons and presets

Presets are used primarily a simple way to “dress up” text buttons: if a text button is selected when you load a preset, the button backdrop automatically adjusts to fit the text. The same is true if you begin with a clip; the backdrop stretches to follow changes you make in clip size.

Predefined buttonsPredefined buttons provide complete matched, professionally designed images for three different button states. Some are designed so that they can be useful as is, for example, there are many arrow varia-tions that are useful in common script navigation tasks, and buttons with universal symbols that could be perfect for various kinds of prompting in multimedia environments.

Load predefined buttons by clicking the Add icon. You see the File dialog, where you can choose predefined buttons (.BTN files) from the Buttons folder. Clicking OK returns you to the Buttons menu with the button design you chose visible on the page in its Normal state.

The images in predefined buttons are face images, which means that you cannot attach further face elements to the button. You can, how-ever, add text or other clips as separate elements on top of or next to predefined buttons if necessary. The button will not adapt to these ele-ments, and options like Shift and Link Positions? do not apply to them.

Invisible buttonsYou can create invisible buttons by using the button file “Invis-ibl.btn”. An invisible button does not have any imagery associated with it, but a rectangular button “hit area” on the screen is still cre-ated.

You may, for example, have a page showing a photo of several people, which displays a person’s name when his or her face is highlighted, and displays further information when selected. By using invisible but-tons, there is no button imagery to interfere with the photo.

Page 71: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

71

2: Making scripts interactiveWorking with Toggle and Radio buttons

Working with Toggle and Radio buttonsFor certain kinds of applications, the type of interactive input and visual feedback afforded by Toggle buttons and Radio buttons is more appropriate than standard Push buttons. When the viewer needs to make choices on the same page, and see the various choices before pro-ceeding, the fact that these button types remain in their clicked states is helpful.

How Toggle and Radio buttons use variablesBoth Toggle and Radio buttons are automatically set up to control and respond to variables. Toggle buttons control only logical (on/off) variables. Radio buttons can control logical, text, or numeric variables.

For either type, you associate a given button with one variable. The same variable can be associated with more than one button, however.

The variable’s value changes based on the button state (whether the mouse has moved over it or clicked it). Likewise, the button responds to changes made to the variable’s value, by changing to the corre-sponding state. This means that buttons can be made to change their state, and thus their appearance, by changing their variable values, not just by responding to mouse clicks. In this way, you can have different buttons that visibly respond to each other, or to other events in a script.

Toggle buttonsA Toggle button functions just like a switch: it flips a logical variable between its two possible values, Off and On. For a two-state Toggle button, the Off and On states correspond to Normal and Select. For a four-state Toggle button, there are Normal Off and Highlight Off states, and Normal On and Highlight On states. (In this case, “nor-mal” means non-highlighted, rather than Off.) A four-state Toggle button is usually in the Normal state; it can be highlighted when either On or Off. If another button or some other event in the script sets the variable to On or Off, the button state is automatically switched accordingly.

Page 72: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

72

2: Making scripts interactiveWorking with Toggle and Radio buttons

Creating a Toggle buttonTo create a Toggle button:

1. Select the element you want to make into a Toggle button.

2. From the Buttons menu Type: pop-up, choose Toggle Button. In the panel you see the 2-state and 4-state buttons for selecting a number of states, and a variable list. Four state indicators appear in the menu title bar.

3. If there are already logical variables defined in this script, their names are shown in the variable list and you can choose one to associate with this button. Otherwise, click New Variable and in the dialog, enter a name to create a new logical variable with a default value of Off. Turn on the External? option if you want a new variable to be common to this script and any scripts above it in the script structure.

4. By default a two-state button is created. If you want a four-state button, which highlights when the mouse pointer moves over it, click the 4-state button.

The Variable button on the Other Action panel can be used to change another variable associated with this button.

You can now use the options on the Appearance and Action panels, described earlier in this chapter, to define what the button looks like in each state, and what it does. Note that it is possible but generally does not make sense to use a Toggle button for branching.

Radio buttonsRadio buttons are closely related to Toggle buttons. The difference is that Radio buttons allow you to use any type of variable, not just logi-cal variables. This also implies that, when using text and numeric vari-ables, you are not limited to in your choice of values to assign to the button states. You can choose any valid value you like for the button variable in a given state. This makes Radio buttons more versatile than Toggle buttons.

ICDesigner Note

It is possible to produce exactly the same function-ality as a Toggle button with a Radio button, but there is no advantage in doing so.

Page 73: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

73

2: Making scripts interactiveWorking with Text Entry Fields

Creating a Radio buttonThe procedure for creating a Radio button is basically the same as for a Toggle button, except that you also must specify a variable value:

1. Select the element you want to make into a Radio button.

2. On the Buttons menu Type: pop-up, choose Radio. You see the 2-state and 4-state buttons for selecting the number of states, and the variable list.

3. If there are already variables defined in this script, they are shown in the list and you can choose one to associate with this button. Otherwise, click New Variable. First choose a variable type and then enter a name to create a new variable. Turn on the External? option if you want a new variable to be common to this script and any scripts above it in the script structure.

4. In the Value: text box, enter a value for the variable you have cho-sen or created.

5. By default a two-state button is created. If you want a four-state button, which highlights if the mouse pointer moves over it when the button is either On or Off, click the 4-state button.

The Variable button on the Other Action panel can be used if you want to change another variable associated with this button.

You can now use the options on the Appearance and Action panels, described earlier in this chapter, to define what the button looks like in each state, and what it does.

Working with Text Entry FieldsText Entry Fields allow a viewer to enter data with a keyboard. For example, the viewer could be asked to enter his or her name, and the script could then refer to the viewer by name. More sophisticated applications of Text Entry Fields can gather, store, and process infor-mation entered, use it as a basis for branching, and display choices made by the script.

Page 74: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

74

2: Making scripts interactiveWorking with Text Entry Fields

Like Toggle and Radio buttons, Text Entry Fields require a variable. The variable must be a Text variable, and whatever the viewer enters in the button is stored in this variable. The variable can be displayed and manipulated the same as any other variable in ICDesigner.

Unlike buttons, Text Entry Fields do not have different states, or any possible action other than accepting keyboard input. Thus a Text Entry Field has only one possible appearance.

Creating a Text Entry Field1. From the Add drop-down, choose Add Text Entry Field. You see a

dialog asking you to choose or create a variable for the field.

2. If there are already any user-defined Text variables, they are listed and you can select one. Otherwise, enter a name in the Variable: text box to create a variable by that name.

3. Turn on the External? option if you want a new variable to be common to the script and any sub-scripts that it has.

4. On the page, you see the variable name within a dashed box with graphic handles, representing the size of the field. The menu changes to the Design Text Entry Field menu.

You can now move and/or resize the field as necessary.

Page 75: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

75

2: Making scripts interactiveWorking with Text Entry Fields

5. Specify options for the field, its text, and the mouse pointer.

You have all the options normally available to text elements in the Design Text Entry Field menu. (The illustration above shows a field that has been given a backdrop; the text has a contrasting color and an outline.) There is also an additional panel in the menu devoted to options specific to field elements.

Text Entry Field optionsThe Design Text Entry Field menu is nearly identical to the Design Text menu. Aside from the addition of the Field panel, the only differ-ences between the two menus are:

• the Text Entry panel of the menu contains a Cursor button with a color block

• the Position panel contains an Element Size control

• the Misc panel does not have the Update: pop-up

• the Alignment panel does not have Word Wrap or Line Space options, but does have a Vertical Text Alignment pop-up

Page 76: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

76

2: Making scripts interactiveWorking with Text Entry Fields

Field appearanceAs it first appears on the script page during playback, the Text Entry Field contains nothing. The viewer just clicks in the field and begins typing a response.

If you want the field to have something particular in it to begin with, assign the text you want to the field’s variable with a Branch menu special event.

Also, in playback the field initially is invisible; you should use one of the available options to make the field apparent to viewers. Once a viewer clicks within the field a text cursor appears.

The appearance of the variable name text that you see while working with the field (its font, styles, etc.) is what the viewer will see when typing into the Text Entry Field. Adjust the styles as necessary. Note that because you can adjust the size of the field, both Horizontal Text Alignment and Vertical Text Alignment options are available.

New / Edit VariableClick the New / Edit Variable... button to create additional variables to be associated with Text Entry Fields, or to change the External? option of variables.

If you only want to change the association of the field to another exist-ing variable, you can just select it in the scrolling list above this button.

Field LengthIt is possible to limit the number of characters that can be entered in the Text Entry Field by turning on (✓ ) the Field Length? button. When on, this option becomes a value control to let you specify the maximum number of characters that can be entered. This limit is independent of the physical size of the field.

PasswordOne common usage of text entry in an interactive script is entering a password, to control access to information and options in the script. Typically, when passwords are typed in a computer system, asterisks (*) are substituted for the characters typed on the screen, as a security feature to prevent onlookers from learning the password. This pass-

Page 77: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

77

2: Making scripts interactiveWorking with Text Entry Fields

word concealment function is available by turning on (✓ ) the Pass-word? option for a Text Entry Field.

Decimal OnlyYou can restrict the allowed input to numeric characters by turning on Decimal Only?. When this option is on (✓ ), only numbers (0-9) and numeric operators (+ - * / .) may be entered in the Text Entry Field.

Note that whatever is entered is still placed in a Text variable. To con-vert this type of input to an actual numeric value, you must use the VALUE() function (described in appendix A).

Backdrop ImageLike buttons (see page 66), Text Entry Fields can be given an image backdrop. A backdrop is a good way to make the field visible to the viewer.

The Backdrop Image: button opens the File dialog, where you can choose an image file. If you have assigned an image backdrop and want to remove it, click the Clear Backdrop button, which appears in the Options section of the dialog.

PointerThe Pointer: option allows you to choose a special mouse pointer design for the time when the pointer is over the Text Entry Field. By default, the pointer changes to an “I-beam” cursor ( )to emphasize that text entry is expected.

The Pointer: button opens the File dialog, where you can choose a dif-ferent pointer image. If you have assigned a custom mouse pointer and want to return to the default pointer, click the Clear Pointer button, which appears in the Options section of the dialog.

CursorThe Cursor button is on the Text Entry panel rather than the Field panel. It lets you specify the color of the text cursor, which appears as a vertical bar in the Text Entry Field when the viewer clicks in the field. Drag a color from the color bar to the Cursor color block to change the color.

Page 78: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

78

2: Making scripts interactiveEditing buttons

Editing buttonsClick on Edit in the Buttons menu to see the Edit drop-down. The Edit drop-down in the Buttons menu gives you the same editing options as other Edit drop-downs, with a few differences.

Cut, Paste, Select All, Appear Later, and Appear Earlier function the same way for buttons as for other elements in ICDesigner. (Refer to the discussion of the Edit drop-down on page 145 in chapter 5 of the “Basic Authoring” guide for more information on Edit options.) Copy and Export, however, have special results when used from the Buttons menu.

• Copy copies selected buttons to the ICDesigner clipboard. Copied buttons retain all of their styles and Go Tos when pasted, except in cases where it is not physically possible.

For example, a button that is pasted into a different script, which does not contain the original Go To destination page, cannot retain the original Go To.

You can use the Go to Event selectors to see which Go Tos have not been retained in your copied buttons. A Go To destination page from the original button that does not appear on the selector of the copied button has not been retained because it physically does not exist there.

• Export opens the Export Options dialog for you to save the selec-ted button. In the Export as Type: pop-up, Button is available.

If you choose Export as Type: Button, ICDesigner automatically adds the file extension .BTN and saves the button, including each of its states, as a predefined button file. All its appearance-related settings are retained, but Action settings and variables are dis-carded.

Page 79: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

79

2: Making scripts interactiveCreating more advanced buttons

Creating more advanced buttonsThe examples in the beginning of the chapter showed you how to cre-ate simple buttons. Now that you are more familiar with the Buttons menu, you can begin experimenting more, implementing more but-tons features. The following example takes you through the process of creating more advanced buttons to give you practice implementing more button features, like:

• using clips

• giving buttons sound

• setting variables to your buttons

• using Go To with bookmarks

For the following example, let’s say that you are creating an interactive production that will be displayed in the lobby of a hotel. You want the production to tell people what the hotel has to offer, so you have a page in the script that is like a menu, where viewers can choose a but-ton to get more information. We’ll create a menu with buttons for Entertainment, Food, and Services.

1. Create pages to work with by loading backgrounds for four differ-ent pages.

2. Go to the Design Text menu, and on page 1, type “Choose a but-ton for more information” at the top of the page. On page 2, type “Cafe” in the middle of the screen, and “!special” at the bottom. Type “Entertainment” on page 3, and “Services” on page 4.

Since you are creating buttons that will advance the viewer to pages with information, be sure to give the viewer ample time to absorb the information by setting long enough pauses for those pages. (See chap-ter 11 of the “Basic Authoring” guide, “Advancing the script automati-cally” for more information about timing.)

3. On page 1, open the Buttons menu.

4. Click on the Image: button in the Appearance panel. This opens the File dialog where you can choose a clip to load.

Page 80: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

80

2: Making scripts interactiveCreating more advanced buttons

5. Load the coffee cup image from the GuideExamples folder. You see the clip on your page in the Clip menu.

6. Adjust the size of the clip and place it next to the word Cafe. Make any other changes you want to its appearance, then return to the Buttons menu.

7. While the clip is selected, choose Push Button on the Type panel, and make it a three-state button. The clip is now a button in the Normal state.

8. Press F12 to switch the button to its Highlight state.

9. Switch to the Other Action panel and choose Mouse over button from the pop-up. Click on the Sound: button to add sound to the clip in its highlighted state. You see the Sound menu.

10. Choose a sampled sound that is appropriate. After you select a sound and click Close, you see the Buttons menu again.

11. Go to the Clip menu and change the appearance of the clip so that it looks different when highlighted—try changing its Front color, or turning on Shadow.

12. Return to the Buttons menu, and on the Other Action panel click the Variable: button. In the Set Variable: text box of the resulting menu, enter:

special=“Today’s special: Double mocha cappuccino”

and click OK. In the Variable Definition dialog that appears, the variable type Text is already selected, so just click OK. (See “Creat-ing variables and expressions” on page 91 in chapter 3 for more information on variables.)

13. Press F12 again to switch to the Select state, then go to the Clip menu to edit the appearance of the clip in its Select state. If you need to refer to what you did for the Highlight state, press F12 to cycle through the states while on the Clip menu. You can also use the indicators in the title bar, which identify the current state. (You could also add sound for this state as you did for Highlight.)

Page 81: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

81

2: Making scripts interactiveCreating more advanced buttons

14. Return to the Buttons menu, and go to the Select Action panel. On the Action: pop-up, choose Go to Event.

15. Use the Go to: selector to tell the script where to branch to when that button is selected. (Since there are no groups in the script, and you are going to branch to another page, the Level: selector can be left as it is, reading “<this script>”.) Set the Go To destina-tion to page 2.

16. Make sure that Leave Bookmark? is on. This will let the user return to the hotel menu after page 2 is finished running.

17. Click the Main icon on the toolbar to exit the Buttons menu to the Main menu.

18. Click on the Branch column button for page 2. You see the Branch menu.

19. You see the Go To panel. Use the Action: pop-up to choose Return to Bookmark. This makes the script return to the location from which you branched (page 1), because of the Leave Bookmark? set-ting for that button.

You have now created an interactive button for Cafe. You can go back to page 1 and create buttons in a similar way for the Entertainment and Service categories, too, by following the same steps.

Some other approaches you could use to create these buttons:

• Instead of modifying the clip’s appearance for each state, use Apply Preset: to load backdrop images for all three states. This would make the image look more “button-like”, and would remove the need for steps 11 and 13.

• Rather than make the clip a button, leave it as an illustration, and make the label text into a button. You could use Apply Preset: here also.

• Make neither the clip nor the text a button, and instead load a predefined button with Add and place it next to the label text. This too eliminates the need to create separate appearances for each button.

Page 82: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

82

2: Making scripts interactiveUsing the Input menu for custom input options

So far in this chapter, you have worked in the Buttons menu to create and edit buttons. There are some options related to buttons, however, that cannot be made in the Buttons menu, but must be made in the Input menu instead, which is explained in the following section.

Using the Input menu for custom input optionsICDesigner offers several options related to interactive input. Some are specific to the use of buttons, but others involve the mouse and keyboard.

From the Main menu, click on the button in the Input column for a page in your script. You see the Input menu, which looks like this:

The Input menu has three tab panels: Button Controls, Mouse Pointer, and Slideshow Controls.

Specifying button input optionsOn the Button Controls panel, you can choose the type of input recog-nized in a production using the Mouse?, Touch Screen? or Keyboard (arrows + Enter)? options. At least one of these options is always on; you cannot turn off all three.

Mouse? allows the viewer to use the mouse to highlight and select but-tons when the production plays. The mouse pointer appears and the script can respond to mouse clicks if the page uses buttons. The option is on (✓ ) by default.

Touch Screen? should be turned on (✓ ) when the system playing the production uses a touch screen.

Turning on the Touch Screen? option turns off the Mouse? option so that the mouse pointer does not appear. Because mouse and touch

Page 83: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

83

2: Making scripts interactiveUsing the Input menu for custom input options

screen input are mutually exclusive, the appearance of the pointer would be both unnecessary and misleading to the viewer. Pointer Image options are not necessary with touch screens, so they are also disabled.

Turning the Keyboard (arrows + Enter)? option on lets you use the key-board rather than the mouse and main mouse button to highlight and select buttons on the screen. When this option is on (✓ ), you can move to and highlight buttons with the arrow keys, and select the highlighted button by pressing Enter (↵ ).

This option is available whether the touch screen or mouse options are on, and can be used by itself.

Changing mouse pointer designsAs mentioned previously in this chapter, to change the pointer image for buttons in the Highlight and Select states, you use the Buttons menu (see page 64, “Changing the mouse pointer”). However, to change the default pointer images for entire pages and scripts, or to choose when the pointer is visible in your script, you must use Input menu options in the Mouse Pointer panel, as explained below.

The Pointer: pop-up lets you choose when you want the pointer visible in your production. Even on a page that has no buttons, for example, you might want to use the pointer for illustration purposes, to point to items on the page as you discuss them. Or, alternatively, you may want the pointer visible only when buttons are available for selection.

Use the pop-up to choose Always or For Selection Only. The default is For Selection Only.

Choose For Selection Only when you want the pointer to be visible only if there are buttons on screen.

Choose Always when you want the pointer visible regardless of whether there are buttons on screen or not.

In addition to choosing when the pointer is displayed, ICDesigner lets you change pointer images using the Pointer Image: and Busy Pointer

Page 84: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

84

2: Making scripts interactiveUsing the Input menu for custom input options

Image: buttons. These options affect the pointer designs you see when the script runs.

The Pointer Image: button controls the design of the normal mouse pointer used on screen. You may, for example, want the image to be a pointing finger instead of the standard arrow. When you click on Pointer Image: you see the File dialog open to the Pointers folder. You can also navigate to another folder, and choose any clip to use as a pointer image.

The Busy Pointer Image: button lets you change the image of the busy pointer, which appears on the screen when the script is busy and tem-porarily cannot accept input. By default, there is no busy pointer. Click this button, and in the File dialog, choose a new image.

To stop using a custom pointer image in a script, click Pointer Image: or Busy Pointer Image:, and, in the File dialog, click the Clear Pointer button in the Options section. This returns to the defaults, an arrow as the normal pointer and no busy pointer.

Changing the script default pointerTo change the pointer for the entire script, you can group the script’s pages and apply the Input event to the group. Choose Select All from the Edit drop-down on the Main menu, and then Group. Input menu settings you make for the group become defaults for the entire script.

Controls for advancing pagesThe buttons on the Slideshow Controls panel, Mouse Buttons? and Key-board (Page Up/Down)? let you choose how you want your script to advance when you are working with a slideshow-style production—that is, one in which you move from page to page without using but-tons. With these buttons, you can choose the mouse, the keyboard, or both the mouse and keyboard to advance.

Mouse Buttons? controls whether the mouse buttons by themselves control the advance to another page. Pressing the main mouse button moves forward in the script, and the secondary mouse button moves back. It is on (✓ ) by default. Note that on any page with buttons, the

ICDesigner SuggestionAlthough you can select any clip as a pointer or busy pointer, for best mouse response you should choose a relatively small image.

Page 85: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

85

2: Making scripts interactiveUsing the Input menu for custom input options

button-selection function of the mouse buttons takes precedence over the page-advance function, regardless of the setting of the Mouse But-tons option.

Keyboard (Page Up/Down)? controls whether the keyboard can advance the script. The Page Down key moves to the next page, and the Page Up key moves to the previous page. It is also on (✓ ) by default.

Input event scopeThe events you set in the Input menu are different from other events on column buttons in an important way. All other events apply only to the page for which you have set the event. Input events, however, are “sticky”: they remain in effect from page to page until another Input event changes them.

For example, if you turned on Touch Screen? for page 3, and Mouse? for page 8, the pages from 3 to 7 would have touch screen control, even though you did not explicitly set it on all those pages. This can save you some effort, but it might also be confusing at times.

Removing Input menu eventsWhen you need to remove an Input event you have set for a particular page, click the Delete button on the Input menu. The page and those following it then assume the Input settings from the most recent previ-ous Input event, or the default settings if there was no previous Input event.

Page 86: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 87: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 88: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

88

3: Branching and using variablesMany of the scripts we have used as examples have been relatively sim-ple. They proceed from the first page to the last, playing every page and event between in the order in which they appear in the script.

However, there are also situations in InfoChannel Designer 3 that call for a script to execute in a non-linear fashion—that is, for pages and events to run in some order other than that in which they appear in the Main and List menus. Using buttons, as described in chapter 2, is one way to change the sequence in which a script executes, but there are cases in which you need the same capability to jump to a different location in a script, but do not want a button.

It can also be necessary for some decision-making ability to reside in the script itself. For example, an arithmetic quiz script has to be able to evaluate a student’s response to determine whether it is correct, calcu-late a score based on several responses, and perhaps show a different screen at the end depending on whether the student did well or poorly.

These are both cases in which you would need to use the Branching and Variables menu (normally just called the Branch menu), in order to use branching and variables. Although we have left it for this chap-ter, this menu is not complex, and you can make use of it in scripts that are not particularly “advanced”. Using it, however, does require more detailed planning than other ICDesigner tasks.

This chapter covers the Branch menu, and also describes when it can be helpful to use sub-scripts.

A simple Go To branchIn chapter 2 it was described how to use ICDesigner’s buttons to break through some of the limitations of a linear approach, and the Go To action was introduced, which lets script execution shift to a dif-ferent location. However, when you want a Go To but not a button,

Page 89: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

89

3: Branching and using variablesVariables and expressions in the Branch menu

you need to use the Branch menu’s general-purpose Go To panel events.

Because using a Go To does not require variables or conditions, and can be useful even in simple scripts, we will give a quick example here before covering the subject more thoroughly.

1. In the Branch column, click the button for the event after which you want the Go To to happen. You see the Branch menu with the Go To panel showing.

2. From the Action: pop-up, choose Go to Event.

3. Click arrows on the Go To selector to choose the name of the des-tination page or element. The selector steps through all the possi-ble destinations. In the display box, you see a miniature image of the destination page.

4. Click OK to accept the modified event and close the menu.

The script will then jump to the new location you specified after it completes the event where you placed the Go To itself, skipping all the events between. Details on using Go To can be found on page 107, “Using Go To”.

Variables and expressions in the Branch menuYou use the ICDesigner Branch menu to create and modify variables and expressions, and to use them as the basis on which to branch to another part of the script. ICDesigner also provides many standard functions that you can use in expressions to manipulate variables.

Page 90: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

90

3: Branching and using variablesVariables and expressions in the Branch menu

VariablesA variable is a “container” for a quantity that can change within a script. Because you can name variables, you can refer to what they hold by their names, regardless of the actual value. For example, within a quiz script, you can create a variable that keeps track of how many correct answers a user has given, with a name, such as “COR-RECT”. You can increase it for each correct answer, and display its cur-rent value on a screen page at any time by referring to its name.

There are four variable types in ICDesigner: text, logical, integer, and real. ICDesigner also has various system variables that it maintains, which you can also use. New EXes can make additional system variables available. Refer to appendix A for a list of available system variables.

ExpressionsAn expression is a statement that uses variables together with arith-metic operations such as addition and multiplication, logical tests and comparisons such as >= (greater than or equal to) and OR, and func-tions such as LEFT() that can manipulate variables. ICDesigner evalu-ates an expression as a numerical value, a text value, or a logical value (TRUE/FALSE, ON/OFF) depending on the type of expression it is.

Some examples of expressions that assign values to variables are:

• SEVEN=4+3

• CORRECT=CORRECT+1

• TOTALCOST=(UNITS*UNITCOST)+SHIPPING

• CITY=“Trondheim”

• NAMELETTERS=LENGTH(NAME)

• CONFIRM=TRUE

Some examples of logical expressions are:

• CORRECT < 10

• CORRECT >= 10 AND BONUS=TRUE

• (LOOPS > 7) OR (ANSWER <> “iguana”)

ICDesigner NoteTo make the text more easy to follow, we show variable names in SMALL CAPS, and functions and logical operators in ALL CAPS.

However, you do not have to use any capitalization when you use variables, functions, or operators. You can use all lowercase, or any mixture of upper and lowercase.

Page 91: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

91

3: Branching and using variablesVariables and expressions in the Branch menu

The result of the expression evaluation can either be placed in a vari-able, or its logical value (truth or falsity) can be used as the basis for a decision by one of the branching instructions (see page 97, “Branching in the Branch menu”).

OperatorsOperators are the symbols and keywords that you use with variables to construct expressions (see the preceding examples). Familiar operators include the arithmetic operators + (plus), - (minus), * (multiply), and / (divide). Other operators, such as ** (exponentiation), <= (less than or equal to), and NOT, perform logical, relational, or advanced arith-metic functions. Refer to appendix A for a list of operators available in ICDesigner and additional examples.

FunctionsA function is an automatic procedure that ICDesigner provides for your use. It can take text or numeric input (constant values, variables, or expressions) and returns a value as the result. You can use a function in an expression, as in the NAMELETTERS example above: LENGTH() takes a string as input, and returns a number that is the text length in characters. A function like ABS() takes a number as input and returns a number. A function can also be used as a complete expression.

Function syntax is simple. A function always has one or more parame-ters after the function name, enclosed in parentheses. If there is more than one parameter, they are separated by commas. An example of a multiple-parameter function statement is:

RANDOM(1,LENGTH(NAME))

This shows how one of the parameters of a function can itself be a function, in this case one that takes a variable as its parameter. Refer to appendix A for a list of functions available in ICDesigner and addi-tional examples.

Creating variables and expressionsICDesigner makes creating variables and expressions as simple as pos-sible.

Page 92: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

92

3: Branching and using variablesVariables and expressions in the Branch menu

• When you set a variable to an initial value in the Set Variable: text box, you see a dialog that lets you create a new variable by that name. Just pick the proper type: Text, Logical, Integer or Real. The first set of bulleted points under the previous heading, “Expres-sions”, shows examples of what you could enter in the Set Variable: text box to establish or change a variable value.

• The variable creation dialog also offers the choice to make vari-ables “external”, or common to any scripts of which the current script is a sub-script. This lets scripts and sub-scripts communi-cate through the values of the external variables they share.

• The Branch menu shows you scrolling lists of the currently avail-able system variables, functions, and expression operators, to make entering expressions easier. Variables you create in your script are also shown, at the top of this list. Click items in the lists to add them to the expression in the text box.

• Variable names can be up to 32 characters long, can contain let-ters, numbers, and dots (.), and must begin with a letter or under-score (_). Names must be unique within a script.

• You indicate a string by enclosing text between double quote marks (“”) as in the fourth of the preceding bulleted examples. Text variables in ICDesigner can accept strings of any length, which can contain any ASCII character.

• Numeric variables can be either Integer (whole numbers, like 8949, 0, and -23) or Real (decimal numbers, like 3.14159, 0.00007, and 1088.6). It is possible to format integers for display as fixed-point figures such as monetary values.

• Logical variables and expressions can have one of two values, either TRUE or FALSE, which can also be given as the equivalent ON and OFF.

• When creating or referring to variables, expressions, and func-tions, you can use any number of spaces between names and oper-ators to help make them more readable, but ICDesigner ignores them; no spaces are required.

Page 93: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

93

3: Branching and using variablesVariables and expressions in the Branch menu

• ICDesigner ignores capitalization in variable, function, and opera-tor names; you can use any combination of uppercase and lower-case. For example, Count, count, and COUNT would all refer to the same variable. Capitalization is also not significant within strings: the string “Japan” is considered the same as “japan”.

• You use parentheses to indicate the order in which operations should be performed. As in ordinary arithmetic, portions of an expression within parentheses are evaluated before portions out-side them, and the innermost portions are evaluated first. The number of left and right parentheses in an expression must match.

� To create a variable:

1. Click on a button in the Branch column for an existing event. (Or choose Add Special Event from the Add drop-down, and then click that event’s Branch button.) You see the Branch menu.

2. If the Set Variable panel is not showing, click its tab.

3. In the Set Variable: text box, type a name for the variable. It should be brief but descriptive, so that you will recognize its func-tion when you see it in different parts of the script.

4. After the name, enter an equals sign (=) and an initial value for the variable. This can be an explicit value, or can itself be a variable, expression, or function, whose ultimate value is used.

❖ For an integer variable, the value can be any whole number between -2,147,483,648 and 2,147,483,647, or any expres-sion that evaluates to a number within that range.

❖ For a real variable, the value can be any number between approximately -3.402

38 and 3.402

38, or any expression that

evaluates to a number within that range.

❖ For a text variable, the value can be text of any length. Any “literal” text must be enclosed in double quotes: “Oscar”. ICDesigner preserves the capitalization you give it, along with any spaces that you include.

Page 94: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

94

3: Branching and using variablesVariables and expressions in the Branch menu

❖ For a logical variable, the value can be ON or OFF. You also can use TRUE or FALSE, which are synonyms for ON and OFF respectively.

❖ If you do not know what the initial value will be, you can enter a 0 for a numeric variable, two double quote marks (“”) for a text variable or FALSE for a logical variable.

5. Press Enter.

6. You see a dialog asking if you want to create this variable, and ask-ing for a variable type. Choose Text, Logical, Integer, or Real.

7. You can also choose to make the variable an external variable. Turn on the External? option if the script you are working in is a sub-script, and you want the variable’s value to be available to the script(s) above it in the script structure. If the current script is not a sub-script, making its variables external has no effect.

8. Click Close to close the menu.

Once a variable has been created, it can be referred to anywhere in the script without bringing up the dialog that asks if you want to create

Page 95: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

95

3: Branching and using variablesVariables and expressions in the Branch menu

the variable. However, if you refer to a variable before the script has executed an event that explicitly assigns it a value, the variable has a default value. For numeric variables, the default value is 0, for text variables, it is an empty string (“”), and for logical variables, it is OFF (FALSE).

Once you have created a variable, it remains the same type as when it was created (numeric, text, or logical), and you will see a problem dia-log if you then try to assign a different type of value to it.

Deleting variablesA variable you have created can be deleted only if it is not used any-where in the current script. When you close the Branch menu, ICDe-signer looks for any unused variables, and displays a dialog for any that it finds, asking if you want to delete the variable. Click Yes to delete the variable.

Using variablesSome of the most common situations in which you use variables include:

• Whenever you need to accept and store input from someone view-ing the script, such as which button someone clicked.

• When you need to make a calculation or decision based on input that can change.

• When using a Repeat function on the Branch menu, to count the number of repetitions in a loop.

• When you need to display information that has previously been entered, or was generated within a script.

Defining constantsIt is sometimes worthwhile to define a variable for a value that is “con-stant”—not meant to change within the script. You can use the vari-able name wherever you need the constant in your script. If at some future time the constant value must be changed, you don’t have to change every instance of it in your script. You have to change only the one location where you assigned it its constant value.

Page 96: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

96

3: Branching and using variablesVariables and expressions in the Branch menu

Displaying variable valuesTo display a variable value in a script, you type the variable name pre-ceded by an exclamation point (!) in any screen text, string, or text variable. When the script runs, ICDesigner automatically substitutes the variable value for this variable reference.

For example, at the end of a quiz script, you could create a page with the line, “Congratulations, !NAME, you got !CORRECT answers right!”. When the script runs, the contents of the variables NAME and COR-RECT would appear in the text, so that it might read, “Congratula-tions, Elizabeth, you got 20 answers right!”.

Displaying variable values this way works for variables you create and for system variables like TIME. It also works for expressions: for example, !(3+2) would dis-play as “5”. When you embed a variable or expression in text, the displayed value takes on the same font and styles as the variable reference. You must make sure that your page layout allows for the longest possible value of the variable, or the text could run off the screen, or the line could wrap to another line. When you embed functions or expressions, always put them in parentheses, as in the example above.

Auto-updatingOne special feature of the variables in ICDesigner is auto-update: even after you have displayed a variable on the screen, if the value of the variable changes, the display automatically updates to reflect the new value. This is easy to see with variables like TIME. Try running a script with the text line, “The time is: !TIME.”—you have created a simple on-screen clock! How long a variable continues updating is affected by the Update option on the Misc panel of the Element Design menus (see page 228 in chapter 7 of the “Basic Authoring User’s Guide”).

Formatting numbers to display decimal valuesAlthough ICDesigner can use decimal (floating point) numbers, you might want to use it to calculate and display fixed-point values, as in decimal monetary systems. You do this by starting with values that are 100 times the their actual values, and then using ICDesigner’s

ICDesigner Note

For variable display to work, there must not be any space between the exclamation point and the variable name, and there must be no style differ-ences in the variable refer-ence. When displaying the value of expressions, the entire expression must be enclosed in parentheses.

Page 97: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

97

3: Branching and using variablesBranching with the Branch menu

FORMAT() function, or embedded formatting codes, to display final values with two decimal places to compensate.

In a dollar-based system, for example, this means that you convert all dollar amounts to cents. So if you wanted to add $24.95 and $17.02, you would actually add 2,495 and 1,702 instead, which equals 4,197. The FORMAT() function allows this to be displayed with two deci-mal places: 41.97. The formatting characters used by the FORMAT() function can also be used in embedded variables: “The cost was !(4197,“##.##”)”. For information and examples on using the FORMAT() function, see the “String functions” section of appendix A.

Branching with the Branch menuYou work in the Branch menu when you need to branch, or interrupt a script’s usual top-to-bottom (first-to-last) flow.

A script’s flow is the sequence that it follows when executing its pages and events. The Branch menu is available on both the page level (in the Main menu) and the element level (in the List menu), so you can branch both within pages and from page to page. You cannot, how-ever, branch directly from a page to an element.

BranchingBranching is necessary to make sure that certain events happen (or do not happen) in certain situations. Branching can also keep you from having to add items to your script several times when you simply need to repeat them.

A branch is a place from which the script can jump to a different loca-tion, and resume showing events from the new location on. Some types of branches always go to the same location; others can make a decision about where to branch to, or whether to branch. Looping, a technique that lets you repeat an event a certain number of times, also involves branching.

Page 98: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

98

3: Branching and using variablesBranching with the Branch menu

A long interactive script that accepts audience responses and operates differently depending on those responses is likely to involve several types of branching to achieve its purpose.

Click the button in the Branch column for an existing page, element, group, sub-script or special event to open the Branch menu.

The Branch menu has three tab panels to choose types of branches. All branch events require some additional information, which either defines when the script should branch, or specifies the location to which it should branch. When you choose a type of branch, you see various controls for choosing a variation and entering additional infor-mation.

The Condition and Repeat branch panels are very similar, based on the Set Variable panel, and list system variables, functions and operators you can use in determining how to branch.

The Go To panel has no controls other than the Action: pop-up except when the Go to Event option is chosen.

Click one of the tabs to display the panel for one of the three types of branch events:

• Condition

• Repeat

• Go To

branch types

Page 99: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

99

3: Branching and using variablesBranching with the Branch menu

Condition branchesThis branch decides whether to execute the event of which it is a part, depending on whether a certain condition is true. You specify the con-dition in the Show If Expression: text box. When the event for which you specify this type of branch is a group, you can conditionally execute or skip a whole series of events.

The condition is usually an expression involving one or more vari-ables. For example, the condition might be the expression “SCORE > 95”. An event having this condition would execute if, and only if, the value in the variable SCORE was greater than 95. The page having this flow condition might in that case be a screen congratulat-ing a student on getting a high score.

Repeat branchesThe Repeat While and Repeat Until branches are very similar. Both are used to repeat the event (or group of events) of which they are a part, so that you don’t have to add the event to the script several times. In most places where you want to repeat, you could use either. One form or the other is usually simpler to use in certain situations.

Like the Show If branch, Repeats require a condition such as ATTEMPTS=4 in the text box. When the condition is true, the event with the Repeat While branch is executed again. When the condition becomes false, the script continues to the next event. Details on the differences between the two kinds of repeats and where you would use them start on page 102, “Using Repeat While and Repeat Until ”.

Go To branchesAs the name implies, a Go To branch tells the script to go to another point, from which the script continues. It doesn’t require a condition; it always branches when script execution reaches it, after executing the event of which it is a part. A Go To can be made conditional, however, by combining it with a Show If branch.

In the Level: selector, you need to specify the level of the script that the destination location is on (the path to its group, if any). Then, using

Page 100: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

100

3: Branching and using variablesControlling script flow with branches

the Go To: selector you find the name of a page or event to provide a target for a Go To event.

The Leave Bookmark? option makes it possible to return from a Go To branch. The bookmark is set at the point immediately after the Go To, and after the script has finished in the target location, it can return and resume running again from that point. More detail on how to use Go To branches is on page 107, “Using Go To”.

Controlling script flow with branchesAlthough the branching events themselves are very simple, how to apply them to achieve the right effect isn’t always obvious, especially to those who have no experience with a computer programming lan-guage. You do not need that kind of experience to use ICDesigner’s branching options, however. This section explains how and when to use the branching events in a script.

Some important facts to keep in mind:

• The events with branches can be groups, and thus the branches can apply to more than one page. Grouping pages so that you can adjust the flow of more than one page at a time is in fact one of the main uses of the Group option. Collecting related pages into a series makes it simpler to use branches to repeat, or to avoid exe-cuting, those pages.

However, you must plan carefully when using both Go To branches and grouping in the same script. You cannot branch into a group, only to a group as a whole. Because of this, grouping page that are the destination of Go To branches from outside the group is not possible without modifying those branches. If you attempt to group a Go To destination event without including the Go To itself in the group, you see a dialog explaining that this can-not be done.

• More than one branch can be combined on a single event; for example, you can use Show If with Go To or one of the Repeat branches.

Page 101: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

101

3: Branching and using variablesControlling script flow with branches

Using Show IfShow If Expression is the simplest of the branches to understand because it translates literally into words and action: “If this condition is true, then show this event.” If the condition is not true, the event is skipped, and the script continues with the following event.

The condition can be any logical expression that is legal in ICDe-signer. Because expressions in ICDesigner can use logical operators (see page 89, “Variables and expressions in the Branch menu”), you can also use the condition to make more complex comparisons.

For example, you might have a quiz script that gives a student the answer to a question if he or she has made four unsuccessful tries at clicking the correct button.

� To show a page with the answer after the number of tries reaches 4:

1. When the student clicks an answer button, add 1 to a variable called TRIES for each time a question is asked. (In Set Variable:, put TRIES=TRIES+1.)

2. Create the page that gives the answer.

3. Put the page at the point in the script immediately after where the script adds 1 to the TRIES variable.

4. Click the Branch button for the answer page to open the Branch menu.

5. Click the Condition tab. The text box reads Show If Expression:.

6. In the text box, enter TRIES=4.

7. Click Close to close the Branch menu. The Branch button for the page displays “If”.

When this page is encountered when TRIES is not equal to 4, it won’t be shown. But once TRIES reaches 4, the page can be shown.

Show If can also be combined with Go To and the Repeat branches, to make those operations conditional. See page 106, “Example 5: Condi-tional loops”, and page 111, “Using a conditional Go To”.

Page 102: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

102

3: Branching and using variablesControlling script flow with branches

Using Repeat While and Repeat UntilThe Repeat options provide an important “labor-saving” capability. You use Repeat While and Repeat Until when you need to repeat some action several times. You can use these events to repeat a single event several times, or to repeat a series of events. It is easy to visualize this: script execution runs through the series of events, then at the end of the series, jumps or “loops” back to the top of the series to repeat the loop.

Which loop?The difference between the two types of loops is the point in the loop where they evaluate whether the “while” or “until” condition is true. Repeat While evaluates the condition before executing the contents of the loop each time; Repeat Until evaluates the condition after each time through the loop. This means that Repeat Until always executes the events in the loop at least once, because it doesn’t check its condi-tion for the first time until the end of the first time through. Repeat While, however, looks at the condition before starting the loop. If the condition isn’t true when the script first reaches the loop, the loop is skipped entirely.

Another way to think of the difference is that Repeat While loops con-tinue while the condition is TRUE, but Repeat Until loops continue while the condition is FALSE (until it becomes TRUE).

You can always use either type of repeat, by varying how and when you initialize the condition expression. One type of repeat or the other might require a special event to set the condition expression (see page 104, “Example 1: simple loop”, steps 2 and 3). This expression, which is evaluated to determine whether the loop should repeat, could have its initial value set within the loop, or before the loop.

Generally, if the value of the variable used in the condition is set some-where earlier in the script, it is simpler to use Repeat Until. If the loop is self-contained—that is, its condition variable is created and set within the loop—Repeat While is probably simpler to use. The two types are mutually exclusive; a loop can’t be both a While and an Until loop.

Page 103: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

103

3: Branching and using variablesControlling script flow with branches

The examples that follow show some typical situations that illustrate when and how you would use one or the other.

Defining a loopIn the Branch menu you click the Repeat tab and then use the pop-up to choose Repeat While or Repeat Until for that event. To define a loop, you first group the page or series of pages that you want to repeat and then apply the Repeat branch to the group.

Example 1: A simple loopThis is the smallest and simplest kind of loop. This example performs a page wipe three times using Repeat While and a counter variable that keeps track of how many times the loop has been repeated. Here is a flow chart showing what it does:

Step 1 is where Repeat While does its work: it decides whether to con-tinue to the page event—the wipe—based on the value of the COUNT variable. Once COUNT equals 3, the script exits the loop and goes on to the next page.

� To create this loop:

1. Create three pages with different backgrounds. On the first, put the text, “Going to loop...”, on the second, “Looping!”, and on

Yes

No

� Go on to the

��

next event

1: Check thevalue of COUNT. Is it

less than 3?

the Repeat condition test

2: Perform the wipe.

3: Increase the loop counter (COUNT= COUNT+1).

Page 104: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

104

3: Branching and using variablesControlling script flow with branches

the third, “Done. I Looped !COUNT times.”. (Be sure the exclama-tion point does not have a space after it.). Give the “Looping” page a pause of 1 second.

2. Click the Branch button for the first page to open the Branch menu.

3. In the Set Variable panel’s text box, enter COUNT=0.

You see the Variable Definition dialog. Choose the Integer vari-able type and click OK to create and set the COUNT variable.

4. Click the Branch button for the second page, and enter COUNT=COUNT+1 in the Set Variable: text box.

5. Click the second page’s Wipe button. In the Page Wipe menu, give the page the ScrollDivide wipe, and click Close.

6. In the Main menu, click Edit and choose Group to group the sec-ond page.

7. Click the Branch button for the resulting group.

8. Click Repeat, and make sure the pop-up reads Repeat While.

9. In the Expression: text box, enter COUNT<3. Click OK to exit the menu.

In the Main menu, you see that the Branch button for the first page reads “Set”, and for the group it reads “Repeat”, reflecting the settings you made. Run the script. After you click on the first page, you should see the “Looping” page wipe onto the screen three times, then the “Done!” page.

When ICDesigner runs this script, it notices that there is a Branch event. Since it is a Repeat While instead of a Repeat Until, ICDesigner looks at the variable COUNT first. The first time it is tested, COUNT hasn’t yet reached 3, so ICDesigner goes on to the page event—the page wipe. Then the loop counter, COUNT, is increased, and ICDe-signer goes back to the top of the loop. For a While loop, the condi-tion test is at the top. After the third time however, COUNT equals

Page 105: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

105

3: Branching and using variablesControlling script flow with branches

three, so ICDesigner displays the third page, which shows you the value of COUNT.

In this case, setting COUNT equal to 0 is not really necessary, because ICDesigner sets numeric variables to zero when it starts a script. How-ever, it is good to get into the habit of giving your loop counters a starting value, because a script will not always restart before its loops are run again; plus, sometimes you need to start a loop with a value other than zero.

A loop can be made even simpler if what you need is an infinite loop—a loop that runs forever. Eliminate steps 2 through 4 above, and for the loop condition, enter TRUE. Since the condition is true by definition, the loop always passes the condition test, and never exits. If necessary, an infinite loop like this can be jumped out of with a Go To, or an interactive button.

Example 2: A multiple-event While loopTo create a While loop with additional events is basically the same as in Example 1. You group all the events in the loop, and apply branch-ing events to the group.

� To create a loop containing several pages:

1. Create the pages you wish to loop through, and, in the Main menu, arrange them in the order they should appear.

2. Select all the pages you want to be in the loop (use Shift-click or Ctrl-click).

3. From the Edit drop-down in the Main menu, choose Group. You see a new group page in the Main menu. (You might want to change its name to indicate that it is a loop.)

4. Enter the Branch menu and as described in steps 2–4 of Example 1, set up the Repeat While and counter variable as necessary to repeat the loop the proper number of times.

You can, of course, call the counter variable anything, choose any number of repetitions, and otherwise customize the loop.

Page 106: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

106

3: Branching and using variablesControlling script flow with branches

For this loop it is just as easy to use either type of Repeat, by reversing the comparison. That is, to accomplish the same thing using Repeat Until, you set up the loop the same way, except choose Repeat Until, and for its condition, enter COUNT>=3.

Example 3: A multiple-event Until loop, indefinite lengthA loop does not need to have a predefined number of repetitions. You can have a loop that repeats until some expression becomes true, how-ever many times that takes. For example, a quiz script could continue asking a question until the correct answer is given.

You would set up this loop as the preceding examples, except that you would not necessarily have to set up a counter variable. (You might still set up a counter for a reason other than controlling the number of repeats. You might want to count the number of tries the student took to answer the question.) Your condition expression would be some-thing like ANSWER=“Apollo”.

Example 4: A loop with more complex variable usageOnce you understand how to make simple loops with counter vari-ables, you can start using more complex expressions. You could make the loop condition dependent on two or more variables, and use oper-ators like AND, OR, and NOT to make more comprehensive deci-sions. You can create special events as necessary to set variables at particular places in a loop.

For example, your quiz script loop might have an expression like this as a Repeat Until condition: (ANSWER=“Apollo” AND SECONDS < 15) OR TRIES >= 4. Assuming you had set up the variables SECONDS and TRIES, this would exit the question loop if the student gave the answer “Apollo” within 15 seconds, or made four tries at the answer.

Example 5: Conditional loopsYou can specify both Repeat While/Repeat Until and Show If for a group, to create a conditional loop. The Show If is evaluated first, and the loop will be skipped if the condition is not true. To do this, set up the loop normally, then, after specifying the loop condition in the Branch menu, click the Condition button and enter the expression that must be true for the loop to be executed.

Page 107: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

107

3: Branching and using variablesControlling script flow with branches

Example 6: Nested loopsLoops can be nested—that is, placed inside one another. In a nested loop, the inner loop goes through all its repetitions for each single rep-etition of the outer loop.

Nested loops are called for when you have two “levels” at which you need to repeat things. For example, suppose several students use your quiz program, and you have stored the score they made for each ques-tion. You might then want to display all the scores. The two levels of that task are the individual student level (displaying each score for one student) and the “class” level (doing the same for each of the other stu-dents). To do this, the “inner loop” does the individual-level task, and the “outer loop” does the class-level task.

Example 7: Jumping out of a loopIn the loop condition, sometimes it is not possible to cover all the pos-sible situations under which you might want to exit a loop. In such cases, a conditional Go To or a button with a Go To can jump out of a loop based on some other factor, even though the Repeat expression is still true.

Using Go To actionsGo To actions are the most powerful of the branching instructions, because they can remove all linear, sequential limitations to the order in which events are executed. This can give you much more flexibility when you have more complex things to do in your script. It is made more powerful by ICDesigner’s capability to set a bookmark when

the “ClassLoop” group contains the “StudentLoop” group

Page 108: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

108

3: Branching and using variablesControlling script flow with branches

you use a Go To action, so that you can later return, and continue running the script from the point after the action.

The most common use of Go To actions is on buttons. When you want to display a new page or perform some other action when some-one clicks an on-screen button in your script, the button most likely has a Go To branch associated with it. You can set up a Go To action for a button in the Design Buttons menu. Creating a Go To action from the Branch menu is nearly the same.

Non-button Go To branches should be used sparingly, however. Overuse of such actions, especially Go to event, can make a script diffi-cult to understand and edit. Before you use a Go To branch, see if there might be another way to accomplish your objective by rearrang-ing events to make the branch unnecessary.

� To use a Go To branch:

1. Click on the button in the Branch column for the event after which you want the Go To to happen. You see the Branch menu.

2. You should see the Go To tab. Click the Action: pop-up to see the possible types of Go To.

Page 109: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

109

3: Branching and using variablesControlling script flow with branches

3. Choose a Go To action. Go to Next Page and Go to Previous Page are self-explanatory and have no options, so you can choose one of these and just click OK to finish.

4. If you choose Go to Event, you see the Go To: and Level: selectors, and the Leave Bookmark? button. The default Go To setting just continues with the next event after the Go To without branching.

5. The Level: selector lets you specify where within the script struc-ture the branch target is. Its possible settings vary depending on whether the current event is within a group, and whether you entered the Branch menu from the Main menu or the List menu. You can branch to any place earlier or later in the current script. However, you cannot branch into a separate script, or a to group that is below the current level in the script structure.

From the Main menu, if the branch event is not within a group, the selector is disabled and reads <this script>. Within a group, the options include the current group, any group(s) above it in the structure, and the top level of the script (<this script>).

From the List menu, the selector works the same, except that it is never disabled and the choice <this page> is also present.

Choose a level using this selector if necessary.

6. In the Go To: selector, choose the destination page or element. The selector steps through all the possible destinations on the script level you have chosen. In the display box on the right, you see a thumbnail of the destination page or the name of the desti-nation element/event.

7. If you do not need to return to the point immediately after this Go To after executing events at the destination location, turn off the Leave Bookmark? option.

8. Click Close to close the menu.

Page 110: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

110

3: Branching and using variablesControlling script flow with branches

There are several situations in which you would typically need to use a Go To:

• (with Leave Bookmark?) to execute a different section of the script and then return to the original location—often this usage is from a button

• to exit a loop

• to branch around one or more events that you do not want to exe-cute

• (with Show If ) to branch to another location if a certain condition is true

• (using Action: Exit from Script) to exit from a sub-script at some-place other than the end of the script

Exiting a loopUsing Go To as an additional way to exit a loop was discussed in Example 7 of the preceding section.

Branching around eventsBefore using Go To to branch around some events, consider whether you could structure the script so that it is unnecessary. If the Go To is unconditional, it is very likely that there is a location for the events you want to branch around that would eliminate the need for the Go To.

Using Go To with a bookmarkThe real power of Go To comes when you also use the bookmark fea-ture to allow you to return from a Go To. If you place an Action: Return to Bookmark at the end of a section of events, execution will return to the place where you last left a bookmark.

This, in effect, lets you define sections of a script as independent units that you can go to and return from at any point in the script. This is most valuable if you have a sequence of events that might need to be run several times in the course of a script, but from different places in the script (rather than several times in a row like a loop).

Page 111: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

111

3: Branching and using variablesControlling script flow with branches

An example of the Go To-with-bookmark structure:

In the above script, the pages would run in the order: 1, 2, 7, 8, 9, 3, 4, 5, 6, 10....

A more important reason for skipping over a script unit this way is to keep a Return to Bookmark from being executed again. Executing a Return to Bookmark when you did not intend to will disrupt the proper order of events. If ICDesigner encounters a Return to Bookmark for which it cannot find a bookmark, it continues without branching, and displays a message dialog when you exit the script. Using Go To with bookmarks and Return to Bookmark requires very clear planning of the order in which events and script units will be executed to avoid this kind of problem.

Typically, if you use more than one unit in a script, you should place them all at the end of the script, and execute them only through Go To branches with bookmarks. The event just before the first of these units can be the Go To that keeps script execution from “falling through” to execute the unit. Another option is to use sub-scripts.

Using a conditional Go ToA conditional Go To, created by defining a special event that contains both a Show If and a Go To, is often useful.

Page 1

Page 2

Page 3

Page 4

Page 5

Page 6

Page 7

Page 8

Page 9

Page 10

Go To: page 7 (leave bookmark)

Action: Return to Bookmark

Go To: Page 10

unit

ICDesigner Note

The Go To on Page 6 is not strictly necessary, but it is there on the assumption that you do not want to run the unit from 7 to 9 again.

Page 112: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

112

3: Branching and using variablesUsing sub-scripts

When the script reaches this event, it evaluates the Show If condition, and if it is true, moves execution to the point specified by the Go To. However, if your intent is only to conditionally branch around some events you do not want to execute, a better solution is to group those events, and apply the Show If to the group.

Using sub-scriptsThe ability to use sub-scripts—scripts that are run from within other scripts—adds much flexibility to ICDesigner. Although there is noth-ing that you can do in ICDesigner that requires a sub-script, there are various situations in which subdividing a script can be worthwhile.

Primarily, breaking a large script into sub-scripts is helpful in the same way that breaking any large task or object into smaller sections is. Working with smaller pieces makes each piece more manageable, and allows you to work on one area of the script without affecting others.

In particular:

• Parts of the script are loaded only when needed, reducing initial start-up time and overall memory usage.

• Testing and development time is reduced because the complete script does not have to be edited and run each time it is tested.

• It is easier and safer to distribute work on a large script project among different people as separate pieces.

• Sub-scripts reduce the need for Go To/Return to Bookmark struc-tures in the main script, which can be difficult to keep track of as projects grow larger.

Variables in sub-scriptsBy default, variables that you create in ICDesigner are “local”—spe-cific to the scripts within which they are used. For example, the value of a COUNT variable in a parent script is normally independent of that of a COUNT variable in any sub-script it might have. This makes it possible to use standard variable names like COUNT or LOOPS for

Page 113: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

113

3: Branching and using variablesUsing sub-scripts

indexing and other utility purposes in various scripts, without worry-ing about their values interfering with one another.

However, often it is useful to be able to communicate variable values between scripts and sub-scripts. Doing so is the purpose of the Exter-nal? option available when you create a variable. The value of an exter-nal variable is “global”—available not just within the script in which it was created, but in any parent script (one above it in the script struc-ture) as well.

For example, a sub-script that calculates a score could then pass the score value to a parent script that displayed the score, using a SCORE variable declared as external.

To use variables this way requires planning. You must keep track of which variables are external and which are not.

When multi-leveled scripts that use variables extensively do not work as expected, often the reason is related to variable values not being passed when they should be (because a variable was not made exter-nal), or variables unexpectedly affecting one another (because a vari-able used in several places was made external).

Being sure to initialize all your variables with a starting or default value eliminates many potential problems.

Exiting a sub-scriptIf you use sub-scripts, the physical end of the script is not likely to be where the script finishes. For this reason, you need to be able to define a point other than the last event in the script as the end. You can do this by inserting a Go To with the action Exit from Script. When the script reaches a Action: Exit from Script, the sub-script ends.

Page 114: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 115: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 116: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

116

4: Scheduling InfoChannel Designer 3 eventsScheduling is a key element of many Scala InfoChannel Designer 3 distributed productions, and ICDesigner’s scheduling abilities distin-guish it from most other multimedia products. Scheduling lets you communicate timely information, freeing you to leave Players unat-tended even when displayed information must change from day to day.

With ICDesigner, you can schedule events to be run according to var-ious criteria:

• at regular intervals—hourly, daily, or weekly

• continuously between two given times or dates

• once, at a specific date and time

For example, you might need an event to be repeated between two and four o’clock in the afternoon, only on Fridays, during January. This kind of scheduling is useful when promoting special events and pre-vents the display of outdated information. Scheduling a page in your script to appear only once at a specific time can be used, for example, to start CD audio automatically at a certain time.

This chapter discusses scheduling in general and focuses on using the Schedule menu. Before we look at that menu in detail, we first discuss the ICDesigner approach to scheduling.

Note that outside the ICDesigner authoring environment, selective playback according to Schedule events is available only in scripts pub-lished to InfoChannel Network. The iplay 3 software used for other InfoChannel publish media does not support scheduling.

Scheduling and the Scala InfoChannel PlayerICDesigner lets you communicate continuously. InfoChannel Players are set up to run ICDesigner non-stop, 24 hours a day if the hardware

Page 117: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

117

4: Scheduling InfoChannel Designer 3 eventsScheduling and the Scala InfoChannel Player

is left on. This capability is what makes scheduling so useful and so important.

You configure the InfoChannel Player to run a particular script. That script, the Main Script, runs continuously. Recall that all ICDesigner scripts automatically loop by default, starting over at page one after the last page is reached. Thus, the simplest ICDesigner production is a script that repeats itself in the same way, day after day.

For example, if an ICDesigner script you create consists of only three pages without scheduling or other advanced features, the Player runs page one, then page two, then page three, then page one, then page two, and so on, ad infinitum.

Productions involving scheduling, however, display different informa-tion at different times, or on different days. The Player for these pro-ductions still runs a single script containing all events. The script still automatically loops. What is different is that not every event is run on every pass through the script. Some events in the script are skipped over because they do not fall within the scheduled valid ranges.

Page three

Page two

Page one

Page 118: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

118

4: Scheduling InfoChannel Designer 3 eventsScheduling and the Scala InfoChannel Player

By default, an event has no schedule. If you do not schedule a script event, it runs every time that script execution reaches it. When a schedule is set for an event, that event is not run except as scheduled.

What can be scheduled?You use the Schedule menu for all of the following (although some have limited scheduling options, as explained in the next section, “Types of scheduling”):

• a screen page, consisting of a background and all its elements

• individual elements on a screen page such as text, clips and sounds

• a special event, which is an event not related directly to the screen display, such as a timing event or a command to an external device like a CD player

• a group, a collection of pages that you can treat as a unit

• a sub-script, another script that is run from within the current script

Scheduling works essentially the same with screen pages, special events, elements, sub-scripts, and groups. We use the term events to apply to all types of things you can schedule. Some types of scheduling don’t apply to elements, however. Where a distinction is important,

Is this event scheduled?

Is this a scheduled time for this event to run?

Run the event

No

Yes

Yes

No

Page 119: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

119

4: Scheduling InfoChannel Designer 3 eventsTypes of scheduling

we use the term page the same way that it is used in the Main menu—to apply to any page, be it a screen page, special event page, group or sub-script.

Types of schedulingThere are two types of scheduling in ICDesigner: periodic and inter-rupt. Each has its particular uses, depending on what your production needs are. Periodic scheduling can be applied to any script event. Interrupt scheduling can be applied to any kind of page (including special event pages, groups and sub-scripts), but not to elements on a page, and not to pages within groups.

Periodic schedulingPeriodic scheduling creates “windows” of time, which you define as the valid time periods. It uses four successively more specific levels that you may use to define a valid time period:

• Valid Range – the overall schedule time period

• Valid Weeks – whole weeks by week number

• Valid Days – days of the week

• Valid Time of Day – the single-day level

Enabling or disabling an event for the periodGiven a time period that you have defined as valid, you can specify one of two possible results for a periodic schedule entry: you can either enable or disable the event for that period.

In other words, the valid period can operate “positively”, to specify when the event can run, or “negatively”, to specify when it cannot run. Although it is ultimately possible to accomplish the same result with positive scheduling alone, in certain kinds of scheduling situations it is much simpler to use the negative approach.

Most descriptions of periodic scheduling in this manual assume that you are using the positive, periodic/enabled approach.

Page 120: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

120

4: Scheduling InfoChannel Designer 3 eventsTypes of scheduling

As ICDesigner runs a script and reaches an event that has a periodic schedule setting, it checks to see whether the current date and time is within the valid period defined by the schedule. If it is, then:

• a periodic/enabled event runs (it cannot run outside the valid period)

• a periodic/disabled event is skipped (it can run at any time outside the valid period)

In short, the periodic/disabled type of schedule exactly inverts the sense of the valid period.

Periodic schedule indeterminacyIt is important to emphasize that periodic scheduling does not cause events to run at a certain time, or guarantee that an event will run dur-ing any given scheduled period. It simply allows the event to run if, in the normal pace and sequence of the script’s execution, the event is reached during a period for which it is enabled.

In short, periodic scheduling specifies when something can happen, not necessarily when (or even if !) it will happen. Specifying a definite execution time for an event is what interrupt scheduling (described in the next section) is for.

The following diagram graphically illustrates how three levels of peri-odic scheduling (for simplicity, omitting consideration of the Valid Weeks level) work together to “filter” the possible execution times of a script event. The example schedule has an overall Valid Range setting of one week, with Monday, Wednesday, and Friday selected in Valid

Page 121: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

121

4: Scheduling InfoChannel Designer 3 eventsTypes of scheduling

Days, and periodic/enabled daily in and out times of noon and mid-night:

Interrupt schedulingThe Valid Range, Valid Weeks, and Valid Days levels of scheduling are active and work for interrupt scheduling just as they do for periodic scheduling. However, in contrast to periodic scheduling, at the daily level interrupt scheduling is definite. When the scheduled time arrives, ICDesigner interrupts whatever else is happening in order to run the page that is interrupt-scheduled for that time.

During normal running of a script, ICDesigner skips over interrupt-scheduled pages. After running an interrupt-scheduled page, ICDe-signer continues by running the next page in the script after the inter-rupt-scheduled page. It does not automatically return to the interrupted page—however, there is an option to set a bookmark to allow resuming playback from the point of interrupt.

Mon Tue Thu Sat SunWed FriValid Days

(Mon, Wed, Fri)

Valid Time of Day(enabled, noon – midnight)

Valid Range(one week)

ranges during script when this scheduled event CAN run

script execution

possible event times

Mon Tue Thu Sat SunWed FriValid Days

(Mon, Wed, Fri)

Exact Time of Day(at noon)

Valid Range(one week)

times during script when this scheduled event WILL run

script execution

possible event times

Page 122: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

122

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

For periodic-scheduled events, the location of the event in the script dictates when the event may run. For interrupt-scheduled pages, the location of the page in the script is irrelevant to when the event will run. It does, however, dictate what page will run next after the inter-rupt-scheduled page, if the bookmarking feature is not used.

Factors affecting schedulingMany of the important issues in scheduling are related to issues in tim-ing, so you should be familiar with chapter 11 of the “Basic Authoring” guide, “Advancing the script automatically”. In particular, you must keep in mind that the timing of events is relative. Neither type of scheduling adjusts pause lengths, wipe speeds, or other factors that control a production’s pacing, in order to cause something to happen at or by a certain time. You must adjust these factors carefully yourself to ensure that events can occur as scheduled.

To make the best use of scheduling in a complex production, you will sometimes need to utilize grouping and/or sub-scripts. You may wish to review chapter 2 of the “Basic Authoring” guide, “Working in the Main menu”, where these topics are introduced. You should be aware that the use of groups and/or sub-scripts has special considerations (for details, see the chapter just mentioned and the section “Scheduling with groups and sub-scripts”, later in this chapter).

Particularly when using interrupt scheduling, you might want to take advantage of branching, explained in chapter 3, “Branching and using variables”.

The explanations and examples included in this chapter should help to clarify the ways in which the different types of scheduling work, and how to choose which to use in your scripts.

Working in the Schedule menuYou schedule events in the ICDesigner Schedule menu. Click a page’s button in the Schedule column in the Main menu to schedule a page,

Page 123: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

123

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

or click an element’s Schedule column button in the Design List menu to schedule an element. In either case, you see the Schedule menu:

As with other menus in ICDesigner, you can select several events at once before clicking in the column to edit them all at the same time. Doing so can be hazardous, however, due to the numerous schedule parameters, and the fact that each event’s schedule can consist of mul-tiple entries (see the next section).

You use the Schedule menu to specify schedule entries in the schedule for the event. Each entry consists of a collection of time-related infor-mation that identifies when the scheduled event can or will play.

The entry information controls are grouped in four sections, corre-sponding to successively more specific levels of scheduling:

• Valid Range – the controls in this section establish the overall date/time range within which the event can play, and outside of which it cannot play

• Valid Weeks – the controls in this section make it possible to schedule events through the year on the basis of week numbers

• Valid Days – the controls in this section operate on the level of individual weeks, and let you permit the event to play only on cer-tain days of the week

• Valid Time of Day/Exact Time of Day – the controls in this section operate on the level of the individual days that are valid as defined

current date and time reference

four levels of scheduling

Page 124: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

124

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

by the other controls, and establish whether the schedule entry is of the periodic or interrupt type

Other buttons in the Schedule menu let you add, view, and remove entries.

Schedule entriesThe schedule for a script event can contain more than one entry. You might, for example, want the same page to be run only during an hour in the morning and another hour in the afternoon. Each hour would be one entry in the schedule for that page.

When you open the Schedule menu, you start at entry 1. Once you have edited it to your satisfaction, you can add further entries for that event if necessary.

� To add another entry for the event, click the Add Entry button.

� To edit or review other entries in the schedule for a page once you have more than one entry, use the Entry Number value control to move to the different entries.

� To delete a single schedule entry (the current one), click the Remove Entry button.

� To delete all the entries in the schedule for that event, click the Remove All button.

With either Remove button, you see a confirmation dialog.

Page 125: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

125

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

You can edit the schedule for only a single event at a time. To edit the schedule for another event, select the event you wish to edit.

You can multi-select several events, setting a schedule for all of them at the same time. Doing so is hazard-ous, however, if you are editing existing schedule set-tings and not all the events have identical schedules. Editing an entry while multiple events are selected gives that entry number the same settings in all those events, regardless of what the individual events’ origi-nal settings for that entry number might have been.

To accept the changes you have made to the displayed schedule entry and exit the Schedule menu, click Close. To discard changes and exit the menu, click Cancel.

Combining entriesTo create complex schedules for an event, you use multiple entries for it. You can combine entries that use the different types of schedul-ing—periodic/enabled, periodic/disabled, and interrupt—freely.

When the periodic/enabled and periodic/disabled types are combined, the valid period(s) created by the cumulative effect of all enabled entries is determined first, then the disabled entries are used to “cut holes” in the valid period.

Schedule information in the column buttonA good way to help you keep track of whether your work in the Sched-ule menu is having the desired effect is to look in the Schedule column for the event. Information about the entry is displayed in the column button.

Of particular note is the information in parentheses, which is inter-preted as follows:

• (current) – the schedule includes the current moment; the event could play immediately

• (next: <date> <time>) – the date and time that the event will next be able to play

Caution!Nothing prevents you from creating pointless multiple-entry schedules that cause an event to always or never run, or that make interrupt-scheduled events inter-rupt each other. You must keep track of the cumula-tive effect of the entries.

Page 126: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

126

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

• (expired) – the scheduled period has passed; the existing schedule allows no further playback

If you are scheduling something for future playback and you see “(expired)”, it is an immediate indication that there is something wrong. If you see “(next: ...)”, compare the date and time shown with when you believe the next scheduled playback should be to help you determine if your scheduling is accurate.

Make the Schedule column wide enough so that you can see these indi-cations appear as you change the settings in the Schedule menu. When the column button is blank, the event is not scheduled and can play at any time.

Setting the overall schedule rangeThe first step in creating a schedule is to define the overall range within which the event can possibly run, using the controls in the Valid Range section of the Schedule menu.

current date is past theend of the valid range, so schedule has expired

Page 127: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

127

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

When you turn on (✓ ) the From? and To? buttons, start date, start time, end date and end time value controls become available. You can adjust the date alone, or use the time value controls as well to specify the beginning and ending points of the range more narrowly.

DefaultsIn the Schedule menu, times are displayed in 24-hour hours:min-utes:seconds format, and default start and end times are 00:00:00 and 23:59:59, respectively. Thus the default start time or In time is at the beginning of the day (at midnight) and the default end time or Out time is at the end of the day (one second before midnight). Dates default to the current date.

This means that making an To setting without a From setting implies a start date of now; setting a From date without an To date implies that the schedule continues indefinitely. Setting neither a From date nor a To date means that there is no date range within which the schedule should be restricted.

Example 1: Ten days of promotional pricingSuppose your script runs on displays in a chain of 24-hour gas sta-tions. One of the pages in the production extols the virtues of a pre-mium grade gasoline. In July 2002, you are told that you should get ready to promote special promotional pricing on that page, for a sale which is valid only from August 1, 2002 at 8 AM through August 10, 2002 at midnight.

� To create this:

1. Create a new element on the premium gasoline page, a clip that wipes the price and expiration date onto the page.

2. Click the Schedule button for the clip to open the Schedule menu.

3. Set a start date of August 1, 2002, by clicking From? (✓ ), and then adjusting its start date value control.

4. Set a start time of 08:00:00 by using the start time value control.

5. Set an end date of August 10, 2002 by clicking To? (✓ ) and then adjusting its end date value control.

Page 128: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

128

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

6. Because you want the promotion to run all day on the 10th, you don’t have to specify an end time. You finish editing the schedul-ing by clicking Close.

After 8 AM on August 1, and until the end of August 10, every time your script reaches the promotional pricing event, the clip wipes in on the page. At any other time, it doesn’t run.

Once your new script is on the gas station Players, you won’t have to do anything more to get the display of sale information started, or to stop it. You won’t have to delete the scheduled element from the page to keep it from appearing once the sale ends. You might choose to delete it later to keep the script small, or you might choose to keep it there in case you are asked to schedule it again.

Scheduling by week numberFor applications that require scheduling on a week-to-week basis, ICDesigner offers the Valid Weeks option, which lets you use week numbers.

The Weeks: button has a default setting of All, so that week numbers are not considered in establishing the valid period. To do weekly scheduling, click the button.

When you click the Weeks: button, you open a dialog that lets you choose the desired weeks graphically.

Page 129: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

129

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

In the dialog are a series of buttons, one for each week of the year. (The week numbering obeys the ISO standard, which uses whole weeks, Week 1 being defined as the week that includes January 4.)

� Click a button so that it is indented to select that week number.

� If it would be easier to select the weeks in which the event should not run, do so and then click Invert to arrive at the selection of those weeks you do want.

� Click All to select all weeks, or None to clear any selection you have made and start again.

When you have finished selecting the week numbers you want in the valid period, click Done to return to the Schedule menu.

The Weeks: button lists the selected weeks numerically, with ranges of contiguous weeks shown as, for example, 17-32, and discontiguous ranges and individual week numbers separated by commas.

Keep in mind that the Valid Weeks setting is beneath the Valid Range setting, if any, in the scheduling hierarchy. This means that although you can choose any weeks of the year, weeks or parts of weeks that are outside the Valid Range setting are not in the schedule.

Example 2: Local and national promotionLet’s say you run a network of plasma panel signs that are set up to advertise store specials in a chain of supermarkets. Among the prod-ucts in constant ad rotation are soft drinks. The supermarket chain has an ongoing contract to advertise various weekly specials for one national soft drink manufacturer throughout the year. But the store also on certain weeks promotes its own store brands, during which the national brand ads should be temporarily stopped.

� To easily create complementary schedules for your national and local soft drink special pages:

1. Click in the Schedule column of the local brand special page to open the Schedule menu.

Page 130: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

130

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

2. Ctrl-click on the national brand special page in the Main menu so that it is also selected for scheduling.

3. Click the Weeks: button to open the Select Weeks dialog.

4. In the dialog, click the first two week numbers of each quarter, the weeks that the local brand is promoted. (Both pages get this schedule.)

5. Click Done to exit the Weeks dialog.

6. Ctrl-click on the local brand page in the Main menu to deselect it.

7. Click the Weeks: button to open the dialog again. You see the weeks schedule you just set for the national brand page.

8. Click Invert to deselect all the weeks that the local page runs, and select all the others.

9. Click Done, then Close to exit the Schedule menu.

Now the two pages cover all the weeks of the year, with no overlap.

Setting valid days of the weekIn the Valid Days section of the Schedule menu are buttons that may be used to limit the days of the week that an event runs.

The Days: pop-up has two possible settings: All and Selected Only. The default is All, so the individual day buttons are disabled. To enable them, choose Days: Selected Only.

Initially, none of them is selected. If you select a weekday button, you allow the event to run on that day of the week within the overall valid range. You can select any combination of days during the week.

the Days: Selected Only setting for an event that runs only on weekdays

selected buttons limit theschedule to those daysof the week

Page 131: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

131

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

Example 3: Today’s menuSuppose you are creating a script to run on a hotel information chan-nel. You might want to promote the hotel restaurant’s dinner specials. If there is a special for each day of the week that stays the same week after week, you can set this up easily using the Valid Days controls:

� To create the schedule:

1. Prepare a page for each day, all bearing the text “Today’s Menu”.

(You could even create a page for each course, and group the pages into menus for each day of the week. Remember, a group is scheduled like any other page.)

2. After creating the pages, open the Schedule menu for the Sunday page.

3. Switch the Days: pop-up to Selected Only.

4. Click the Sun? button so that it is selected (✓ ).

5. Click the Monday page’ in the Main menu to select that page, then select its day button in the Schedule menu.

6. Continue for the remaining pages, selecting the page, then turn-ing on the appropriate day button.

7. Click Close to exit the Schedule menu.

Each page runs only on the selected day, with the pages for unselected days being skipped.

Later, your chef might decide that seven menus is too many and that he won’t be cooking duck on Thursdays anymore. Instead, he will serve the same thing on Tuesdays and Thursdays.

� To re-schedule:

1. Open the Schedule menu for Tuesday’s page.

2. Click on the Thu? button to add Thursday to the page’s schedule (so that both the Tue? and the Thu? buttons are selected).

3. Delete Thursday’s menu page.

Page 132: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

132

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

Periodic scheduling: setting a daily rangeTo specify a limited time range within each valid day that an event may play back, you use the controls in the Valid Time of Day section.

Set the Event: pop-up to Is Enabled within Valid Period. With periodic scheduling selected, you see the Daily In Time and Daily Out Time value controls in the Valid Time of Day section of the Schedule menu.

Adjust the Daily In Time and Daily Out Time values to specify the times of day to begin and end allowing the event to play back. These daily times apply to every day that is permitted by the Valid Range, Valid Weeks, and Valid Days settings. If the Out time occurs after the event has already started, the event completes; it is not cut off.

Keep in mind that if your script is long and the period defined by the In/Out times is short, your event could be skipped altogether—the running script might not happen to reach the event during the speci-fied time. With a short script, your event may run many times within the period. With periodic scheduling, there is no way of specifying how many times an event is to run within the time “window” specified by the schedule.

Example 4: The lunch pageFor this example, suppose your ICDesigner production is an internal corporate information channel. You notice the performance of too many employees sagging during afternoons when they’ve skipped lunch.

� To add a humorous noon-hour reminder that it’s time to get out of the office for a few minutes and get something to eat:

1. Create a new page with a lunch reminder.

2. Open the Schedule menu for the lunch page.

You want this page to appear every day, so you do not need to make any changes in the Valid Range or Valid Days sections.

Event: Is Enabled within Valid Period is the default schedule type, so the Daily In and Out Time controls are already visible.

Page 133: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

133

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

3. Adjust the Daily In Time control to set the start of the enabled period to 12:00:00.

4. Adjust the Daily Out Time time control to set the end of the enabled period to 13:00:00.

5. Click Close to exit the menu.

Now, whenever the script gets to your page during the noon hour, it runs. During the rest of the day, the lunch page is skipped.

Interrupt scheduling: setting an exact playback timeWhen using interrupt scheduling, the Valid Range, Valid Weeks, and Valid Days controls function in the same way as they do with periodic scheduling. Switching to interrupt scheduling only changes the con-trols available on the daily level.

Remember that elements on a page cannot be interrupt-scheduled. Interrupt scheduling is available only for pages.

To interrupt-schedule a page, change the Event: pop-up to Interrupts Exactly. The Valid Time of Day section becomes Exact Time of Day. The At Time value control in this section indicates the first (or only) time you wish the page to run.

You see three new controls, Repeat?, Every, and Until, for interrupt scheduling. The Every and Until controls are disabled unless Repeat? is on.

Repeating an interrupt-scheduled eventWithout using any other controls, an interrupt-scheduled page runs once per day at the time specified by At Time. You might prefer to repeat the page—once every hour, for example. To do so, turn on Repeat? (✓ ). This enables the Every and Until value controls, so you can adjust the frequency and extent of repetition.

available withRepeat? selected

Page 134: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

134

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

Specify the repeat time interval with the Every value control, in hours, minutes, and seconds. The interval is measured from the time the page last began. (Leaving the default setting of 00:00:00 results in no repeats taking place, even if Repeat? is on.)

Use the Until value control to set a time to stop repeating the page. Leaving the default time of 23:59:59 allows the page to repeat for the rest of the day. As long as the repeated page begins before this time, it will run to completion—if the Until time occurs while the page is run-ning, it is not cut short.

Remember, when an interrupt-scheduled page’s At time comes, it interrupts whatever the script is doing at that moment. It does not wait for any event that might be running at the time to finish—it will interrupt in the middle of an element wipe just as readily as in the middle of a page pause.

Leaving a bookmarkAn interrupt-scheduled page disrupts the normal script flow, effec-tively acting as a branch to that page. Without your taking any further action, script execution would continue with the pages that physically follow the scheduled page in the script.

Typically, however, this is not what you want. It is more likely that you want to resume the script from the point of interruption, so that the interrupt-scheduled page works as a temporary “detour” rather than a branch. This is made possible by the Leave Bookmark? option. This option appears, and is enabled by default, when Event: Interrupts Exactly is chosen.

When Leave Bookmark? is on (✓ ), a bookmark is left at the point of interruption. A Goto: Return to Bookmark branch, applied to the inter-rupt-scheduled page, causes script execution to return to the inter-rupted page and begin playing it from the beginning. This is illustrated in the following example.

Example 5: The $1,000 prizeTo reward your loyal viewers, you might have a prize giveaway on your cable TV channel. When a special message is displayed, the first viewer to call in wins. Design a page for your script giving the details.

Page 135: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

135

4: Scheduling InfoChannel Designer 3 eventsWorking in the Schedule menu

� To display the message at an exact date and time:

1. Open the Schedule menu for the prize information page.

2. Click From? (✓ ) and set the start date value control to the chosen date.

3. Click To? (✓ ) and set the end date value control to the same date.

4. Switch the Event: pop-up to Interrupts Exactly.

5. Set the At Time value control to the chosen time.

Leave Bookmark? is on by default, but you need to explicitly create a Go To branch.

6. With the prize page still selected, click its button in the Branch column to open the Branch menu.

7. On the Go To panel of the Branch menu, choose Return to Book-mark from the Action: pop-up.

8. Click Close in the Branch menu.

Your page will be displayed only once, on the date and at the time you specified, and it will interrupt whatever the TV channel script was doing at exactly that time. When the page finishes, the script will return to the interrupted page.

If you do not intend to return to the interrupted page, you should turn off the Leave Bookmark? option.

Viewing a summary of schedulesThe Schedule menu offers a way to look at the schedule entries in a summary view. Click View Schedules to see a listing of schedule entries, identified by page/element name. The View All Entries In: pop-up lets you choose whether to see the entries for just the selected event(s), or for all events in the script.

Page 136: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

136

4: Scheduling InfoChannel Designer 3 eventsScheduling with more complex scripts

If your script uses scheduling extensively, this is a way to quickly review and compare entries, to verify them and help spot possible con-flicts.

This illustration shows both a periodic/enabled and a periodic/dis-abled entry, with all the basic schedule information.

Click the Copy to Clipboard button to copy the entire listing to the Windows clipboard in plain text format. By pasting into a text editor, database, or other application, event scheduling can be reviewed con-veniently outside of ICDesigner.

When you have finished reviewing the schedule entries, click Close to return to the Schedule menu.

Scheduling with more complex scriptsIf your scripts use groups or sub-scripts, you should be aware of the possible effects on the execution of scheduled events.

Interrupt scheduling with groups and sub-scriptsInterrupt-scheduled pages cannot be grouped or moved inside a group, so grouping is not a factor in their execution.

Interrupt-scheduled pages in a sub-script, however, execute at their scheduled time only if the sub-script is currently running. While the main script is running, ICDesigner does not “see” the scheduled

Page 137: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

137

4: Scheduling InfoChannel Designer 3 eventsHow not to schedule

events in its sub-scripts, and does not jump into the sub-script from the main script to run an interrupt-scheduled page.

If the start time of an interrupt-scheduled page in the main script occurs while a sub-script or grouped page is running, ICDesigner does return to the top level of the main script to run the interrupt-sched-uled page.

In any case, after an interrupt-scheduled page runs, the script contin-ues with the page that immediately follows the interrupt-scheduled page in the main script. Using a Return to Bookmark branch in a sub-script always returns to the beginning of the subscript, not to a specific page.

Periodic scheduling with groups and sub-scriptsPeriodic-scheduled events also may not execute according to schedule when groups or sub-scripts are involved. A periodic event runs only when it is actually reached during normal flow of the script. Thus, as the script steps through all events, including those in groups and sub-scripts, if it reaches the periodic-scheduled event within a “window” of time specified by the event’s schedule, the event runs.

But if a sub-script or group uses branching to create a loop such that the main script is never returned to, periodic-scheduled events in the main script never run, just as non-scheduled events in the main script won’t run.

How not to scheduleWhile the scheduling features of ICDesigner are very powerful, they are not without limitation, and require careful attention to achieve the desired results.

� Here is a summary of scheduling pitfalls to avoid:

• Too-short valid periods with a long script

If your script is long and the scheduled valid periods are few and/or short, scheduled event will not be played regularly, because

Page 138: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

138

4: Scheduling InfoChannel Designer 3 eventsHow not to schedule

script execution will seldom happen to reach the scheduled events during a valid period.

• Periodic-scheduled events that are never reached

Periodic scheduling does not cause events to run, it allows them to run if they are reached. So a scheduled event running depends on script execution regularly reaching it. A periodic-scheduled event that is never reached—for example, because of its location in the script relative to a branch, looping group, or non-exiting sub-script—can never run.

• Conflicts at different levels of scheduling

Careless scheduling can lead to events being scheduled never to happen. For example, scheduling a page to run only on Monday, Wednesday, and Friday, and scheduling certain clips on that page to run only on Tuesday and Thursday will result in those clips never being seen. The same holds true when you schedule a group and then individually schedule pages within the group. Schedul-ing of events on lower levels needs to be within the “window” pro-vided by the levels above them, or they never get to run.

• Interrupt-scheduling everything

In ICDesigner, events take a variable amount of time, depending on hardware and other considerations (see chapter 11 of the “Basic Authoring” guide, page 313, “Factors that affect timing”). Thus you cannot reasonably set a schedule in ICDesigner that determines exactly what is going to be displayed at each minute of the day. As a general rule, interrupt scheduling should be the exception, used for those pages that really must run at a particular time.

• Interrupt-scheduled pages too close together

Generally, pages that are important enough to be interrupt-sched-uled are important enough that you do not want them to be inter-rupted themselves. Interrupt-scheduled pages—and their Repeat intervals, if they repeat—should be far enough apart (in terms of script execution time) that you do not risk them interrupting one another.

Page 139: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

139

4: Scheduling InfoChannel Designer 3 eventsHow not to schedule

• Leaving out a Return to Bookmark “go to” branch

Even if the Leave Bookmark? option was on for an interrupt-sched-uled page, a Return to Bookmark branch is also required on that page or a succeeding page to resume at the interrupted page.

Page 140: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 141: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 142: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

142

5: Printing scripts with ScalaPrintScala InfoChannel Designer 3 gives you the ability to print out your scripts. Using ScalaPrint, you can produce color or black and white hard copies on paper or transparencies to enhance or accompany your ICDesigner production, or simply to aid in your design process. You may want to summarize your script, print certain pages of your script, or you might need a permanent printed record of the entire script. You might find a need for a cue card-type list of notes for a presenter to follow while your script is being presented.

Using ScalaPrint, you can choose how much of your script to print, whether it be the entire script or only selected pages, as well as lay out the pages in different formats so you can use your printouts for differ-ent purposes. Whatever you choose, ScalaPrint provides you the abil-ity to customize your script printouts to accommodate your particular needs.

ScalaPrint produces printed output in a graphical format similar to the way the Thumbnail view in the Main menu displays your scripts. You can print all script pages on one sheet of paper, or each on its own page—as well as every option in between. The ScalaPrint menu lets you arrange the size, numbering, and arrangement of all the script’s pages on the printed page, and direct that output to a specific printer device.

Understanding ScalaPrint terminology

SlidesUsing ICDesigner, you create scripts consisting of pages and groups of pages. Within ScalaPrint, however, the individual script pages as they appear when printed are called slides to distinguish them from the physical pages that are printed out. Each script page you select from the Main menu to print is condensed into a slide, much like a photo-graphic slide, and placed on the page according to your layout selec-

Page 143: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

143

5: Printing scripts with ScalaPrintUnderstanding ScalaPrint terminology

tions. Then you select options to size, order, label, number, and frame the slides to suit your needs.

Print jobIn ScalaPrint, as in other applications, your intended output from the printer device is referred to as a print job. A print job consists of the slides for the selected script pages you intend to print, their size and layout on the page, and how you order, label, and frame them. You may select to print all script pages or just some of them. Depending upon how you arrange the slides on the printed pages, you may end up with a multiple-page print job, or a print job consisting of all slides on one page.

MatrixThe script pages you select from the Main menu to print are formed into slides, and the slides are arranged on pages depending upon the matrix, or column and row arrangement of the slides.

You can choose to place each slide on its own page, or place perhaps 6 slides on a page, arranged in 2 columns of 3 rows. The matrix, in this example, would be 2 × 3. Should you decide that you’d like to have each slide print on its own page, the matrix you use is 1×1.

You cannot select different matrices for different pages in the same print job. In order to have different slide arrangements on different pages, you must configure a separate print job for each intended lay-out. (See “Different layouts for different pages” at the end of this chap-ter.)

Page 144: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

144

5: Printing scripts with ScalaPrintThe ScalaPrint menu

The ScalaPrint menuTo open ScalaPrint, click the Print icon on the Main menu toolbar. You see the ScalaPrint menu on the screen, divided into two main areas: the page preview section and the ScalaPrint tabbed options.

The page preview section, located across the top of the screen, pro-vides a graphical representation of how your script’s slides will be posi-tioned on a sample printed page. You do not see your actual script pages’ images or content on the screen; just gray boxes used to repre-sent the size and position of each slide.

The tabbed options panels let you select the options that control the layout of your slides on each page, as well as choose the destination printer to generate the hard copy. As you change most layout options, you see the page preview update to reflect your changes.

Remember, the slides are only a representation of the physical position of your script pages; they are not a preview of what will actually print.

page preview

options panels

Page 145: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

145

5: Printing scripts with ScalaPrintScalaPrint tabbed options

ScalaPrint tabbed optionsClick one of the five tabs to see the available options on each panel. You can choose from General, Layout, Labeling, Margins, and Printer.

General panel optionsThe General panel options deal with the overall arrangement of the script pages you want to print.

SlidesThe Slides: pop-up lets you choose whether to print slides for all script pages, or only the slides corresponding to the script pages that you have selected in the Main menu. Use the pop-up to switch between All and Selected. If you have more than one script page selected in the Main menu before you start ScalaPrint, the Slides: pop-up defaults to Selected.

PagesThe Pages: pop-up lets you print all pages in the current print job, or select a range of pages from the print job. Use the pop-up to switch between All and Range. Choosing Range enables the Print Range con-trol below.

Note that this control refers to pages of the print job, not script pages. For example, if your script has twelve pages and your slide layout places six slides on each printed page, the print job has three physical pages, controlled by this option. Choosing Pages: All does not print all script pages unless the Slides: All option has been selected.

Print RangeWhen you select Range from the Pages: pop-up, the Print Range value control becomes active, allowing you to specify the beginning and ending pages of a range you wish to print from the current print job. Select the page number range using the value control. You can use the arrows or enter the page range numbers manually.

Possible values for this control are from 1 to 999. The Print Range value control is not limited to the actual number of pages in the cur-rent print job, so it is possible to set page numbers that are higher than

Page 146: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

146

5: Printing scripts with ScalaPrintScalaPrint tabbed options

the maximum number of pages. If the starting page number is too high, no pages are printed. Entering an ending page number greater than the maximum number of pages is has the same effect as entering the maximum number.

CopiesUse the Copies value control to set the number of copies of the current print job you wish to print.

Include Background?You have the option to exclude the background images from your slides so that they will not be printed as part of the slide. Turning off Include Background? excludes background images from all slides in the current print job. Suppose, for example, that your slides contain text overlying somewhat busy background graphic images, and you are using ScalaPrint to generate transparencies. You want to emphasize only the text, so you might choose to exclude the background images from the slides. The Include Background? option is on by default.

Layout panel optionsThe Layout panel contains options that tailor the way that slides are laid out on the pages of your print job.

OrientationChoose the direction in which the slide’s contents are positioned on the page with the Orientation: pop-up. You can select either Portrait, in which the page height is longer than its width, and columns are positioned across the narrower dimension of the page; or Landscape, in which the page width is longer than its height, and columns are posi-tioned across the widest dimension of the page.

Page 147: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

147

5: Printing scripts with ScalaPrintScalaPrint tabbed options

MatrixYou can specify the number of slides that will appear on a page as well as how they are arranged in columns and rows by using the Matrix value control. The first value represents the number of columns of slides, and the second value represents the number of rows of slides.

You can have as few as 1 slide per page (a matrix value of 1×1) to as many as 100 slides per page (a matrix value of 10×10). Obviously, as matrix values increase, the number of slides on a page increases and there is less room to display each slide. ScalaPrint reduces the size of all slides equally, maintaining their original aspect ratios. As you adjust the matrix values, the page preview slides change correspondingly.

To change the Matrix value, use the value control. You can use the arrows or enter the numbers manually.

Slide OrderPlacing multiple rows and/or columns of slides on a page requires that you decide how to order them. Using the Slide Order: pop-up, you can specify whether the slides’ order is Across, filling each row to progress to the bottom of the page, or Down, filling each column to progress to the right side of the page. The default order is Across.

ScaleSometimes when printing a script you need more white space around your slides, whether it be for notes, framing, titles or labels, or just for aesthetic reasons. Using the Scale option, you can scale down or reduce slides to a percentage of their maximum size. Keep in mind that the maximum slide image sizes are initially determined by the number of slides you choose to place upon each page with the Matrix control. Scaling does not increase the number of slides on a page; it merely reduces each slide’s image size. You cannot scale up, or enlarge a slide to greater than 100% of its maximum size.

Row AlignmentJust like you justify or align text, you can align slides. However, with ScalaPrint, you are actually aligning the slides within the boundaries of their individual matrix areas.

Page 148: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

148

5: Printing scripts with ScalaPrintScalaPrint tabbed options

Row Alignment: allows you to align the rows of slides vertically on the page. Choose from among Center, Top, and Bottom alignments. Select-ing Center aligns the slide row(s) at the centers of the matrix areas. Selecting Top aligns the slide row(s) along the top edges of their matrix areas. Selecting Bottom aligns the slide row(s) along the bottoms of their matrix areas.

Aligning slides has a visual effect only if the slides have room to move vertically within their matrix areas. If your slides do not move when you change their alignment, use the Scale option to reduce their size.

Column AlignmentColumn Alignment: allows you to align the column(s) of slides hori-zontally on the page. Choose from among Center, Left, and Right alignments. Selecting Center aligns the slide row(s) along the centers of the matrix areas. Selecting Left aligns the slide row(s) along the left edges of their matrix areas. Selecting Right aligns the slide row(s) along the right sides of their matrix areas. Note that further adjustments may need to be made to the page’s margins using the Margins option tab, discussed later in this chapter.

Aligning slides has a visual effect only if the slides have room to move horizontally within their matrix areas. If your slides do not move when you have justified them, use the Scale option to reduce their size.

Page 149: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

149

5: Printing scripts with ScalaPrintScalaPrint tabbed options

Labeling panel optionsScalaPrint’s Labeling panel gives you a variety of options to control the labeling of your slides on the printed pages.

Title?The Title? option, which is on by default, places the name of your script, without its file extension, at the top of each page of your print job. With the Title? option turned on, you see a greeked representa-tion of the title displayed at the top of the page preview. With the Title? option turned off, the printed pages have no heading.

Page Number?The Page Number? option enables or disables printing the print job’s page number at the bottom of each page. The page number represents the order of the pages as they are generated by the printer for this print job, and does not necessarily correspond to the numbering of pages in the script. With the Page Number? option on, you see a greeked repre-sentation of the page number displayed at the bottom of the page pre-view.

frame

slide number

slide name

title

page number

Page 150: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

150

5: Printing scripts with ScalaPrintScalaPrint tabbed options

For example, suppose you select pages 1, 3, and 5 from the Main menu, and set the matrix to 1×1 in ScalaPrint, so each slide prints on one page. You have defined a print job of 3 pages. These pages, if you turn on Page Number?, will be pages 1, 2, and 3 of the print job. The print job’s page numbers do not correspond to the script’s page num-bers.

Frames?You can choose to have an beveled frame, much like a picture frame, placed around your slides. If you turn the Frames? option on, a pre-defined frame is placed around each slide; if left off, which is the default, the slide is displayed and printed with no border around it. With the Frames? option on, you see thin lines representing the frames outlining each slide in the page preview. ScalaPrint frames are the same thickness regardless of slide size.

Slide Name?Turn Slide Name? on to enable the name of a slide to print directly underneath the slide image. The slide’s name corresponds to the script’s assigned page name, including the extension if a file name is used. With the Slide Name? option on, you see a greeked representa-tion of the slide name displayed underneath and to the left of each slide in the page preview. This option is off by default.

Slide Number?Slide Number? enables or disables printing the slide’s script page num-ber directly underneath the slide image. This number is the same as the script’s page number.

If a slide is part of a group of pages in the Main menu, the slide num-ber is printed as the Group number, followed by a dash (-), and then the page number within the group. With the Slide Number? option on, you see a greeked representation of the slide number displayed under-neath and to the right of each slide in the page preview.

Page 151: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

151

5: Printing scripts with ScalaPrintScalaPrint tabbed options

Margins panel optionsYou can adjust the margins of the printed page by using the Top, Left, Bottom, and Right value controls on the Margins panel.

The units of measure indicated on the value controls are controlled by the Margin Units: pop-up. Adjusting the margins is especially useful when you need to leave room for binding your printout.

Printer devices have different minimum margin settings, and you may find that a minimal margin you select is not supported by your printer. If your images, text, or labels seem to be cut off near the page edge, consult the printer manual to determine the printer’s minimum supported margin.

Margin UnitsMargins can be specified as either 16ths of an inch (English units) or millimeters (metric units). Use the Margin Units: pop-up to switch between English and metric. When you change between millimeters and sixteenths, the individual margin values accurately convert from metric to English and vice versa.

Printer panel optionsThe Printer options panel allows you to adjust physical printing options, including allowing you to choose the print device itself.

Page 152: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

152

5: Printing scripts with ScalaPrintScalaPrint tabbed options

PrinterUse the Printer: pop-up to choose from the list of available printers your computer is set up to use. You can select only from those printers configured in the Windows Printers folder. If the printer name you want is not available from the pop-up, check your system’s printer set-tings. The default printer displayed in ScalaPrint matches your default Windows printer.

PaperUse the Paper: pop-up to choose a paper size for your print job. The sizes listed are those that the currently selected printer accommodates.

Printer PropertiesClicking the Printer Properties button opens the Windows Printer Properties dialog so you can select from among the other features the selected printer driver offers.

Other than to select printer device, paper size, number of copies and paper orientation, you must use the external Windows Printer Proper-ties dialog to change the current printer’s features.

Page 153: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

153

5: Printing scripts with ScalaPrintDifferent layouts for different pages

For these printer settings that you can also make directly in ScalaPrint, the corresponding settings in the Printer Properties sheet reflect what-ever choices you have already made. Similarly, changes you make in Printer Properties are reflected in ScalaPrint when you click OK and return.

Reset SettingsClicking Reset Settings changes all of ScalaPrint’s settings back to their defaults, causing whatever selections you have made to be discarded.

Print!When you have made all your choices for your print job’s content, lay-out, and destination, you are ready to print. Click the Print! button to send the currently configured print job to the printer you have selected.

CloseSelecting Close exits ScalaPrint and returns you to the Main menu. All General, Layout, Labeling, Margins, and Printer settings are automati-cally saved when you close the ScalaPrint menu.

Different layouts for different pagesScalaPrint supports only one matrix or layout for the entire print job. If you want to select more than one matrix arrangement for different pages, you must configure separate print jobs for each intended layout.

Say, for instance, that you want pages 1, 6, and 11 to print by them-selves, each being the only slide on the page; yet you want pages 2-5 together on a page, and pages 7-10 together on a page. To accomplish this, you must set up and print two separate print jobs. Select pages 1, 6, and 11 from the Main menu, set the Matrix pop-up to 1×1, and then send the print job to the printer. Then select pages 2, 3, 4, 5, 7, 8, 9, and 10 from the Main menu, and set the Matrix pop-up to some-thing which would allow 4 slides to print on a page, such as 2 ×2, or 1×4, or 4 ×1. Then send the second print job to the printer.

Page 154: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 155: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 156: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

156

6: Publishing with InfoChannel Designer 3Scala InfoChannel Designer 3 gives you the tools you need to create dynamic multimedia productions to communicate your messages with maximum impact. Once you have created an InfoChannel Designer production, you will want as many people as possible to see it.

With ICDesigner you can publish your productions, or have them dis-tributed so that your message is received by someone else.

The most powerful type of publishing offered in ICDesigner is pub-lishing to InfoChannel Network. An InfoChannel Network consists of a system of remote PCs running Scala InfoChannel Player software, and controlled through the Scala InfoChannel Network Manager application, both available separately.

Scala’s freely available Internet-enabled viewer technology, iplay 3, provides playback of ICDesigner’s script files that have been published to CD-ROM or as a Web component or file. The Microsoft® Internet Explorer browser can play ICDesigner scripts directly in the browser window if iplay 3 is installed. Scripts can even be published as video files or as simple Web pages, neither of which require Scala software to be viewed.

In any case, your productions can be seen by anyone regardless of whether or not that person has ICDesigner authoring software.

Multiple media publishingICDesigner allows you to publish to a variety of media. You can pub-lish to an ordinary disk file, publish for transmission by e-mail, pub-lish for CD-ROM mastering, or publish to the InfoChannel Network for remote transmission. The publishing process involves collecting all the files that compose the production (including art, graphics, video, and sound) and putting them together in a conveniently portable form. Whatever the publishing medium, the procedure you use is sub-stantially the same, with different options depending on the final des-tination of the published script.

Page 157: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

157

6: Publishing with InfoChannel Designer 3Multiple media publishing

Different capabilities in publish mediaYou need to be aware that the different ICDesigner publish media yield different end products, not all of which provide the same experi-ence for the viewer. There are significant variations in form and capa-bility among the publish media, including the following:

• EX functions – EX events authored using optional EXes—Log, TextFile, Billing, Serial, MCI MPEG, Optibase, Queue, and WinScript—require those EXes to be present on the playback sys-tem for those events to operate.

Only the ICPlayer 3 software, running on a Player in an Info-Channel Network, supports the playback of optional EX events in published scripts. The iplay 3 viewer software does not support optional EXes. This means that optional EX events cannot be expected to function in scripts published to CD-ROM, File, E-mail, or Web Component. (Publish to HTML Slides and to Video do not involve script playback in the usual sense, so they also do not support EX events.)

• Scheduling – The scheduling of script events through the Sched-ule menu is supported only in scripts published to InfoChannel Network. Scheduled events in scripts published to other media can play at any time.

• Editability – Scripts published to CD-ROM, File, E-mail, or Web Component can be edited, but doing so is difficult mainly because of the way their media files are referenced. Generally, publishing is not the ideal way to distribute a script intended for further edit-ing. It is better to use Save As on the Main menu with the appro-priate Advanced Save Options settings if you need to “package” a script and still allow it to be editable.

Scripts published to HTML Slides or to Video are not editable at all within ICDesigner.

• Cross-platform capability – Actual script playback is dependent on Windows and thus is restricted to the PC platform. Scripts published to Video, however, would be viewable on other plat-

Page 158: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

158

6: Publishing with InfoChannel Designer 3Publishing features

forms for which AVI or AnimGIF viewers exist. Scripts published to HTML Slides would be viewable on any platform’s browser, although the dynamics of script playback are not represented.

• Interactivity – Scripts published to HTML Slides or to Video do not preserve any interactive features of a script (buttons, Text Entry Fields, script navigation).

• Playback software requirements – Scripts published to InfoChan-nel Network require ICPlayer 3 software for playback. Scripts published to Web Component, File, E-mail, or CD-ROM require the free iplay 3 viewer software; this is included automatically in Publish to Stand-alone CD-ROM, and can be downloaded from www.scala.com. Scripts published to Video require any player program that handles the AVI or AnimGIF formats. Scripts pub-lished to HTML Slides require only standard web browser.

Publishing featuresICDesigner lets you make choices about what you want to include in your published production. You set options in the Publish Script dia-logs, of which there is one for each publish medium.

This dialog makes it easy for you to make various global settings regarding the script’s final published form and destination. It also addresses possible licensing and software setup issues. (Scala gives you the right to reproduce and distribute the clip art that comes with it, but your script might use content for which you must obtain other licenses independently. See appendix B, “Licensing issues”, for more information.)

When you click the Publish icon from the Main menu toolbar, you see a drop-down list showing the possible publishing media:

• InfoChannel Network – Publish to InfoChannel Network is for customers who have an installation that also includes InfoChannel Network Manager 3, Scala’s facility for transmitting and updating scripts on systems of remote PCs running InfoChannel Player 3

Page 159: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

159

6: Publishing with InfoChannel Designer 3Publishing features

software. Publishing to the network is the first step in the trans-mission process.

• Web Component – Similar to Publish to File, but allows you to upload the published script file directly to a Web server. This also can create an example HTML page for immediate Web access to the published script. A knowledgeable Web author can cut and paste the script with its Web-enabling HTML “wrapper” from this page. Requires iplay 3 for script playback.

• Stand-alone CD – Creates a file set and folder structure that are ready for burning as a CD-ROM image, containing the script as an autorunning Windows application. When the script runs, iplay 3 is installed if necessary, then the script runs off the CD.

• File – For sharing with recipients who already have iplay 3, this packages the script for easy distribution, including the capability to save the script with all associated media as a single file.

• E-mail – Assuming your default e-mail program is SMAPI-com-pliant, opens it and prepares a new message ready to address and send, with the published script as a single-file attachment. Requires iplay 3 for script playback.

• HTML Slides – Creates a set of HTML pages that displays your script as a series of static slides. This is useful as a quick and easy way to share the basic design of a script. Because these pages are standard HTML, they can be seen in any browser, on any Web-enabled computer platform.

• Video – Plays back the script, capturing the resulting display as a standard form of computer video file, either an AVI or an AnimGIF. This is an ideal way to share non-interactive scripts as single files, using universally available playback software.

Choosing any of these media opens that version of the Publish Script dialog, the options on which vary depending on the medium you choose. But for all the publish media, the dialog is laid out and func-tions in essentially the same way.

Page 160: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

160

6: Publishing with InfoChannel Designer 3Publishing to InfoChannel Network

Options columnThe Options column on the left hand side of the dialog contains a dif-ferent set of options for each type of publish medium.

Script Information boxThe Script Information box gives you information about the script that you have chosen to publish, such as the approximate size in megabytes of the script.

ICDesigner automatically scans your script and displays information about it in the Script Information box. It also displays information about data that is being processed, while it is being processed. Finally, it tells you whether or not publishing was successful after you click the Publish! button. If publishing was not successful, you see an error mes-sage telling you why it failed.

Publish!After you have chosen all your publishing options and click the Pub-lish! button, the published production is saved.

ICDesigner allows you to assign a password to your scripts, which pro-tects them from being inspected or edited by people who do not have access to the password. A password is not needed, however, simply to run the production.

The script currently showing in the Main menu is the one published. None of the original script’s files are affected by publishing.

Publishing to InfoChannel NetworkThe Publish to InfoChannel Network dialog is where you prepare a script for distribution to a network of remote Player machines on an InfoChannel Network. The publishing process collects all the script’s

Page 161: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

161

6: Publishing with InfoChannel Designer 3Publishing to InfoChannel Network

constituent files and arranges them in a structure that is appropriate for efficient and reliable transmission.

The published script is deposited in a Publish Location, a folder defined in and accessible to InfoChannel Network Manager, Scala’s companion software for administration of InfoChannel Networks.

Script NameEnter a name for the published script (.SCB is appended). This does not need to match the name under which it has been saved (as a .SCA file) in ICDesigner.

Publish toUse the Publish to: pop-up to pick one of two possible settings, Local or Shared Folder or FTP. These give you the option of either saving the script and its related files to a Publish Location on a local disk, or uploading it via FTP to a remote Publish Location. There are addi-tional options that vary depending on which publish setting you choose.

Page 162: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

162

6: Publishing with InfoChannel Designer 3Publishing to InfoChannel Network

You would publish to disk if your Publish Location happens to be on a local disk or accessible through a LAN. If the Publish Location is off-site, you would use FTP. To use FTP, you must have an account with an Internet Service Provider that offers FTP hosting, and know the username, password, and FTP site and directory information.

Folder (Publish to Local or Shared Folder only)If you choose Publish to: Local or Shared Folder, the Folder: button appears below the pop-up. Click this button to open the File dialog, where you can specify the folder into which the script-related files should be published.

The File dialog has the Default Custom Places button. Clicking it specifies the Default Publish Location folder as the destination. This folder—normally located at

<systemroot>:\Documents and Settings\All Users\Docu-ments\Scala\Network Transmission\Publish Locations\Default

where <systemroot> is the letter of the drive where ICDesigner is installed—is set up automatically for you during installation.

Page 163: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

163

6: Publishing with InfoChannel Designer 3Publishing to InfoChannel Network

It is recommended that you use this as your destination folder unless you have a compelling reason to use a different location. The Default Publish Location allows more efficient data flow, and also is simpler from the Network Manager side because it requires no configuration to use.

If you need to choose your own destination folder, it does not have to exist already. Navigate to the folder within which you would like to make the publish folder, click the New Folder icon to create a folder, rename it, then open the new folder.

If you have previously published this script to the folder you choose, any previously published versions of this script are deleted before pub-lishing is performed.

FTP Folder (Publish to FTP only)The FTP Folder: button appears below the pop-up when Publish to: FTP is chosen. Click to open a dialog in which you enter FTP login information.

URL: – enter the FTP upload address to which the script files should be sent. For example:

ftp://192.168.0.10/Aserver/NetMgr/PubContent

or

ftp://ICNMserver.com/Publish Locations/MyContent1

Page 164: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

164

6: Publishing with InfoChannel Designer 3Publishing to InfoChannel Network

Be sure to include the path from the FTP root to the directory on the FTP server into which the published files should be deposited.

Use forward slashes to separate directory levels in the path.

User Name: – To gain access to the FTP server to upload the published script, an FTP logon is required. Enter the name in the User Name: text box.

Password: – A password is also required to complete the logon to the FTP server. Enter it in the Password: text box. The characters you type appear as asterisks (*), so you will not be able to see them.

Confirm Password: – Type the password again in this box. What you enter must exactly match the Password: entry.

Click OK when you have entered the FTP login information.

In the FTP Folder: button, you see the FTP URL with the username you gave embedded in it, like this:

ftp://[email protected]/Publish Locations/MyContent1

Advanced OptionsAdvanced Options opens a dialog that allows you to specify whether to include wipe files and font files with the published script. When these options are on, messages appear in the Script Information box remind-ing you.

Include Fonts?Turn on (✓ ) Include Fonts? when your production uses fonts that might not be installed on the Player machine. Turning Include Fonts? on ensures that they be included with the script files. Scala bitmap fonts are placed in a Fonts directory; TrueType fonts, if their distribu-tion is permitted, are provided as embedded binary data. If a True-Type font is internally defined as non-redistributable, ICDesigner cannot include it. The viewer must acquire that font independently before the production can be played.

Important: You must be sure to check on the licensing requirements for the fonts that you include. ICDesigner bitmap fonts are freely

Page 165: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

165

6: Publishing with InfoChannel Designer 3Publishing to InfoChannel Network

redistributable for any purpose and have no licensing requirements. The TrueType fonts included with Scala ICDesigner are freely redis-tributable for any production you create, but only for non-commercial purposes. TrueType fonts that you acquire from other sources have licensing restrictions that vary from manufacturer to manufacturer, and it is your responsibility to comply with the requirements for each.

See appendix B, “Licensing issues”, for a more complete discussion of licensing requirements.

Include Wipes?Include Wipes? should be turned on (✓ ) when your production includes ICDesigner wipes that you want to make sure perform on the Player. Alpha wipes, for example, use special image files to generate their reveal patterns. When this option is on, the wipe files used in your production are included with the other script files. If this option is not included, wipes become simple Cut wipes on a Player that does not already have the necessary wipe files.

Copy to Linked Content Folder?Turning on the Copy to Linked Content Folder? option causes a dupli-cate copy of the published script to be placed in the Linked Content folder. Use this option when you want to load the script into another script in ICDesigner as a sub-script, but have the sub-script later pub-lished as a link, so that it can be independently updated like any other linked content file. (Normally, sub-scripts are included with their Main Scripts when published to InfoChannel Network, and so cannot be independently updated.)

When you publish a copy of a script to the Linked Content folder, you see a <scriptname>.SCB file in the folder. This file is not the actual script file, however it can be opened just like an unpublished .SCA script file. In the Linked Content folder is also another folder, which contains the actual script and its content files. You cannot open this folder from the File dialog, and do not need to. The naming and structure of the contents of this subfolder are esoteric and should not be disturbed.

Page 166: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

166

6: Publishing with InfoChannel Designer 3Publishing to InfoChannel Network

Publishing scripts with linked contentScripts that use linked content—files chosen from the Linked Content folder—are treated differently in publishing to the InfoChannel Net-work than other scripts. Unlike other content files, linked content files are not included and stored along with the script when it is published. Only references to the content file name are included in the script. The actual content files to be used in playback on InfoChannel Players are assumed to be present on the Players, having been sent there sepa-rately.

However, since the linked files are not published with their script, they are not guaranteed to be on the Players. If the linked files are in fact not on the Players at the time the script referencing them plays back, playback will not be correct.

Because of this risk, when you publish a script to the InfoChannel Network, it is scanned for linked content references. If any are found, you see a warning dialog that reminds you of the nature of linked con-tent and lists the files that need to be sent separately to the Players:

Linked content filereference in this script

Page 167: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

167

6: Publishing with InfoChannel Designer 3Publishing to CD-ROM

Publishing to CD-ROMThe Options column in the Publish Script to Stand-alone CD dialog contains settings specific to publishing for CD-ROM distribution.

A production published to a stand-alone CD plays back from the CD. On the CD is included a setup program that installs the iplay 3 player software as well as any required third party components.

Project NameProject Name: is the name given to the published script and the folder in which the script and other script files and folders are placed. The .EXE file that starts playing the script also has this name.

The name can be anything you want, but illegal characters are stripped from it, and any spaces in the name are replaced by underscores (_). The extension .SCB, indicating a published ICDesigner script, is auto-matically added to the name you give.

Publish to FolderPublish to Folder: indicates where your publish folder will be. When you publish, all the files used by a production are copied to the publish folder. The default location is the folder where the script is saved, or to the Scripts folder for an unsaved script.

Click the Publish to Folder: button to open the File dialog, where you can choose a location. The location you choose must be within the

Page 168: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

168

6: Publishing with InfoChannel Designer 3Publishing to CD-ROM

folder structure that will eventually be written to the CD-ROM mas-ter. After publishing, the folder you choose here contains the README.TXT file for the script, an AUTORUN.INF file, and a folder (with the name you gave in Project Name:) that contains all the script folders and files.

If you have previously published this script to this folder, any of the previously published contents related to this script are deleted before publishing is performed. After publishing, the folder (with all of the production’s files) can be mastered to a CD-R with any CD burning software.

Startup ImageThe startup window is the first thing you see when you run a published script either by double-clicking its icon in My Computer, or choosing it through the Start menu.

If you do not change the startup window image, you see the default iplay 3 startup screen shown above. To substitute your own image for ICDesigner’s default, click on the Startup Image: button to open a File dialog, then choose the image file that you want to import. Click OK. When you run the published production, you see the image you chose as the startup screen.

The image can be any size, color depth, and graphics format supported by ICDesigner, but to ensure compatibility with the majority of machines, we recommend you use an image that is approximately one-quarter the size of a 640 × 480 VGA screen. If the image you choose is smaller than the minimum of 240 × 120 pixels, it will be scaled up to

Page 169: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

169

6: Publishing with InfoChannel Designer 3Publishing to CD-ROM

that size. To have text on your startup screen, the text must be part of the image itself.

AutoPlay?The AutoPlay? option lets you create productions that install them-selves and play automatically. If this option is on, when the viewer inserts the CD into the CD-ROM drive and closes the CD-ROM drive drawer, a setup program begins to run. The setup program cop-ies the iplay 3 player to the system’s hard drive automatically. Then the production begins to run from the CD. On (✓ ) is the default.

If any of the required Microsoft software components are not installed on the playback PC, the setup program displays a dialog explaining that they need to be installed before the production can run. It can install DirectX® 8.1 automatically if Microsoft’s distribution archive has been included on the CD. It is recommended that you include the DirectX archive in your CD image, so that large Internet downloads will not be required before your production can be viewed.

Please see the section “Microsoft components” on page 189 of this chap-ter for more information.

Publish as One File?Publish as One File? allows you to embed the media files that are part of the production into the same file as the script itself. Normally, most media (background and clip image files, sound files, etc.) are included as separate, externally-referenced files. This can be more flexible in many circumstances.

To prevent confusion, and ensure that crucial files do not become lost, misplaced, or misused by recipients of the CD, you can publish all the script contents as a single file. However, a factor to keep in mind is that for a script published this way, the entire file must be loaded into memory. For large scripts and/or playback machines without plenty of free RAM and disk swap space, this can result in impaired script per-formance.

Page 170: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

170

6: Publishing with InfoChannel Designer 3Publishing to a file

Run Script in Desktop Window?A script can run either full screen or in a window on the desktop. The Run Script in Desktop Window? option lets you specify which.

Color PaletteThe Color Palette: pop-up provides three choices that let you control the color depth of the display mode that the script uses in playback:

• Same as User’s Desktop – does not change the color depth of the user’s screen.

This is the safest choice, as it eliminates the possibility of iplay try-ing to use a display mode that is unavailable to the video card or damaging to the monitor. However, playback does require a High Color or True Color display mode. If the user’s desktop is set to 256 colors, the script will not be able to play.

• Thousands – If necessary, sets the display mode color depth to High Color (16 bits, approximately 65,000 colors).

• Millions – If necessary, sets the display mode color depth to True Color (24 bits, approximately 24 million colors).

Publishing to a fileThe Publish Script to File dialog lets you save the script and all its content to a disk location in a format ready for playback with iplay 3. Use this medium if the intent is to share the script over a network, transfer it to another system on a floppy or other removable disk medium (other than as its own CD-ROM) or simply to store it in its published form (possibly as a single file), for later playback using iplay.

Page 171: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

171

6: Publishing with InfoChannel Designer 3Publishing to a file

In the Options column are the buttons Project Name:, Publish to Folder:, Publish as One File?, and Advanced Options.

Project NameProject Name: is the name given to the published script and the folder in which the script and other script files and folders are placed. The .EXE file that starts playing the script also has this name. The exten-sion .SCB is automatically added to the name you give.

Publish to FolderPublish to Folder: lets you choose the publish folder, within which your published script will be placed. When you publish, all the files used by a production are copied to the publish folder. The default location is the folder where the script is saved, or to the Scripts folder for an unsaved script.

Click the Publish to Folder: button to open the File dialog, where you can choose a location. After publishing, the folder you choose here contains a file (with the name you gave in Project Name: plus the extension .SCB), and another folder, which contains all the script fold-ers and files.

Keep in mind that the publish folder you choose should be empty to start with. If it is not, anything in the folder is deleted before publish-ing is performed.

Publish as One File?Publish as One File? is an option that allows you to embed the media files that are part of the production into the same file as the script itself. Normally, most media (background and clip image files, sound files, etc.) are included as separate, externally-referenced files. This can be more flexible in many circumstances. However, to prevent confu-sion, and ensure that crucial files do not become lost, misplaced, or misused by recipients of the CD, you can publish all the script con-tents as a single file.

Page 172: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

172

6: Publishing with InfoChannel Designer 3Publishing to Web component

Advanced OptionsAdvanced Options opens a dialog that allows you to specify whether to include wipe files and font files with the published script. This is the same dialog as described in the “Publish to InfoChannel Network” sec-tion. See page 164 for details on the Advanced Publish Options dia-log.

Publishing to Web componentOpening the Publish Script to Web Component dialog makes it pos-sible to publish the script to a Web server, from which it can be accessed through a standard URL.

The published script is no different from that produced by Publish Script to File with the Publish as One File? option on. The intent of this form of publishing is primarily to allow the script to be incorpo-rated into a Web page created in a Web authoring application. A Web author can put the published script file in a Web page by enclosing it in the appropriate HTML Object “wrapper” code. Publish Script to Web Component includes an option to create a simple Web page con-taining the script, which is convenient for testing and as a template for how to invoke the script.

When someone who has the iplay 3 viewer installed accesses a page that contains a link to the published script in a capable browser, the script plays. In Microsoft Internet Explorer 4 and up, the script plays in the same browser window.

Page 173: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

173

6: Publishing with InfoChannel Designer 3Publishing to Web component

This form of access is like a standard Web page. The script content downloaded by the browser is not stored permanently on the machine’s hard drive, but rather is cached as temporary files like nor-mal Web data. The URL must be visited again to see the latest version of the script, just like a Web site.

Setting up a Web pagePublishing a Web page is a simple process. But there are a few impor-tant pieces of information you need to know beforehand to be able to complete the process.

In particular, you need to know two things:

• where on the Web server your script will reside

• the URL that people will use to access it

You need to enter these locations, in the form of paths to a server directory, in this dialog.

If you administer your own Web server, you should be able to deter-mine these locations for yourself. If you use the Web server of an Internet service provider (ISP), you need the ISP to tell you where the script files should go, and the URL that would be used by the outside world to get to them.

Project NameEnter the page title that should appear on the title bar of the Web browser in the Project Name: text box. This also is used for the file name for the published script (.SCB is appended).

Publish toUse the Publish to: pop-up to pick one of two possible settings, Local or Shared Folder or FTP. These give you the option of either saving the script and its related files to a local disk, or uploading it via FTP to a remote Web server. There are additional options that vary depending on which publish setting you choose.

Page 174: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

174

6: Publishing with InfoChannel Designer 3Publishing to Web component

You would publish to disk if your Web server happens to be on a local disk, or if you want to check the published file from your browser without uploading it to a remote server. In most cases, a Web server is remotely located, and final publishing involves publishing to an ISP via FTP.

Folder (Publish to Local or Shared Folder only)If you choose Publish to: Local or Shared Folder, the Folder: button appears below the pop-up. Click this button to open the File dialog, where you can specify the folder into which the script-related files should be published.

The folder does not need to exist already. Navigate to the folder within which you would like to make the publish folder, then type a backslash and a name into the Folder: box. You are asked if you want to create a folder by that name.

FTP Folder (Publish to FTP only)The FTP Folder: text box appears below the pop-up when Publish to: FTP is chosen. Click to open a dialog in which you enter FTP login information.

URL: – Use this to enter the address on the FTP upload site to which the script files should be sent. For example, ftp://yourpro-vider.com/sites/user66.

Be sure to enter the path from the FTP root to the directory on the FTP server into which the uploaded files should be deposited. You should use forward slashes to separate directory levels in the path.

User Name: – To gain access to the FTP server to upload the published page, an FTP logon is required. Enter the name in the User Name: text box.

Password: – A password is also required to complete the logon to the FTP server. Enter it in the Password: text box. The characters you type appear as asterisks (*), so you will not be able to see them.

Confirm Password: – Type the password again in this box. What you enter must exactly match the Password: entry.

Page 175: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

175

6: Publishing with InfoChannel Designer 3Publishing to e-mail

Click OK when you have entered the FTP login information.

Include an HTML Template Page?So that you can immediately test the published script in a browser, the Include an HTML Template Page? option is provided. When this option is off, just the <title>.SCB file is produced and uploaded. By itself, this file is not playable from a browser.

Turn this option on (✓ ) to generate a simple Web page that contains the HTML code needed to access and play a published ICDesigner script. The HTML file for this page is placed in the same location specified for publishing the script file. You can use this page as is to make the script instantly available over the Web, or use it as the start-ing point for a page of your own design.

Two additional options are enabled when you choose to include a template page:

HTML File NameIn the HTML File Name: text box, enter the name you want for the <projectname>.HTML file that generates the template page. A default name is provided, which you can change if necessary.

URL for ScriptIn the URL for Script: text box, enter the URL by which the template page should be accessed. A default location is provided, which you can change if necessary. After publishing, you should be able to enter this URL in your browser and see the template page, from which you can play the script.

Publishing to e-mailBecause it is often necessary to exchange scripts with others you are working with, the Publish Script to E-mail dialog makes it possible to publish to e-mail. Publishing to e-mail simply means that ICDesigner publishes the script as a single file, and automatically invokes your e-mail program with the script file already set up as an attachment to the e-mail. This is not fundamentally different from publishing to disk

Page 176: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

176

6: Publishing with InfoChannel Designer 3Publishing to e-mail

and then later running your e-mail program and attaching the pub-lished script file, but is more convenient.

Publish to e-mail works through the Simple MAPI mail protocol, so you must have a browser or mail program that supports MAPI. (In some versions of Outlook Express™, you need to look under Internet Options and enable it as a MAPI client so that ICDesigner can find it.)

The process for e-mail publishing is much the same as publishing to disk; you just don’t have to specify a folder. Choose E-mail from the Publish drop-down to see the Publish Script to E-mail dialog.

Set Project Name: to the desired name for the published script.

In the Advanced Publish Options dialog, decide whether you need to include fonts or wipe files for the recipient of the script and select those options accordingly. This is the same dialog as described in the “Publish to InfoChannel Network” section. See page 164 for details on the Advanced Publish Options dialog.

When you have set all options and click Publish!, your e-mail program is opened. A new mail message is started with the published script file as an attachment. You see the e-mail application window, where you address the message and write any message text you like as you nor-mally would in that program. When you instruct the mail program to send the message, it does so and the mail program window is closed or minimized so you can return to ICDesigner work.

The recipient of the email must save the attached script, and then can run it. The iplay 3 viewer is required.

Page 177: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

177

6: Publishing with InfoChannel Designer 3Publishing to HTML slides

Publishing to HTML slidesChoose HTML Slides from the Publish drop-down to see the Publish Script to HTML Slides dialog.

ICDesigner includes the Publish to HTML Slides feature to make it easier to share ICDesigner script ideas over the Web. This type of pub-lishing does not make a script play in a Web browser—use Publish to Web Component for that. Instead, Publish to HTML creates a set of HTML files. These files define a Web page that provides an overview of an InfoChannel Designer script.

The Web page created by this type of publishing consists simply of a grid of thumbnail images of the screen pages in the script, much like the Thumbnail view of the Main menu. When a thumbnail image in this index page is clicked, a full-sized image or “slide” of the screen page is displayed in the browser window. The title bar of the full size pages has navigation buttons to let you move forward and back through the slides, or return to the index page. In a browser, it would look something like this:

Page 178: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

178

6: Publishing with InfoChannel Designer 3Publishing to HTML slides

The slides displayed show all the text, clips, and draw objects on the page. Just the initial frame of an animation background, movieclip or animclip is shown. Page and element wipes, sound, and other dynamic aspects that might be included in the script are not represented.

Putting up a Web page of a script published to HTML is a way to achieve extremely wide, fast distribution of a script for review and commentary. It does not require viewers to have a special plug-in—a standard browser is sufficient. This also means that it is platform-inde-pendent, allowing you to share your script concept with users of Mac-intosh®, UNIX®, and other operating systems. Although it omits certain significant components of a finished script, its storyboard-like format lets you easily publicize and get feedback on the graphic design aspects of a script, which can be important in a time-critical authoring environment.

Setting up a Web slides pageThe basic process of setting up a Web page of slides is the same as on the Publish Script to Web Component dialog, so Project Name:, Pub-lish to: and the related options found on that dialog are duplicated here. See the documentation of these options starting on page 173 for details.

This illustration shows how the dialog might look after an FTP pub-lish site and login have been specified:

Page 179: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

179

6: Publishing with InfoChannel Designer 3Publishing to HTML slides

Include Page Names?When the Include Page Names? option is turned on, the names of the screen pages as seen in the Main menu are displayed under the page thumbnails in the generated Web page.

Thumbnails Per RowSimilar to the Thumbnail view, you can also specify how many page images should appear in a row. Use the Thumbnails Per Row value control to increase or decrease the number of thumbnail images that appear in a horizontal row. The default is 5.

Thumbnail Size in PixelsYou can specify how large each thumbnail should be using the Thumbnail Size in Pixels value control. Enter a horizontal and a verti-cal size. If these settings are not proportional to the aspect ratios of the pages themselves, the resulting thumbnails will be as large as possible to fit within a box of the size you specified.

All pages are converted to JPEG images for Web publication, regard-less of the original format of their component images.

Scale Pages?The Scale Pages? option lets you decide whether the full-size images seen when the thumbnail images are clicked should be scaled to a par-ticular size. Typically, this would be used to make the full-size images somewhat smaller to fit more conveniently into the browser window, which could be less than a full screen.

By default, the full-size image has the same pixel dimensions as the original background. Turning this option on (✓ ) turns the option but-ton into a value control that allows you to specify horizontal and verti-cal pixel dimension values for the full-size images. If these settings are not proportional to the aspect ratios of the pages themselves, the resulting images will be as large as possible to fit within a box of the size you specified.

Page 180: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

180

6: Publishing with InfoChannel Designer 3Publishing to video

Publishing to videoChoose Video from the Publish drop-down to see the Publish Script to Video dialog.

For those times when you need to share an ICDesigner script with someone who does not have the Scala software necessary for playback, it is possible to publish the script in standard computer video formats.

The supported animation formats allow the script playback—with its wipes, animations and buttons—to be represented in a standard multimedia file. When you publish to video, ICDesigner plays the script and essentially does a screen capture of the graphic output. Script looping is ignored; the script only plays through once from beginning to end.

The resulting file is a playback-only medium; there is no way to respond to buttons in the script, nor to edit the resulting file. The mouse pointer is not captured. However, when you simply need to send a production to a diverse, possibly unknown audience, the video publish option can be a lifesaver.

Project NameThe name you enter in Project Name: becomes the name of the video file. An extension of .AVI or .GIF is added automatically depending on the video format you choose.

ICDesigner Note

Publish Script to Video does not capture any sound events that the script might have. It is graphics-only.

Page 181: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

181

6: Publishing with InfoChannel Designer 3Publishing to video

Publish to FolderClicking Publish to Folder: opens the File dialog, where you can choose the location to store the video file. This form of the File dialog does not allow you to select files—only a folder or a device.

Size optionsThe Output Size: button by default is set to Original, and shows the script size in pixels horizontally and vertically. Animations are nor-mally generated to be the same size as the script.

However, you can specify a different size. To do so, click the Output Size: pop-up and change it from Original to Custom. When you do this, you see the Custom Size value control and the Keep Aspect? option in the space below the pop-up.

Using a custom output sizeThe Custom Size control initially shows the same dimensions as the script size.

Use the first value on the Custom Size control to set the horizontal size in pixels, the second value to set the vertical size in pixels. Picking val-ues that are integer multiples or fractions of the initial value (for exam-ple 320 × 240 for a script that is 640 × 480) gives the best looking results. If you need an in-between size, a value that is a multiple of 4 will probably look best.

Output size constraintsSome AVI video codecs require that the video dimensions be a multi-ple of 4, or some specific value. In such cases, the resulting video may not match the displayed output size.

To automatically retain the proportions of the original script when adjusting the animation size, turn on (✓ ) Keep Aspect?. When this option is active, changing either the horizontal or vertical size also changes the other size value in tandem to yield a constant aspect ratio for the published animation.

Page 182: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

182

6: Publishing with InfoChannel Designer 3Publishing to video

Video FormatThe Video Format: pop-up allows you to choose the type of video file produced when you publish to video. Currently supported format options are AVI (Audio Video Interleave) and AnimGIF. Choosing a format controls which further options are shown beneath the pop-up.

Frame Rate (AVI format selected)The Frame Rate pop-up controls how much “temporal resolution” the

resulting video playback has, in terms of frames per second. A higher number gives a truer representation of the normal ICDesigner playback quality, with smoother motion and transitions. However, the pro-cessing time required for the publishing process increases as the frame rate is increased, as does the size of the resulting video file.

Fifteen values are provided, including several fractional values that are appropriate for film and video work.

Advanced (AVI format selected)Click the Advanced button to open the Advanced AVI Settings dialog.

This dialog lets you adjust various parameters involved in the AVI for-mat’s data compression process. Some options in this dialog may be disabled, depending on the selected video compressor.

ICDesigner Note

The value chosen here should match the value used for playback in the software that will be playing the video file.

Page 183: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

183

6: Publishing with InfoChannel Designer 3Publishing to video

Video Compressors – The dialog lists the available DirectX video com-pression methods or “codecs” (compressor/decompressors). Different codecs offer varying combinations of performance level, file size, and compatibility. Select one to be used for this publication.

Quality – Image quality in the resulting video file can be sacrificed for the sake of greater compression if desired. The Quality slider lets you indicate to the codec how important the image quality is compared to the level of compression. The slider goes from 0 (greatest compression) to 100 (best image quality). The value itself is arbitrary, and is inter-preted differently by each codec.

Key frames – A codec can use periodic “key frames” as a way to keep errors introduced by the compression process from accumulating over the length of the video. A key frame is a full frame of video. Normally each frame of compressed video consists of only the changes from from previous frame. Turn on (✓ ) Use Key Frames? to take advantage of this capability, and to allow adjustment of the key frame interval.

Adjust the Key Frame Interval control to determine how many frames of changes should be generated between each key frame. Lower key frame intervals (more total key frames generated) can improve the faithfulness of the video version, at the expense of increased file size.

Video rate – Another way to control the ratio of performance to file size is to specify the video data rate. Turn on (✓ ) Video Data Rate? to take advantage of this capability.

Adjust the Video Data Rate control to specify a target number of kilo-bytes per second for the video stream. The codec attempts to compress the video to yield a data rate in playback that does not exceed the value you set here. The codec varies the quality of the compression to try to maintain this data rate. Using this option does not guarantee that playback will reach this rate in practice.

Page 184: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

184

6: Publishing with InfoChannel Designer 3Publishing to video

Custom configuration – For those codecs that offer additional parame-ters, the Custom Configure button is enabled. Clicking this button opens a dialog with options specific to the selected codec.

You need to consult documentation from the codec manufacturer for information on using whatever options their configuration dialog provides. If the Custom Configure button is disabled, there are no manufacturer-specific options for the selected codec.

Frame Rate (AnimGIF format selected)The Frame Rate setting controls how much “temporal resolution” the

resulting video playback has, in terms of frames per second. A higher number gives a truer representation of normal ICDesigner playback quality, with smoother motion and transitions. However, the pro-cessing time required for the publishing process increases as the frame rate is increased. The maxi-mum value is 60 frames per second.

Use Transparency Compression? (AnimGIF format selected)Transparency is a built-in capability of the AnimGIF format. The AnimGIF publishing option can take advantage of transparency to improve the level of compression achieved in AnimGIF videos. Nor-mally, the Use Transparency Compression? option, which controls this feature, is left on (✓ ).

If there aren’t enough colors available in the display palette, however, using transparency compression can leave undesirable artifacts in the resulting video. If you notice “noise” or a ghosting effect in your pub-lished AnimGIF videos, and the truest image quality is important, try turning off this option.

Number of Loops (AnimGIF format selected)You can set the number of times that the AnimGIF file should play back using the Number of Loops control. Looping capability is an option that is built into the AnimGIF format; increasing the number of loops does not increase the file size or the time it takes to publish.

ICDesigner Note

Any dialog provided by the codec manufacturer must open on the Windows desktop. If you are run-ning ICDesigner in full-screen mode, it is minimized so that the codec dialog can be seen. The ICDesigner screen is restored when you exit the dialog.

ICDesigner NoteThis control affects only the encoding, not the speed of script playback. The software used for playing the video file may provide its own frames-per-second set-ting to control playback speed.

Page 185: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

185

6: Publishing with InfoChannel Designer 3Completing publication of a script

To make the AnimGIF loop indefinitely, set this control to ∞.

Monitoring the progress of publishing to videoWhen you click Publish! in the Publish to Video dialog, ICDesigner opens a dialog that lets you follow the progress of the encoding. (It takes significantly longer to complete the publish to video process than it takes for the script to play back normally.) A thumbnail image on the left shows a selection of completed frames so that you can see how much has been done. There are also displays of the current frame in the video in terms of elapsed time and script page number.

When the encoding process is complete, the AVI or GIF file is saved in the location specified by Publish to Folder:.

Completing publication of a scriptWhen you have chosen your publishing options, there is one more question to consider before you are ready to publish the script, namely whether to protect it with a password.

Password protection for published scriptsProtection and confidentiality are important for many multimedia publishers, which is why ICDesigner lets you encrypt or “lock” scripts. Encryption helps protect your work from unauthorized editing, and it allows you to keep any scripting “secrets” you might have used from being revealed.

When you lock a script, it is encrypted. This means that the script is encoded and must then be decoded before it can be inspected. The only way to decode the script is to enter the correct password—which you, the producer of the script, choose.

A locked script can still be run just like an unlocked script. However, it cannot be edited or its events viewed to let the viewer see how it was put together.

An “open” script allows viewers who already have ICDesigner and the necessary fonts installed to edit or review the techniques of the pro-

Page 186: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

186

6: Publishing with InfoChannel Designer 3Completing publication of a script

duction. If you do not choose a password for a script, it remains an open script: no password is asked for when the viewer opens it, all its events are listed in the menus, and it can be easily edited.

Opening a locked scriptOne can open a locked ICDesigner production by running ICDe-signer and choosing the script (named <project name>.SCB) in the Open Script File dialog. A password is requested.

• Entering the correct password allows the script to open like a nor-mal script. The viewer can review the techniques of the produc-tion and to make changes to it.

• Entering the incorrect password, or no password, allows the viewer to run the script to see the production, but not to review the techniques of the production or make any changes to it. The following message is displayed:

A password is not necessary, however, to run the production, which can be done by choosing its icon from the Start menu or My Com-puter.

Page 187: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

187

6: Publishing with InfoChannel Designer 3Completing publication of a script

PublishingClicking the Publish! button performs the publication of the script to the medium that you chose. Messages about the progress of the publi-cation appear in the Script Information section, or in the case of pub-lishing to certain media, in a separate dialog.

� To complete publishing:

1. Click the Publish! button (see “Completing publication of a script” on page 185).

The first thing you see when you click Publish! for most publish media is the dialog that allows you to lock the published script. A password dialog asks you to select a password for the script.

2. You can choose to lock the script or leave it unlocked.

❖ To leave the published script unlocked, and available to inspec-tion and editing by anyone, leave the text boxes in the dialog blank.

❖ To lock the published script, enter a password in the Password: text box. Because the characters you type are shown as asterisks (*), you must enter the password again, identically, in the Ver-ify: text box. There is no limitation to the length of passwords, and they are not case-sensitive.

3. Click OK.

4. If there is another folder of the same project name in the publish folder, you see an InfoChannel Designer Message dialog asking whether you want to delete the contents and continue publishing.

The contents of the publish folder is what you will reproduce, onto CD for example. This means that if you want to add files to

Page 188: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

188

6: Publishing with InfoChannel Designer 3EX installation required on playback systems

the folder, you may need to do so after you have finished in the Publish Script dialog, or the contents will be deleted.

5. Click OK. The Script Information box tells you whether or not publishing was successful.

ICDesigner publishes your production into the location you specified.

Depending on the publish medium you chose, there may still be some steps left before the publication process is complete:

• For publication to stand-alone CD, you should if possible copy the necessary Microsoft software (see page 189) to the Publish folder so that it is included on the CD. Then you need to actually create a CD image and burn it to a CD-ROM master, which requires third-party CD-burning software.

• For publication as a Web component, you need to embed the script file with the appropriate HTML Object wrapper state-ments, into your own Web page code. If you use the Include an HTML Template Page? option, you could copy and paste from the file it generates.

• For publication to e-mail, you need to address the e-mail to which the script is attached and possibly include a message to the recipi-ent explaining what is needed to view the script.

Cancel/CloseChoose Cancel to cancel publishing and return to the Main menu.

If you have already successfully completed publishing, this button changes to Close, and just exits the Publish dialog.

EX installation required on playback systemsPublished scripts may include EX events that depend on Scala EXes that are not integral to the product. As mentioned previously, in order for these scripts to play back correctly on a given machine, the EXes employed by the script must be installed on that machine.

Page 189: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

189

6: Publishing with InfoChannel Designer 3Microsoft components

It is not possible to publish Scala EXes with a script. They must be separately obtained, licensed and installed on any machine that needs to play back scripts that require them.

Microsoft componentsScala iplay 3 requires certain Microsoft software components to be installed in order to run properly:

• Service Pack 2 for Microsoft Windows 2000

• Microsoft DirectX 8.1 or better

CD publicationsThe iplay 3 installer for a script published to Stand-alone CD can offer to install DirectX 8.1 on systems that don’t have it if its distribu-tion archive is included on your CD master image. The Publish to Stand-alone CD operation cannot automatically include the DirectX archive for you. You must obtain it yourself. It is freely available for download from Microsoft at the following location:

http://www.microsoft.com/downloads/details.aspx?familyid=db685892-afc4-40e3-bad0-d4db291a8095&languageid=f49e8428-7071-4979-8a67-3cffcb0c2524&displaylang=en

You can also visit Scala’s Web site at http://www.scala.com for a link to the DirectX 8.1 download location. Note that this is not the “Home User Download” version of DirectX 8.1, which is not suitable for this purpose.

Whoever does need to install DirectX must agree to Microsoft’s license terms. At the present time, DirectX can be licensed simply by accepting its licensing and redistribution agreements.

Once you have obtained the DirectX 8.1 redistribution archive, place it in a folder called “Directx”, inside a folder called “3rdparty”, both of which you need to create in the root of the CD publish folder pro-duced by the publication process. Then you can burn your CD-ROM with the archive in the master image. Assuming the DirectX archive can be located as \3rdparty\Directx\Dsetup.exe on the CD, the

Page 190: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

190

6: Publishing with InfoChannel Designer 3Microsoft components

iplay 3 installer can find it and offer to install DirectX 8.1 on the viewer’s system.

Including the DirectX archive on your CD is optional. If you do not include it and a viewer’s machine requires it, the iplay 3 installer directs the viewer to Scala’s third-party components Web page, which has a link to the location from which DirectX can be downloaded.

Web Component, File, and Email publicationsThe DirectX archive cannot be included when you publish to Web Component, to File, or to Email. Anyone wishing to play a published script published in any of these forms needs to have iplay 3 installed on the playback machine, and therefore should also have the latest DirectX.

If a viewer’s machine requires it, the iplay 3 installer directs the viewer to Scala’s third-party components Web page, which has a link to the location from which DirectX can be downloaded.

Page 191: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 192: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

192

7: Additional InfoChannel Designer 3 EXesThe Scala EX system provides a modular interface that makes it easy to add new features to ICDesigner. Such features include support for special hardware interfaces to external devices, support for additional file formats, and special functions that extend ICDesigner’s flexibility.

Use the Options dialog to select which of the currently available EXes to turn on or off. You can turn an EX off if you want to eliminate its column from the Main menu, or if you think it might be causing a problem with the system.

EXes provided with this release of ICDesigner include:

• Launch EX (page 193)

• Log EX (page 194)

• TextFile EX (page 197)

• Serial EX (page 202)

• Billing EX (page 212)

• MCI MPEG EX (page 215)

• Optibase EX (page 222)

• Queue EX (page 228)

• Windows Scripting EX (page 236)

• File I/O EX (page 240)

Other EXes may become available for custom applications through VARs or directly to qualified customers. The Scala Web site, http://www.scala.com, may have information on additional EXes as they become available.

Note that outside the ICDesigner authoring environment, the Log, TextFile, Serial, Billing, MCI MPEG, Optibase, Queue, and Win-dows Scripting EXes are available only in scripts published to Info-Channel Network. The iplay 3 software used for other InfoChannel publish media does not support these EXes.

Page 193: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

193

7: Additional InfoChannel Designer 3 EXesLaunch EX

Launch EXThe Launch EX lets you run or “launch” another program from within an ICDesigner script. Clicking a button in the Launch column opens the Launch menu.

You provide the path to an application or a Windows-registered docu-ment type in the Command Line: text box. You can use the File... but-ton to do this through the File dialog. When the Launch page is encountered in the script, ICDesigner opens the specified application or the registered application for the specified document.

If the command line contains a URL, ICDesigner opens the default Web browser and links to the document at the URL destination.

Examples of how the Launch menu can be useful include creating a launcher script for a CD-ROM sampler that allows a user to click interactive buttons to choose applica-tions from the CD to start, or starting the Adobe® Acrobat® reader to display a document that is in PDF format.

Wait?The Wait? option, which is on (✓ ) by default, suspends the execution of the script until you exit the launched application or document. Turn this off to have script execution continue after the document or application has been launched.

Minimized?The launched application can open either normally or minimized. When opened normally, the viewer sees the Windows desktop, where the application window opens. The viewer must then exit the applica-tion when finished with it, and return to ICDesigner to resume the script. When the Minimized? option is on (✓ ), the launched applica-tion executes invisibly and non-interactively.

ICDesigner Note

For security reasons, Launch EX events are disabled in scripts published to Web Component.

Page 194: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

194

7: Additional InfoChannel Designer 3 EXesLog EX

You might use a minimized launch if you needed to run a batch file or other program that could do its work—such as printing a simple text file—without displaying a user interface.

Log EXThe Log EX provides a mechanism to automatically monitor the activ-ities of ICDesigner Player Stations. This is an useful tool to use in maintaining remote Players and providing a record of their activities. Logging capability is essential in a cable television installation, for example, where you need to know when and how many times adver-tisements were actually broadcast. Log files can also be a key tool in discovering the cause of any problems that might arise with a Player.

Log filesThe Log EX keeps records by generating plain ASCII text files. It records entries for many actions by default, and you can specify addi-tional information to be recorded in log files for individual script events.

You generally don’t need to worry about log files getting too large because they each contain only a single day’s information.

Every five minutes that the Player is running, the IC.LOG file’s time stamp is updated. This enables you to determine how long a Player has been operational in a 24-hour period.

Backup log filesThe Ic.log file for the ICDesigner machine is located in:

<systemroot>:\Documents and Settings\<currentuser>\Local Settings\Application Data\Scala\Scala InfoChannel Designer\Logs

where <systemroot> is the drive letter where Windows is installed and <currentuser> is the username of the user logged in to the computer.

This file is moved to a backup log in the Logs folder at midnight every day. To allow you to identify them, the backup logs are renamed using

Page 195: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

195

7: Additional InfoChannel Designer 3 EXesLog EX

the format yyyymmdd.LOG, in which yyyy is replaced with the year, mm with the month, and dd with the day of the log file.

By default, ICDesigner retains five day’s worth of backup files in Logs. At the beginning of each day, it deletes the oldest log. You can adjust the number of days of backup logs retained using the configuration variable LOG.Days in the <systemroot>:\Documents and Settings\<cur-rentuser>\Local Settings\Application Data\Scala\Scala InfoChannel Designer\Config\Log.sca file. To retain a full week of log files, for example, use a text editor to open LOG.SCA, find the line that reads

LOG.Days = 5;

and change 5 to 7. Then save the file.

Changing the log file extensionThe Log EX features a configuration variable called LOG.PlayerTag. This variable, if set, allows you to specify a 3-character file-type exten-sion. By default ICDesigner applies a .LOG extension, but you can choose any three characters to help identify the source player of the log file. For example, you might choose “PL3” to represent “Player num-ber 3” in a multiple-Player configuration.

You can set this variable by editing your Config\Log.sca file. Look for the line that reads:

LOG.PlayerTag = "LOG";

Substitute the file extension you prefer in place of LOG at the end of the line.

Reviewing log filesTo review the log of a Player, you create a Network Manager job to retrieve the file IC.LOG from that Player. You can use any text editor (such as the Windows Notepad) to review the log data.

If you can’t communicate with a Player for some reason, or it isn’t exe-cuting a script properly, review the log for that Player. The log will usually contain information that can help you diagnose the problem. If you are responsible for remote Players, you should review logs from

Page 196: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

196

7: Additional InfoChannel Designer 3 EXesLog EX

those Players on a daily basis to be sure that they are doing what they are supposed to be doing.

The Log menuTo have the Log EX record an entry when the Player runs a particular event (a page or an event on a page), edit the script in ICDesigner. From the Main or List menus, click the button for the event in the Log column. You see the Log menu.

Enter the text to be recorded to the log, then click Close. The text can be up to 1000 characters, but normally need be only a a few words. As with other ICDesigner menus, you can select and work with any num-ber of events without leaving the Log menu. The text you enter also appears in the event’s button in the Log column.

When you next send the script to the Player and it runs, the Player’s log will include an entry with the text each time that event is run. If you no longer need to keep track of an event, simply delete all the text from its Log Text: text box.

Typically, you might use log files to keep a record of how many times a page is run and to be able to verify that scheduled pages are running when they should.

One very powerful feature of log files is that you can include one or more embedded variables in the log text. When the text is written to the log file, the variable’s current value at that time becomes part of the logged text. This allows you to gather and record new information with the log files. For example, you might use the TIME and DATE sys-tem variables to collect statistics on the number of times per day that a given interactive button was selected by users.

Page 197: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

197

7: Additional InfoChannel Designer 3 EXesTextFile EX

TextFile EXTyping text onto a page from the Design Text menu is easy and is suf-ficient for many productions. Sometimes, however, you need to work with large amounts of text, or text which comes from a remote source. Such situations make a different interface desirable. The TextFile EX gives you the capability to create a template page and have ICDesigner automatically fill in the template with text from an external ASCII text file. It also provides for certain unique special effects.

The basic steps to use the TextFile EX are:

1. Create a text file.

2. Create a script with one or more template pages.

3. Assign the text file to the template pages in the TextFile EX menu.

4. Run the script.

As the script runs, the text file is displayed a certain number of lines at a time (you specify the number) against the background of the tem-plate page, until the end of the text file.

Text filesThe first step in setting up pages using the TextFile EX is to create the text files you will use. These must be plain ASCII files, created outside of ICDesigner with a tool such as the Windows Notepad or some other text editor.

Each line that you want to appear on the page must be a separate line ending in a carriage return or line feed in the text file. Lines can be up to 1000 characters in length, but the practical maximum for general use is much shorter—approximately 100 characters, using the smallest possible font. You must ensure that the maximum line length in the file is not too long to be displayed on the page. Lines can be blank (just a carriage return or linefeed, or containing only spaces or tabs). The text file can contain any number of lines.

Page 198: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

198

7: Additional InfoChannel Designer 3 EXesTextFile EX

TemplatesA single template page specifies the page background and all other properties for the display of a text file of any length. The template page is a normal page, and you create it just as you create any other page in a script. Using the Design menus, you set the background, and any static text, clips and wipes to be used with the page.

You specify where each line of the text from the file will be placed by placing special embedded variables as text elements on the page. For the TextFile EX, the variable text elements must be of the form !LINE1, !LINE2, !LINE3... !LINE99, as shown here:

Most templates will use much fewer than 99 lines on a page, but 99 is the maximum. (For more on embedded variables, see the section “Dis-playing variables” on page 192 of chapter 6 in the “Basic Authoring” guide.)

Page 199: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

199

7: Additional InfoChannel Designer 3 EXesTextFile EX

You have considerable freedom in placing the lines and using the vari-ables:

• The variables can be placed anywhere on the page, and do not have to be in sequence. For example, the lines could be arranged on the page like this:

!LINE2!LINE1!LINE3

The numbering controls which line, from the batch of lines read from the text file for the current page, is displayed by that vari-able. Therefore the first line read from the text file would appear on the page between the second and the third lines read.

• You can skip variable numbers within a range, causing the corre-sponding lines to be discarded. So in the above example, if you replaced “!LINE3” with “!LINE4”, the fourth line read from the text file would appear on the bottom, and the third line read would not appear on the page at all.

• The variables can be embedded in a text element like any variable, as in “The top story in New York is !LINE1”

You can give the variable text elements any styles and attributes that normally belong to a text element—font, color, outline, shadow, wipe, etc. When the TextFile EX substitutes the lines from the text file for the variables, they take on those styles.

Text File menuFrom the ICDesigner Main menu, click the TextFile button for the template page you have created. You see the Text File menu.

Page 200: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

200

7: Additional InfoChannel Designer 3 EXesTextFile EX

Specifying the text fileIn this menu, you specify the file name for the text file to associate with this template page, and the number of lines of text to display on each page.

When you click on the File... button, you see the File dialog, which defaults to the Windows My Documents folder.

If the text file does not yet exist at the time you are creating the script, enter the name of the intended file in the File dialog. When you enter a name that does not exist, you see a dialog stating that an empty file must be created and asking if you want to proceed. If you click Yes, a zero-length file by that name is created for you as a placeholder. Send-ing this empty file to the Player can sometimes be useful; see the next section, “Running the script”.

Use the Maximum Lines on Page value control to indicate the number of lines of text to read from the text file per template page. Normally this value should equal the number of !LINE elements. If this value is lower than the number of !LINEs on the template page, only the num-ber of lines specified by this value is displayed on any page; some lines always remain empty. If the Maximum Lines value is greater than the number of !LINEs on the template page, some lines that are read from the text file are never seen.

When you have finished, click Close to return to the Main menu and accept the changes you have made, or click Cancel to return to the Main menu without keeping any changes. If you later decide to make the template page a regular page and no longer wish it to be associated with a text file, click the Clear button in the page’s Text File menu.

Running the scriptWhen you run the script, your template page is displayed, and the EX retrieves the number of lines specified in Maximum Lines on Page from the text file and substitutes them for the corresponding !LINE ele-ments. (If a line is too long, it runs off the edge of the screen; the line does not wrap.) When all the lines have been displayed and the page Pause has completed, the template page is re-displayed and the next set of lines is retrieved from the text file to fill in the !LINE elements.

Page 201: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

201

7: Additional InfoChannel Designer 3 EXesTextFile EX

ICDesigner repeats the page like this until it reaches the end of the text file.

Empty text files and how to use themIf the text file you specified in the Text File menu is missing, empty, or contains nothing but blank lines at script run time, the page is not displayed. This allows you to effectively turn a page on or off based on whether there is any content in the text file.

This could be useful as an emergency message page, for example. Nor-mally, the file is empty, so the page does not run. When there is an emergency message to display, you update the text file on the Player, which is referenced as linked content, with the emergency text. Now the page plays, showing that text. When the emergency is over, send an empty file again to stop the page from playing.

The TextFile EX never displays a page with no text. If there are enough successive blank lines in the text file that none of the !LINE ele-ments on a given page would contain any text, the EX retrieves another set of lines from the file. It continues looking for lines with text until it reaches the end of the file. At the end of the text file, ICDesigner proceeds from the TextFile page to the following page.

Special TextFile EX effectsYou aren’t limited to using a single template page for displaying a sin-gle text file. Having text appear over changing backgrounds is possible using grouping.

For example, you might create five different template pages, each with a different background picture, but all with identical positioning of the text elements !LINE1, !LINE2, etc. (Identical positioning isn’t a requirement of the TextFile EX, but it makes the effect look better.) You then group these template pages on the Main menu, and in the TextFile EX menu for the group, select the text file. When the script runs, each set of text lines (the Maximum Lines on Page setting) appears over all five backgrounds before the next set appears.

Page 202: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

202

7: Additional InfoChannel Designer 3 EXesSerial EX

Serial EXThe Serial EX from Scala gives you the capability of sending and receiving arbitrary data strings via standard RS-232 serial communica-tion, under script control. This opens up the possibility of controlling a wide variety of devices that respond to serial commands, and responding to serial communication from those devices.

Two-way serial communication capability can greatly enhance the ver-satility of your Scala ICDesigner scripts, as you can then coordinate the operation of diverse sorts of hardware with script activity to con-struct advanced custom solutions.

ConfigurationThere are no configuration tasks specific to the Serial EX itself. How-ever, you must of course be sure that the serial port(s) that you intend to use on the machine(s) doing the communicating are functioning properly on their own before you attempt to use them with the Serial EX.

You need to know which COM ports your external hardware is using for serial communication, and their correct settings for baud rate, handshaking, etc. in order to send and receive with the Serial EX.

Using the Serial EXThe Serial EX needs to be activated before it can be used. If necessary, you can turn it on yourself in the Options dialog. Choose Options from the Tools icon drop-down and select the EXes tab. Click the Serial (RS-232) EX? button in the Optional EXes list to turn on (✓ ) the EX.

When the Serial EX is activated, it displays the Serial column in the Main menu. Clicking in this column opens the Serial menu, which

Page 203: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

203

7: Additional InfoChannel Designer 3 EXesSerial EX

lets you insert events to control the serial ports, send data, and receive data.

A Serial EX event—either a special event, or an event that is part of a page or element—can be one of four commands. The Command: pop-up, in the upper left of the Serial EX menu, lets you specify which one to use:

• Open Port• Close Port• Send Data• Receive Data

Each of these commands has its own options, which you see in the menu when you choose the command.

A fifth Command: option, None, is used to clear any Serial command previously set for this event, and has no options.

You can apply only one Serial EX command to a given event. There-fore, to complete a single isolated serial communication, you would

Serial column

Command: pop-up

Page 204: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

204

7: Additional InfoChannel Designer 3 EXesSerial EX

need at least three commands: Open Port, Send (or Receive) Data, and Close Port.

The port number and the nature of the command you specify is reflected in the Serial column button for that event, for example, “Close com1:”.

Opening a serial portBefore a serial port can send or receive data, it must be opened. You do so from the Serial EX using Command: Open Port. This is the default command.

Port NumberOpening a serial port requires specifying which COM port you want, by number. Use the Port Number: pop-up to choose from COM1, COM2, COM3, or COM4.

You can have more than one COM port open at once, assuming your hardware supports it. Any Send or Receive command that you issue from the Serial EX specifies the particular COM port for that com-mand.

COM ports remain open for communication until closed with the Close Port command, or until ICDesigner playback ends.

Baud RateThere are ten standard serial communication speeds available on the Baud Rate: pop-up, from 110 to 115200. Pick the one that is appro-priate for the equipment you are communicating with.

HandshakeChoose a method of serial handshaking using the Handshake: pop-up. The options are None, Software, and Hardware.

Data BitsChoose either 7 or 8 data bits for serial communication using the Data Bits: pop-up.

Page 205: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

205

7: Additional InfoChannel Designer 3 EXesSerial EX

ParitySerial parity can be set to Mark, Space, Even, Odd, or None using the Parity: pop-up.

Stop BitsChoose either 1 or 2 stop bits for serial communication using the Stop Bits: pop-up.

Default parameter settingsAll of these standard serial parameters can be set explicitly in the Open Port command, but have a Default setting as well. If the Default set-ting is selected, the Serial EX uses the parameter setting that is the default in Windows for the chosen port, or the last value set by an Open Port command. The default values are:

Baud Rate: 9600Handshake: hardwareData Bits: 8Parity: noneStop Bits: 1

To override Windows defaults and previous settings, and ensure that a particular setting is used, set the parameter explicitly.

Serial button indicatorsThe buttons in the Serial column indicate the Serial EX commands that you choose, so that it is easy to see what your script is doing from the Main menu. The Send, Receive, and Close command indicators are self-explanatory, but the Open Port indicator encapsulates several settings in a manner that requires some explanation, as shown in this illustration:

open the port

Port Number

Data Bits

Parity

Stop Bits

Baud Rate

Handshaking(‘-’ for Don’t Open Port)

Page 206: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

206

7: Additional InfoChannel Designer 3 EXesSerial EX

Numerical parameters (Baud Rate, Data Bits, Stop Bits) show as 0 when set to Default. Non-numerical parameters (Parity, Handshaking) show a minus (-) when set to Default.

Setting parameters without openingIn some circumstances it might be valuable to set the serial parameters without actually opening the port.

You can do this by turning on (✓ ) the Don’t Open Port? option in this command. Doing so causes the parameter settings of the specified port to change without actually trying to open the port.

Sending dataTo send data to an external device from a serial port, you use Com-mand: Send Data. The control panel for this command in the Serial menu has numerous options.

First, be sure that Port Number: is set to the COM port to which the device that you want to contact is connected. For the command to succeed, this COM port must have already been opened.

Entering the data to sendYou put the data that you wish to send over the serial line in the Send String: text box, in the form of a string. No quotation marks are required.

You can enter any number of characters in this text box. Either type the characters, or paste them from the clipboard.

Note that the data is sent as the string you give, meaning as a succes-sion of the ASCII values of each character. Entering “2,3” in the box,

Page 207: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

207

7: Additional InfoChannel Designer 3 EXesSerial EX

for example, actually sends the values 50, 44, and 51 (hexadecimal 32, 2c, and 33).

To send particular numerical values, you can either convert them to their ASCII equivalents and enter the corresponding characters, or enter them as raw hexadecimal values.

You can enter numerical values (in hex) and type control codes and other special characters into the Send String: box:

^x## a hexadecimal value (# can be 0-9 and/or a-f)^n a line feed^r a carriage return^t a tab^" a double quote mark^^ a single caret

These strings are NOT Ctrl key combinations. The first character is a literal caret character (^) and must be followed immediately by at least one other character to indicate the intended function.

Note for those who hand-edit their scripts: you must escape the caret in the character strings by entering it twice to get it to work. That is, in ScalaScript, this is necessary:

"to send hex f3 to the serial port: ̂ x̂f3"

When the Serial EX menu generates the Send string in ScalaScript, the escaping of the characters is taken care of automatically, so that for the same result, you would type in the Send String: box:

to send hex f3 to the serial port: ̂ xf3

Sending on a trigger inputA special feature of the Send Data command is that it can be set to delay sending until a trigger signal is received. It can monitor a COM port for the appearance of an arbitrary string, and send only when that string has been received.

Page 208: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

208

7: Additional InfoChannel Designer 3 EXesSerial EX

� Here is how the Triggered Start?, Trigger Port: and Trigger String: controls are used for this:

1. Enable this feature by turning on (✓ ) the Triggered Start? option.

2. Specify the COM port that should be monitored using the Trigger Port: pop-up. This does not need to be the same port that the command will be sending data on. However, the monitored port must have been previously opened with an Open Port command.

3. Enter the string that should trigger the sending of data in the Trigger String: text box. This can be any string of any length, just as for Send String:.

When the Trigger String appears on the Trigger Port, the Send Data string is sent.

Note that if you turn on Triggered Start? without also turning on Wait? (see the next section), the script continues while the Send Data command waits for its trigger string to arrive. If the trigger string never arrives, or arrives later than expected, events in the script that depend on the Send might not work right.

Using Wait? to pause the scriptYou can pause the execution of the script until the Send Data com-mand has completed by turning on (✓ ) the Wait? option.

Turning on Wait? lets you make sure that the Serial EX has finished sending data before continuing with the script. This can be important if subsequent script events depend on the serial data having been sent before the events execute.

Duration limit on Serial EX commandsWhen Wait? is off, the script continues as the command executes. However, Serial EX commands never extend over page boundaries. If a non-Waiting serial command is still executing when a page ends, the command is terminated.

Page 209: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

209

7: Additional InfoChannel Designer 3 EXesSerial EX

Receiving dataTo receive and store data from an external device connected to a serial port, you use Command: Receive Data. (Any data that comes over an open port while no Receive Data command is active is simply dis-carded.)

The control panel for this command in the Serial menu is similar to the one for Send Data, with some additional options.

Here too you must be sure that Port Number: is set to the correct COM port. For the command to succeed, this COM port must already have been opened.

Received data is placed in an environment variable that you can access from the script using the Branch menu. There are four environment variables:

COM1.INPUT

COM2.INPUT

COM3.INPUT

COM4.INPUT

Each variable is associated with a COM port, and can hold any amount of input.

Your script must take care of reading the input from a given Receive Data command before initiating another; each new Receive Data com-mand overwrites the previous contents of its COM port’s variable.

Receiving on a trigger inputReceive Data shares with Send Data the capability to be set to delay its action until a trigger signal is received. The Triggered Start?, Trigger

Page 210: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

210

7: Additional InfoChannel Designer 3 EXesSerial EX

Port: and Trigger String: controls function identically for Receive Data as for Send Data.

When Triggered Start? is turned on, the EX does not begin to actually receive data until the Trigger String comes in over the Trigger Port. Data that comes in over the receive port before the Trigger String has been detected is lost.

No data that comes in over the Trigger Port is retained.

Ending receptionThe received data is not available for reading from the “.INPUT” envi-ronment variables until the Receive command has ended. Once data reception has begun, there must be a way of telling the command to end reception.

The Receive Data command provides three ways of recognizing that reception for this command is complete:

• Reception of a particular string

• Reception of an EOL character

• Reception of a maximum number of characters

End on String? – Turn on (✓ ) this option to enable the completion of reception when a certain string of characters is received on the port in Port Number:. Enter the trigger characters in the End String: text box.

End on EOL? – Turn on (✓ ) this option to enable the completion of reception when the EOL character is received on the port in Port Number:.

Max Characters: – Enter a number in this value control to enable the completion of reception when a certain number of characters has been received by this command on the port in Port Number:.

Any one or all of these options may be used at the same time. Which-ever condition arises first triggers the end of reception.

If none of these options is chosen, reception terminates immediately, without receiving any data.

Page 211: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

211

7: Additional InfoChannel Designer 3 EXesSerial EX

LastChar variablesThere are four additional environment variables created for Serial EX use:

COM1.LASTCHAR

COM2.LASTCHAR

COM3.LASTCHAR

COM4.LASTCHAR

These variables contain the last character that came into their respec-tive ports while the port was open. You do not have to use the Receive Data command for this to work—the port just has to be open.

The variables are updated dynamically, so if you open COM port 1 on a page that contains the text element

Last Character from Com1 is ‘!(Com1.LastChar)’

the page updates in real time as characters come in to that port. When the COM1 is closed, the variable stops updating.

Special note: This variable may not show every character that comes in at the serial port when the data comes in too fast. This happens because the port “groups” incoming data when the data rate is high. Only the last character of each group is put into the variable. When the data arrives more slowly, each group contains only one character, so all the characters can appear.

The LastChar variables are useful for watching simple input from a device. They could be used, for example, in installations that have a device that responds to commands by returning a single character. A command could be sent over the serial port, and after a brief delay the LastChar variable could be checked for the status.

Using Wait? to pause the scriptYou can pause the script until the Receive Data command has com-pleted by turning on (✓ ) the Wait? option.

Wait? lets you make sure that the Serial EX has finished receiving data before continuing with the script. This can be important if subsequent

Page 212: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

212

7: Additional InfoChannel Designer 3 EXesBilling EX

script events depend on the serial data having been received before they execute.

Duration limit on Serial EX commandsWhen Wait? is off, the script continues as the command executes. However, Serial EX commands never extend over page boundaries. If a non-Waiting serial command is still executing when a page ends, the command is terminated.

Closing a serial portYou should close a serial port when you are done with it, so that other applications are not blocked from using it. Do this with Command: Close Port. The only option with this command is to specify the port. Use the Port Number: pop-up to choose which COM port to close.

Any serial ports opened by the Serial EX are automatically closed when script playback ends.

Clearing a Serial EX commandTo clear a Serial EX command from an event, or to leave the Serial menu without specifying a command, choose Command: None.

Billing EXThe Billing EX from Scala gives you the capability of automatically recording which pages in an InfoChannel Designer 3 script have exe-cuted, and exactly when. This makes billing for advertising simple, as the date and time that each item was actually shown is verified rather than assumed.

Page 213: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

213

7: Additional InfoChannel Designer 3 EXesBilling EX

The ordinary text log files generated by the Billing EX let you easily recall, display, and print the information for ad clients who need to review their ad exposure, and use the logged playback data to bill cli-ents accurately.

ConfigurationThere are no configuration options for the Billing EX.

The Billing EX must be activated before it can be used. If the Billing EX is not already activated, you can turn it on yourself in the Options dialog. Choose Options from the Tools icon drop-down and select the EXes tab. Click the Billing EX? button in the Optional EXes list to turn on (✓ ) the EX.

Using the Billing EXUse of the Billing EX is very simple. When it is activated, the EX dis-plays the Billing column in the Main menu. Clicking in this column opens the Billing menu, which lets you turn on or off the information logging capability of the EX on a per-page basis.

Billing column

Page 214: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

214

7: Additional InfoChannel Designer 3 EXesBilling EX

The Billing menu contains the Track Billing? button. Its on/off status is always reflected in the Billing column for every page. When Track Billing? is on (✓ ), Yes appears in the column. When it is off—as it is for any page on which you have not specified a billing status—No appears in the column.

For all pages that run when Track Billing? is on, an entry is added to the billing log file, a text file created by the Billing EX for this purpose. The entry for a tracked page is one line showing:

• the Player name (derived from the COMPUTERNAME environment variable)

• the page name

• the script name

• timestamps showing exactly when playback for the page began and ended

For pages that are set to No, a log entry is not recorded.

Select all the pages that you want to log, then click in the Billing col-umn to open the Billing menu. Turn on Track Billing?, and notice all the selected pages’ Billing column labels change to Yes.

Make sure that only the pages you want logged have Yes in the Billing column. Then click Close to exit the Billing menu, and save the script.

The Billing EX log fileHere is how a segment of a typical log file looks:

Page 215: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

215

7: Additional InfoChannel Designer 3 EXesMCI MPEG EX

The log file is cumulative, with entries for successive events being appended to the end of it as the script loops.

Log file creationThe name of the log file has the format “billMMDD.log”, where MM and DD are replaced with the file creation date in four-digit month/day format. The file is saved in the Logs folder, the same as the normal Ic.log file.

On a machine that is continuously running an ICDesigner script with the Billing EX enabled, a new log file is created at midnight for each day. This keeps individual log files from getting too long, but does allow the files to accumulate if they are not cleared out on a regular basis.

The log file is re-saved at the conclusion of each individual tracked event, so there is little chance that events have run but have not yet been logged. Only if, for example, there were a system crash while the script was on a page with Billing events might an event that has exe-cuted not be logged.

To be sure that your billing log contains all tracked events that have run, exit the script by pressing Esc on the individual machine, or send a restart command to a Player. This ensures that all events that have executed are written to the log file before it is closed.

MCI MPEG EXIn an ICDesigner production, you can use a video that has been digi-tized—that is, converted into a digital format that the PC and ICDe-signer recognize—and is available as a file on the hard disk or a CD-ROM. The conversion process requires special hardware and soft-ware, but the resulting digital video can be displayed on any PC with an application such as ICDesigner that supports the particular digital for-mat. The most common formats are AVI, QuickTime®, and MPEG.

Page 216: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

216

7: Additional InfoChannel Designer 3 EXesMCI MPEG EX

Animation compressionIn order to save space and computer resources, the conversion process not only digitizes the video images but also compresses them. In the FLC animation format, for example, an animation is compressed by saving the entire contents of the first frame and then only the differ-ence between the first and second frames, the second and third, and so on. When the animation is displayed in an ICDesigner script, each frame is reconstructed and the viewer sees the original animation.

The MPEG compression method (named after its developers, the Motion Picture Experts Group) is more sophisticated and is fast becoming an international standard because it is capable of compress-ing synchronized audio together with video. This means, for example, that you can display a full-screen digital video with stereo sound on your PC monitor. MPEG animation files are identified by the file-type extension .MPG.

Using MPEG animations in ICDesignerAlthough digitized animations in the MPEG format can be decoded in software and displayed from any PC that has the Windows Media Player installed, in professional installations a special MPEG card is generally used, to ensure that animations of any screen size are always decompressed and displayed with the best possible quality. Such a card is required, not optional, if you want to display full-screen, full-motion MPEG video in ICDesigner at the highest possible quality.

To work best with ICDesigner, an MPEG video card should overlay the MPEG video on the VGA output completely in hardware, without interfering with DirectX graphics. This requires a 32-bit MCI driver that supports full-screen DirectX windows. 16-bit MCI drivers can also be used, but MPEG performance is considerably reduced.

ICDesigner can also work with MPEG cards that are not hardware overlay cards, but which simply use hardware to assist in rendering the MPEG video more smoothly than a purely software approach. See the section on the MPEG Options dialog on page 219 for information on settings related to the type of card. Also, consult the ICDesigner

Page 217: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

217

7: Additional InfoChannel Designer 3 EXesMCI MPEG EX

MPEG Readme file, which may have additional information on com-patibility with various types of MPEG cards.

The MCI MPEG EX needs to be activated before it can be used. First install your MPEG card and its software according to the manufac-turer’s instructions.

Then turn the MCI MPEG EX on in the Options dialog. Choose Options from the Tools icon drop-down and select the EXes tab. Click the MCI MPEG EX? button in the Optional EXes list to turn on (✓ ) the EX.

The MCI MPEG menuYou see the MCI MPEG menu when you click a button in the MCI MPEG column for an event in the Main or List menus that represents an animation in the MPG format. Otherwise, you see the standard ICDesigner Background menu (discussed in the section “Animations in the Background menu” in chapter 14 of the “Basic Authoring” guide).

The MPEG menu opens with the MPEG:Play event specified by default, and looks like this:

To load an MPEG video file, click the File: button. You see the File dialog, open to the Windows My Pictures folder. Double-click on the name of a file with an .MPG file-type extension. You see the MPEG menu again, with the name of the file in the File: button. The file name is also reflected on the MPEG button on the Main or List menu.

By default, the MPEG video will play with its upper left corner in the upper left corner of ICDesigner’s screen page, and its picture size adapts to the size of the current page.

Some MPEG cards allow you to alter the position and size of the video playback window, or require you to specify these settings. ICDesigner provides the Pos? and Size? options for use with such cards.

ICDesigner Note

If you do not have MPEG hardware, you should not turn on the MPEG EX.

Page 218: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

218

7: Additional InfoChannel Designer 3 EXesMCI MPEG EX

To move the position of the MPEG video window on the screen page, click the Pos? button to turn it on (✓ ), enabling repositioning. You see a value control with horizontal and vertical offsets in pixels. The default values, 0,0, represent the upper left corner of the page. Select a value and change it to reposition the window.

To change the overall size of the video window, click the Size? button to turn it on (✓ ), enabling resizing. You see a value control with hori-zontal and vertical dimensions in pixels. Change the default values as necessary.

You can use the Preview button to see the effects of the position and size settings you have made.

The Wait? button lets you control the progress of the script. By default it is on (✓ ), meaning that the rest of the script waits—does not con-tinue—until the MPEG event has completed. Turning this button off allows other script events after the MPEG event to continue as soon as the MPEG video has started.

The MPEG: pop-up provides various related options, which work similarly to the same options available for sound events in the Sound menu.

MPEG: Play eventUse this event, described above, to choose an MPEG file, set its Size?, Pos?, and Wait? options, and to begin play.

MPEG: Playlist eventUse this event to choose an MPEG playlist script, set its Size?, Pos?, Loops, and Wait? options, and to begin play.

An MPEG: Playlist event is a special case of MPEG: Play. Instead of loading an MPEG file with this event, you load a script that specifies several MPEG files. This makes it much easier to update and edit a series of MPEGs—you can change the number, order and identity of the MPEGs played by a script by updating just the playlist file, with-out having to edit the script itself.

To create a playlist file, create an empty script. For each MPEG file that you want in the playlist, add a special event, then open the MCI

Page 219: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

219

7: Additional InfoChannel Designer 3 EXesMCI MPEG EX

MPEG EX menu for that event and create an MPEG: Play event. Specify the desired MPEG file within this event. There is no need to add any screen pages to this script; anything in the script other than the MPEG file names within MPEG EX special events is ignored. Save this script like any script, as a .SCA file. This is all there is to an MPEG playlist file: a script consisting of MPEG: Play events.

With the MPEG: Playlist event, there is the additional option in the menu of Loops. Use this value control to set how many times you want the MPEG playlist to play through.

MPEG: Stop eventUse this event to stop play of an MPEG file.

MPEG: Wait eventUse this event to cause script execution to pause until a continuing video started by an earlier MPEG:Play event finishes.

MPEG: None eventAssigning this event essentially removes an MPEG:Play, Playlist, Stop, or Wait event you may have previously assigned.

MPEG OptionsThe MCI MPEG EX has configuration settings accessible from the EXes panel of the Options dialog. Click the MCI MPEG EX... button under the EX Settings heading in the Options dialog to open the MCI MPEG Options dialog:

Maximize On Playback?When on, this option ensures that the MPEG playback window has been maximized to fill the entire screen. We recommend leaving this option on, but certain MPEG cards may require that it be off.

Page 220: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

220

7: Additional InfoChannel Designer 3 EXesOptibase EX

Close MCI After Playback?Turning this option on forces the MPEG device to close after play-back has completed, freeing up system resources. In most cases, having this option on is unnecessary, and can increase loading times for the MPEG clip.

Device TypeThe Device Type: text box displays the name of the MPEG device type. This is mpegvideo by default and for most hardware does not need to be changed. If your MPEG hardware uses a special device type, the manufacturer’s documentation should provide its name, and you enter it here. Changing the device type might allow you to use digital video hardware that is not an MPEG device, such as a Motion-JPEG card.

Inactivity TimeoutThe Inactivity Timeout value control can be used to work around incompatibilities in the MPEG device drivers provided by some ven-dors. The symptom of this incompatibility is stalled script playback after several days of sustained playback of scripts containing MPEG segments.

To avoid the problem, set Inactivity Timeout to slightly longer than the number of minutes in the longest MPEG segment used by the script. For example, in a script that plays three different MPEG seg-ments, of 3, 8, and 10 minutes in length, setting Inactivity Timeout to 11 or 12 minutes would work.

Click OK to make the settings you have chosen the defaults for future sessions. Click Cancel to discard your changes and exit the dialog.

Optibase EXIt is possible to use the Optibase Videoplex MPEG card with the stan-dard Scala MCI MPEG EX, according to the instructions in the Mpeg.txt readme file. However, this is not recommended. For best performance, ease of setup, and to allow you to take advantage of all the Videoplex card’s features, Scala provides an EX especially for this hardware.

Page 221: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

221

7: Additional InfoChannel Designer 3 EXesOptibase EX

To use the Videoplex card with the Optibase EX, any system with the card must be configured with several items present:

• the Optibase EX

• the Videoplex driver

• the link libraries rtdsdk.dll and rtdbin.dll

These items are included with this release of ICDe-signer and are automatically installed in the correct places by the Scala installer program.

You do not need the MCI MPEG EX to use the Optibase card.

The Optibase EX must be activated before it can be used. If the Opti-base EX is not already activated, you can turn it on yourself in the Options dialog. Choose Options from the Tools icon drop-down and select the EXes tab. Click the Optibase EX? button in the Optional EXes list to turn on (✓ ) the EX.

Configuring the Optibase EXIn the EX Settings list on the left of the Options dialog, find the Opti-base EX... button. Click it to open the Optibase Options dialog.

Display ModeThe Display Mode: pop-up controls the video standard produced by the Videoplex card’s video output. This must be set correctly to match

ICDesigner NoteThe Optibase EX supports only the Videoplex PLUS and Video-plex PRO cards. The Videoplex Xpress is not supported.

Page 222: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

222

7: Additional InfoChannel Designer 3 EXesOptibase EX

the other video equipment in your system. There are four possible choices:

• NTSC_M

• NTSC_443

• PAL_M

• PAL_B_G443

NTSC_M is the default, producing NTSC type M as used in North America and Japan. NTSC_443 is the NTSC variant that uses the 4.43 MHz color burst signal, which may be called for in some locales.

For PAL output, PAL_B_G443 represents the PAL type used in Brit-ain, Germany, and most other places where PAL is the standard. PAL_M is for use in Brazil and some other countries where the type M variant is used.

Stream TypeThe Stream Type: pop-up controls the mix of information packets that make up the MPEG stream that is output by the card. The pop-up must be set to the type of MPEG files that you will be playing on your system.

The four possibilities are:

• System

• Transport

• Audio

• Video

System streamsThe default stream type is a System stream. A System stream is a stan-dard MPEG stream, consisting of a video and an audio track.

Transport streamsA Transport stream is a customizable stream type that allows for spe-cial video and audio features. For example, instead of a System stream’s single audio track, a Transport stream might include several

Page 223: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

223

7: Additional InfoChannel Designer 3 EXesOptibase EX

alternate audio tracks, in various languages. The developer encoding the MPEG file can define custom stream configurations, consisting of whatever audio and video features supported by the MPEG standard are needed. If you do use a Transport stream, it is likely you will also have to adjust the Video PID and Audio PID settings from their defaults (see the “Packet identification” section, which follows).

Audio streamsAn Audio stream is an MPEG stream that contains only audio, and no video.

Video streamsA Video stream is an MPEG stream that contains only video, and no audio.

Packet identificationMPEG streams are made up of data packets of different types. There are video packets and audio packets. Each type must have its own unique ID number to identify itself to the MPEG decoder. There are default values for these ID numbers, and in most cases these values, initially shown in the Video PID and Audio PID value controls, can remain unchanged. However, customers with special needs, such as those specifying custom Transport streams, might need to adjust these values for their particular setup. If your setup uses different PID values for video or audio packets, use the appropriate value control to specify a hexadecimal value of up to three digits for the ID.

Genlocking the Videoplex signalThe Videoplex card can accept an external video sync signal so that it can genlock to other devices. Whenever there are other video devices being used in conjunction with the Videoplex, they should ideally all be genlocked to the same sync signal, to enable seamless overlays and prevent tearing during transitions between different sources.

The Genlock Enabled? button controls whether the card accepts an external video signal that may be present at its sync input port. When the button is on (✓ ), external sync is accepted and the Videoplex uses this to synchronize its own output. When the button is off, any exter-nal sync signal, if present, is ignored.

Page 224: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

224

7: Additional InfoChannel Designer 3 EXesOptibase EX

You should not turn this option on if no external sync signal is present. If Genlock Enabled? is on but no external sync is available, the Videoplex card will not produce output.

Synchronization-related display problemsThe MPEG encoding process embeds presentation time stamp (PTS) information in the MPEG file that an MPEG decoder uses to regulate playback such that the audio and video portions remain synchronized. If these time stamps are not present or are improperly specified in the encoding process, playback can become unstable, with jittering or jerky motion in the video.

A way to eliminate playback instability that results from bad or miss-ing PTS information is to tell the decoder to ignore the time stamps. Scala’s Optibase driver provides this capability, should you need to make use of MPEG files that have not been encoded with good time stamp information. Turn on (✓ ) the Disable PTS Synchronization? button to solve playback problems that are the result of bad time stamps.

The drawback to turning this option on is that without the synchroni-zation information, the video and audio portions of longer MPEG segments can drift out of sync with each other.

There are various possible reasons for MPEG image instability, and there is no simple way to know whether a given file that is not playing back correctly has PTS problems, other than to try this option. This option should be otherwise left off.

Using and saving settingsOnce you have made all the settings in the Optibase dialog that are needed, you can click OK to close the dialog and store the settings for use in this and future sessions.

Click Cancel to close the dialog, discarding any changes you made.

Using the Optibase menuWhen the Optibase EX has been enabled, a new column appears in the ICDesigner Main and Design List menus. The Optibase column

Page 225: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

225

7: Additional InfoChannel Designer 3 EXesOptibase EX

lets you create script events that control the Videoplex card. Click in this column for a page or a special event to open the Optibase Digital Video menu.

Optibase commandsThe Optibase: pop-up lets you choose the command that this event sends to the Videoplex card. There are five possible commands:

• Play

• Stop

• Wait

• Video

• None

PlayThe Play command lets you choose an MPEG file to play through the Videoplex card MPEG decoder. Click the File: button to open the File dialog, where you can choose a .MPG file to play. After you click OK on the File dialog, you see the Optibase menu again, with the file name on the File: button. When the event with this command is encountered in the script, the MPEG file begins to play.

The Wait? option is available for the Play command. When Wait? is on (✓ ), as it is by default, execution of the script pauses until playback of the specified MPEG file completes. Then the events following the Play event can proceed. If Wait? is off, script execution proceeds with the events following the Play command as soon as the MPEG file begins playing.

The Loops option is also available for the Play command. It allows you to have the MPEG file automatically start playing again immediately after it finishes, creating a video “loop”. The default is for the file to

Page 226: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

226

7: Additional InfoChannel Designer 3 EXesOptibase EX

play only once (Loops = 1). You can set this value control to a number from 1 to 99, or the ∞ (infinite) setting, which loops continuously until the script stops or an Optibase: Stop command is received.

StopUse the Stop command to stop play of an MPEG event started with a preceding Play command.

WaitThe Wait command pauses script execution until an MPEG file cur-rently playing finishes. Execution then continues normally with the events following the Wait event after the MPEG playback finishes. Use this event when you need certain events not to start until the end of the MPEG, but the MPEG was started by a Play command with its Wait? option turned off, so that intervening events could execute dur-ing MPEG play.

VideoThe Video command exists to let you set its Passthrough? option. The Videoplex card’s video input is normally routed directly to its output (“passed through”) so that the card may be used easily in a chain of video equipment. When the Videoplex card is not playing MPEG dig-ital video, any video signal appearing at the input is passed through to the output. When MPEG playback begins, the card automatically switches its output to the MPEG video instead, then switches back to passthrough mode when the MPEG finishes. In this way, manual switching between MPEG and external video passthrough modes when working with both sources is avoided.

At times, however, you might want to block the external video input from appearing at the Videoplex output. For example, it could be use-ful when you need to ensure that there is black (no signal) before the beginning and after the end of an MPEG segment.

To control the passthrough status, use the Video command. The Passthrough? option is on (✓ ) by default. To defeat the passthrough, so that the only output of the card is its MPEG playback, insert a Video command event with Passthrough? turned off.

Page 227: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

227

7: Additional InfoChannel Designer 3 EXesQueue EX

NoneUse the None command to remove a Play, Stop, Wait, or Video com-mand.

Queue EXScala InfoChannel 3 software products support use of the Q-Matic Corporation Q-Win queuing system through the Scala Queue EX.

The Scala Queue EX allows the display of queue information from a connected queueing system within a Scala InfoChannel Designer 3 script. The Queue EX provides device control for the queuing system. The EX is installed on an InfoChannel system that is connected via a serial port to the queuing system hardware. The output of that system is displayed on monitors situated where those in the queues can see them while waiting for the next available counter.

The Queue EX works by reading data transmitted by the queuing sys-tem hardware, and placing the data into special InfoChannel variables that can be displayed and manipulated in a script in real time, responding to the queuing system hardware.

Configuring the Queue EXThe Queue EX must be turned on in the ICDesigner Options dialog. Queue EX? appears in the Optional EXes list on the right of the EXes panel. Click this button to turn the EX on (✓ ).

Using the Queue EX requires you to configure the PC serial port for use with your queueing system. In the ICDesigner Options dialog, the

Page 228: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

228

7: Additional InfoChannel Designer 3 EXesQueue EX

Queue EX... button appears in the EX Settings list when the EX is on. Click this button to open the Queue Options dialog:

Before you modify the Queue EX settings, you should know the pro-tocol used by your queuing system, either serial or TCP/IP, and the associated settings for that protocol, such as baud rate or address port.

Setting Serial communication parametersThe buttons in the Serial panel of the dialog are for setting the serial communications parameters used for communication between the PC and the queuing system hardware.

Enabled?Turn on (✓ ) this option if your queuing system is serial controlled.

Serial ModeThe Serial Mode: pop-up lets you choose between system-defined and user-defined port settings for the serial port connected to the queuing system. When System Defined is chosen, the Communication Port: but-ton is enabled and the Port Address and Port IRQ buttons are disabled. The address and IRQ settings set in Windows for the port number you choose (1, 2, 3, or 4) are used. When User Defined is chosen, the Communication Port: button is disabled, and Port Address and Port IRQ are enabled. This lets you choose a particular address and inter-rupt setting that is independent of the COM port.

Page 229: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

229

7: Additional InfoChannel Designer 3 EXesQueue EX

Communication PortWhen Serial Mode: is set to System Defined, the Communication Port: pop-up lets you choose which of the four standard COM ports you are using. The pop-up is disabled when Serial Mode: is set to User Defined.

Port AddressWhen Serial Mode: is set to User Defined, the Port Address pop-up lets you specify a port IO address. The pop-up is disabled when Serial Mode: is set to System Defined.

Port IRQWhen Serial Mode: is set to User Defined, the Port IRQ pop-up lets you specify a port IRQ number. The pop-up is disabled when Serial Mode: is set to System Defined.

BaudUse the Baud pop-up to set the serial baud rate recommended by your queuing system documentation.

Data BitsUse the Data Bits pop-up to set the number of data bits recommended by your queuing system documentation.

ParityUse the Parity: pop-up to set the serial parity recommended by your queuing system documentation.

Stop BitsUse the Stop Bits pop-up to set the number of stop bits recommended by your queuing system documentation.

Page 230: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

230

7: Additional InfoChannel Designer 3 EXesQueue EX

Setting TCP/IP communication parametersThe buttons in the TCP/IP panel of the dialog are for setting TCP/IP communications parameters used for communication between the PC and the queuing system hardware.

Enabled?Turn on (✓ ) this option if your queuing system is TCP/IP controlled.

TCP/IP AddressThe TCP/IP Address: text box lets you enter the TCP/IP address of the server that this Queue EX will listen to if the TCP/IP connection type is enabled. The address is used to authenticate messages received from the server. If you do not know the address of the Q-Matic server or do not need authentication, leave this field empty.

TCP/IP PortThe TCP/IP Port: control specifies the TCP/IP port that this Queue EX will listen to if the TCPIP connection type is enabled. The default value is 501 and should not need to be changed in most installations.

Unit FilterThe Q-Matic queuing system has the capability of filtering queuing commands so that only certain display units are affected. The Unit Fil-ter: text box lets you specify a list of main display units, by number,

Page 231: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

231

7: Additional InfoChannel Designer 3 EXesQueue EX

that this Queue EX will listen to if the TCP/IP connection type is enabled.

Main display unit numbers are assigned by a Q-Matic installer. If this field is left blank this EX will listen for new events for all main display units, numbered 1 through 99 inclusive. To filter events based on unit number, enter the unit numbers you want to listen for using a comma- or a space-separated list like so:

• 1,2,5,11 - Capture letter, ticket, and counter events for unit num-bers 1, 2, 5, and 11.

• 8 - Capture letter, ticket, and counter events for unit number 8 only.

• 3 7 5 11 - Capture letter, ticket, and counter events for unit num-bers 3, 7, 5, and 11.

Saving your settingsClick the OK button to save your settings and exit the Queue Options dialog.

Page 232: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

232

7: Additional InfoChannel Designer 3 EXesQueue EX

Creating a queuing scriptAt its simplest, a script for use with a queuing system could be a plain page with little more than the current counter and ticket number shown on it. For example:

However, the real advantage of using ICDesigner with a queuing sys-tem is that it allows you to present information in addition to just the counter and ticket numbers. It gives you the opportunity to present queue information with all the design possibilities of an ICDesigner production, far outstripping the visual appeal of a simple text-based display. This lets you both inform and entertain your customers while they are in line, making the wait more enjoyable and enhancing your level of service.

At the same time it prominently displays the counter and ticket infor-mation, the script can also promote other goods and services available in the same facility, advise customers on any preparations they might need to make before their tickets are called, and display messages or images that could be helpful. With the availability of color back-

Page 233: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

233

7: Additional InfoChannel Designer 3 EXesQueue EX

grounds, animations, wipes, and a myriad of text styles, the display is sure to catch and hold the attention of impatient customers.

A script for a queuing system is created just like any other ICDesigner script. The only difference is that on each script page, the queue ticket and counter variables are embedded in text elements (as shown in the preceding illustration), so that the next available counter is always indicated.

Queue variablesOnce the Queue EX is active, twenty new variables in pairs are avail-able for inclusion in scripts:

Q.TicketQ.CounterQ.Ticket1Q.Counter1Q.Ticket2Q.Counter2Q.Ticket3Q.Counter3

.

.

.

Q.Ticket9Q.Counter9

A simple installation might use only the first Ticket/Counter pair, which can handle any number of counters or tickets.

In a large facility that has many counters, divided into groups, you can use as many of the numbered pairs as necessary to handle the different groups of counters. For example, an airport with multiple counters for each of several airlines could use a pair for each airline. Each airline could then have its counters numbered beginning with 1.

Pairs 1-9 are automatically filled in based on the group/series number transmitted by the queuing system.

Page 234: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

234

7: Additional InfoChannel Designer 3 EXesQueue EX

Using the queue variablesQ.Ticket variables – This variable contains the most recent queue sys-tem ticket number to be transmitted for the group.

Q.Counter variables – This variable contains the number of the next available counter or teller that the queuing system has transmitted to the group.

The ticket and counter numbers should always be in a large font, the largest text on the page. Use an easy to read font, and use color, outlin-ing and/or shadowing to make the numbers stand out from whatever might be underneath. For displaying a single counter, Helvetica Bold 100 pt. in white with a black outline would be a safe choice with virtu-ally any production. Make sure you leave enough room for large ticket and counter numbers to fit on the line.

The variables automatically update in real time as the information is sent by the queuing system. See the “Displaying variables” section in chapter 6 of the ICDesigner Basic Authoring User’s Guide for details on displaying variables within a script.

NOTE: If you already own a Q-Matic system, you may need to upgrade your system before using it with Scala InfoChannel.

Company informationQ-Win Systems:Q-MATIC Corporation95 Underwood RoadFletcher, NC 28732Phone: +1 (800) 852-6768Fax: +1 (828) 209-1100

Q-MATIC Sweden ABNeongatan 8S-431 53 MölndalSwedenPhone: +46 31 87 92 50Fax: +46 31 87 92 54

Page 235: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

235

7: Additional InfoChannel Designer 3 EXesWindows Scripting EX

Windows Scripting EXThe Windows Scripting EX allows you to take advantage of the power and versatility of other scripting languages supported by Windows to extend the capabilities of your ICDesigner scripts. It works by allow-ing you to launch external scripts written in languages such as VBScript, JScript®, and XML and providing a means of communica-tion between these scripts and your ICDesigner scripts.

The Windows Scripting EX works with any Windows Scripting Host (WSH)-supported language that is installed on the playback system. The EX lets you make ICDesigner user variables available to the Windows script for reading and writing. This enables data transfer between the ICDesigner script and the Windows script.

If the Windows script communicates with an external program or document such as a database, its data is therefore accessible in turn to the ICDesigner script. This opens limitless possibilities for import and export of data between ICDesigner scripts and external applications.

Using the Windows Scripting EXYou first need to create a script in a WSH-supported language that accomplishes some useful function. (The documentation that follows assumes familiarity with Windows scripting and sufficient competence to produce a functional script in a WSH-supported language.) The script should be saved in an appropriate location accessible to the ICDesigner script, such as the My Scripts folder.

If you intend to use the Windows Scripting EX, a Windows Scripting EX event must appear as an event in your script. When the ICDe-signer script executes this event, the Windows script is run.

ICDesigner Note

The Windows Scripting EX is a Windows Script Host, but is not the Windows Script Host. Specifically, it does not make the WScript object available.

Page 236: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

236

7: Additional InfoChannel Designer 3 EXesWindows Scripting EX

Click the WinScript column for an event in your script to open the Windows Scripting menu.

Click Select Windows Script: to open the File dialog, and navigate to the Windows script. After you select the script and click OK, you see the full path to the Windows script in the button.

The Engine: pop-up automatically switches to the script type if its file-name extension was one of the standard ones for that type of script. If it does not, you should manually choose the appropriate engine. The pop-up lists all the Windows scripting engines currently installed on the system. Its list may include, but is not limited to, the following:

• XML• VBScript• VBScript.Encode (encrypted VBScript)• JScript• JScript.Encode (encrypted JScript)

Page 237: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

237

7: Additional InfoChannel Designer 3 EXesWindows Scripting EX

Sharing variables with the Windows scriptThe scrolling list on the left-hand side of the Windows Scripting menu shows the names and types of all the user variables that have been defined in the current ICDesigner script. Any of these variables can be shared with the Windows script by moving them into the right-hand list.

Move a variable to the Variables shared with Windows script list by double-clicking it, or by selecting it and clicking the >> button. The variables in this list are available for reading and writing by the Win-dows script.

To stop sharing an ICDesigner variable, double-click it in the right-hand list to move it back to the left.

Using shared variablesVariables that have been shared with a Windows script can be manip-ulated and displayed just like other variables in ICDesigner within the ICDesigner script.

Within the Windows script, use of the ICDesigner variables is essen-tially the same as using variables defined natively within the scripting language.

The changes made by the Windows script to variable values are imme-diately available to the ICDesigner script, and vice versa.

In VBScript, you read and write the value stored in an ICDesigner variable by reading and writing the Value attribute:

iSomeVBVariable = ScalaInteger.Value

ScalaInteger.Value = 42

In VBScript, you don’t normally have to specify the “.Value” part because VBScript supports the concept of a “default method”. When a VBScript references an object without specifying the method/prop-erty, VBScript assumes you want to use the default method for that

Page 238: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

238

7: Additional InfoChannel Designer 3 EXesWindows Scripting EX

object. In the case of ICDesigner variable objects, the default method is the value property, so when the script shows this:

ScalaInteger = 42

It's actually a short form for this:

ScalaInteger.Value = 42

This distinction is important when you are using JScript because JScript doesn’t have default methods. In JScript, you always have to use “.Value”:

ScalaReal.Value = 7.77;

ScalaInteger.Value = 777;

ICDesigner from the Windows script sideApart from the variables that ICDesigner exports to a Windows script's environment, ICDesigner also makes available the ScalaPlayer object. The ScalaPlayer object is a special object that ICDesigner makes available in the Windows Scripting environment. In VBScript you can create it using:

CreateObject("ScalaPlayer.ScalaPlayer.1")

The ScalaPlayer object supports these methods:

Sleep(<time interval in ms>)

Puts the Windows Script to sleep for <time interval in ms> millisec-onds. The function does not return until at least that amount of time has passed, or ICDesigner playback is aborted (by hitting escape).

Log(<text string>)

Writes a string to the ICDesigner log.

DPrint(<text string>)

Similar to log, but writes to the Scala debug output monitor. This is not generally useful to the end user and is mostly for internal testing purposes.

Page 239: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

239

7: Additional InfoChannel Designer 3 EXesFile I/O EX

Also available to Windows scripts launched through ICDesigner is the ScalaFileLock object. It allows a Windows script to find media files that belong to the ICDesigner script that launched the Windows script. Any files that you can reference from ScalaScript, you can also reference using the ScalaFileLock. In VBScript you can create one of these objects using:

CreateObject("ScalaFileLock.ScalaFileLock.1")

This object has two methods:

LockScalaFile(<ScalaScript-style file name>)

This locks the file and also returns the Windows equivalent file name (the file name in the format a Windows Script requires).

UnlockScalaFile

This unlocks the file.

File I/O EXThe File I/O EX provides numerous functions that make possible input/output operations involved with loading and saving files under script control. Because these functions are generally useful only to advanced users with special requirements, they are not documented here.

A brief description of each function is available in its help text (in the Branch menu, scroll to the desired function in the Functions list, press F1, and click on the function.)

The File I/O EX does not create a column in the Main or Design List menus, and thus has no menu of its own.

You can find more complete descriptions of File I/O EX functions in the “ScalaEX.txt” file, which you can read by choosing the shortcut provided for it in the Windows Start menu. The file is also freely avail-able in the Software Updates section of the Scala Web site, http://www.scala.com.

Page 240: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 241: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 242: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

242

8: Using the Multi-tile EditorThe button backdrops provided with InfoChannel Designer 3 give you a wide variety of images that are particularly good for use as but-tons. This is because they are special “multi-tile” files, which are designed to be resized without becoming distorted. Unlike ordinary clips, the pixels of which become elongated when the clip is enlarged, multi-tile images use a unique multi-segment automatic tiling tech-nique to allow them to expand and contract without changing the size of the pixels in the image.

However, you are not limited to the button backdrops that ICDe-signer provides. ICDesigner includes a tool that lets you create your own button backdrops from any suitable image you have, and fine-tune the resulting multi-tile for best appearance. And multi-tiles are not just for use with buttons. They can also be useful as text backdrops that can be easily resized as the amount of text changes, and as eco-nomical page backgrounds.

How multi-tiles workA multi-tile is a bitmap image file that begins life as an ordinary clip. The file format used for multi-tiles, however, is extensible in such a way that the image can behave differently when resized than a regular clip does.

The object of multi-tiles is to make it possible to resize clip-art imag-ery without the distortions seen when stretching an ordinary bitmap. When you resize a bitmap, such as a clip, all the pixels in the image are elongated equally, resulting in an overall stretched appearance to the clip image.

For example, if you start with a clip of a painting in a picture frame, after resizing it to twice its original width, the left and right sides of the frame appear to be twice the thickness of the top and bottom of the frame. If the clip were made into a multi-tile, the frame could retain its original proportions on all sides. The “framing” portions of an

Page 243: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

243

8: Using the Multi-tile EditorHow multi-tiles work

image—the top, bottom, left and right sides—retain their original proportions no matter how you resize the multi-tile as a whole.

Making a multi-tile from an ordinary image is accomplished by using the ICDesigner Multi-tile Editor to slice the source image into nine tiling regions. The regions define how the various areas of the source image are duplicated to fill the additional space when you make the finished multi-tile wider or taller. There are three slices in each direc-tion. The four corner regions never change size and are not duplicated when the multi-tile is sized.

The middle regions of the four outer slices are duplicated in the appro-priate direction when the multi-tile is sized: the Top and Bottom mid-dle regions are duplicated horizontally, and the Left and Right middle regions are duplicated vertically. This ensures that the sides of the image, where you would typically have features such as beveled edges,

as stretched clip

multi-tile source image

as expanded multi-tile

Top slice

Middle slice

Bottom slice

Left sliceCenter slice

Right slice

nine multi-tile regions

corner regions

center-middleregion

Page 244: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

244

8: Using the Multi-tile EditorThe Multi-tile Editor

shadows, etc., continue to fit with the corner regions and do not change their proportions. The “center-middle” region is tiled, or duplicated both horizontally and vertically as necessary to fill the inter-nal area of the multi-tile at the desired size.

The process of creating a useful multi-tile is primarily a matter of defining the slices so that the multi-tile looks good at any size. This involves determining where the edges of each slice must be so that the internal pattern, if any, is tiled without any ugly discontinuities. Prop-erly adjusted, the edges line up with the image’s internal areas and look smooth and consistent no matter how you resize it. Getting it right can require some experimentation.

The Multi-tile EditorYou access the ICDesigner Multi-tile Editor through the Tools drop-down. On the Main menu, click Tools and choose Multi-tile Editor. You see the Multi-tile Editor screen:

Page 245: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

245

8: Using the Multi-tile EditorThe Multi-tile Editor

You create a multi-tile in the Multi-tile Editor by modifying a source image. The source image can be any graphics file that ICDesigner rec-ognizes, although for the purpose of creating a multi-tile, the image ideally should be fairly small and contain some type of pattern that is suited for tiling. Here is how the editor looks with a typical multi-tile open:

Defining the multi-tile involves specifying the dimensions of the six slices of the image file, plus a sizing increment called granularity.

Image areasThe Multi-tile Editor screen has two display areas. The large area to the left is the Graphic Editor, showing an enlarged version of the source image, and is where you actually define the slices. The name of the currently open file is shown in the bar above this area. In the lower right of the editor is a tabbed display section. It contains the Preview panel, which shows a stretched version of the source image, using the settings you have defined for it, and the Original panel, which shows the image at its natural, unexpanded dimensions.

Page 246: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

246

8: Using the Multi-tile EditorThe Multi-tile Editor

Slice controlsAbove the Preview/Original panels are the buttons of the Numeric Edi-tor, which control the vertical and horizontal slices and the way they are tiled. Each of the six slice buttons displays two pixel values: the first is an offset (the number of pixels from the top edge or left edge of the source image) and the second is a width.

When you select one of the buttons, the corresponding slice is high-lighted on the Graphic Editor’s enlarged image. Changing the Numeric Editor values visibly changes the dimensions of the slice in the editor. Similarly, clicking in the enlarged image selects a slice, and dragging the graphic handles on the sides of the slice causes the pixel values on the corresponding button to update. You can use either or both methods to define your slices, whichever is most convenient.

GranularityIn ICDesigner, you can resize a clip arbitrarily to any pixel size. Multi-tiles, however, because of the unique way they work, are resized in dis-crete increments that may be larger than a single pixel. The Granular-ity value control specifies the increments by which the size of the multi-tile can be changed. A large granularity limits the number of possible sizes you can make the multi-tile; a small granularity lets you resize more freely.

The control lets you adjust the horizontal and vertical granularity independently, in pixels. Click the Granularity control to activate it. This also highlights the granularity setting graphically on the enlarged image, and you can adjust the setting using the handles just as with slices.

Generally, you want the granularity to be small, such as 3 × 3. This allows greater precision in sizing the multi-tile. The limiting factor in specifying the granularity is the source image, and how you want it to look when adjusted to its final size. You need a value that produces results that look good when the multi-tile is sized.

Page 247: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

247

8: Using the Multi-tile EditorThe Multi-tile Editor

With some source images, the exact granularity setting is not critical. But others call for a particular granularity value. The two main reasons for needing to specify a particular granularity value are:

• to prevent discontinuities between the center-middle slices and the Bottom and Right slices.

If the granularity is smaller than the size of the center-middle slice, segments of the Center and Middle slices (in granularity-sized increments) are used to complete any odd-sized area on the right and bottom of the fill area. These segments might not match up with portions of the central pattern that could be present in the Bottom/Right slices.

• to ensure that the pattern contained in the center-middle region is always reproduced in its entirety, and is not cut off on the bottom and right sides.

When the granularity is made equal to the size of the tile defined by the Center and Middle slices, only whole center-middle tiles can be displayed, and the pattern cannot be cut off.

If the source image contains a repeating pattern, the granularity should generally match the size of the smallest unique portion of the pattern, so that when duplicated, the slices fit together seamlessly and you get the best sizing flexibility. You might also want to do this to prevent the repeated part from appearing cut off on the bottom and right side of the multi-tile, as it would when the multi-tile had a size that was not a multiple of the size of the center-middle region.

The granularity values can range from 1 × 1 to a maximum equal to the size of the center-middle region of the image.

Relationship between granularity and the center-middle regionThe granularity of a multi-tile is not necessarily the same as the size of the center-middle region. Aside from the fact that the granularity can-not be larger than the size of the center-middle region, the settings of Granularity, Center, and Middle are independent.

Page 248: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

248

8: Using the Multi-tile EditorThe Multi-tile Editor

The advantage of this independence is that it allows you to optimize both the precision with which you can resize the multi-tile and the quality of the resulting image in the multi-tile when it has been sized.

The center-middle region is used as the basic tile unit to fill the multi-tile; ICDesigner always reproduces the full tile or as much of a full tile as possible in the space available. When the final size of the multi-tile can’t be filled by complete tiles, partial tiles are used. The size of the partial tiles can vary in granularity-sized increments. (The illustrations on page 250 make this easier to see.)

Some multi-tile images have a large-scale pattern or shape in them and thus look best with a large center-middle tile. However, the nature of some large-scale patterns can allow a small granularity.

Some examples help to illustrate these different possibilities.

If the pattern filling the source image is a checkerboard, alternating pixels of two different colors, the ideal dimensions of the center-mid-dle region would be 2 pixels wide and 2 pixels high. Any other even numbers would also work well. A setting that included an odd num-ber, however, would disrupt the even checkerboard pattern, producing an unattractive discontinuity at the boundaries of each slice. Any gran-ularity setting would work equally well.

The “Ball-b”, “Balls-b”, and “Cheese-n” multi-tiles supplied with ICDesigner in the ScalaArt:\ClipArt\GuideExamples folder illustrate the very different effects possible when for the same source image, the granularity and center-middle region settings are varied. The first two use the same blue sphere as a source image.

Create a blank page and use Add from the Design menu to open Ball-b.png into the page. Initially you see the source image, the plain sphere. Grab a corner handle and make the multi-tile larger. Notice how it appears to become a solid blue flat surface with rounded edges and corners. This is because of two factors: 1) the granularity is as fine as possible (1 × 1); and 2) the center and middle slices are just a pixel wide, matching the granularity. (These settings were saved with the multi-tile when it was created.)

Page 249: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

249

8: Using the Multi-tile EditorThe Multi-tile Editor

The center and middle slices are what is duplicated to make the multi-tile larger, and because they are from the center of the sphere where the colors are solid, the resulting multi-tile surface is solid and the edges are smooth.

If you now import Balls-b.png, at first you see the same sphere. When you make it larger, however, the results are very different. In this multi-tile, the saved granularity and Center/Middle slice dimensions also match, but now they are large. The entire square central area of the sphere is duplicated, giving the multi-tile surface an upholstered appearance. You can size it only in multiples of the granularity. If the granularity were reduced, you would see breaks around the edges of

source image enlarged multi-tile

Center slices are duplicated to fill horizontal space

Middle slices are duplicated to fill vertical space

Granularity = 1 x 1Center-Middle slice size = 1 x 1

Page 250: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

250

8: Using the Multi-tile EditorThe Multi-tile Editor

the multi-tile, because the edge slices of the sphere would not match up with the Center/Middle slices.

Finally, import Cheese-n.png. It has a large-scale pattern, but one that is designed to blend seamlessly with itself along the edges, so that when tiled, the repetition of the pattern is not so obvious. With this kind of pattern, you can generally use any convenient value for the granularity. In this case, as in “Ball-b”, the granularity was saved as 1 × 1, so that you can size the multi-tile with complete freedom. How-ever, the center-middle region is the entire face of the image. This allows all of the Swiss-cheese pattern to show on the face of the multi-tile.

source image enlarged multi-tile

center-middle region “tiles”,

three Center slices and twoMiddle slices contain six

which match up with the edge slices

Granularity = 44 x 44Center-Middle slice size = 44 x 44

source image enlarged multi-tile,showing repeating pattern

two center-middle tiles

partial tiles expand in incre-ments of Granularity settingGranularity = 1 x 1

Center-Middle slice size = 40 x 40

Page 251: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

251

8: Using the Multi-tile EditorWorking in the Multi-tile Editor

OpenClick the Open icon in the Multi-tile Editor toolbar to open the File

dialog, where you can choose a source image in any format, or an existing multi-tile (.PNG format). When you have chosen an image and clicked OK, you see the Multi-tile Editor with the image you chose showing in the display areas, ready for editing. The name of the image you opened appears in the bar below the toolbar.

SaveClick the Save icon in the Multi-tile Editor toolbar to open the File dialog, where you can save a multi-tile you have created or edited. You can save the multi-tile to any location, but using the folders provided is recommended for the sake of organization.

Regardless of the format of the source image, multi-tiles are saved as .PNG files.

ExitClick Exit (or the close button) to exit the Multi-tile Editor and return to the Main menu. You will be prompted to save any unsaved changes.

Working in the Multi-tile EditorThe basic strategy to make a multi-tile is to make the framing slices (Left, Right, Top, and Bottom) just wide enough to contain the parts of the source image that form the borders of the image. The Center and Middle slices then contain the areas of the image that can be duplicated.

The trick is adjusting the slice edges so that they precisely match the edges of the pattern that is to be repeated. The Center slice should be exactly as wide as the pattern, and the Middle slice exactly as tall. These slices can also be multiples of the width/height of the pattern. If

ICDesigner Note

The PNG format is not exclu-sive to ICDesigner multi-tile files. It is a general-purpose image file format like BMP and TIFF. You might find clip-art in the PNG format, which you could use in ICDesigner as clips, or source images for multi-tiles. You can also open a multi-tile PNG file into another application that rec-ognizes PNG files. In that case, the application would see the file as containing just the source image.

Page 252: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

252

8: Using the Multi-tile EditorWorking in the Multi-tile Editor

the framing slices contain any of the central pattern, their edges should be at the edges of the pattern. How this works becomes more obvious when you try it for yourself.

Although you can use any image to make a multi-tile, for best results you should use a source image created especially for this use. Typically this is a rectangular graphic that has shading or other special treatment of the edges and corners, with a central pattern that is designed to fit together with itself seamlessly when tiled. This way, the tiling isn’t apparent: the multi-tile interior looks like a single, unbroken surface and the edges are continuous. Clip-art libraries, particularly those intended for Web authoring, often contain graphics that have been designed with this basic purpose in mind. You can also use an external paint program or something similar to create such images.

Working with the source imageWhen you first open a plain image (one that is not already a multi-tile)

into the Multi-tile Editor, the Center and Middle slices are set to occupy the entire image. If your image is nothing but a uniform pattern, the other slices would be superfluous and you could simply adjust the granularity and save this immediately to create a multi-tile.

But assuming that your source image has some edge features that should be preserved, you need to reduce the dimensions of the Center and Middle slices, thereby increasing the dimensions of the Left, Right, Top, and Bottom slices so that they enclose the borders of the image.

Selecting slicesA given area of the image is usually a part of two slices, a horizontal slice and a vertical slice. The bottom left corner of the image is part of both the Bottom and Left slices, for example. You can always select exactly the slice you want by clicking the corresponding button in the Numeric Editor.

As a shortcut to using the buttons, you can click on the image itself in the Graphic Editor. You switch between selection of a given area’s ver-

ICDesigner Note

If you open a new image that is the same size as the current image, the slice definitions for the current image are retained.

Page 253: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

253

8: Using the Multi-tile EditorWorking in the Multi-tile Editor

tical slice and selection of its horizontal slice by clicking within the selected slice. Whenever you click within a slice that is already selected, the enlarged image changes from displaying horizontal to ver-tical slices, or vice versa. The place in the selected slice where you click to change modes determines which of the three possible slices in the other direction will be selected.

For example, if the Left slice is selected and you click in the lower part of it, the Bottom slice becomes selected. If the Center slice is selected and you click in the middle of it, the Middle slice becomes selected. Use the dashed lines that indicate the boundaries of the other slices as your guide.

Clicking in an unhighlighted area of the image, or in an area outside the image, selects another slice without changing the horizontal/verti-cal display mode. If you click somewhere within some other slice, that slice is selected. If you click somewhere that is not part of any slice, the nearest slice is selected. For example, when the Bottom slice is high-lighted, clicking anywhere in the Top slice or above the image selects the Top slice.

Slice selection in the Graphic Editor becomes more clear once you have worked with it a bit.

Adjusting slicesFirst, click on the enlarged image. For a newly-opened image, it high-lights, and the entire image is enclosed in a box with graphic handles on the left and right. The Center button also highlights, indicating that you have selected the Center slice. When a slice is highlighted, dashed lines indicate the boundaries of other slices, for reference. Right now, you see what appears to be a dashed box around the entire image, because the Top, Bottom, Left, and Right slices are all mini-mized around the outside of the image.

Drag both of the graphic handles toward the center of the image. The offset and width values in the Center button change accordingly. The boundaries of the adjacent slices also adjust so that their edges coin-cide. Think of the edges of all the adjacent slices as being attached, so that as you adjust the slices, gaps and overlaps are prevented. Note that

Page 254: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

254

8: Using the Multi-tile EditorWorking in the Multi-tile Editor

only the area of the current slice, within the solid box, remains high-lighted.

If you now click again within the highlighted area, you select the Mid-dle slice. The Middle slice is still the full height of the image, so it is highlighted accordingly, and the handles now appear on the top and the bottom of its bounding box. Drag these handles toward the mid-dle of the image as well.

Separating the edges of the slicesBy default, the edges of neighboring slices are “stuck together”: when you move the right edge of the Middle slice, for example, the left edge of the Right slice moves with it. Usually this is what you want, because it helps ensure that the source image’s pattern continues to match from slice to slice. However you can adjust the edges of all slices inde-pendently if you want.

To have independent control of the edge of a slice, hold down Ctrl while dragging its handle. The edge of the neighboring slice remains where it is while you position the selected slice edge as usual. Once separated like this, the two edges remain independent until you move one on top of the other again.

The capability to separate the slices can occasionally be useful, for example if there is only one part of the source image that you wish to constitute the repeated multi-tile pattern.

Page 255: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

255

8: Using the Multi-tile EditorWorking in the Multi-tile Editor

The bevgrd-h.png multi-tile illustrates these ideas:

Using the preview imageAs you drag the handles, you notice the Preview image changing in real time to reflect the settings you make. The example expands to fill the preview box as best it can given the current settings. (If the source image is large, it may not be possible to fit a stretched image com-pletely in the Preview panel, and you see a portion of the image. With a very large source image, the sample may even extend beyond the edges of the box. In this case, you can drag the sample around in the Preview panel to see the outer areas of the sample.)

Because the size of the box is limited, sometimes changing settings causes the size of the sample to jump. But it always reflects how the current slice and granularity settings you have made work together to produce a stretched version of the source image.

4-pixel-square center-middle tile contains the repeating pattern unit, matching the Granularity setting

guide lines show how slice edges are separated

Page 256: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

256

8: Using the Multi-tile EditorWorking in the Multi-tile Editor

Observe the sample multi-tile carefully to see how your slice adjust-ments affect the stretched image. Because the feedback to all your changes is immediate, it is easy to see where any problems are.

Page 257: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 258: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

258

Appendix A: Function and variable reference

Standard ICDesigner functionsInfoChannel Designer 3 provides many standard functions and vari-ables for general use. Their operation and basic syntax is similar to cor-responding functions and variables in other programming languages.

When a variable or function is evaluated, it always produces a result or return value. The return value can be a number, a string, or a logical value. It can be placed into a variable or used as the basis for a compar-ison. The difference between functions and system variables is that functions require one or more initial pieces of information (in paren-theses) in order to get the return value. A system variable always has a value, maintained by ICDesigner, which you can use at any time.

Numeric functions work on or with numeric values (including expres-sions). “String” functions work on or with string. Expressions are also accepted.

Numeric values expected by or returned by a function or variable in ICDesigner are in most cases whole numbers (“INT”: integers, including negative num-bers), but in some cases can be floating point num-bers (“REAL”: real numbers, which can have a fractional portion). You can assign integer values to real variables freely. If you supply a real value to an integer variable, the integer portion is used and the decimal portion is discarded. For functions, the value supplied must match the type expected by the func-tion, or an error is generated when the script runs.

Logical values in ICDesigner can be specified as TRUE or FALSE, but they are also accepted, and are always displayed by ICDesigner, as ON or OFF, which are synonymous with TRUE and FALSE.

Note that spaces in expressions are unnecessary and are ignored, but are used in our examples for clarity.

ICDesigner NoteTo make the text more easy to follow, we show variable names in SMALL CAPS, and functions and logical operators in ALL CAPS. However, you do not have to use any capitalization when you use variables, func-tions, or operators. You can use all lowercase, or any mix-ture of upper and lowercase.

Page 259: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

259

Appendix A: Function and variable referenceStandard ICDesigner functions

Numeric functionsMIN (INT1, INT2)If INT1 is less than INT2, this function returns INT1. Otherwise, it returns INT2.

MAX (INT1, INT2)If INT1 is greater than INT2, this function returns INT1. Other-wise, it returns INT2.

ABS (INT)If INT is a negative number, this function returns -INT. Otherwise, it returns INT.

SIGN (INT)This function returns -1, 0, or 1, depending on whether INT is a negative number, zero, or a positive number.

RANDOM (INTMIN, INTMAX)This function returns a random integer in the range INTMIN... INTMAX.

SEED (INT)This function provides a seed (starting point) for the random number generator. You should always do this before using RANDOM(), to avoid duplicate sequences of random numbers. INT can be any number; using the system variable CLOCK is good for this. This function always returns ON (true).

String functionsLENGTH (STR)This function returns the number of characters in the string STR.

LEFT (STR, INT)This function returns the INT first characters of the string STR. If the length of STR is less than or equal to INT, it returns the entire string.

RIGHT (STR, INT)This function returns the INT last characters of string STR. If the length of STR is less than or equal to INT, it returns the entire string.

Page 260: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

260

Appendix A: Function and variable referenceStandard ICDesigner functions

SUBSTRING (STR, INTPOS, INTCHARS)This function returns a portion of string STR starting at position INTPOS and containing INTCHARS characters. INTPOS should be in the range from 1 to LENGTH (STR). If INTCHARS is greater than (LENGTH (STR) + 1) - INTPOS, SUBSTRING() returns as many characters as possible. If INTPOS is greater than LENGTH (STR), it returns an empty string (“”).

SEARCH (STR, INT, T)If T is a sub-string of STR starting at a position greater than or equal to INT, this function returns the position of the first occur-rence of T within STR. Otherwise, it returns 0.

CODE (STR)This function returns the ANSI Latin-1 code of the first character in the string STR. If STR is empty, it returns 0.

CHAR (CH)This function returns a one-character string consisting of the ANSI Latin-1 character defined by the code CH.

FORMAT (FMT, INT)This function formats integer numeric values for various output conventions. By including a format string FMT that contains cer-tain special characters, you can control the way the number INT is displayed, regarding factors like fixed decimal point, leading and trailing zeros, and sign.

# reserves one digit column in the formatted string

. includes a fixed decimal point in this position

0 includes leading or trailing zeros out to this column position

- places minus sign in its own column

+ places sign in its own column, and uses + for positive values

< left-aligns the columns instead of right-aligning

Page 261: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

261

Appendix A: Function and variable referenceStandard ICDesigner functions

Examples:

The shaded examples show various ways of formatting with a fixed decimal point. You can do decimal currency calculations and display amounts properly by combining one of these formatting approaches with integer amounts in the hundredths unit. For example, to display amounts in dollars, store all amounts in cents ($1.20 = 120 cents), then display the amounts with two decimal places as shown above.

You can use the FORMAT() function “implicitly” to display val-ues embedded in a text element by including the formatting char-acters along with the variable. See “Formatting numbers to display decimal values” on page 96 of chapter 3 for more information.

FORMATREAL (FMT, REAL)This function formats real number values for various output con-ventions. It uses the same format string special characters as FORMAT(), described above, and these operate in the same way to format the final string.

Text entered in Design menu Script output

ABC !(FORMAT (“####”,1234)) XYZ ABC 1234 XYZ

ABC !(FORMAT (“####”,-34)) XYZ ABC -34 XYZ

ABC !(FORMAT (“0###”,34)) XYZ ABC 0034 XYZ

ABC !(FORMAT (“####”,4)) XYZ ABC 4 XYZ

ABC !(FORMAT (“####<”,4)) XYZ ABC 4 XYZ

ABC !(FORMAT (“####”,12345)) XYZ ABC 12345 XYZ

ABC !(FORMAT (“#0.#0”,120)) XYZ ABC 1.20 XYZ

ABC !(FORMAT (“#0.#0”,12)) XYZ ABC 0.12 XYZ

ABC !(FORMAT (“#0.#0”,-12)) XYZ ABC -0.12 XYZ

ABC !(FORMAT (“-#0.#0”,12)) XYZ ABC - 0.12 XYZ

ABC !(FORMAT (“+0#.#0”,12)) XYZ ABC +00.12 XYZ

Page 262: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

262

Appendix A: Function and variable referenceStandard ICDesigner functions

Expression evaluation functionsEVALSTRING (STR)This function evaluates the string expression contained in the variable STR and returns the result to a text variable. If STR did not contain a valid expression, EVALSTRING() returns an empty string (“”).

Example:

STR = “LEFT(“HumanTouch”,5)”STR2 = EVALSTRING (STR) (STR2 contains “Human”)

EVALINT (STR)This function evaluates the integer expression contained (as a string) in the variable STR and returns the result to an integer variable. If STR did not contain a valid expression, EVALINT() returns 0.

Example:

STR = “(6 * 5) - 25”INT = EVALINT (STR) (INT contains 5)

EVALREAL (STR)This function evaluates the real expression contained (as a string) in the variable STR and returns the result to a real variable. If STR did not contain a valid expression, EVALREAL() returns 0.

Example:

STR = “10/3”REAL = EVALREAL (STR) (REAL contains 3.3333)

EVALBOOL (STR)This function evaluates the boolean (logical) expression contained (as a string) in the variable STR and returns the result to a logical variable. If STR did not contain a valid expression, EVALBOOL() returns OFF (false).

Example:

STR = “NOT (5 = 10)”BOOL = EVALBOOL (STR) (BOOL contains ON (true))

Page 263: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

263

Appendix A: Function and variable referenceStandard ICDesigner functions

Conditional functionCONDITIONAL (LOG-EXP, TRUE-EXP, FALSE-EXP)This function evaluates the logical expression LOG-EXP, and on the basis of that evaluation returns the value of either TRUE-EXP or FALSE-EXP. If LOG-EXP is true, TRUE-EXP is evaluated and returned; if LOG-EXP is false, FALSE-EXP is evaluated and returned. TRUE-EXP and FALSE-EXP can be text, numeric, or logical expres-sions.

Example:

CONDITIONAL (COUNT<20, “Counting...”, “Done!”)

This example returns “Counting...” if LOG-EXP is evaluated while COUNT is less than 20, otherwise it returns “Done!”.

Type conversion functionVALUE (STR)When STR is a string consisting of numeric digits, VALUE() con-verts STR to the corresponding integer. It returns 0 if STR does not start with a number (leading white space is ignored). VALUE rec-ognizes decimal (base 10) numbers by default, hexadecimal (base 16) when STR is prefixed with a dollar sign ($), and binary (base 2) when STR is prefixed with a percent sign (%).

Examples:

INT = VALUE (“015”) (INT contains 15)INT = VALUE (“$0F”) (INT contains 15)INT = VALUE (“%00001111”) (INT contains 15)

System functionsGETENV (STR)This function returns the contents of the DOS environment vari-able STR. If the variable is not defined, GETENV() returns an empty string (“”).

Page 264: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

264

Appendix A: Function and variable referenceStandard ICDesigner functions

EXISTS (PATH)This function returns ON (true) if, and only if, a file exists as spec-ified by Path. If no drive letter is included, the Path is assumed to be relative to the folder containing the script using this function; if a drive letter is included, then that absolute path is searched.

Example:

BOOL= EXISTS (c:\config.sys) (BOOL contains ON (true))

SYSTIME (MODE)This function returns a value representing some portion of the current date and time. You specify the units using MODE, which can be any one of the following:

Example:

INT = SYSTIME (month) (INT contains 6, assuming the month is June)

VERSION (“ModuleName”)REVISION (“ModuleName”)Returns the version/revision number of a module (for example, “player.book” or “branch.ex”). Use the module names as shown in the Info panel of the ICDesigner Options dialog.

MODE you give Range of values

year 2002, 2003, 2004...

month 1...12

day 1...31

hour 0...23

minute 0...59

second 0...59

weekday 1...7

Page 265: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

265

Appendix A: Function and variable referenceSystem variables

System variables

Time variablesTIMEThis variable contains a string with the current time in the current format (defined by the Timing EX settings in the ICDesigner Options dialog).

DATEThis variable contains a string with the current date in the current format (defined by the Timing EX settings in the ICDesigner Options dialog).

WEEKDAYThis variable contains a string with the name of the current day of the week in the current format (defined by the Timing EX settings in the ICDesigner Options dialog).

CLOCKThis variable contains the number of milliseconds since this ICDesigner session began.

Other system variablesPLATFORMThis variable contains the name of the OS platform. For Win-dows 2000, this returns “Win32”.

CPUThis variable contains the CPU name, such as “486” or “Pen-tium”.

MEMORYThis variable contains the total amount (not the amount free) of RAM in bytes.

Page 266: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

266

Appendix A: Function and variable referenceSound function

Sound functionICDesigner provides one function related to CD sound.

CD.LENGTHTRACK (TRACKNUM)This function returns a string containing the length of the CD track whose number is TRACKNUM. If TRACKNUM was not valid, this function returns an empty string (“”).

Example:

STR = CD.LENGTHTRACK (4) (STR might contain “3:54”)

File I/O functionsThe File I/O EX provides numerous functions that make possible input/output operations involved with loading and saving files under script control. Because these functions are generally useful only to advanced users with special requirements, they are not documented here. You can find descriptions of each of these functions in the “ScalaEX.txt” file available in the Software Updates section of the Scala Web site at http://www.scala.com.

Sound variablesICDesigner makes certain variables related to sound available for use in specialized scripts. These variables can be used for interactive music projects, such as creating a “virtual CD player” as a script.

Page 267: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

267

Appendix A: Function and variable referenceSound variables

The CD variables are read-only, so you cannot assign values to them. The Mixer variables, however, are read/write, so you can read their current value or set a new value.

Name Type Description Example

CD.TrackTime text Elapsed time of the current CD track

“01:23”

CD.TrackLength text Total length of the current CD track

“4:56”

CD.DiscTime text Time from beginning of CD to current location

“23:45”

CD.DiscLength text Total playing time for the entire CD

“54:32”

CD.Track integer Current track number 3

CD.MaxTracks integer Total number of tracks on the current CD

13

CD.NumDrives integer Total number of CD drives 1

CD.FirstDrive text Letter of the first CD drive “D”

Name Type Range Description

Mixer.MasterVol integer 0...255 Master Volume level

Mixer.MasterPan integer -255...255 Master Pan setting

Mixer.CDVol integer 0...255 CD Volume level

Mixer.CDPan integer -255...255 CD Pan setting

Mixer.SampleVol integer 0...255 Sample Volume level

Mixer.SamplePan integer -255...255 Sample Pan setting

Mixer.MIDIVol integer 0...255 MIDI Volume level

Mixer.MIDIPan integer -255...255 MIDI Pan setting

Mixer.LineVol integer 0...255 Line Volume level

Mixer.LinePan integer -255...255 Line Pan setting

Mixer.MicVol integer 0...255 Mic Volume level

Page 268: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

268

Appendix A: Function and variable referenceOperators

Operators

Arithmetic operators

= Assignment of value, equality comparison

Examples: N = 3 (N contains 3)L = (6 = 5) (L contains OFF)

+ Addition, string concatenation

Examples: N = 3 + 2 (N contains 5)S = “Jig” + “&Saw” (S contains “Jig&Saw”)

- Subtraction, negation

Examples: N = 3 - 2 (N contains 1)N = -B (if B contains -6, N contains 6)

* Multiplication

Example: N = 3 * 5 (N contains 15)

/ Division

Example: N = 12 / 4 (N contains 3)

mod Modulo (remainder after integer division)

Example: N = 10 mod 3 (N contains 1)

** Exponentiation

Example: N = 3 ** 2 (N contains 9)

ICDesigner Reminder

In ICDesigner, “ON” = “TRUE” and “OFF” = “FALSE”.

ICDesigner Reminder

ICDesigner is not case-sensitive, so capitalization is ignored in string comparisons.

Relational and logical operators

> Greater than

Examples: L = (10 > 10) (L contains OFF)L = “abc” > “def” (L contains OFF)

< Less than

Examples: L = (10 < 10) (L contains OFF)L = “abc” < “abc” (L contains OFF)

Page 269: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

269

Appendix A: Function and variable referenceOperators

>= Greater than or equal to

Example: L = (10 >= 10) (L contains ON)L = “ABC” >= “abc” (L contains ON)

<= Less than or equal to

Example: L = (10 <= 10) (L contains ON)

<> Not equal to

Example: L = (10 <> 10) (L contains OFF)

AND Logical “AND”

Example: L = (3 >2) AND (1 > 10) (L contains OFF)

OR Logical “OR”

Example: L = (3 >2) OR (1 > 10) (L contains ON)

NOT Logical “NOT”

Example: L = NOT (1 > 10) (L contains ON)

Relational and logical operators (Continued)

Page 270: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 271: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

271

Appendix B: Licensing issuesBecause Scala InfoChannel Designer 3 lets you incorporate art, music, sound, and video, it’s possible that some of the content you incorpo-rate will need to be licensed. Your license for the ICDesigner software does not require you to license productions you create with ICDe-signer. However, this license does not cover free sub-licensing of any content not supplied by Scala that you might choose to include in a production. It is your responsibility to obtain the required licenses from the content owners of any images, sounds, music, or video clips you have included in your production.

In many cases, you obtain a license for content simply by purchasing it in the form of a CD-ROM or other medium. For example, many companies sell font, clip-art, sound-sample, and MIDI file CD-ROMs, and by purchasing the disc you receive a “blanket” license to distribute any of the contents. However, each vendor of multimedia content has its own licensing arrangements, and you might be required to pay license fees for certain content on a per-use basis, to include credit indicating the source of certain items, or to abide by any of the licensor’s restrictions. You must read all of your license agree-ments carefully to know for sure.

Failure to obtain a license and/or fulfill its obligations could leave you vulnerable to legal action by the licensors.

The “End User License Agreement” provides detailed explanation about your rights and obligations when using ICDesigner. The Agree-ment is printed at the beginning of the ICDesigner “Basic Authoring” User’s Guide, and is also displayed at the beginning of the installation procedure for any Scala software.

GIF and TIFF filesIt is possible that your production might include art or photos in the GIF or TIFF-LZW formats. Algorithms that are needed to view the files are licensed from Unisys Corporation. For licensing terms on GIF

Page 272: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

272

Appendix B: Licensing issuesICDesigner fonts, backgrounds and sounds

and TIFF(LZW), contact Unisys at [email protected] or phone +1 215 986-3090.

It is your responsibility to find out if any of your GIF or TIFF images do require licensing, and then follow the necessary steps in order to obtain the licenses. Refer to the License Agreement section “Other licenses needed” for more information about licensing.

ICDesigner fonts, backgrounds and soundsThe fonts, images, sound files and ICDesigner scripts on the CD-ROM are licensed by Scala for your use. Purchase and use of this soft-ware automatically gives you the right to redistribute any of this mate-rial with your own scripts.

TrueType fonts provided with ICDesignerAlthough scripts using the TrueType fonts provided with ICDesigner can be freely redistributed by the end user, the fonts themselves are not licensed for redistribution or commercial use. Distributing a commer-cial product containing an InfoChannel Designer 3 script that uses any of these fonts might require obtaining a license from the font manufacturer, the same as for any other TrueType font.

The supplier of these fonts is Agfa® Monotype Corporation. You can contact Agfa at:

Agfa Monotype Corp.100 Challenger RoadRidgefield Park, NJ 07660Tel. +1-201-440-2500Fax. +1-201-440-5733

Agfa’s Web site is http://www.agfa.com. Agfa fonts may be purchased online at http://www.fonts.com.

Page 273: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

273

Appendix B: Licensing issuesMedia not provided by Scala

Media not provided by ScalaWhen you use fonts, images, sound files and other media that have not been provided by Scala, but have been acquired in some other way, it is the responsibility of you, the producer, to know and comply with whatever licensing restrictions that the author of the media has established.

TrueType font restrictionsTrueType fonts contain embedded information that is intended to control how they may be installed on systems receiving the font with documents.

There are three levels of control:

• The font may have no restrictions, and may be freely installed on another system

• The font may be installable for “print and preview”, meaning that it cannot be used except for the document with which it is distrib-uted

• The font may be restricted from any installation

In saving scripts, ICDesigner abides by this control information, and will not include fonts in a saved or published script if there is no instal-lation permitted. In the Select Font dialog in the Design Text menu, the Not Embeddable button appears whenever you select a TrueType font that contains restrictions on embedding in a document. Clicking this button gives a fuller explanation of the embedding restriction.

ICDesigner never includes standard TrueType font files with a docu-ment; when fonts do allow some level of installation, ICDesigner embeds and/or encrypts the font data.

However, the fact that ICDesigner may include font data with a saved script does not confer distribution rights. As with other media, you are always responsible for confirming the licensing requirements of any fonts you include in a script.

Page 274: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

274

Appendix B: Licensing issuesUsing Scala trademarks

Getting information on TrueType fontsAt the time of this writing, Microsoft is making available a utility to display information embedded in TrueType font files about its manu-facturer and installation restrictions. The Font Properties Extension, when installed on your system, provides several additional tabs in the Properties sheet for the font. This utility should be available for down-load from the typography area of Microsoft’s Web site, http://www.microsoft.com.

Using Scala trademarksWhen using ICDesigner, you have the right to utilize the following trademarks of Scala:

Scala® InfoChannel® Designer 3

There are, however, conditions and obligations attached to using Scala trademarks.

Refer to the Scala Web site for information and file links regarding use of Scala trademarks and logos in relation to your ICDesigner produc-tions.

Understanding the license agreementIt is important that the end user license agreement at the beginning of the “Basic Authoring” manual be read in full before you proceed with distributing your ICDesigner production. A copy of the agreement is included with the ICDesigner software.

Questions regarding the License Agreement can be addressed to Scala, Inc., One East Uwchlan Ave. Suite 300, Exton, Pennsylvania 19341 USA, or contact your local Scala subsidiary office.

Page 275: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

275

Appendix B: Licensing issuesThird party redistributable software

Third party redistributable softwareTo make the end user experience as seamless as possible, when pub-lishing a script to CD-ROM you can include certain third-party soft-ware that ICDesigner scripts require, in case the intended playback system does not already have it.

The AutoPlay setup utility checks for the presence of all required com-ponents, and notifies the user if any are missing on that system. The setup utility can install DirectX 8.1 automatically if necessary, provid-ing that its licensed distribution archive has been included on the CD-ROM.

If DirectX is necessary, it needs to be obtained separately. DirectX is freely available from Microsoft and does not require a formal written license agreement to distribute. However, you still need to agree to Microsoft’s terms and conditions before you can redistribute its DirectX archive on your CD-ROM.

ICDesigner does not include any third party software with scripts published to Web Component, to File, or to Email.

Please see page 189 in chapter 6 of this manual for more information on Microsoft components and where to acquire them.

Page 276: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 277: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

277

Appendix C: The ScalaScript languageUnlike some multimedia authoring systems, Scala InfoChannel Designer 3 allows you to produce scripts in a simple, graphical fash-ion. ICDesigner’s HumanTouch user interface presents multimedia production options in a direct, visual way that does not require the producer to have computer programming skills. However, whenever you use ICDesigner to produce a script, you are in fact creating a type of program. This program, in the form of statements in the ScalaScript language, is what is stored on disk when you save a script.

This appendix is a brief introduction to ScalaScript, to help you decide whether you should—or need not—know more about this side of ICDesigner. Indeed, most ICDesigner users don’t need to know Scala-Script and may not even realize it is there. But for those with very spe-cific goals, it can be useful, even vital. If you would like more detailed information, an Adobe Acrobat file describing the fundamentals of ScalaScript is provided in the Software Downloads section of the Scala Web site at http://www.scala.com. Click on the “ScalaScript Descrip-tive Document” link to see it.

What is ScalaScript?Strictly speaking, an InfoChannel Designer 3 script does not consist of the images, sounds, and so on that appear when the script is run, although we often refer to scripts this way. The script itself is actually a a series of statements that describe the images, sounds, and other ele-ments, along with specifications of how and when they appear, and other aspects of the production. Each statement is a command in the ScalaScript language, and in most cases corresponds directly to an ele-ment or option chosen through ICDesigner’s menus.

ICDesigner can save a script either in its normal way, which produces a data file that may contain embedded clips or other data that was pasted from another application, or as a text file consisting just of ScalaScript commands by turning on the Save Script as Plain Text? option. Even scripts that are saved with this option off, however, are

Page 278: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

278

Appendix C: The ScalaScript languageWhat is ScalaScript?

!ScalaScriptEVENT Sequence: :"paint002.bmp" EVENT Group:

Picture("ScalaArt:\clipart\backgrounds\textures\paint002.bmp", Margin(10, 10, 0, 0), Tabs(Explicit(80, 160, 240, 320, 400, 480, 560)), UserPalette(RGBPen(1, $0, $ffffff, $999999, $555555, $712068, $df449c, $dc110e, $662200, $ff5a00, $ff9c00, $ffee00, $8800, $dd00, $cccc, $66ff, $aa, $777777, $bbbbbb, $dddddd)));Wait();

Sequence:Text(62, 63, "This is some plain text on the first page.", Wrap(Off, Auto(549)));Text(70, 181, "This is some styled text on the first page.", Face(On, Pen(6)), Outline(On), Shadow(On), Font("SGaramond", 32), Italic(On), Wrap(Off, Auto(616)));

END EVENT Group:

Picture("ScalaArt:clipart\backgrounds\textures\natur002.bmp", Margin(10, 10, 0, 0), Tabs(Explicit(80, 160, 240, 320, 400, 480, 560)), UserPalette(RGBPen(1, $0, $ffffff, $54c5638, $555555, $712068, $df449c, $dc110e, $662200, $ff5a00, $ff9c00, $ffee00, $8800, $dd00, $cccc, $66ff, $aa, $777777, $bbbbbb, $dddddd)));Wait();

Sequence:Clip(336, 21, "ScalaArt:\clipart\clips\people\baby2.bmp", Operation(On, Resize(178, 223)));

END EVENT Group:

Picture("ScalaArt:\backgrnd\textures\yello001.bmp", Margin(10, 10, 0, 0), Tabs(Explicit(80, 160, 240, 320, 400, 480, 560)), UserPalette(RGBPen(1, $0, $ffffff, $999999, $555555, $712068, $df449c, $dc110e, $662200, $ff5a00, $ff9c00, $ffee00, $8800, $dd00, $cccc, $66ff, $aa, $777777, $bbbbbb, $dddddd)));Wait();

ENDEND

Page 279: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

279

Appendix C: The ScalaScript languageWhy ScalaScript?

ultimately based in ScalaScript, and have the benefits of portability and ease of distribution. Any normally-saved script can be viewed as ScalaScript statements by re-saving with the option on.

You can see an example of what ScalaScript looks like by opening one of the ICDesigner demo scripts (files with the .SCA extension), saving it with the Save Script as Plain Text? option on, then loading it into a word processor or text editor that can open plain ASCII text files.

Preceding is a simple ICDesigner script. See if you can figure out for yourself what it will do!

As you see, ScalaScript commands are mostly English words, so that a script file can be understood even by non-technical users. Many com-mands have additional parameters that specify, for example, the name of a file or the length of a pause. Clicking buttons, loading files, mov-ing objects, and changing values on the ICDesigner menus result in commands with the corresponding parameters being written into the ScalaScript file when you save the script. ICDesigner takes care of for-mulating the ScalaScript statements properly, so that you don’t have to learn the details of the scripting language syntax.

Why ScalaScript?What is the need for a human-readable format for ICDesigner scripts? It might seem like an unnecessary intermediate state between Human-Touch authoring and the binary format of the script file that ICDe-signer normally saves. There are several reasons a human-readable form for scripts is valuable:

• portability between different revisions and platforms

• ease of distribution

• editing and debugging

• special circumstances

Page 280: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

280

Appendix C: The ScalaScript languageWhy ScalaScript?

PortabilityA common problem with all types of software is ensuring compatibil-ity of documents with future revisions of an application, and between versions of the application on different platforms. Ideally, applications and documents should keep users from having to think about these things. Having a simple, standard, accessible file format like Scala-Script is a good way to minimize such difficulties.

Ease of distributionThe graphics and sound files used by multimedia productions are typ-ically quite large. A ScalaScript file, however, does not have to contain the graphics and sound files that appear in the script. Instead, it usu-ally contains references to these files, which remain external to the script file. This allows ScalaScript files themselves to be very compact. And because they are plain ASCII text, they do not require any special encoding/decoding steps for electronic transmission through standard e-mail networks. Together, these two facts mean that it can be quick and uncomplicated to transfer ScalaScript files from one place to another electronically, or with low-capacity media such as floppy disks.

Editing and debuggingNormally, you use ICDesigner’s HumanTouch GUI to create and edit scripts. However, there are occasionally advantages to being able to see and manipulate a script in its ScalaScript text format. There might be situations in which editing is required, but ICDesigner is not available to perform the editing with the HumanTouch GUI. In such a case, someone knowledgeable in ScalaScript and in possession of a text edi-tor can still edit a script saved as plain text.

Also, the process of understanding and debugging a more complex script can often be easier when you can examine the underlying Scala-Script statements. People with programming backgrounds may simply prefer this method of working.

In addition, there are some kinds of editing changes that can be more conveniently made in a text-based format. Especially when a script is

Page 281: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

281

Appendix C: The ScalaScript languageUsing ScalaScript

long, making changes of a repetitive or pattern-based nature can be accomplished much more quickly using a text search and replace func-tion than by using menus.

Special circumstancesAlthough virtually all ICDesigner options and capabilities are available through the HumanTouch GUI, there are certain situations in which use of ScalaScript may be necessary. Some combinations of options or effects might not be possible to specify using the ICDesigner menus. Or there may be certain advanced features whose operation has not yet been integrated into the current menu scheme. In such cases, those who need to use these features can use ScalaScript to accomplish the desired result. In fact, for this reason, many of the ICDesigner demo scripts were created directly in ScalaScript.

Using ScalaScriptFor the vast majority of ICDesigner producers and production tasks, a script’s embodiment in the form of the ScalaScript language is com-pletely automatic and transparent. Both producers and users can enjoy the benefits of ICDesigner’s approach to multimedia without having to know about ScalaScript.

For those who do make use of ScalaScript directly, in most cases it will be for the purposes of occasional editing and special capabilities as mentioned above. It is of course possible to create a script entirely “manually” in ScalaScript, using it like any other computer program-ming language. However, this is neither intended nor necessary except in special circumstances.

A hybrid approach using both menus and direct ScalaScript access is perhaps ideal. You can use the menus for what they are best at: fast, intuitive WYSIWYG design and layout of graphic and audio elements. Then use ScalaScript for what it is best at: global editing, fine-tuning, and advanced scripting techniques.

Page 282: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

282

Appendix C: The ScalaScript languageExperimenting with ScalaScript

When should you use ScalaScript?ICDesigner was designed with the overriding goal of offering a com-pletely “point and click” approach to multimedia production, and it is optimized for that approach. For this reason it should rarely be neces-sary for most people to use ScalaScript directly.

The time to think of ScalaScript is when there is an effect you need to accomplish that appears to be within ICDesigner’s capabilities, but which there seems to be no way to accomplish using the menus.

For example, ICDesigner does not currently provide a way to group events in the List menu the way you can in the Main menu. However, such grouping is possible through ScalaScript, and can be extremely useful. The need to make extensive use of variables and complex branching structures is also a classic case in which working directly in ScalaScript can be the easier approach.

Even if you intend to create all your scripts using menus, ScalaScript can prove useful. When a script you are producing using the menus does not seem to be working right, and you do not understand why, looking at the ScalaScript statements might help you discover the rea-son. You can then either edit the ScalaScript statements directly to fix the problem, or return to the menus and use them to modify the script based on your new understanding.

Experimenting with ScalaScriptThe best way to get to know ScalaScript is to look at examples of it, and to start editing and adding to the scripts. ICDesigner’s own demo scripts are a logical starting point, especially because many of them use ScalaScript-only techniques. Experimenting with them can be easy and instructive.

Before you do any experimenting, however, be sure that you are not working on the only copy of a script. Always save a copy of scripts you want to play with under a name like TEST.SCA, and use that as your subject. This will prevent you from inadvertently mangling good scripts as you learn.

Page 283: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

283

Appendix C: The ScalaScript languageExperimenting with ScalaScript

Here are some other guidelines for your exploration:

• Don’t alter the existing punctuation

Unlike human languages, in computer languages every punctua-tion character is likely to be significant. Deleting a comma or a semicolon can completely change the effect of a command or even a series of commands. One thing you do not have to worry about is “white space”: spaces, tabs, or carriage returns (produced by the Enter key ↵ ). ICDesigner ignores white space, and inserts white space in the script files only to make them more readable by humans.

• Add punctuation when necessary

If you want to add commands or parameters to commands, you will need to use the right punctuation. If you use expressions, use parentheses to make clear the order of operations. Be sure that for a given command or expression, the number of open and closed parentheses matches. In general, adding unnecessary punctuation, especially parentheses, is less likely to cause problems than leaving out necessary punctuation.

• Don’t worry about capitalization

ScalaScript is not case-sensitive, so you do not have to capitalize command and parameter names the way ICDesigner does, or cap-italize anything at all. However, it does make the script more read-able to capitalize consistently. ICDesigner will preserve any capitalization you include in text strings, however: “This string WILL stay capitalized just like this.”

• Save ScalaScript scripts as plain text files

A script file is a simple text file, which you can edit with a text edi-tor or any word processor that can load and save plain text files. A file saved in a word processor’s own document format contains formatting codes along with the text, and would not be recog-nized by ICDesigner as a script. Don’t forget to save the text file with the file-type extension .SCA, so ICDesigner will see it as a script.

Page 284: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

284

Appendix C: The ScalaScript languageExperimenting with ScalaScript

ErrorsWhen ICDesigner finds a command containing a mistake, it tries to execute as much of it as possible, or to skip it and continue if the com-mand is completely unintelligible. However, a particular error might cause ICDesigner to get so confused that it cannot continue the script.

ICDesigner displays error information only when loading the script, or after the script plays, never during the script.

TerminologyThere are a few points of terminology about ScalaScript that should be mentioned.

• English keywords

Unlike ICDesigner’s menus, ScalaScript is strictly English-based, so its commands—as with other programming languages—are not translated for use in non–English-speaking countries. If you are not familiar with English you may need to refer to a translat-ing dictionary to match the translated terms in the menus with the corresponding ScalaScript commands.

• Events

“Events” are more broadly defined in ScalaScript than in the menus. A ScalaScript event can correspond to an individual menu event, like the appearance of a clip, but it can also refer to much more. In ScalaScript, an event can be defined as any number of other events, which can themselves be composed of other events, in a hierarchical structure similar to a directory tree. The key-words EVENT and END define the boundaries of events that consist of other events. ICDesigner uses indenting of command lines to help show this structure.

• Group

The “Group” keyword in ScalaScript is not related to the Group option available for pages in the Main menu.

Page 285: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

285

Appendix C: The ScalaScript languageSwitching between menus and ScalaScript

Switching between menus and ScalaScriptIt is perfectly all right to go back and forth, looking at a script in the menus and then as ScalaScript commands. However, if you actually will be editing the script in both modes, you should keep two things in mind:

• The menus cannot properly reflect advanced ScalaScript scripts

Not all events in scripts that use ScalaScript features inaccessible through the menus will be visible when seen from the menus. Some of the ICDesigner demo scripts, for example, are clearly large and complex, but when seen from the menus, there appears to be little there. This is a sign of a “hand-authored” script. Trying to edit such a script using the menus is not likely to succeed.

• Saving a script from within ICDesigner that you have written or edited in ScalaScript form can change its formatting or even its con-tents

ICDesigner always formats a script in a certain way when it saves it, including capitalizing keywords and indenting “nested” sec-tions. If the script was created or edited as ScalaScript using a dif-ferent formatting style—no indenting, for example—the script will look different after it has been saved from the ICDesigner File dialog than it did before. If the ScalaScript code was correct, the formatting should be the only difference. Incorrect code, however, may not remain after the script has been saved from the File dia-log. In either case, the script should work the same.

Page 286: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain
Page 287: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

287

Appendix D: Possible problems and errorsWith any software as sophisticated as Scala InfoChannel Designer 3, there will be times when the unexpected happens, or when ICDe-signer will not do what you want. Following are some likely sources of difficulty for ICDesigner users, both new and experienced, and sug-gestions on what you can do about them.

This appendix primarily covers possible problems in how you use ICDesigner. General considerations and a wide variety of both general and specific problems related to hardware, installation, and configura-tion are discussed in various areas of the Scala Web site:

http://www.scala.com/

Of particular interest to ICDesigner users is the location

http://www.scala.com/faq

Look there if you do not find answers to your questions here. You should also be sure to read the ICDesigner Readme.txt file.

Problem: I have sound events in my script, but I don’t hear anything when the script runs.

Reasons and possible solutions:

1. The sound card may not be properly connected to a working audio system. Make sure all audio cables are plugged in, power cables connected, and the amplifier or speakers are on and the volume controls are not at zero.

2. A volume setting of zero (0) may have been set for the sound source. In the initial Play panel for the source, check to see if the volume was set to zero, or a subsequent Sample Volume, MIDI Volume, or CD Volume event set the source volume to zero.

3. The Mixer settings may not be correct. Check the Volume set-tings in the Mixer panel of the Sound menu. Neither the vol-ume setting for the sound source you are using (Sample, MIDI, CD, Microphone or Line) nor the Master volume setting should be at zero.

Page 288: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

288

Appendix D: Possible problems and errors

Reasons and possible solutions:

4. ICDesigner may not be able to find a sample file, MIDI file, or CD track that it needs to play a sound. Ensure that all necessary sample or MIDI files are present, in the locations specified in the sound sources’ Play command panels. Insert a CD Read Contents event to make sure that ICDesigner is looking in the right table of contents for any CD tracks. Check that any other external equipment, such CD-ROM drives, MIDI sound mod-ules, microphones, etc. are connected, powered on, and have access to the discs or other storage media required for sound playback.

5. The sound card may not be installed and set up properly, or it may not be compatible with ICDesigner. Check the instruc-tions on sound card configuration and any troubleshooting information in the sound card’s user guide.

I can’t paste items I placed in the Windows clipboard into my ICDesigner production.

Reason andpossible solution:

Not all data types that you might be able to place on the Windows clipboard in another application can be pasted into ICDesigner. The only data types that ICDesigner currently accepts are bitmap graphics and text. Attempting to paste data other than bitmap images or text could have no effect, or might be only partially suc-cessful. Using the Paste as Clip? option in the Paste Special dialog may work better. (It is possible to paste complete files cut or copied from the Explorer; these are treated just like Added files.)

Page 289: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

289

Appendix D: Possible problems and errors

Problem: Wipe motion is not smooth.

Reasons and possible solutions:

You are using wipes that require a large amount processing or graph-ics power. Rather than using a zoom, push, fly-on or alpha wipe, use a reveal wipe. See chapter 12 of the “Basic Authoring” guide for more on wipe smoothness.

In general, faster systems (using Pentium III or equivalent proces-sors) with 128 megabytes or more of memory are much better able to perform multimedia tasks smoothly. Using a high-performance graphics card with 8 megabytes or more of video memory can also dramatically improve speed and smoothness in wipes.

Also see the setup and troubleshooting sections of the Scala Web site for information on video drivers and graphics card options.

Problem: I type on the keyboard, but I don’t see characters appear-ing on the screen.

Reasons and possible solutions:

1. The focus for input may be a menu control and not the page. Click on the page.

2. There may not be a text cursor. Click on the background, or double-click in an existing text element, then type.

3. The cursor may be outside the screen area. This could happen if you dragged a long text element so that the cursor was off-screen, pressed Home or End while either end of a text element was off screen, or while editing the element pressed Backspace (⇐ ) enough times that you started deleting characters that were off-screen. Select the element (using the arrow keys if necessary) or the appropriate word wrap margin marker and drag the text element so that the cursor is visible again, then type.

4. The Opacity setting for Whole Element or Front may be at 0, making the text you type invisible.

Page 290: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

290

Appendix D: Possible problems and errors

Problem: I set a certain Duration for a page so that it would last as long as a music track, but the next page doesn’t appear until after the music is over.

Reason and possible solution:

A Duration cannot make a page’s events take less time, or interrupt its events; it can only add to the time taken by the page and all its events (including wipes). Shorten the length of one or more of the page’s events, or increase the speed of some wipes, so that the events always complete before the music is over.

Problem: I don’t see a column in the Main or Design List menus that I expect.

Reasons andpossible solutions:

1. The EX that generates that column may be turned off. Go to the ICDesigner Options dialog, and click that EX’s button in the Optional EXes column of the EXes panel so that it is on (✓ ).

2. The EX that generates that column may not be installed. Once the EX file has been installed, its column can appear.

3. The column may be too far to the right to be visible. Use the horizontal scroll bar to scroll far enough to the right to reveal the column. To keep that EX column always visible, you can make one or more of the other columns narrower, or drag the desired column to the left of others.

Problem: My computer freezes when I try to use Add from Scan-ner/Camera.

Reason andpossible solution:

This is a problem with the TWAIN driver for your image device. Scala software is designed to work with properly functioning TWAIN drivers. Some drivers do not fully implement the TWAIN specification, and cause the PC to lock up when ICDesigner tries to access their devices through standard methods.

Consult the Web site for the manufacturer of your TWAIN device to see if an updated, fully compliant TWAIN driver is available.

Page 291: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

291

Appendix D: Possible problems and errors

Problem: It takes a long time to set the same option for many pages or events, entering and exiting the menus for each one.

Reason andpossible solution:

You are setting options for each page individually. If you want to give many items the same setting, like a Pause of 3 seconds, multi-select all the pages/events you want first, using Shift-click and/or Ctrl-click, then open the Timing menu and set the pause—it will be applied to all the items you selected. If you are already in the Timing menu, you do not have to click Close for each item, then open the menu again. Just click on a new item and set its pause.

Problem: I can’t get accented characters in ICDesigner, or the char-acters I see on the screen don’t match the keys I am typ-ing.

Reason and possible solution:

You may not have the correct keyboard type selected for your sys-tem. In the Windows Control Panel folder, open the Keyboard Properties sheet and switch to the Language tab. Select the name of your country, or the country for which your keyboard was manufac-tured. You can test the layout you select in this dialog.

If your keyboard layout is one that does not feature accented charac-ters, such as the one used in the United States and the Netherlands, you can still type accented characters if you know their character numbers (ANSI keycodes).

Refer to the character table in appendix C, and find the number for the character you need. Then hold down the left Alt key and type the character number with a leading zero, on the numeric keypad. When you release the Alt key, the character appears. For example, Alt + 0193 produces the accented capital “A” (Á). You can type any character this way, regardless of the current Keyboard Layout selec-tion.

Page 292: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

292

Appendix D: Possible problems and errorsErrors

ErrorsWhile working in the ICDesigner menus, or when loading scripts or after playing them, you will sometimes see ICDesigner Error dialogs. ICDesigner tries to tell you both what specifically went wrong (for example, a file was not found, or ICDesigner ran out of memory) and what ICDesigner was attempting to do when the error happened. If there were multiple errors (for example, several necessary files were not found when a script was played) the ICDesigner Error dialog provides a Next button so you can step through the errors in sequence. For multiple errors during a script load, you have the option Continue Quietly, which suppresses any subsequent error messages. If the prob-lem was related to a particular file, ICDesigner gives the file name, usually as part of a full path.

Thus you should find the error messages self-explanatory. If you need more information about why an error occurred, you can find helpful material by consulting the Index and Glossary of this guide.

Startup error messagesThere are some errors that can occur when ICDesigner tries to load, and for some reason cannot finish loading. In most cases, an error that you see before the main ICDesigner program starts indicates that either the installation of the ICDesigner software was incomplete, or that a required folder or some files were somehow deleted or renamed after installation.

If you see error messages at startup, the safest and easiest thing to do is to run the ICDesigner installation program again, so that you can be sure all the necessary files have been installed in the right locations.

Page 293: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

293

AAccented characters, typing 291Actions for buttons 57Advanced features

Available through ScalaScript 281Animation

Compression 216MPEG 215

AnimGIFOptions in publishing as 181Publishing as 182Viewer required 158

Apply Preset 69Arrow keys, using with buttons 83Attachment, publishing script as e-mail 176AutoPlay? option 169

Third party components needed 169AVI

Choosing codecs for publishing 183No sound in scripts published to 180Publishing as 182Viewer required 158

BBackdrop, buttons 53, 66

And presets 69Stretching from Shift option 67

BackgroundsChanging under changing text 201

Backup log files 194Billing EX 212Bookmark

Returning to 60With Go To 110

Boolean function 262Border, effect on button backdrops 67Boxed Hit Area? 68Branch menu

Choosing loop type 102Condition branches 99Controlling script flow 100Exiting sub-scripts 113Expressions 90, 91Functions 91Go To 99, 107Go To with bookmark 110Go To, conditional 111Operators 91Repeat branches 99, 102Show If Expression 101Variables 90, 91

Branches, combining 100Branching, advanced

Using ScalaScript 282Branching, levels 97

Index

Page 294: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

294

Index

BrowserLaunched from button 60Publishing script overview for 177Required by Publish to HTML Slides 158

.BTN extension 78Busy pointer image 84Button states 54

Indicators 54Buttons

Adding sound 63Adjusting hit area 68Button backdrops 66Converting to normal element 53Creating a Go To 108Creating advanced 79Creating simple 47Editing 78Exporting 78Face and backdrop 53Go To 58Hotkeys 61Invisible buttons 70Leave Bookmark? 59Loading clips 67Mouse pointers, alternate 64Not available in some publish media 158Predefined 70Presets 69Related options on Input menu 82Select Action options 57Setting variables 64Shift? 67Text as buttons 48Types 52Using keyboard to select 83Using touch screen 82

Buttons menu - see Design Buttons menu

CCase-sensitivity 258CD audio, using 27–36

CD Eject 35CD Next, Previous 36CD Pan 36CD Pause 36CD Play 28

Time In 30Time Out 32Track In 29Track Out 29

CD Play MSF 30CD Read Contents 28, 36CD Resume 36CD sound, system variables 267CD Stop 36CD Sync 32

Relative to Track? 34Sync Time 33

CD Volume 36CD Wait? 36CD-ROM drives, multi-unit 28CD-ROM, publishing as stand-alone 167Clipboard

And programs outside ICDesigner 288Copying schedule listing to 136Pasting data from other applications 288

Clips as buttons 67Codecs, DirectX AVI 183Color depth, MPEG 220Command: pop-up, Sound menu 14Compression

Animation 216Publishing to AVI 182

Condition branches 99Conditional

Go To 111Loops 106

Conditional function 263Constants, defining 95Content, linked 166Control panels, list 17Copy to Linked Content Folder 165

Page 295: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

295

Index

Copyrights 274Currency, formatting variables as 261Current indicator, scheduled event 125Cursor, missing or off-screen 289Custom Places

Default Publish Location 162

DDate information, getting into variables 264Decimal point, displaying 261Default schedule times 127Delete button, Input menu 85Demo scripts 282Design Buttons menu 46–82

Boxed Hit Area? 68Button states 54Go To 58, 59Hotkeys 61Image button 67Leave Bookmark? 59Pointer button 64Sound button 63Variable button 64

Design List menuColumns missing 290

DirectDraw, disabling for MPEG 220DirectSound, disabling for MPEG 220DirectX 8.1, installing to published CD 189Display Mode

MPEG EX 220Optibase EX 223

Double Buffering, disabling for MPEG 221Duration timing 290

EE-mail, publishing as 175Embedded variables

In log text 196TextFile EX 198–199

Emergency message page 201

Encrypting scripts 185Enter key, using with buttons 83Entries, schedule 124Errors 284, 292Event: pop-up 132, 133Events

Defined in ScalaScript 284Logging 196Skipping with scheduling 117

.EXE file, for published script 167, 171EXes

Additional 192And published scripts 157, 192Billing 212File I/O 240, 266Installation required on playback

systems 188Launch 193Log 194MCI MPEG 215Not installed 290Optibase 222Serial 202TextFile 197Version variables 264Windows Scripting 236

Exit from Script 113Exiting script with button 60Expired indicator, scheduled event 126Expressions 90

Creating 91Displaying values 96Evaluation functions 262

ExtensionLog file, changing 195

External variables 72And sub-scripts 113

FFade In Time 19Fade Out Time 22

Page 296: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

296

Index

Fade Time 23File I/O EX 240, 266File, publishing as 170Font Properties Extension 274Fonts

Including with published scripts 164Licensing issues 164

FORMAT function 96Format, video 182Frame Rate, Publish as video 182Frames Per Second, Publish as AnimGIF 184Frames, CD audio 31FTP publish

Settings 163FTP upload

Web Component 174Functions 91, 258

Boolean 262Conditional 263Expression evaluation 262File I/O 266Numeric functions 259String 259System functions 263Type conversion 263

GGenlock, using 225GIF files 271Go To 99

Button example 48Buttons 58Buttons menu 58Conditional 99Reducing need for 112Simple example 88Using 107, 110

Go To: selector, Buttons menu 59Granularity, multi-tile 246

Grouped pagesAnd Go To branches 100Scheduling 131, 136Use with sounds 21With TextFile EX 201

Grouping events 282

HHit area, buttons 68Hotkeys 61HTML Slides, publishing as 177HTML Template Page option 175HTML wrapper code for script 172HumanTouch, limitations 281

IIC.LOG file 194ICPlayer software, EX support 157, 192ICPlayer software, scheduling support 116Image: button 67In/Out Times, scheduling daily 132Include Fonts?

With published script 164Include Wipes?

With published script 165Infinite repeat, sound 18InfoChannel Network 158

Publishing to 160InfoChannel Player 158Input events

Removing 85Scope 85

Input menu 82–85Busy Pointer Image button 84Button Controls 82Pointer Image: button 84Slideshow controls 84

Internet service provider 173Interrupt scheduling, events 121Invisible buttons 70

Page 297: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

297

Index

iplayInstalled by stand-alone CD 167Required by certain publish media 158

ISP, using 173

JJScript scripts, running from ICDesigner 236

KKeyboard

Language, setting 291Solving problems 289Using to select buttons 83

LLaunch EX 193Leave Bookmark? 100

Buttons 59Leave Bookmark? button 109Level selector

Buttons menu 58Go To 109

Licensing issuesArt 273Fonts 164GIF and TIFF 271Scala trademarks 274Scripts and images 271TrueType fonts 273

Line volume control 38Link Positions? 69Link Sizes? 68Linked content

Publishing scripts with 166Use with TextFile EX 201

Linked Content folderPublishing to 165

Locked script, appearance 186Locking scripts 185Log EX 194

Log file, Billing EX 215Log files 194

Retrieving 195Log menu 196LOG.Days variable 195LOG.PlayerTag variable 195Logical expression 262Logical values 258Looping

Scripts, by default 117Loops

Branching example 103Choosing branch type 102Exiting 107

With Go To 110Infinite 105

Loops option, sampled sound 18

MMain menu, columns missing 290Main Script, InfoChannel Player 117MAPI 176MCI MPEG EX 215MCI, and MPEG 220Memory

Improving script smoothness 289System variable 265

Microphone volume control 38Microsoft components required,

including 189MIDI

Description 11Using 24–27

MIDI files 24MIDI Pause 26MIDI Play 24MIDI Resume 26Minimized applications, launching 193

Page 298: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

298

Index

Mixer 12, 37–41Pan 41Sliders, enabling and disabling 38System variables 267Volume 38

Mouse buttonsSlideshow controls 84

Mouse? option 82MPEG

Animation 215MCI MPEG menu 217MPG files 216Optibase card 222

MPEG EX 215Multi-tile Editor 242Multi-tile illustrations 249

NNested loops 107Network Manager 158New CD! 28Next: indicator, scheduled event 125NTSC video

Options with Videoplex card 223Numeric functions 259

OON/OFF 258Operators 91, 268Optibase EX 222

Menu 226Options dialog

Working with EXes 192Options, setting multiple 291

PPage Preview, ScalaPrint 144Pages

Grouping, use with sounds 21Scheduling different types 118

Templates for TextFile EX 198PAL 223Pan

Master 12, 41Sampled sound 19

Password protection 185Paste as Clip 288Pause settings

Priority of Wait? 20, 22Periodic scheduling 119

Possible problems 137Platform independent publish medium 178Playback

EX installation required 188Microsoft components required 189

Player, InfoChannel 116Diagnosing problems with log files 194Software 158

PointerBusy image 84Changing

Defaults 84Design 83For buttons 64

Pointer: selector 83Possible problems 287

Columns 290Keyboard 289No accented characters 291Pasting 288Setting multiple options 291Sound 287Timing 290Wipes 289

Predefined buttons 51, 70Print icon 144Printer Properties, choosing in

ScalaPrint 152Printing scripts 142Problems, diagnosing with log files 194Project Name:, published script 167, 171

Page 299: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

299

Index

Protecting published scripts 185Publication, completing 185Publish button 159Publish folder

Deleting contents 187Publish Location

Default 162InfoChannel Network 161

Publish mediaE-mail 159File 159HTML Slides 159Stand-alone CD 159Video 159Web Component 159

Publish Script dialog 159–188Publish to Folder: 167, 171Publish to Local or Shared Folder/FTP 161Publishing 156–190

A script 185As a file 170As a Web component 172As CD-ROM 167As e-mail 175As HTML slides 177As single file 169, 171As video 180

No sound events 180Determining location 167, 171Further steps to complete 188Linked content 166Media supported 156To InfoChannel Network 160Versus saving 157

Push buttons 52

QQueue EX 228

RRadio buttons 53, 72README file

For published script 167, 171Refresh rate, MPEG 220Relative to Track? 34Repeat branches 99Repeat Until loop, example 106Repeat While, Repeat Until 102Repeat?

Schedule interval 133Resolution, MPEG 220Return to Bookmark 110

Reducing need for 112Using with buttons 59

Return value 258RS-232 devices, controlling with Serial

EX 202

SSample Pan 23Sample rate 10Sample Stop 22Sample Volume 23Sample Wait 21Sampled sound, using 17–24Save in Editable Form 277Saving scripts

Instead of publishing 157ScalaEX.txt file 266, 277ScalaPrint 142

General panel options 145Labeling panel options 149Layout panel options 146Margins panel options 151Menu 144Printer panel options 151

ScalaScript 277–285Definition and use of 277

.SCB extension 165, 167, 171

Page 300: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

300

Index

Schedule column 122Schedule menu 122–139Schedules, pointless 125Scheduling 116

As filter 120Available only in Publish to IC

Network 116Avoiding problems 137Daily time controls 132Entries 124Grouped pages 131Groups and sub-scripts 136Interrupt 133Interrupt events 121Periodic 119Possible problems 137Relation to timing 122Removing entries 124Repeating an interrupt event 133Start and end dates 126Types 119Unavailable in some publish media 157Verifying with log files 196Weekly 130

Script advancement 84Keyboard 84Mouse 84

Script flow, with branches 100Script Information box 160Script language - see ScalaScriptScript, publishing 185Script.txt file 240Scripts

Editing using ScalaScript 280Events skipped by scheduling 117Logging events 196Looping by default 117

Select state, button 56Serial EX 202Shift? option, Buttons menu 67Show If Expression 99, 101

Simple MAPI (SMAPI) 176Slides, HTML script overview 177Slideshow Controls panel 84Sound

Adding to several pages or events in a row 43

Audio CDs 27CD Eject 35CD Next, Previous 36CD Play event 28CD Play MSF event 30CD Read Contents 36CD Sync 32New CD! 28Other CD events 36

CD audiomultiple CD drives 28

Combining and adjusting 12Controlling different types 15Defining several sound events 42Looping 18MIDI files 24Mixer 37–41Not captured in Publish to Video 180Options 13Pan 19Sample Pan 23Sample Play 17Sample Stop 22Sample Volume 23Sample Wait? 21Solving potential problems 287Sources 10–12

Audio CDs 12MIDI files 11Samples 10

System function 266System variables 266Volume control 19Wait? 20, 23With buttons 63

Page 301: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

301

Index

Sound button 15Sound files not found 288Sound menu 14Sound samples

16-bit to 8-bit conversion 13Start/End dates, scheduling 126Startup Image for published scripts 168String functions 259Strings 258Strings, converting to numbers 263Sub-scripts

Exiting 113Publishing as linked content 165Scheduling 136Using 112

Sync Time 33Synchronization, MPEG audio and

video 225System functions 263System variables - see Variables

TTechnical support 7Template Page option 175Templates, TextFile EX 198Text Entry Fields

Not available in some publish media 158Text Entry fields 73–77TextFile EX 197

Creating files for use with 197Turning page on and off with text file 201Unavailable in some publish media 157,

192TIFF files 271Time information

Getting into variables 264Time variable, displaying 96Time variables 265Timing

Relation to scheduling 122Solving problems 290

Toggle buttons 52, 71Touch Screen? option 82Trademarks, Scala 274Transitions, button state 63Troubleshooting 280TRUE/FALSE 258TrueType fonts

Licensing issues 273Provided with InfoChannel 272Publishing and distribution

restrictions 164Type conversion functions 263Type: pop-up 52

UUploading to Web server 173URL

Triggering with button 60Web component script 173

VVariables 90, 265

Auto-update 96Constants 95Creating 91

Example 93Deleting 95Displaying values 96Embedded in log text 196Formatting 96Sharing with Windows scripts 238System 265Toggle and radio buttons 71Using 95With interactive buttons 64

VBScript scripts, running from ICDesigner 236

Versions, system variables 264Video Format 182Video, publishing as 180

Page 302: Scala InfoChannel Designer 3 - Extended Authoring …...7 Preface This volume of the InfoChannel Designer 3 User’s Guide, “Extended Authoring and Publishing”, covers certain

302

Index

Videoplex MPEG card, using 222Viewing schedules 135Volume control

Sound 12, 19, 38Volume, set to zero 287

WWait? 20, 23

MPEG animations 218, 227Priority over Pause 20, 22Sampled sounds 20

Wait? button and Wait event, distinction 21Web authoring, including published

script 172Web browser, starting from within script 193Web component, publishing as 172Web page

Setting up 173Viewing from script 60

Web site, Scala 7, 192, 287Week numbers, scheduling by 128Weekly scheduling 130Windows Scripting EX 236Windows Scripting Host, languages

supported 236WinScript column 237WinScript EX

Unavailable in some publish media 157, 192

WipesIncluding with published scripts 165Solving smoothness problems 289

Word wrap, with TextFile EX 200

XXML scripts, running from ICDesigner 236