Here is a neat (undocumented and unsupported) trick you can play with Director
7.0 and later. You can use a configuration file to change the Projector
options after it is built! You can even add a message window to a projector
to aid in debugging! During the beta period, this configuration was known
as the OTTO.INI file. It is a text file that follows the Windows
conventions for INI files, even when being used on a Macintosh.
You need to rename the .INI file to match your Projector name. If the Projector is named "MyProj.EXE" (on Windows) or "MyProj" (on Mac), you'd name the INI file "MyProj.INI".
As far back as version 4, Director for Windows used an unrelated Director.INI file under Windows, which you also need to rename to match your Projector, and we can't have two files named the same thing in the same folder! (That DIRECTOR.INI file is described in detail in Appendix D of Lingo in a Nutshell and is used to configure various graphics and sound settings.) Luckily, the Windows INI file format allows for unrelated section headings (the words in square brackets shown below) in a single INI file. If using a separate DIRECTOR.INI file already, you should be able to add the following to the existing INI file instead of creating a new one.
Regardless, on both Macintosh and Windows, the INI file needs to be placed in the same folder as the Projector. It is only read when the Projector starts. If it misbehaves on, say, Windows NT, but works on the Macintosh, open the file in a local text editor and make sure that there are no funny square characters at the beginning or end of the lines. It is a PLAIN text file, with no formatting (use NotePad or SimpleText, not MS-Word to create/edit it).
Below are the options I know about. 1 means "on" and 0 means "off". Do NOT use TRUE and FALSE as is typical in Lingo. They are not supported in the OTTO.INI file. (Don't confuse these with the unrelated LINGO.INI file also described in Appendix D of Lingo in a Nutshell.)
[Settings] MessageWindow=1 MessageWindowRect=0 300 320 400 LoopPlayList=0 EscapeOk=0 FullScreen=0 UseTitleBar=0 BackgroundAnimation=1 SwitchColorDepth=0 CenterStage=1 ResizeStage=0 SingleInstance=1 [Movies] Movie01=LastCall [Memory] ExtraMainMemory=8000 UseSecondaryMemory=0 ExtraSecondaryMemory=0
Here is my best guess about what these settings do. Many of them will
override the settings in the File>Create Projector>Options
dialog used to set your Projector options when you create the Projector.
I assume that the Projector settings become the defaults in the absence
of an overriding setting, but I could be wrong. That is, I'm not sure what
the defaults are if you specify an INI file with some settings, but omit
other settings.
The following belong under the "[Settings]
"
section heading in the INI file
MessageWindow
- turns the Message window on if set to 1,
or off if set to 0. You may not be able to see the Message window unless
FullScreen
is set to 0. If the MessageWindowRect
is not specified, you may not see it or it may not appear in the desired
location. Once it appears, you can move and resize the window. If you close
it, I think you need to restart your Projector to open it again.
Default: Message window is off by default (except in D7.0 there was a bug in which dropping a file onto a Projector would create a Message window! This was remedied in D7.0.2)
MessageWindow = 0
Example: This opens the Message window along with your Projector!
MessageWindow = 1
See Also:
MessageWindowRect, FullScreen
MessageWindowRect
- specifies the coordinates of the Message
window. Ignored unless the MessageWindow
option is set to 1.
Specify four coordinates: left, top, right and bottom with no punctuation
or delimiters or parentheses, as shown below. Once it appears, you can move
and resize the Message window. If you close the Message window, I think
you need to restart your Projector to open it again.
Default: I'm not sure. I think it opens the rect in the upper left. Perhaps:
MessageWindowRect=0 0 100 200
Example: This sets the Message window rectangle to the lower left side of the screen
MessageWindowRect=0 300 320 400
See Also:
MessageWindow
, FullScreen
LoopPlayList
- I think this corresponds to the "Play
Every Movie" checkbox in the Projector creation options. I think it
is irrelevent when using Lingo to navigate between movies. It only applies
if you have multiple movies in a Projector and want them to play in sequence.
Default:
I think it defaults to the setting chosen for"Play Every Movie" when you created your Projector .
Example:
LoopPlayList=1
EscapeOk
- specifies whether the Escape key will quit a
projector? I'm not sure whether it also prevents other "quit-key"
sequences such as Command-period or Ctrl-Q. I assume this is overriden by
the exitLock
Lingo property and perhaps causes the exitLock
to default to TRUE instead of the usual FALSE.
Default: I think it defaults to 1, which would allow the Escape key to quit the Projector, but can be overridden in Lingo.
EscapeOk
=1
Example: This prevents the Escape key (and other keys?) from quitting the Projector.
EscapeOk
=0
See Also:
the exitLock
Note: It appears that EscapeOK
is actually the logical opposite
of the exitLock
. Be sure to provide a button or key combination
that allows your user to quit your Projector if you set the EscapeOK
to 0 or set the exitLock
to 1.
FullScreen
- controls whether the Projector plays "in
a window" or as a "full screen" application.This corresponds
to the "Full Screen" checkbox in the Projector creation options.
I think the UseTitleBar
setting is ignored if FullScreen
is 1. You may not see the Message window (if it is turned on) if FullScreen
is 1. Even Macintosh Projectors can be played in a window! Prior to Director
7, only Windows Projectors could be played in a window--Macintosh Projectors
were always Full Screen in D6.5 and earlier versions.
Default:
I assume it defaults to the setting chosen for"Full Screen" when you created your Projector .
Example: This plays the Projector "In a Window" instead of Full Screen
FullScreen=0
See Also:
UseTitleBar, MessageWindow, MessageWindowRect
UseTitleBar
- controls whether the Projector is shown with
or without a title bar. This corresponds to the "Show Title Bar"
checkbox in the Projector creation options. I think the UseTitleBar
setting is ignored if FullScreen
is 1 (or the Projector is
created with the "Full Screen" checkbox selected. You may be able
to change the title of the window using the Lingo property (the stage).title
or using a third-party Xtra such as Buddy
API. To control whether MIAWs have title bars, you can change the
windowType of window
property as described in Chapter 6 of Director
in a Nutshell.
Default:
I assume it defaults to the setting chosen for "Show Title Bar" when you created your Projector .
Example: This uses the Projector name in the title bar if the Projector is played in a window. (I'm not sure if it works when the Projector is played Full Screen.
UseTitleBar=1
See Also:
FullScreen, (the stage).title
BackgroundAnimation
- controls whether the Projector continues
to animate when it is no longer the foreground application or if the application
is minimized under Windows. (I think the stage always animates when the
Projector is the foremost application even if a MIAW is in the foreground).
This corresponds to the "Animate in Background" checkbox in the
Projector creation options.
Default:
I assume it defaults to the setting chosen for "Animate in Background" when you created your Projector .
Example: This causes the playback head to continue advancing even when the Projector is not the foreground application.
BackgroundAnimation
=1
Notes: There is a similar, but unrelated option that controls whether
DIRECTOR continues to animate when it is not the foreground application.
This is controlled with the "Animate in Background" checkbox under
File>Preferences>General
in Director. That option is
handy to keep Director running when switching between applications during
authoring. It is necessary when using the MPEG or DirectMedia Xtras from
Tabuleiro de Baiana or the zOpen Xtra from Zeus Productions to prevent
Director from halting when performing operations with those Xtras.
SwitchColorDepth
- controls whether the Projector attempts
to change the monitor's color depth to match the color depth of the movie.
This corresponds to the "Reset Monitor to Match Movie's Color Depth"
checkbox in the Projector creation options. Refer to the section entitled
"Monitor Color Depth" on pages 412-417 of Director in a Nutshell
for more details. You may be able to change the color depth on the fly using
the colorDepth
Lingo property. This may no t work under Windows
and may require a third-party Xtra such as Buddy
API.
Default:
I assume it defaults to the setting chosen for "Reset Monitor to Match Movie's Color Depth" when you created your Projector .
Example: This causes the Projector to try to switch the monitors color depth if it doesn't match the current movie's color depth.
SwitchColorDepth=1
See Also:
the colorDepth
Notes: A movie's color depth is determined by the highest color depth
of any of its bitmaps. All your movies in a project should use the same
color depth, so you don't want the depth switching between movies. You may
want it to switch when the Projector starts, but I think it rude to switch
someone's monitor color depth without their consent. I prefer to check the
colorDepth
property and provide a warning or suggestion for the user
to change it. Refer to Chapter 13 of Director in a Nutshell for a full discussion.
CenterStage
- controls whether the Projector attempts to
center the stage on the monitor (keep in mind the monitor resolution of
playback machines may vary. This corresponds to the "Center" checkbox
in the Projector creation options. I've heard rumors of people having trouble
with this option, but I've never had a problem. If your Projector is not
centering, check that the stage is set to be centered under Modify>Movie>Properties
in Director. Also try playing it both in a window and full screen. Also
refer to "Use Movie Settings" and "Match First Movie"
Projector creation options. I'm not sure what happens when using multiple
monitors with this property. The Lingo property the desktopRectList
will report the monitor size (and the size of multiple monitors).
Default:
I assume it defaults to the setting chosen for "Center" when you created your Projector .
Example: This causes the Projector to be centered regardless of the monitor's size.
CenterStage
=1
See Also:
the deskTopRectList
ResizeStage
- controls whether the Projector resizes the
stage whenever a new movie is branched to. This corresponds to the "Use
Movie Settings" and "Match First Movie" radio buttons in
the Projector creation options.Your movies should ordinarily all use the
same stage size and position, so I never worry about this setting. The Lingo
property the rect of the stage
will report the stage size.
Default:
If you've chosen "Match First Movie" when you created your Projector, I assume it defaults to 0. If you've chosen "Use Movie Settings" when you created your Projector, I assume it defaults to 1.
Example: This causes the Projector to resize the stage if necessary whenever a new movie starts.
ResizeStage
=1
See Also:
(the stage).rect
SingleInstance
- controls whether the a second Windows Projector
can be launched if the Projector is already running. This is useful to prevent
a user from accidentally launching multiple copies of the Projector by repeatedly
clicking the desktop icon, or clicking it while a CD is auto-starting. I
assume it has no effect on the Macintosh. Third-party Xtras such as Buddy
API can also check if another instance of the Projector is already running.
Default: The default is 0 under Windows, which allows multiple instances of a Projector to launch. The default is 1 on the Macintosh, and the OS does not allow overriding it.
SingleInstance=0
Example: This prevents multiple Projectors from being launched.
SingleInstance=0
Notes: I assume that this affects only multiple copies of a single Projector. I don't know if it prevents two different Projectors from being launched at once. The latter isn't ordinarily necessary or desirable. You are better off using on Projector and having it branch to multiple DIR or DXR files if necessary.
The following options belong under the "[
Movies]
"
section heading in the INI file.
Movie01
- specifies the first movie to run from the Projector.
This would be an external DIR, DXR, or DCR file. This would allow you to
launch different movies without ever rebuilding your Projector. For a full
discussion of so-called Stub Projectors, see Chapter 8 of Director in a
Nutshell or this old tech note which doesn't really apply any more, Stub Projectors
Default: I assume the default is the first movie built into the Projector
usnig File>Create Projector.
I've never tried overriding
it.
Example: This presumably causes the Projector to run the movie named "Foo". If it can't be found, it will also look for "Foo.DIR", "Foo.DXR", or "FOO.DCR" I assume.
Movie01=Foo
See Also:
LoopPlayList
Notes: There are no quotes around the movie name and the extension should
be optional. I think you can use Movie02
through Movie99
to specify additional movies, but this is meaningless when navigating between
movies via Lingo.
The following options belong under the "[
Memory]
"
section heading in the INI file.
ExtraMainMemory
- I'm not sure what this option does. I
guess it allows Projectors to use more memory than is allocated to them.
I don't know if it applies to Mac or Windows or both. The units appear to
be "bytes".
Default: I have no idea. I've seen settings of 8000, but I assume the default is 0. See Note below for possible cautions.
Example: This presumably set this option to 8000 (about 8 MB) but I'm not sure what this does exactly.
ExtraMainMemory=8000
See Also:
UseSecondaryMemory, ExtraSecondaryMemory.
Notes:
Sometimes a setting of 0 tells Director to use all available memory,
not necessarily "none". I don't know if that is the case here.
Refer to, for example, the preLoadRAM
property. See also the
memory related settings in the Director.INI file as discussed in Appendix
D of Lingo in a Nutshell.
UseSecondaryMemory
- I'm not sure what this option does.
I guess it allows Projectors to use more memory than is allocated to them,
but I don't know how it relates to ExtraMainMemory
. I don't
know if it applies to Mac or Windows or both. I assume that it controls
whether the ExtraSecondaryMemory
setting is obeyed. This setting
may correspond to Mac-only "Use System Temporary Memory" checkbox
in the Projector creation options.
Default:
I assume it defaults to the setting chosen for "Use System Temporary Memory" when you created your Projector on the Macintosh. I'm guessing that it is ignored under Windows.
Example: This causes the Projector use secondary memory.
UseSecondaryMemory
=1
See Also:
ExtraSecondaryMemory, ExtraMainMemory.
ExtraSecondaryMemory
- I'm not sure what this option does.
I guess it allows Projectors to use more memory than is allocated to them,
but I don't know how it differs from ExtraMainMemory
. I don't
know if it applies to Mac or Windows or both. I assume that it is obeyed
only if UseSecondaryMemory
is 1. I assume the units are "bytes".
Default: I have no idea. I've seen settings of 0, so I assume the default is 0, but sometimes a setting of 0 tells Director to use all available memory, not necessarily "none".
Example: This presumably set this option to 8000 (about 8 MB) but I'm not sure what this does exactly.
ExtraSecondaryMemory
=8000
See Also:
UseSecondaryMemory, ExtraSecondaryMemory.
Notes:
Sometimes a setting of 0 tells Director to use all available memory,
not necessarily "none". I don't know if that is the case here.
Refer to, for example, the preLoadRAM
property. See also the
memory related settings in the Director.INI file as discussed in Appendix
D of Lingo in a Nutshell.
Zeus Home Page | LIAN
TOC | DIAN
TOC | Links | E-Mail
Place an Order | Downloads
| FAQ | GuestBook
| Glossary
Copyright © 1996-2000. Bruce A. Epstein. All Rights Reserved.
(The page last revised January 21, 2000)