VMP Flash 9 Properties and Functions

 

Contents

General Information


The Flash 9 animator takes advantage of Flash 9's robust API and the latest Flash technologies including AS2/AS3 scripted animation and FLV videos with full screen support. Essentially, the Flash 9 animator serves the same purpose as the old Flash 5 component. The main difference is that the new system uses native Flash DLL for rendering and is therefore compatible with all Flash versions up to version 9. In some (simple) cases it is possible to replace 'SWFView' in the content with 'SWFView9' and it will work. However, just switching the animators is not guaranteed to work, and is not supported.

 

Differences between 'SWFView' and 'SWFView9'


Unsupported in 'SWFView9'

Property Description
SVG SVG rendering was implemented by 'SWFView' animator because it was using same vector-rendering code as our implementation of Flash 5. It will not work in 'SWFView9'.
LayerCache Obsolete property used to control aspects of rendering Flash content by VMP rendering engine
UseDirtyRects Obsolete property used to control aspects of rendering Flash content by VMP rendering engine
Font Obsolete
opac Used for specifying transparency for the whole movie. Unsupported.
rtim Used for specifying if frames are skipped when playback can't keep up with frame rate. Unsupported.
Clip Used to set an additional clipping rectangle. Unsupported.
Base Used to specify base path. Determined automatically based on MTX or HTML path.
Quty Used to specify quality. Unsupported.

Changed Behavior

 

Inherited MTSTimeElem properties


Controlling Flash's Playing State

You can use normal MTSTimeElem properties strt, stop, stpc, runs, clps, rst_, rwnd, trgr, paus to start/stop/rewind/pause main (root) Flash movie. However, keep in mind that stopping the main Flash movie (just like in native Flash) does not necessarily stop video/audio playback. Therefore, it is advised to call some exported Flash function which will achieve the desired effect.

Flash's Time access and control

Normally we do not control Flash's time, letting it run at its own pace. One would only control it's state (see above). However, if you access time property, either for read or write, it will be converted to frames according to file's Frames Per Second (FPS).
Note that theoretically one can change FPS in Flash in runtime, but this is not taken into account - only the file's setting is used.
Also, as we use GotoFrame function, intermediate frames are skipped.
You can animate time for paused Flash movie.
tmap (TimeScale) should be supported if you animate time, but this is not tested.
pdir (PlayDirection) is not supported.

 

Properties of SWFView9 animator


Name Mode Type Default Description
BasePath R/W string URL for reloading relative Path (below). Ignored if Path is absolute. Usually is set automatically as the position of enclosing MTX or HTML.
Path R/W string The URL of the Flash file loaded by Animator. Could be relative to BasePath.
UseSWFStatus R/W boolean false If true, read/write of non-existing DOM property or calling non-existing function will cause failure. Else it will be ignored
Loop R/W boolean true Corresponds to native Flash embed parameter which tells if Flash has to go to first frame after it reaches last frame
SWF R object Serves as root for accessing native Flash variables and functions. See Scripting
Version R real 0.0 The version of the Flash DLL loaded by Animator. Example: 9.0.
Reload W uint32 Setting this to "1" causes current movie to be reloaded. All related files like FLV are reloaded too.
Preload R/W boolean false Whether the Animator loads Flash file even if it is off.
FillBackground R/W boolean false Whether the Animator renders Flash file in opaque mode, filling in the transparent areas with the background color. May only be reset if "FillBackgroundDynamic" is true.
FillBackgroundDynamic R/W boolean false Whether the Animator allows FillBackground to be changed after initialization. May not be reset.
MinimumFlashVersion R/W string Minimum version of Flash DLL required for the content, friendly-number form (eg, "9.0.115.0").
Width R/W uint32 0 The width of the Animator's target texture(s). Not required. Defaults to Flash movie size.
Height R/W uint32 0 The height of the Animator's target texture(s). Not required. Defaults to Flash movie size.
ForceFlashDimensions R/W boolean false Forces the Animator's target textures to the same dimensions of those of the Flash file. Equivalent to setting "Width" and "Height" to those values.
AutoInvertTargetAlpha R/W int32 1 Normally Flash would require InvertAlpha="1" for target texture. This parameter controls if this setting is automatically adjusted.
  • 0 - off
  • 1 - only for textures with alpha
  • 2 - for all textures
ASVersion R uint32 0 The ActionScript version of the Flash file.
  • 0 - invalid or unknown (movie is not loaded yet)
  • 1 - Flash Version <= 5
  • 2 - Flash Version <= 9
  • 3 - Flash Version == 9 and is using AS3
