• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: SVC-1323
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Normal Normal
Assignee: Babbage Linden
Reporter: CrystalShard Foo
Votes: 6
Watchers: 3
Operations

If you were logged in you would be able to see more operations.
2. Second Life Service - SVC

Mono: llPlaySound / llTriggerSound fail

Created: 29/Jan/08 04:17 PM   Updated: 22/Mar/08 05:42 PM
Return to search
Component/s: Scripts
Affects Version/s: Mono Beta
Fix Version/s: Mono Beta

Environment: Mono
Issue Links:
Duplicate
 
Relates
 

Linden Lab Issue ID: DEV-9840


 Description  « Hide
Both llPlaySound and llTriggerSound fail when called with either a sound's key or name, both while its in or out of the object's contents.

llLoopSound works properly.

The error is: Couldn't find sound (null)

Additional related test.

In Mono sim, compiled for LSL2 (Mono box cleared)

llPlaySound("SUCTION",1.0);
llPlaySound("WHOOSH",1.0);

Works as expected

In Mono sim, compiled for Mono (Mono box checked)

llPlaySound("SUCTION",1.0);
llPlaySound("WHOOSH",1.0);

Works as expected for first object

Fails for objects created from first object by edit \ shift \ drag with the following messages.

FW_SB_Christmas_Tree: Couldn't find sound (null)
FW_SB_Christmas_Tree: Couldn't find sound (null)



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Gellan Glenelg added a comment - 29/Jan/08 08:19 PM
Confirmed:

1) llTriggerSound with key

default
{
touch_start(integer total_number)

{ llTriggerSound("ed124764-705d-d497-167a-182cd9fa2e6c", 1.0); }

}

Non-Mono: when object touched, SL Bell sound is played
Mono: when object is touched: Object: Couldn't find sound (null)

---------------------------

2) llTriggerSound with name

default
{
touch_start(integer total_number)

{ llTriggerSound("Door close", 1.0); }

}

Non-mono (if "Door close" is in object's inventory): Door close sound is played
Non-mono (if "Door close" is NOT in object's inventory): Object: Couldn't find sound Door close
Mono (if "Door close" is in object's inventory): Object: Couldn't find sound (null)
Mono (if "Door close" is NOT in object's inventory): Object: Couldn't find sound (null)

---------------------------

3) llPlaySound with key

default
{
touch_start(integer total_number)

{ llPlaySound("ed124764-705d-d497-167a-182cd9fa2e6c", 1.0); }

}

Behaviour identical to 1)

---------------------------

4) llPlaySound with name

default
{
touch_start(integer total_number)

{ llPlaySound("Door close", 1.0); }

}

Behaviour identical to 2)

---------------------------

Confirmed: llLoopSound works in Mono

llTriggerSoundLimited works in Mono


Dedric Mauriac added a comment - 29/Jan/08 11:42 PM
I had the same problem. I thought maybe the Asset UUID had changed on the beta server, but I was able to copy it from the sounds still in my inventory and confirm it was the same. I was also able to double-click the sound in my inventory and it played fine.

I disable Mono and saved and the sounds played fine. Enable mono, they do this:

Object: Couldn't find sound (null)
Object: Couldn't find sound (null)
Object: Couldn't find sound (null)

key beep = "9cbc718e-307c-0d6a-a9dd-a9b15cbe34c6";
default
{
state_entry()

{ llPreloadSound(beep); }

touch_start(integer total_number)

{ llPlaySound(beep, 1); }

}


Elpis Oh added a comment - 30/Jan/08 01:13 AM - edited
Confirmed. I am selecting a random sound from the inventory with the following code:

numSounds = llGetInventoryNumber (INVENTORY_SOUND);
j = llFloor(llFrand (numSounds));
mySound = llGetInventoryName (INVENTORY_SOUND, j);
llPlaySound (mySound, 1);

When I call it with the string, I get "Couldn't find sound (null)"

When I insert a hardcoded string:

llPlaySound ("doorbell_ring", 1);

The sound plays correctly.


Ryu Darragh added a comment - 30/Jan/08 07:48 AM
Can confirm it happens on variable names.

Sandbox Goguen, Music Player using variable for sound file names:

Using LSL2, works as expected.
Recompile to MONO, get "Couldn't find sound (null)"
Recompile back to LSL2, works again as expected.

Statement: llPlaySound(SoundFile, 1);

Hardcoded name in a single statement does not work.

default
{
on_rez(integer num)

{ llResetScript(); }

touch_start(integer total_number)

{ llPlaySound("test", 1); }

}


Qie Niangao added a comment - 30/Jan/08 07:53 AM
llTriggerSoundLimited works. (Well, it makes sounds anyway; probably spatially limited.)

Yrrek Gran added a comment - 30/Jan/08 07:42 PM
llPlaySound give error"Couldn't find sound (null)" when compiled to Mono. I re-compiled to lsl and works as expected, except the sound files are distorted. All sound files were re-uploaded in the Beta MONO viewer and put into and called from inventory.

paulie Femto added a comment - 31/Jan/08 08:32 PM
confirmed failure. script works in LSL2, but fails in mono with error: Object: Couldn't find sound (null)

default
{
state_entry()

{ llSay(0, "Hello, Avatar!"); }

touch_start(integer total_number)

{ llSay(0, "Touched."); llPlaySound("1942theme", 1.0); }

}


paulie Femto added a comment - 04/Feb/08 02:07 PM
still broken in latest mono refresh.

Fnordian Link added a comment - 07/Feb/08 05:41 PM
While this may be a minor issue in the sense that most scripts don't actually rely upon sounds to work, it does seem to affect a lot of scripted items that include sound files, and as such, this bug is triggering a lot of errors in many scripts I've tested.

Therefore, I suggest that it be given a higher priority to fix, simply to avoid being a distracting source of script errors in many scripts that may either be fine, or have other more complicated bugs that will be overlooked amidst the flurry of missing sound file errors.


paulie Femto added a comment - 27/Feb/08 01:47 PM
Still broken in latest refresh. The blog claims the issue is fixed:

" Mono Beta Refresh 3
Wednesday, February 27th
The Mono regions on the beta grid were updated with a new simulator binary today that resolves the following issues:

  • SVC-1323 llPlaySound/llTriggerSound fail ."

Periapse Linden added a comment - 06/Mar/08 04:08 PM
failed QA, reopening

Lanadriel Llewellyn added a comment - 13/Mar/08 02:39 PM
I got a "Couldn't find sound (null)" message today at 14:04 at Sandbox Cordova MONO.

Part of the code looks like this:

float gSoundVolume = 1.0;
soundfile = llGetInventoryName(INVENTORY_SOUND, i);

if (gSoundVolume > 0.0) llPreloadSound(gSoundFile);

if (gSoundVolume > 0.0) llPlaySound(gSoundFile, gSoundVolume);