Main Page About Ldoc+ Error Lists Main Index Index Groups

Ldoc+ Lingo Group:
    MOVIE CONTROL

 info D5/601:
      on stopMovie
 6    10 elements new in Director 6.0,
  !   10  contain Dictionary fixes 601 & 501,
   +  MANY miss from the 'Appendix' 6.0 for MOVIE CONTROL.


Movie Control (45):
      abort
 6 +  alertHook
   +  colorDepth    (test only, set on Macintosh)
x6 +  dontPassEvent (outdated -> stopEvent)
   +  exit
      exitLock
 6+   fullColorPermit  (memory)
      halt
  !   lastFrame
   +  machineType
      movie = movieName
      movieName = movie
   +  moviePath = pathName
      nothing
 6 +  on alertHook me
 6 +  on prepareMovie
      on startMovie
      on stopMovie
      paletteMapping
      pass
   +  pathName = moviePath
      platform
      play
      play done
      printFrom
   +  productVersion
  !+  quickTimePresent
   +  quit
 6 +  runMode
   +  save castLib
      saveMovie
      score
      scriptsEnanbled of member
  !   searchPath = searchPaths  (no URLs!)
  !+  searchPaths = searchPath (no URLs!)
 6 +  stopEvent  (without exiting)
 6    switchColorDepth  (Macintosh only)
   +  timeoutPlay
      trace
  !+  traceLoad
  !+  traceLogFile
   +  updateLock
  !   updateMovieEnabled
   +  version (settable)
  !+  videoForWindowsPresent

Stage Properties (10):
  !+  centerStage
      deskTopRectList
      fixStageSize
  !+  rect of the stage
  !   stage (info)
  !+  stageColor
      stageBottom
      stageLeft
      stageRight
      stageTop
      
--

MovieScript Event Handlers (15):
 6 +  on cuePassed
   +  on idle
  !+  on enterFrame
   +  on exitFrame
   +  on keyDown
   +  on keyUp
   +  on mouseDown
  !+  on mouseUp
 6 +  on prepareFrame
 6 +  on prepareMovie
   +  on rightMouseDown
   +  on rightMouseUp
      on startMovie
      on stopMovie
   +  on timeOut
 6    ...in 6.0, NO 'mouseEnter', 'mouseWithIn', 'mouseLeave',
         or 'mouseUpOutside' events are sent to movie scripts,
         and also NO 'me' parameter is sent to movie scripts.
      
Movie Communication (8):
 6 +  alertHook
 6    externalEvent()
 6 +  on alertHook me
 6    on EvalScript...
   +  tell...to
      trace
  !+  traceLoad
  !+  traceLogFile

--

Outdated MOVIE Lingo (5):
 5                   closeDA -> none
 5                   colorQD -> colorDepth, switchColorDepth (Mac)
 5              on stepMovie -> on enterFrame [me]
 5                    openDA -> open "programPathAndName"
 5             when ... then -> primary event scripts





[index] _ D5/601 _ 971201:


machineType

system platform property

TIP: The Dictionary should clearly emphasize that 'the machineType = 256' indicates Windows computers, because this is the most important use for the 'machineType' property. If you want to use different Lingo commands or code for different platforms, then test 'the machineType'.






[index] _ 601 in 1/97:


on startMovie

movie starting event handler

5.0 Dictionary Error:
" This event handler contains statements that are activated after the movie preloads cast members... "
...should read:
" This event handler contains statements that are activated after the movie preloads castLibs that are set to 'Preload: Before Frame One', and after the first frame is displayed, or the targeted frame if you are coming from another movie... "

1. TIP: Remember: The 'on startMovie' handler in your movieScript is executed everytime the movie starts playing, no matter at which frame that is. In 6.0, your 'on prepareMovie' and 'on prepareFrame' handlers are executed before it.

2. TIP: It's best to avoid having an 'on enterFrame' handler (and possibly an 'on exitFrame') in the first frame of your movie, because the first frame is problematic (see 'updateStage'), and also the movie's 'on startMovie' handler is already executed there automatically. This also applies to all frames, which you know you're going to jump into coming from other movies. It has been mentioned that having an 'on enterFrame' handler there is especially problematic for Shockwave files. See also 'the lastFrame'.






[index] _ D5/601 _ 971201:


on stopMovie

movie stopping event handler


1. TIP: Remember: The 'on stopMovie' handler from your movie also executes anytime you stop your movie during author-time. You might want to have some resettings in your 'on stopMovie' handler: Turn the 'visible' of all sprites back on, put default text and colors into certain fields, place the text cursor properly in editable and scrolling fields, reset some of your global varaibles...

2. TIP: Remember: When jumping to another movie, the first movie's handler(s) is/are still in the middle of execution, but the second movie is already open and its targeted frame is on stage; then next happens: the executing handler finishes, the first movie's 'on stopMovie' handler is executed, the first movie unLoads, and the second movie's 'on startMovie' handler is executed. In 6.0, your 'on prepareMovie' and 'on prepareFrame' handlers from the new movie are executed before its 'on startMovie'.

3. TIP: 5.0: When jumping to another movie, it's best to turn the 'puppet' and 'cursor' of all sprites off (and display a watch 'cursor 4' to communicate a waiting time), as there have been problem reports when puppets and cursors are still active.

