Gif2SL Studio 1.1 — Second Life Playback and Audio Contract PREFERRED / EXACT-FRAME TEXTURE NAME Name.anim;columns;rows;fps;frameCount Example: sharkGirl1.anim;6;12;10;61.png The production LSL script sends columns=6, rows=12, start=0, length=61, rate=10 to llSetTextureAnim. The 11 unused trailing cells in the 6x12 sheet are therefore never displayed. LEGACY COMPATIBILITY Name.anim;columns;rows;fps Example: old_loop.anim;8;8;10.png Because legacy names contain no exact frame count, the script plays the full grid capacity (8x8 = 64 cells). This preserves the behavior of older Gif2SL textures. GRID ORIENTATION The filename contract is columns first, rows second. A grid such as 6x12 means 6 columns and 12 rows. Grids do not need to be square. SINGLE-SHEET SCRIPT — GIF2SL FREE COMPATIBLE Automatic_GIF_to_SL_script.lsl Drop the texture, its optional matching WAV sound, and the script into the same Second Life prim. The script prefers a valid exact-frame texture if both exact-frame and legacy textures are present, chooses alphabetically when extra valid textures exist, and reports ignored or ambiguous assets to the owner. It begins automatically and loops the single texture and optional sound. It has no touch menu, playback controls, or multi-sheet synchronization. The sound is optional: including one matching sound turns audio on; omitting it keeps the player silent. The creator may edit SOUND_VOLUME from 0.0 to 1.0 in the open-source script. One Second Life sound asset must remain at or below the Studio's safe 29.9-second export ceiling. A texture-only sheet can technically play longer, but its per-frame resolution decreases as more 10 FPS frames are packed into one texture. FLUID SEQUENCE SCRIPT Gif2SL_Fluid_Sequence_Player.lsl An illustrated construction guide is included as: Documentation\Gif2SL_Three_Prim_Player_Setup.png Build and link three prims in this order: link 1 = invisible controller root containing the script and uploads link 2 = Screen A link 3 = Screen B Screen A and Screen B must have identical size, position, and rotation. Place all sheets from one sequence and either all matching WAV uploads or no sounds in the root prim. The script chooses the first valid series alphabetically, sorts its zero-padded sheet names, and ignores unrelated series. When no valid animation texture is present, Screen A becomes a visible dark idle slate with "No animation loaded" hover text while Screen B remains hidden. This keeps the linked player visible and selectable while creators replace its inventory. The slate uses Second Life's built-in blank texture and disappears automatically when a valid series is added; no reset or extra upload is needed. The touch menu provides Loop Play, Play Once, and Stop. Play Once holds the final true frame when the complete series ends; Stop returns to the first frame. That first frame remains visible as the start screen while playback and sound preloading begin, so clicking a playback control does not make the viewer temporarily disappear. Access defaults to Owner Only. The owner can change access to Anyone; public users receive playback controls but cannot change access or audio settings. Sound defaults to Off with 10/10 remembered volume. When a complete matching sound set is present, the owner receives Sound On/Off and Volume controls. Volume choices run from 0 through 10; 0 turns sound off, while 1 through 10 turn it on. Sound Off remembers the previous nonzero level. Muting stops audio immediately; enabling sound during an animation applies it to the next playback so sound cannot begin against the wrong sheet. Access, sound, and volume survive a script reset and return to Owner Only, Sound Off, and 10/10 after an ownership change. The hidden screen is parked on the next sheet's first frame before the visible and hidden screen alphas swap. Matching sounds are preloaded and queued one level ahead. If only some matching sounds are present, sequence audio is disabled rather than played out of order. Second Life sound queueing can still have a small audible gap, and llPreloadSound is a best-effort viewer hint rather than a guarantee. AUDIO ONLY SCRIPT Gif2SL_Audio_Only_Player.lsl Audio Only exports use this inventory-name contract: Title.audio;segmentNumber;segmentCount;durationMilliseconds Put the exported sounds and the script in the same prim. The player discovers titles and segments automatically and provides Start, Stop, Prev Title, and Next Title. It preloads and queues one sound ahead, which is Second Life's maximum sound queue depth. SCRIPT LICENSING Automatic_GIF_to_SL_script.lsl is MIT-licensed. The Fluid Sequence and Audio Only scripts are source-included Studio creator resources. They may be modified and included inside finished Second Life objects under the terms in the release root's LICENSE_AND_CREATOR_USE.txt. No visible in-world credit is required. TRADEMARK NOTICE Second Life, SL, and inSL are trademarks of Linden Research, Inc. Gif2SL Studio is not affiliated with or sponsored by Linden Research.