llSetLinkMedia
Revision as of 02:17, 3 August 2011 by Cerise Sorbet (talk | contribs) (Created page with "<!-- {{LSL Generic/RC|RC Magnum}} --> {{LSL_Function |mode=pre-release |inject-1={{LSL_Function/face|face|notall=*}} |func_id=?|func_sleep=0.0|func_energy=0.0|mod…")
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
![]() |
Pre-release Documentation Warning! |
This function is not available yet. This documentation was written prior to its final release so it may not match the final implementation. |
Summary
Function: integer llSetLinkMedia( integer link, integer face, list params );0.0 | Forced Delay |
0.0 | Energy |
Set the media params for a particular face on the linked prim(s) without a delay.
Returns an integer that is a STATUS_* flag which details the success/failure of the operation(s).
• integer | link | |||
• integer | face | – | face number | |
• list | params | – | a set of name/value pairs (in no particular order) |
Success/Failure Flags | Description | ||||||
---|---|---|---|---|---|---|---|
STATUS_OK | 0 | Result of function call was success | |||||
STATUS_MALFORMED_PARAMS | 1000 | Function was called with malformed parameters | |||||
STATUS_TYPE_MISMATCH | 1001 | Argument(s) passed to function had a type mismatch | |||||
STATUS_BOUNDS_ERROR | 1002 | Argument(s) passed to function had a bounds error | |||||
STATUS_NOT_FOUND | 1003 | Object or other item was not found | |||||
STATUS_NOT_SUPPORTED | 1004 | Feature not supported | |||||
STATUS_INTERNAL_ERROR | 1999 | An internal error occurred | |||||
STATUS_WHITELIST_FAILED | 2001 | Whitelist Failed |
Parameter | Additional Parameters | Description | |||||||
---|---|---|---|---|---|---|---|---|---|
[ PRIM_MEDIA_ALT_IMAGE_ENABLE ] | 0 | [ integer boolean ] | Sets the default image state (the image that the user sees before a piece of media is active) for the chosen face. The default image is specified by Second Life's server for that media type.
Note: This flag is not currently implemented. | ||||||
[ PRIM_MEDIA_CONTROLS ] | 1 | [ integer control ] | Sets the style of controls. Can be either PRIM_MEDIA_CONTROLS_STANDARD or PRIM_MEDIA_CONTROLS_MINI. | ||||||
controls Flags | Description | ||||||||
PRIM_MEDIA_CONTROLS_STANDARD | 0 | Standard web navigation controls. | |||||||
PRIM_MEDIA_CONTROLS_MINI | 1 | Mini web navigation controls; does not include an address bar. | |||||||
[ PRIM_MEDIA_CURRENT_URL ] | 2 | [ string current_url ] | Sets the current url displayed on the chosen face. Changing this URL causes navigation. 1024 characters Max | ||||||
[ PRIM_MEDIA_HOME_URL ] | 3 | [ string home_url ] | Sets the home url for the chosen face. 1024 characters max | ||||||
[ PRIM_MEDIA_AUTO_LOOP ] | 4 | [ integer boolean ] | Sets whether auto-looping is enabled. | ||||||
[ PRIM_MEDIA_AUTO_PLAY ] | 5 | [ integer boolean ] | Sets whether the media auto-plays when a Resident can view it. | ||||||
[ PRIM_MEDIA_AUTO_SCALE ] | 6 | [ integer boolean ] | Sets whether auto-scaling is enabled. Auto-scaling forces the media to the full size of the texture. | ||||||
[ PRIM_MEDIA_AUTO_ZOOM ] | 7 | [ integer boolean ] | Sets whether clicking the media triggers auto-zoom and auto-focus on the media. | ||||||
[ PRIM_MEDIA_FIRST_CLICK_INTERACT ] | 8 | [ integer boolean ] | Sets whether the first click interaction is enabled.
Note: This flag appears not to work. | ||||||
[ PRIM_MEDIA_WIDTH_PIXELS ] | 9 | [ integer width ] | Sets the width of the media in pixels. | ||||||
[ PRIM_MEDIA_HEIGHT_PIXELS ] | 10 | [ integer height ] | Sets the height of the media in pixels. | ||||||
[ PRIM_MEDIA_WHITELIST_ENABLE ] | 11 | [ integer boolean ] | Sets whether navigation is restricted to URLs in PRIM_MEDIA_WHITELIST. | ||||||
[ PRIM_MEDIA_WHITELIST ] | 12 | [ string CSV ] | Sets the whitelist as a string of escaped, comma-separated URLs. This string can hold up to 64 URLs or 1024 characters, whichever comes first. | ||||||
[ PRIM_MEDIA_PERMS_INTERACT ] | 13 | [ integer perms ] | Sets the permissions mask that control who can interact with the object: | ||||||
[ PRIM_MEDIA_PERMS_CONTROL ] | 14 | [ integer perms ] | Sets the permissions mask that control who can see the media control bar above the object: |
Caveats
- The function silently fails if its face value indicates a face that does not exist.
- If prim-media is not already on this object, add it.
- Params not specified are unchanged, or if new media is added set to the default specified.
- Both width and height must be specified together to work, and they narrow the texture space while inversely widening the aperture.
- width and height scaled larger than 1024pixels will require the texture backdrop to be resized to fit(see Useful Snippets)
- if resized to fit, the resulting view will cut off scrolled content outside the bounds making it impossible to be viewed
- width and height scaled larger than 1024pixels will require the texture backdrop to be resized to fit(see Useful Snippets)
Examples
Useful Snippets
<lsl>//-- expand media textures greater than 1024 pixel in a direction to fit the media face //-- does exactly what the "align" button does in the edit window //-- original by Edelman Linden (or Kate Linden), tweaked by Void Singer uExpandMediaTexture( integer vIntWidth, integer vIntHeight, integer vIntFace ){
integer vIntTemp; vector vSizScale;
while (vIntWidth >> ++vIntTemp); vSizScale.x = vIntWidth / (float)(1 << vIntTemp); vIntTemp = 0; while (vIntHeight >> ++vIntTemp); vSizScale.y = vIntHeight / (float)(1 << vIntTemp); llSetLinkPrimitiveParamsFast( llGetLinkNumber(), [PRIM_TEXTURE, vIntFace] + llListRplaceList( llGetLinkPrimitiveParams( [PRIM_TEXTURE, vIntFace] ), [vSizScale, ((vSizScale - <1.0, 1.0, 0.0>) / 2.0)], 1, 2 ) );
}</lsl>