Cosmic Music Player
Advanced LSL music player with playlist support, shuffle, and seamless audio playback.
Key Features
The Cosmic Music Player is a sophisticated audio solution designed for Second Life venues, clubs, and personal use. Unlike traditional music players, it handles the 10-second audio clip limitation seamlessly by automatically managing multiple sound clips to create uninterrupted playback.
What makes it special:
• Seamless playback of songs.
• Full playlist management with shuffle and repeat modes.
• Precise playback control with pause, skip, and seek functionality.
• Configurable hover text display with progress bars.
• Automatic notecard reloading when playlists are updated.
• Memory-efficient design with clip preloading.
• Works as an attachment or placeable in-world.
• Easy menu controls for all functions.
• Complies with Second Life TOS.
• No third party databases to sync with.
What makes it special:
• Seamless playback of songs.
• Full playlist management with shuffle and repeat modes.
• Precise playback control with pause, skip, and seek functionality.
• Configurable hover text display with progress bars.
• Automatic notecard reloading when playlists are updated.
• Memory-efficient design with clip preloading.
• Works as an attachment or placeable in-world.
• Easy menu controls for all functions.
• Complies with Second Life TOS.
• No third party databases to sync with.
Playlist Management
Create playlists with unlimited songs. Supports shuffle, repeat, and sequential playback modes.
Seamless Playback
Automatically handles Second Life's 10-second audio limitation with gap-free transitions between clips.
Full Control
Play, pause, skip, seek, adjust volume, and control all playback aspects through linked scripts or HUDs.
Installation Guide
Follow these steps to set up your Cosmic Music Player:
Step 1: Add the Music Player
• Attach or Rezz the music player.
• The player will display "Initializing..." as hover text.
• Right click on the music player and edit the contents.
Step 2: Edit the Configuration (Optional)
• Create a notecard named "player_config".
• Add your configuration settings (see Configuration section).
• If no config is provided, default settings will be used.
Step 3: Create Your Playlist
• Upload your sound files (UUIDs) to your inventory.
• Create a notecard named "playlist".
• Add your songs using the playlist format (see Playlist Format).
Step 4: Verify Music Player is Ready
• Check that hover text shows the player is ready.
• The script will report how many songs were loaded.
• Play music and enjoy!
• Attach or Rezz the music player.
• The player will display "Initializing..." as hover text.
• Right click on the music player and edit the contents.
Step 2: Edit the Configuration (Optional)
• Create a notecard named "player_config".
• Add your configuration settings (see Configuration section).
• If no config is provided, default settings will be used.
Step 3: Create Your Playlist
• Upload your sound files (UUIDs) to your inventory.
• Create a notecard named "playlist".
• Add your songs using the playlist format (see Playlist Format).
Step 4: Verify Music Player is Ready
• Check that hover text shows the player is ready.
• The script will report how many songs were loaded.
• Play music and enjoy!
Configuration Settings
Edit the notecard named player_config with the following settings. All settings are optional and will use defaults if not specified.
# Music Player Configuration
#
# Settings format: name = value
# (spaces around = are mandatory)
# Playback Settings
default_volume = 1.0
# Display Settings (for UI script)
hover_text = 1
branding_text = [cosmic-code] Music Player
hover_text_color = <0, 1, 1>
hover_text_alpha = 1.0
# Progress Bar Settings
progress_bar_size = 30
progress_bar_start = |
progress_bar_fill = -
progress_bar_head = █
progress_bar_end = |
#
# Settings format: name = value
# (spaces around = are mandatory)
# Playback Settings
default_volume = 1.0
# Display Settings (for UI script)
hover_text = 1
branding_text = [cosmic-code] Music Player
hover_text_color = <0, 1, 1>
hover_text_alpha = 1.0
# Progress Bar Settings
progress_bar_size = 30
progress_bar_start = |
progress_bar_fill = -
progress_bar_head = █
progress_bar_end = |
Configuration Options:
default_volume - Volume level from 0.0 to 1.0 (default: 1.0)
hover_text - Show/hide hover text (1 = show, 0 = hide)
branding_text - Custom branding displayed in hover text
hover_text_color - RGB color vector (e.g., <1, 0, 0> for red)
hover_text_alpha - Text transparency from 0.0 to 1.0
progress_bar_size - Width of progress bar in characters
progress_bar_start/end - Characters for bar borders
progress_bar_fill - Character for unfilled portion
progress_bar_head - Character showing current position
default_volume - Volume level from 0.0 to 1.0 (default: 1.0)
hover_text - Show/hide hover text (1 = show, 0 = hide)
branding_text - Custom branding displayed in hover text
hover_text_color - RGB color vector (e.g., <1, 0, 0> for red)
hover_text_alpha - Text transparency from 0.0 to 1.0
progress_bar_size - Width of progress bar in characters
progress_bar_start/end - Characters for bar borders
progress_bar_fill - Character for unfilled portion
progress_bar_head - Character showing current position
Playlist Format
Create a notecard named playlist with your songs. Each song requires three elements: a title declaration, timing data, and sound clip UUIDs.
# My Music Playlist
# Comments start with #
SONG: Artist Name - Song Title
29.9 28.9
2ff1fccf-5f69-8d3d-37ab-4696a9797b6e
8016c8f7-e3ec-f3e5-f3a4-8d0e87decbeb
db289c77-96af-8bdc-18b4-01c912933834
SONG: Another Artist - Another Song
29.9 6.9
2ec1100f-f135-3a22-5b34-d5847bc04dff
b9f38734-b10d-d889-4dc5-753b0e3af37c
9322d768-805b-8bac-e59c-461399c7d948
# Comments start with #
SONG: Artist Name - Song Title
29.9 28.9
2ff1fccf-5f69-8d3d-37ab-4696a9797b6e
8016c8f7-e3ec-f3e5-f3a4-8d0e87decbeb
db289c77-96af-8bdc-18b4-01c912933834
SONG: Another Artist - Another Song
29.9 6.9
2ec1100f-f135-3a22-5b34-d5847bc04dff
b9f38734-b10d-d889-4dc5-753b0e3af37c
9322d768-805b-8bac-e59c-461399c7d948
Playlist Format Explained:
SONG: Title - Declares a new song entry. The title can be anything you want to display.
Timing Line (two numbers):
• First number: Duration of regular clips in seconds (typically 29.9 seconds).
• Second number: Duration of the final clip in seconds.
• Example: "29.9 28.9" means regular clips are 29.9s, last clip is 28.9s.
Sound Clip UUIDs:
• One UUID per line.
• Each UUID represents a 30-second segment of your song.
• Upload sounds to Second Life and copy their asset UUIDs.
• Add as many clips as needed for the full song length.
Why Split Songs?
Second Life limits sound clips to 30 seconds. The player automatically stitches multiple clips together for seamless playback of longer songs.
How Can I Split Songs?
Songs can be split using any audio editing software. We offer a simple program to clip songs easily to the correct format, all you have to do is upload to Second Life.
SONG: Title - Declares a new song entry. The title can be anything you want to display.
Timing Line (two numbers):
• First number: Duration of regular clips in seconds (typically 29.9 seconds).
• Second number: Duration of the final clip in seconds.
• Example: "29.9 28.9" means regular clips are 29.9s, last clip is 28.9s.
Sound Clip UUIDs:
• One UUID per line.
• Each UUID represents a 30-second segment of your song.
• Upload sounds to Second Life and copy their asset UUIDs.
• Add as many clips as needed for the full song length.
Why Split Songs?
Second Life limits sound clips to 30 seconds. The player automatically stitches multiple clips together for seamless playback of longer songs.
How Can I Split Songs?
Songs can be split using any audio editing software. We offer a simple program to clip songs easily to the correct format, all you have to do is upload to Second Life.
How to Use the Player
The Cosmic Music Player is designed for easy, intuitive use. Simply attach it or rez it in-world.
Using as an Attachment:
1. Right-click the music player object.
2. Select "Attach To" → "Right Hand" (or preferred point).
3. The player will appear on your avatar.
4. Touch the player to access controls.
Using In-World:
1. Rez the music player object on the ground.
2. The hover text will show current status.
3. Touch the player to interact with controls.
4. Multiple avatars can interact with it.
Automatic Features:
• Hover text shows song title and progress bar.
• Automatic playlist advancement when songs end.
• Volume adjustments persist between songs.
• Shuffle and repeat modes stay active.
• Instant reload when you update playlists.
1. Right-click the music player object.
2. Select "Attach To" → "Right Hand" (or preferred point).
3. The player will appear on your avatar.
4. Touch the player to access controls.
Using In-World:
1. Rez the music player object on the ground.
2. The hover text will show current status.
3. Touch the player to interact with controls.
4. Multiple avatars can interact with it.
Automatic Features:
• Hover text shows song title and progress bar.
• Automatic playlist advancement when songs end.
• Volume adjustments persist between songs.
• Shuffle and repeat modes stay active.
• Instant reload when you update playlists.
Player Controls
Basic Controls (via touch or chat commands):
Play/Pause: Touch the player to toggle playback.
Next Song: Skip to the next song in the playlist.
Previous Song: Go back to the previous song.
Volume Up/Down: Adjust playback volume.
Shuffle: Toggle random song order.
Repeat: Toggle repeat current song.
Playlist Repeat: Toggle repeat entire playlist.
Playback Modes:
Normal Mode: Plays songs sequentially from your playlist.
Shuffle Mode: Randomizes the play order.
Repeat Song: Loops the current song indefinitely.
Repeat Playlist: Restarts playlist from beginning when finished.
The player remembers your settings across songs, so once you enable shuffle or repeat, it stays active until you turn it off.
Play/Pause: Touch the player to toggle playback.
Next Song: Skip to the next song in the playlist.
Previous Song: Go back to the previous song.
Volume Up/Down: Adjust playback volume.
Shuffle: Toggle random song order.
Repeat: Toggle repeat current song.
Playlist Repeat: Toggle repeat entire playlist.
Playback Modes:
Normal Mode: Plays songs sequentially from your playlist.
Shuffle Mode: Randomizes the play order.
Repeat Song: Loops the current song indefinitely.
Repeat Playlist: Restarts playlist from beginning when finished.
The player remembers your settings across songs, so once you enable shuffle or repeat, it stays active until you turn it off.
Troubleshooting
Gaps or Skips Between Song Sections:
• Ensure timing values are accurate (use 29.9 for regular clips).
• Check that sound files are uploaded correctly.
• Verify clip UUIDs are correct in the playlist.
• Sometimes Second Life has sound loading delays - this is normal.
Songs Not Loading or Playing:
• Check playlist notecard formatting carefully.
• Verify "SONG:" declarations are typed correctly.
• Ensure timing line has exactly two numbers.
• Confirm all UUIDs are valid and match uploaded sounds.
• Look for the "Loaded X songs from playlist" message in chat.
High Memory Usage or Script Errors:
• The player stores your entire playlist in memory.
• Very large playlists (50+ songs) may cause issues.
• Consider splitting into multiple player objects.
• Check the "Free memory" message after loading.
Player Not Responding to Touches:
• Make sure the player has finished initializing.
• Look for "Initializing..." hover text to disappear.
• Check that scripts are running (set to running, not stopped).
• Try resetting the script (right-click → Scripts → Reset).
Playlist Not Updating After Editing:
• The player should auto-reload when you save the notecard.
• Look for "Notecard changed detected" message in chat.
• If it doesn't reload, try resetting the script.
• Make sure you're editing the correct notecard (named "playlist").
Volume Too Quiet or Too Loud:
• Adjust the default_volume setting in player_config.
• Check your Second Life volume settings (Preferences → Sound & Media).
• Remember volume adjustments persist between songs.
• Try using volume controls during playback.
• Ensure timing values are accurate (use 29.9 for regular clips).
• Check that sound files are uploaded correctly.
• Verify clip UUIDs are correct in the playlist.
• Sometimes Second Life has sound loading delays - this is normal.
Songs Not Loading or Playing:
• Check playlist notecard formatting carefully.
• Verify "SONG:" declarations are typed correctly.
• Ensure timing line has exactly two numbers.
• Confirm all UUIDs are valid and match uploaded sounds.
• Look for the "Loaded X songs from playlist" message in chat.
High Memory Usage or Script Errors:
• The player stores your entire playlist in memory.
• Very large playlists (50+ songs) may cause issues.
• Consider splitting into multiple player objects.
• Check the "Free memory" message after loading.
Player Not Responding to Touches:
• Make sure the player has finished initializing.
• Look for "Initializing..." hover text to disappear.
• Check that scripts are running (set to running, not stopped).
• Try resetting the script (right-click → Scripts → Reset).
Playlist Not Updating After Editing:
• The player should auto-reload when you save the notecard.
• Look for "Notecard changed detected" message in chat.
• If it doesn't reload, try resetting the script.
• Make sure you're editing the correct notecard (named "playlist").
Volume Too Quiet or Too Loud:
• Adjust the default_volume setting in player_config.
• Check your Second Life volume settings (Preferences → Sound & Media).
• Remember volume adjustments persist between songs.
• Try using volume controls during playback.
Frequently Asked Questions
Q: How many songs can I add to a playlist?
A: The player can handle dozens of songs. Memory usage depends on the number of songs and clips. Monitor free memory after loading.
Q: Can I use this with FURWARE or other systems?
A: Yes! The player is designed to work standalone but can be integrated with other scripted systems if you have custom scripting knowledge.
Q: Does shuffle mode remember what's been played?
A: Yes, shuffle creates a randomized order and plays through it. When playlist repeat is on, it creates a new shuffle order after completing the list.
Q: Can I skip to different parts of a song?
A: The player supports seeking, but it snaps to the start of the nearest audio clip due to Second Life's limitations with sound playback.
Q: What's the difference between repeat modes?
A: "Repeat Song" loops the current song indefinitely. "Playlist Repeat" restarts the entire playlist from the beginning (or creates a new shuffle order) when it ends.
Q: Can I have multiple playlists?
A: You can swap playlist notecards and the player will auto-reload. Consider having multiple player objects for different playlists, or simply edit your playlist notecard to change songs.
Q: How do I hide the hover text?
A: Set "hover_text = 0" in your player_config notecard.
Q: Can the player stream from URLs?
A: No, this player works with uploaded sound assets only. For streaming internet radio, you'll need parcel music streaming instead.
Q: Will this work if I attach it and teleport?
A: Yes! When attached, the player travels with you and continues playing. However, song playback will stop during the teleport and resume after.
Q: Can other people hear my music?
A: Yes, everyone within range can hear the music played by your player object. The range depends on Second Life's sound settings (typically about 20 meters).
A: The player can handle dozens of songs. Memory usage depends on the number of songs and clips. Monitor free memory after loading.
Q: Can I use this with FURWARE or other systems?
A: Yes! The player is designed to work standalone but can be integrated with other scripted systems if you have custom scripting knowledge.
Q: Does shuffle mode remember what's been played?
A: Yes, shuffle creates a randomized order and plays through it. When playlist repeat is on, it creates a new shuffle order after completing the list.
Q: Can I skip to different parts of a song?
A: The player supports seeking, but it snaps to the start of the nearest audio clip due to Second Life's limitations with sound playback.
Q: What's the difference between repeat modes?
A: "Repeat Song" loops the current song indefinitely. "Playlist Repeat" restarts the entire playlist from the beginning (or creates a new shuffle order) when it ends.
Q: Can I have multiple playlists?
A: You can swap playlist notecards and the player will auto-reload. Consider having multiple player objects for different playlists, or simply edit your playlist notecard to change songs.
Q: How do I hide the hover text?
A: Set "hover_text = 0" in your player_config notecard.
Q: Can the player stream from URLs?
A: No, this player works with uploaded sound assets only. For streaming internet radio, you'll need parcel music streaming instead.
Q: Will this work if I attach it and teleport?
A: Yes! When attached, the player travels with you and continues playing. However, song playback will stop during the teleport and resume after.
Q: Can other people hear my music?
A: Yes, everyone within range can hear the music played by your player object. The range depends on Second Life's sound settings (typically about 20 meters).
Technical Specifications
Script Version: 2.2.0
Memory Footprint: ~40-50KB (depends on playlist size)
Update Interval: 0.01 seconds (configurable)
Maximum Clips per Song: Limited by memory only
Communication Protocol: JSON-RPC 2.0
Supported Formats: Any Second Life sound asset UUID
Volume Range: 0.0 to 1.0 (0% to 100%)
Timing Precision: Millisecond-level accuracy
Performance Features:
• Clip preloading for smooth transitions
• Absolute timing system prevents drift
• Efficient memory management
• Automatic notecard change detection
• Fisher-Yates shuffle algorithm
• Pause/resume with time tracking
Memory Footprint: ~40-50KB (depends on playlist size)
Update Interval: 0.01 seconds (configurable)
Maximum Clips per Song: Limited by memory only
Communication Protocol: JSON-RPC 2.0
Supported Formats: Any Second Life sound asset UUID
Volume Range: 0.0 to 1.0 (0% to 100%)
Timing Precision: Millisecond-level accuracy
Performance Features:
• Clip preloading for smooth transitions
• Absolute timing system prevents drift
• Efficient memory management
• Automatic notecard change detection
• Fisher-Yates shuffle algorithm
• Pause/resume with time tracking
Support & Resources
Need help or have questions about the Cosmic Music Player?
Join Discord
Contact Support
Request Customization