FileVersion R uint32 0 The Flash version of the loaded Flash file.
Compose R/W boolean false If true, Flash will render on top of existing target. If false - will erase target texture with background color before rendering. Has meaning only for texture targets, for Pre-/Post- Animators it sort of is true always.
Render R/W boolean true Turns on or off rendering of Flash movie.
FlashVars R/W string Used for setting native Flash variables. Same as Flash embed tag. Note that because it is in XML (MTX) file, it should be XML-escaped. therefore if you want to specify two variables, you have to write something like: FlashVars="QAID=14445&QPAN=0"
SWFWidth R uint32 0 The Width of the Flash file (stage).
SWFHeight R uint32 0 The Height of the Flash file (stage).
FullScreen R boolean false Whether the Animator is currently in full-screen mode.
UseFlashTime R/W boolean true If false - prevents animator from using CurrentFrame*FPS as Flash animator's time. Note that unless you explicitly animate or directly refer to time property, Flash time is not accessed.
DefaultProtocol R/W string vetscript: Default protocol to be used if none is specified. Possible values are vetscript: and javascript:. See Scripting
Scale R/W string ExactFit Same as Scale parameter for native Flash embed. Other valid values are ShowAll, NoBorder, ExactFit, NoScale. See Flash CS3 Documentation. Note, however, the defaults differ.
SAlign R/W string [empty (= c)] Same as SAlign parameter for native Flash embed. Valid values are L, T, R, B, etc, or any combination, as if native Flash. Note that the Align property is not supported, as it is not applicable to VMP embedding.

 

Functions of SWFView9 animator


Name Type Description
GetCurrentFrame() int32 Returns current frame for the main timeline.
CallFunction(func_name, ...) NIK_Variant Call arbitrary function in Flash movie and return it's result.

 

Functions of Adobe Flash 9 native DLL exposed by SWFView9 animator


Complete description could be found on Adobe's site

 

Scripting


A comprehensive description of VMP Flash 9 scripting functionality will be included in the final Release Notes that will be out soon. The following is a brief description:

For all flash methods listed below, syntax and behavior should be exactly as described whether hosted by us or by the browser unless otherwise noted. However, when the flash movie is hosted by VMP, the functionality is extended by using either keywords or “protocols” (these protocols, and their syntax and functionalities will be described in detail below) to allow direct access to the VMP Scene DOM and VMP specific functionalities. By default “vetscript:” protocol is used, meaning that all commands will be executed by VETScriptInterpreter animator. It is possible to change default protocol:

<MTSTimeElem Name="vmp_to_flash" Type="SWFView9" Path="vmp_to_flash.swf" DefaultProtocol=”javascript:”/>.

This would be useful when swf file had some communication with HTML set up, but now has to be placed into MTX.

 

Protocols

Scripting Out

Scripting In

<MTSSetProperty Target="vmp_to_flash. GotoFrame()" Value="3"/>

ActionScript Support

Flash movies using AS1 and AS2 do not need to be modified in order for the published swf to work.
Flash movies using AS3 need the following file added to the beginning of frame 1 code.

 

Scaling


A comprehensive description of VMP Flash 9 scaling functionality will be included in the final Release Notes that will be out soon. It will include the supported, as well as recommended Flash scaling methods and the differences between Flash directly embedded within the browser and Flash embedded within the VMP.

 

Flash 9 Full-screen support


Adobe introduced full-screen capabilities into their Flash 9 browser plug-in, in two incremental steps: version 9.0.28.0 for software mode, and version 9.0.115.0 for hardware-accelerated mode. Once full-screen mode is triggered, rendering of the Flash content is passed directly to the Flash DLL, thereby having the effect of full support for all of Flash 9's full-screen features. Additionally, the limitations of when this mode may be triggered, and how either mode is triggered, is a Flash/ActionScript issue, and is fully independent of the container (whether that be the browser or the VMP). The main difference between content designed for Flash-in-browser as opposed to Flash-in-VMP is that the VMP automatically enables the allowFullScreen property, so the content developer need not specify it in the mtx code. The full-screen mode applies to any manner of Flash content, whether it be SWF, FLV, etc, and not just video. The details of the H.264-video-specific hardware-acceleration have not yet been documented. It is yet to be determined, whether Flash will use hardware features such as NVidia's PureVideo to perform parts of the video decompression, in addition to scaling.

Please note, that the Flash DLL pre-fills the full-screen area with the background color of the Flash movie. Thus, anything behind the transparent pixels of the Flash file will not show through. To have a Superview-like effect, Flash in non-full-screen mode must be used within Superview, with the animator targeting a texture (of a 2d-layer) or set as a pre-animator or post-animator.

See Exploring full-screen mode in Flash Player 9, Flash Player:9:Update:Full-Screen Mode HW and Exploring Flash Player support for high-definition H.264 video and AAC audio for nice overviews of the technology, property definition, and samples. As stated above, less the one exception, these all apply to Flash 9 content embedded within the VMP scene.


 top