QuickTime VR Scripting Reference

The QuickTime Xtra provides the following new properties and functions to control QuickTime VR sprite icons and sprites.

isVRMovie

Syntax | `GetIconProperty(IconID@"IconTitle", #isVRMovie)` `GetSpriteProperty(IconID@"IconTitle", #isVRMovie)`
Type | Icon property, Sprite property
Description | This property tells whether a sprite icon or sprite is a QTVR movie: `TRUE` The cast member or sprite is a QTVR movie. `FALSE` The cast member or sprite isn't a QTVR movie. If the movie isn't downloaded yet, the `isVRMovie` property's value is `TRUE`. This property can be tested but not set.
Example | This statement sets the value of the `VRstate` variable to `TRUE` if the movie file in the specified sprite icon is a QuickTime VR movie: `VRstate := GetIconProperty(@"QT3", #isVRMovie)` VREnableHotSpot
Syntax | `CallSprite(IconID@"IconTitle", #VREnableHotSpot,` hotSpotID`,` state`)`
Type | Xtra function
Description | This function enables or disables the specified hot spot for the specified QTVR sprite. The state parameter can have these values: `TRUE` Enables the hot spot. `FALSE` Disables the hot spot. Hot spots and their ID numbers are set by the application used to create or edit the QuickTime VR movie.
Example | This statement disables the specified hot spot in the QuickTime VR movie: `CallSprite(@"QT3", #VREnableHotSpot, 218, FALSE)` This statement enables the specified hot spot in the QuickTime VR movie:
    CallSprite(@"QT3", #VREnableHotSpot, 218, TRUE)
VRFieldOfView
Syntax | `GetSpriteProperty(IconID@"IconTitle", #VRFieldOfView)` `SetSpriteProperty(IconID@"IconTitle", #VRFieldOfView,` degrees`)`
Type | Sprite property
Description | This property gives the specified sprite's current field of view. The value is in degrees. This property can be tested and set.
Example | The following statements adjust the sprite's field of view by one degree: `currentFieldOfView := GetSpriteProperty(@"QT3", #VRFieldOfView)`
    SetSpriteProperty(@"QT3", #VRFieldOfView, currentFieldOfView + 1)
VRGetHotSpotRect
Syntax | `CallSprite(IconID@"IconTitle", #VRGetHotSpotRect,` hotSpotID`)`
Type | Xtra function
Description | This function returns an approximate bounding rectangle for the hot spot specified by hotSpotID. If the hot spot doesn't exist or isn't visible in the Presentation window, this function returns `rect(0, 0, 0, 0)`. If the hot spot is partially visible, this function returns the bounding rectangle for the visible portion. Hot spots and their ID numbers are set by the application used to create or edit the QuickTime VR movie.
Example | The following statements enable the specified hot spot only if the hot spot is visible in the Presentation window:
    if CallSprite(@"QT3", #VRGetHotSpotRect, 218) <> rect(0,0,0,0) then
    CallSprite(@"QT3", #VREnableHotSpot, 218, TRUE)

    end if
VRMotionQuality
Syntax | `GetSpriteProperty(IconID@"IconTitle", #VRMotionQuality)` `SetSpriteProperty(IconID@"IconTitle", #VRMotionQuality,` value`)`
Type | Sprite property
Description | This property is the codec quality used when the user clicks and drags the QTVR sprite. This property's value can be `#minQuality`, `#maxQuality`, or `#normalQuality`. This property can be tested and set. VRNode
Syntax | `GetSpriteProperty(IconID@"IconTitle", #VRNode)` `SetSpriteProperty(IconID@"IconTitle", #VRNode,` nodeID`)`
Type | Sprite property
Description | This property is the current node ID displayed by the sprite. Nodes and their ID numbers are set by the application used to create or edit the QuickTime VR movie. This property can be tested and set.
Example | The following statements increment the QuickTime VR movie's current node:
    currentNode := GetSpriteProperty(@"QT3", #VRNode)
    SetSpriteProperty(@"QT3", #VRNode, currentNode+1)
VRNodeType
Syntax | GetSpriteProperty(IconID@"IconTitle", `#VRNodeType)`
Type | Sprite property
Description | This property is the type of node that is currently in the Presentation window for the specified sprite. Possible values are `#object`, `#panorama`, or `#unknown`. (`#unknown` is the value for a sprite that isn't a QTVR sprite.) This property can be tested but not set. VRNudge
Syntax | `CallSprite(IconID@"IconTitle", #VRNudge,` direction`)`
Type | Xtra function
Description | This command nudges the specified QTVR sprite in the direction specified by direction. Possible values for directionare `#down`, `#downLeft`, `#downRight`, `#left`, `#right`, `#up`, `#upLeft`, and `#upRight`. The VRNudge function has no return value.
Example | The following statements nudge the QuickTime VR movie to the left 100 times to simulate a spinning view:
    repeat with counter := 1 to 360
    CallSprite(@"QT3", #VRNudge, #left)
    end repeat
VRPan
Syntax | `GetSpriteProperty(IconID@"IconTitle", #VRPan)` `SetSpriteProperty(IconID@"IconTitle", #VRPan,` degrees`)`
Type | Sprite property
Description | This property is the current pan of the QTVR movie. The value is in degrees. This property can be tested and set.
Example | The following statements adjust the sprite's pan angle by one degree: `currentPanAngle := GetSpriteProperty(@"QT3", #VRPan)`
    SetSpriteProperty(@"QT3", #VRPan, currentPanAngle + 1)
VRPtToHotSpotID
Syntax | `CallSprite(IconID@"IconTitle", #VRPtToHotSpotID,` point`)`
Type | Xtra function
Description | This function returns the ID of the hot spot, if any, that is at the specified point. If there is no hot spot, the function returns 0. Hot spots and their ID numbers are set by the application used to create or edit the QuickTime VR movie.
Example | The following statement sets the value of `myHotSpot` to the ID of the hot spot that the user last clicked. If the user did not click a hot spot, `myHotSpot` is set to 0.
    myHotSpot := CallSprite(@"QT3", #VRPtToHotSpotID, point(clickX, clickY))
VRStaticQuality
Syntax | `GetSpriteProperty(IconID@"IconTitle", #VRStaticQuality)` `SetSpriteProperty(IconID@"IconTitle", #VRStaticQuality,` value`)`
Type | Sprite property
Description | This property specifies the codec quality used when the panorama image is static. Possible values are `#minQuality`, `#maxQuality`, and `#normalQuality`. This property can be tested and set. VRSwing
Syntax | CallSprite(IconID@"IconTitle", #VRSwing, pan, tilt, FieldOfView, SpeedToSwing)
Type | Xtra function
Description | The parameters pan, tilt, and FieldOfView are the settings you want the QTVR movie to swing from its current position. The parameter SpeedToSwing is the rate at which the swing takes placeÑspecify an integer from 1 to 10 (slow to fast). QuickTime 1 When you finish selecting options, click OK. If you need to change the settings for your QuickTime sprite icon, double-click on the icon to edit it. Your settings are saved until you reopen the QuickTime Xtra Properties dialog box. When you open the QuickTime Xtra Properties dialog box, all settings revert to the defaults. VRTilt
Syntax | `GetSpriteProperty(IconID@"IconTitle", #VRTilt)` `SetSpriteProperty(IconID@"IconTitle", #VRTilt,` degrees`)`
Type | Sprite property
Description | This property is the current tilt, in degrees, of the QTVR movie. This property can be tested and set.
Example | The following statements adjust the sprite's tilt angle by one degree: `currentTilt := GetSpriteProperty(@"QT3", #VRTilt)`
    SetSpriteProperty(@"QT3", #VRTilt, currentTilt + 1)
VRWarpMode
Syntax | `GetSpriteProperty(IconID@"IconTitle", #VRWarpMode)` `SetSpriteProperty(IconID@"IconTitle", #VRWarpMode,` value`)`
Type | Sprite property
Description | This property specifies the type of warping done on the panorama. Possible values are `#full`, `#partial`, or `#none`. Warping is the method used by QuickTime VR to integrate separate images to simulate a seamless view. The `VRWarpMode` setting determines how much QuickTime VR blends the images to achieve this effect. When `VRWarpMode` is set to `#none`, QuickTime VR does not blend the images. This property can be tested and set. When the property is set, it determines the warping for both static and motion modes. When this property is tested and the values for static and motion modes are different, this property's value is the value for the current mode.