llGetLinkMedia
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: list llGetLinkMedia( integer link, integer face, list params );0.0 | Forced Delay |
0.0 | Energy |
Get the media params for a particular face on a linked prim, given the desired list of named params.
Returns a parameter list (a list) of values in the order requested.
• integer | link | – | Link number (0: unlinked, 1: root prim, >1: child prims and seated avatars) or a LINK_* flag
|
|
• integer | face | – | face number | |
• list | params | – | a set of names (in no particular order) |
Returns an empty list if no media exists on the face(s).
|
|
Parameter | Return Values | Description | |||||||
---|---|---|---|---|---|---|---|---|---|
[ PRIM_MEDIA_ALT_IMAGE_ENABLE ] | 0 | [ integer boolean ] | Gets 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 ] | Gets 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 ] | Gets the current url displayed on the chosen face. Changing this URL causes navigation. 1024 characters Max | ||||||
[ PRIM_MEDIA_HOME_URL ] | 3 | [ string home_url ] | Gets the home url for the chosen face. 1024 characters max | ||||||
[ PRIM_MEDIA_AUTO_LOOP ] | 4 | [ integer boolean ] | Gets whether auto-looping is enabled. | ||||||
[ PRIM_MEDIA_AUTO_PLAY ] | 5 | [ integer boolean ] | Gets whether the media auto-plays when a Resident can view it. | ||||||
[ PRIM_MEDIA_AUTO_SCALE ] | 6 | [ integer boolean ] | Gets whether auto-scaling is enabled. Auto-scaling forces the media to the full size of the texture. | ||||||
[ PRIM_MEDIA_AUTO_ZOOM ] | 7 | [ integer boolean ] | Gets whether clicking the media triggers auto-zoom and auto-focus on the media. | ||||||
[ PRIM_MEDIA_FIRST_CLICK_INTERACT ] | 8 | [ integer boolean ] | Gets whether the first click interaction is enabled.
Note: This flag appears not to work. | ||||||
[ PRIM_MEDIA_WIDTH_PIXELS ] | 9 | [ integer width ] | Gets the width of the media in pixels. | ||||||
[ PRIM_MEDIA_HEIGHT_PIXELS ] | 10 | [ integer height ] | Gets the height of the media in pixels. | ||||||
[ PRIM_MEDIA_WHITELIST_ENABLE ] | 11 | [ integer boolean ] | Gets whether navigation is restricted to URLs in PRIM_MEDIA_WHITELIST. | ||||||
[ PRIM_MEDIA_WHITELIST ] | 12 | [ string CSV ] | Gets 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 ] | Gets the permissions mask that control who can interact with the object: | ||||||
[ PRIM_MEDIA_PERMS_CONTROL ] | 14 | [ integer perms ] | Gets the permissions mask that control who can see the media control bar above the object: |
Caveats
- link needs to be either an actual link number or a link constants that equate to a single prim, such as LINK_ROOT and LINK_THIS.
- LINK_SET, LINK_ALL_CHILDREN and LINK_ALL_OTHERS will not work.
- If face indicates a face that does not exist the return is an empty list
Examples
Useful Snippets
list GetLinkMedia(integer link, integer face, list input)
{//Returns a list that can be fed to llSetLinkMedia or llSetPrimMediaParams
list output;
integer c = ~llGetListLength(input);
while((c = - ~c))
{
list flag = llList2List(input, c, c);
output += flag + llGetLinkMedia(link, face, flag);
}
if(output == input)
return [];
return output;
}
Notes
Link Numbers
Each prim that makes up an object has an address, a link number. To access a specific prim in the object, the prim's link number must be known. In addition to prims having link numbers, avatars seated upon the object do as well.
- If an object consists of only one prim, and there are no avatars seated upon it, the (root) prim's link number is zero.
- However, if the object is made up of multiple prims or there is an avatar seated upon the object, the root prim's link number is one.
When an avatar sits on an object, it is added to the end of the link set and will have the largest link number. In addition to this, while an avatar is seated upon an object, the object is unable to link or unlink prims without unseating all avatars first.
Counting Prims & Avatars
There are two functions of interest when trying to find the number of prims and avatars on an object.
llGetNumberOfPrims()
- Returns the number of prims and seated avatars.llGetObjectPrimCount(llGetKey())
- Returns only the number of prims in the object but will return zero for attachments.
integer GetPrimCount() { //always returns only the number of prims
if(llGetAttached())//Is it attached?
return llGetNumberOfPrims();//returns avatars and prims but attachments can't be sat on.
return llGetObjectPrimCount(llGetKey());//returns only prims but won't work on attachments.
}
Errata
If a script located in a child prim erroneously attempts to access link 0, it will get or set the property of the linkset's root prim. This bug (BUG-5049) is preserved for broken legacy scripts.
See Also
Functions
• | llGetLinkNumber | – | Returns the link number of the prim the script is in. | |
• | llGetPrimMediaParams | |||
• | llSetLinkMedia | |||
• | llClearLinkMedia |