Sound Explorer + block sounds by asset ID (wire up the dormant SLAssetBlocklist / Assets tab) #654

Closed
opened 2026-10-10 23:46:54 +00:00 by sky_line · 2 comments
Owner

Firestorm-style Sound Explorer and block a sound by its asset ID. This is our own implementation (released-code rule: no copying unreleased work; credit anything we take).

What exists today

  • Stock LL blocking: block a resident or object, which also silences its sounds, and the per-resident "object sounds" option in the Block List.
  • Half-built asset blacklist: SLAssetBlocklist (slassetblocklist.h/.cpp) stores and saves blocked asset IDs. The Assets tab in Communicate > Derender / Blacklist List (LLPanelAssetBlocklist, panel_block_asset.xml) lists entries and removes them. But nothing ever adds an entry, and nothing checks isBlocked(). Both are dead today.

Scope

  1. Recent-sound log: record every sound the viewer plays (triggered, attached/looped, preloaded and collision sounds, and gestures). Keep the asset ID, source object and owner, position/region, time, and whether it is still playing. Bounded: a ring buffer with a cap and LRU, with no unbounded growth.
  2. Sound Explorer floater: a live list with filters (attached / triggered / collision, looped / one-shot) and actions:
    • play locally
    • look at / beacon the source
    • copy the asset UUID
    • block the sound
    • block the source object or owner, using the existing mute list
  3. Block the sound everywhere: blocking adds the asset ID to SLAssetBlocklist with type AT_SOUND. Every playback path drops a blocked sound before decode/playback, whoever plays it: LLAudioEngine, llvieweraudio, attached sounds and triggered sounds. Blocked sounds appear in the existing Assets tab, where unblocking works.
  4. Menu entries: World > Sound Explorer, plus a right-click on an object to see its sounds.

Out of scope (possible follow-ups)

Using the same blocklist for other asset types (animations, textures). The storage already holds an asset type.

Firestorm-style **Sound Explorer** and **block a sound by its asset ID**. This is our own implementation (released-code rule: no copying unreleased work; credit anything we take). ## What exists today - Stock LL blocking: block a resident or object, which also silences its sounds, and the per-resident "object sounds" option in the Block List. - **Half-built asset blacklist:** `SLAssetBlocklist` (`slassetblocklist.h/.cpp`) stores and saves blocked asset IDs. The **Assets** tab in Communicate > Derender / Blacklist List (`LLPanelAssetBlocklist`, `panel_block_asset.xml`) lists entries and removes them. But nothing ever adds an entry, and nothing checks `isBlocked()`. Both are dead today. ## Scope 1. **Recent-sound log:** record every sound the viewer plays (triggered, attached/looped, preloaded and collision sounds, and gestures). Keep the asset ID, source object and owner, position/region, time, and whether it is still playing. Bounded: a ring buffer with a cap and LRU, with no unbounded growth. 2. **Sound Explorer floater:** a live list with filters (attached / triggered / collision, looped / one-shot) and actions: - play locally - look at / beacon the source - copy the asset UUID - block the sound - block the source object or owner, using the existing mute list 3. **Block the sound everywhere:** blocking adds the asset ID to `SLAssetBlocklist` with type `AT_SOUND`. Every playback path drops a blocked sound before decode/playback, whoever plays it: `LLAudioEngine`, `llvieweraudio`, attached sounds and triggered sounds. Blocked sounds appear in the existing Assets tab, where unblocking works. 4. **Menu entries:** World > Sound Explorer, plus a right-click on an object to see its sounds. ## Out of scope (possible follow-ups) Using the same blocklist for other asset types (animations, textures). The storage already holds an asset type.
sky_line added this to the Slipstream project 2026-10-10 23:46:54 +00:00
Author
Owner

Agent dispatched (Sonnet).

Agent dispatched (Sonnet).
Author
Owner

Shipped in 1.3.0 Beta 3: Sound Explorer (World > Sound Explorer) and blocking sounds by asset ID, shown in the Blocked list's Assets tab.

Shipped in **1.3.0 Beta 3**: Sound Explorer (World > Sound Explorer) and blocking sounds by asset ID, shown in the Blocked list's Assets tab.
sky_line 2026-10-11 08:53:37 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#654
No description provided.