4. TIP: Remember to turn off your main event handler scripts like 'keyDownScript', 'mouseDownScript' and 'timeoutScript' by setting them to EMPTY, unless you want them to persist during the next movie.

5. TIP: You can check the movie's file name extension to activate different commands in your 'on stopMovie' handler in different environments: 'if (the movieName contains ".DIR") then ... else if (the movieName contains ".DXR") OR (the movieName contains ".DCR") then nothing'. By using this you can have some things happen only if your still authoring the movie and its name still has '.DIR' in it (see 'runMode').

6. TIP: Remember the '5.0 ReadMe': The 'on stopMovie' event handler in a MIAW is NOT called by a 'close window' or 'forget window' command for that MIAW. A 'stopMovie' event is only passed to a MIAW when its movie finishes or jumps to another movie.

7. TIP: To only reset some of your global values to void in your 'on stopMovie' handler, set them to a globally defined but unset variable like 'gVoid' that is still '<Void>' itself: 'global x,gVoid..set x = gVoid'.


EXAMPLEs:

The following handler will set some globals to '<Void>' (for more info, see 'clearGlobals') and then turn off the 'puppet' and the 'cursor' properties for all sprites before going to another movie:
on JumpMovie  newMovieName
  --
  global g1,g2,g3,gVoid
  --
  cursor 4
  --
  put gVoid
  -- <Void>
  --
  set g1 = gVoid
  set g2 = gVoid
  set g3 = gVoid
  --
  repeat with i = 1 to 48
    set the puppet  of sprite i = FALSE
    set the visible of sprite i = TRUE
    set the cursor  of sprite i =  0
  end repeat
  --
  if (the movieName contains ".DIR") then
    set the text      of field "MyField" = the text      of field "oriField"
    set the foreColor of field "MyField" = the foreColor of field "oriField"
  end if
  --
  go to movie (the pathName & aMovieNameWithoutExtension)
  exit
  --
end JumpMovie





[index] _ D5/601 _ 970819:


platform

projector creation System property

6.0 Dictionary Error, in the Example, same in 5.0:
" ...checks whether the movie was created in Windows 95... "
...should read:
" ...checks whether the PROJECTOR (playing the current movie) was created FOR Windows 95... "
5.0 Dictionary Error, halfway corrected in the '501 ReadMe', cleared in 6.0:
" This system property indicates which platform the movie is playing on. "
...should read:
" This system property indicates which platform the PROJECTOR WAS CREATED FOR. "
With 'Create Projector for: Windows 3.1' and the projector playing on Win95, the 'platform' property will still indicate 'Windows, 16'. With 'Create Projector for: Standard Macintosh' and the projector playing on a Power Macintosh, the 'platform' property will still indicate 'Macintosh, 68K'. Only 'Create Projector for: All Macintosh Models' will correctly indicate the Macintosh platform it is currently playing on (see Gretchen's 501 BugList for a nice little table).

John Dowdell from Macromedia Tech Support 8/97:
" That function tells the engine, and does not query the current machine. If you wish to be able to pull various pieces of information about the machine itself, then there are Xtras which would enable this desire. "





[index] _ D5/601 _ 971201:


productVersion

secret Director software property

TIP: 5.0/601: According to Andreas Viviani's unLingo Dictionary, the undocumented 'productVersion' property can be tested, but NOT set. Using 'the productVersion' is preferable to the documented global system variable 'version', which he says to show some dubious behaviour when used in scripts. But as 'the productVersion' is undocumented, use it at your own risk, and possibly it won't be valid in the next update of Director.






[index] _ D5/601 _ 971201:


runMode

secret Director status property

TIP: This function is new in 601. According to Andreas Viviani's unLingo Dictionary, in Director 5 the undocumented property 'the runMode' can be tested, but NOT set, and it returns a string with either 'Author' or 'Projector' as the mode the movie is playing in. Depending on 'the runMode' of your movie, you can have different scripts or messages executed or special debugging fields showing text on stage. But as the 'runMode' is undocumented, use it at your own risk, and possibly it won't be valid in the next update of Director.






[index] _ 601 in 1/97:


version

Director global software variable

6.0 Dictionary Error, same in 5.0:
" The same string appears the Finder's Get Info dialog box... "

Should also mention that this global variable is NOT fixed and can be overwritten by Lingo. Even a 'clearGlobals' will NOT reset 'version' to its default.

1. TIP: The global variable 'version' can be tested AND set, and it returns by default a string with Director's version number, like "5.0.1". Alexander Kienz from www.mit.de mentions that this global variable can also be set. If you do that (i.e. use your own global variable called 'version'), you will overwrite Director's version (<g>) of that variable, and thus lose it's original content of the program's version string. Even a 'clearGlobals' will NOT reset it to its default; strangely enough it will keep its manipulated setting.

2. TIP: According to Andreas Viviani's unLingo Dictionary, the undocumented (!) property 'productVersion' is preferable to the documented global system variable 'version', which he says to show some dubious behaviour when used in scripts (see 'productVersion').





(Top)

URL = "http://www.a3w.de/Lingo/Ldoc_MovieControl.html"  (971205)

 Top [Main Page] [About...] [Error Lists] [Ldoc+ Index] [Lingo Groups]
The Ldoc+ © Copyright 97-98 by Denis Wieger Online since June 1, 1997. All rights reserved.
<mailto:Denis@a3w.de
 Top