aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs3
-rw-r--r--OpenSim/Region/CoreModules/World/Sound/SoundModule.cs58
-rw-r--r--OpenSim/Region/Framework/Interfaces/ISoundModule.cs16
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs4
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs14
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs14
8 files changed, 53 insertions, 60 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 437f772..bd178c0 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -7515,8 +7515,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7515 handlerSoundTrigger(soundTriggerPacket.SoundData.SoundID, AgentId, 7515 handlerSoundTrigger(soundTriggerPacket.SoundData.SoundID, AgentId,
7516 AgentId, AgentId, 7516 AgentId, AgentId,
7517 soundTriggerPacket.SoundData.Gain, soundTriggerPacket.SoundData.Position, 7517 soundTriggerPacket.SoundData.Gain, soundTriggerPacket.SoundData.Position,
7518 soundTriggerPacket.SoundData.Handle, 0); 7518 soundTriggerPacket.SoundData.Handle);
7519
7520 } 7519 }
7521 return true; 7520 return true;
7522 } 7521 }
diff --git a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs
index 662e3fe..14c230a 100644
--- a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs
+++ b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs
@@ -125,22 +125,23 @@ namespace OpenSim.Region.CoreModules.World.Sound
125 #region ISoundModule 125 #region ISoundModule
126 126
127 public virtual void PlayAttachedSound( 127 public virtual void PlayAttachedSound(
128 UUID soundID, UUID ownerID, UUID objectID, double gain, Vector3 position, byte flags, float radius) 128 UUID soundID, UUID ownerID, UUID objectID, double gain, Vector3 position, byte flags)
129 { 129 {
130 SceneObjectPart part; 130 SceneObjectPart part;
131 if (!m_scene.TryGetSceneObjectPart(objectID, out part)) 131 if (!m_scene.TryGetSceneObjectPart(objectID, out part))
132 return; 132 return;
133 133
134 if (part.SoundRadius == 0)
135 part.SoundRadius = MaxDistance;
134 part.SoundFlags = 0; 136 part.SoundFlags = 0;
135 137
136 SceneObjectGroup grp = part.ParentGroup;
137
138 if (radius == 0)
139 radius = MaxDistance;
140
141 if (part.SoundQueueing) 138 if (part.SoundQueueing)
142 flags |= (byte)SoundFlags.QUEUE; 139 flags |= (byte)SoundFlags.QUEUE;
143 140
141 SceneObjectGroup grp = part.ParentGroup;
142 if(grp == null | grp.IsDeleted)
143 return;
144
144 if (grp.IsAttachment) 145 if (grp.IsAttachment)
145 { 146 {
146 ScenePresence ssp = null; 147 ScenePresence ssp = null;
@@ -166,7 +167,7 @@ namespace OpenSim.Region.CoreModules.World.Sound
166 } 167 }
167 168
168 public virtual void TriggerSound( 169 public virtual void TriggerSound(
169 UUID soundId, UUID ownerID, UUID objectID, UUID parentID, double gain, Vector3 position, UInt64 handle, float radius) 170 UUID soundId, UUID ownerID, UUID objectID, UUID parentID, double gain, Vector3 position, UInt64 handle)
170 { 171 {
171 SceneObjectPart part; 172 SceneObjectPart part;
172 ScenePresence ssp = null; 173 ScenePresence ssp = null;
@@ -188,28 +189,21 @@ namespace OpenSim.Region.CoreModules.World.Sound
188 189
189 if (!ssp.ParcelAllowThisAvatarSounds) 190 if (!ssp.ParcelAllowThisAvatarSounds)
190 return; 191 return;
191
192/* mantis 7942: coment out to allow trigger in HUDs to send sounds to all
193 if (grp.HasPrivateAttachmentPoint)
194 {
195 ssp.ControllingClient.SendTriggeredSound(soundId, ownerID,
196 objectID, parentID, handle, position,
197 (float)gain);
198 return;
199 }
200*/
201 } 192 }
202 } 193 }
203 194
204 part.SoundFlags = 0; 195 float radius = (float)part.SoundRadius;
205
206 if (radius == 0) 196 if (radius == 0)
197 {
207 radius = MaxDistance; 198 radius = MaxDistance;
199 part.SoundRadius = MaxDistance;
200 }
201 part.SoundFlags = 0;
208 202
203 radius *= radius;
209 m_scene.ForEachRootScenePresence(delegate(ScenePresence sp) 204 m_scene.ForEachRootScenePresence(delegate(ScenePresence sp)
210 { 205 {
211 double dis = Util.GetDistanceTo(sp.AbsolutePosition, position); 206 if (Vector3.DistanceSquared(sp.AbsolutePosition, position) > radius) // Max audio distance
212 if (dis > radius) // Max audio distance
213 return; 207 return;
214 208
215 sp.ControllingClient.SendTriggeredSound(soundId, ownerID, 209 sp.ControllingClient.SendTriggeredSound(soundId, ownerID,
@@ -231,13 +225,12 @@ namespace OpenSim.Region.CoreModules.World.Sound
231 { 225 {
232 m_host.Sound = UUID.Zero; 226 m_host.Sound = UUID.Zero;
233 m_host.SoundFlags = (byte)SoundFlags.STOP; 227 m_host.SoundFlags = (byte)SoundFlags.STOP;
234 m_host.SoundRadius = 0;
235 m_host.SoundGain = 0; 228 m_host.SoundGain = 0;
236 m_host.ScheduleFullUpdate(); 229 m_host.ScheduleFullUpdate();
237 m_host.SendFullUpdateToAllClients(); 230 m_host.SendFullUpdateToAllClients();
238 } 231 }
239 232
240 public virtual void PreloadSound(UUID objectID, UUID soundID, float radius) 233 public virtual void PreloadSound(UUID objectID, UUID soundID)
241 { 234 {
242 SceneObjectPart part; 235 SceneObjectPart part;
243 if (soundID == UUID.Zero 236 if (soundID == UUID.Zero
@@ -246,12 +239,17 @@ namespace OpenSim.Region.CoreModules.World.Sound
246 return; 239 return;
247 } 240 }
248 241
242 float radius = (float)part.SoundRadius;
249 if (radius == 0) 243 if (radius == 0)
244 {
250 radius = MaxDistance; 245 radius = MaxDistance;
246 part.SoundRadius = radius;
247 }
251 248
249 radius *= 4.0f * radius; // avatars and prims do move
252 m_scene.ForEachRootScenePresence(delegate(ScenePresence sp) 250 m_scene.ForEachRootScenePresence(delegate(ScenePresence sp)
253 { 251 {
254 if (Util.GetDistanceTo(sp.AbsolutePosition, part.AbsolutePosition) < radius) 252 if (Vector3.DistanceSquared(sp.AbsolutePosition, part.AbsolutePosition) < radius)
255 sp.ControllingClient.SendPreLoadSound(objectID, objectID, soundID); 253 sp.ControllingClient.SendPreLoadSound(objectID, objectID, soundID);
256 }); 254 });
257 } 255 }
@@ -265,7 +263,7 @@ namespace OpenSim.Region.CoreModules.World.Sound
265 // 20080530 Updated to remove code duplication 263 // 20080530 Updated to remove code duplication
266 // 20080530 Stop sound if there is one, otherwise volume only changes don't work 264 // 20080530 Stop sound if there is one, otherwise volume only changes don't work
267 public void LoopSound(UUID objectID, UUID soundID, 265 public void LoopSound(UUID objectID, UUID soundID,
268 double volume, double radius, bool isMaster, bool isSlave) 266 double volume, bool isMaster, bool isSlave)
269 { 267 {
270 SceneObjectPart m_host; 268 SceneObjectPart m_host;
271 if (!m_scene.TryGetSceneObjectPart(objectID, out m_host)) 269 if (!m_scene.TryGetSceneObjectPart(objectID, out m_host))
@@ -283,14 +281,15 @@ namespace OpenSim.Region.CoreModules.World.Sound
283 m_host.Sound = soundID; 281 m_host.Sound = soundID;
284 m_host.SoundGain = volume; 282 m_host.SoundGain = volume;
285 m_host.SoundFlags = iflags; 283 m_host.SoundFlags = iflags;
286 m_host.SoundRadius = radius; 284 if (m_host.SoundRadius == 0)
285 m_host.SoundRadius = MaxDistance;
287 286
288 m_host.ScheduleFullUpdate(); 287 m_host.ScheduleFullUpdate();
289 m_host.SendFullUpdateToAllClients(); 288 m_host.SendFullUpdateToAllClients();
290 } 289 }
291 290
292 public void SendSound(UUID objectID, UUID soundID, double volume, 291 public void SendSound(UUID objectID, UUID soundID, double volume,
293 bool triggered, byte flags, float radius, bool useMaster, 292 bool triggered, byte flags, bool useMaster,
294 bool isMaster) 293 bool isMaster)
295 { 294 {
296 if (soundID == UUID.Zero) 295 if (soundID == UUID.Zero)
@@ -308,7 +307,7 @@ namespace OpenSim.Region.CoreModules.World.Sound
308 ulong regionHandle = m_scene.RegionInfo.RegionHandle; 307 ulong regionHandle = m_scene.RegionInfo.RegionHandle;
309 308
310 if(triggered) 309 if(triggered)
311 TriggerSound(soundID, part.OwnerID, part.UUID, parentID, volume, position, regionHandle, radius); 310 TriggerSound(soundID, part.OwnerID, part.UUID, parentID, volume, position, regionHandle);
312 else 311 else
313 { 312 {
314 byte bflags = 0; 313 byte bflags = 0;
@@ -318,7 +317,7 @@ namespace OpenSim.Region.CoreModules.World.Sound
318 // TODO check viewer seems to accept both 317 // TODO check viewer seems to accept both
319 if (useMaster) 318 if (useMaster)
320 bflags |= (byte)SoundFlags.SYNC_SLAVE; 319 bflags |= (byte)SoundFlags.SYNC_SLAVE;
321 PlayAttachedSound(soundID, part.OwnerID, part.UUID, volume, position, bflags, radius); 320 PlayAttachedSound(soundID, part.OwnerID, part.UUID, volume, position, bflags);
322 } 321 }
323 } 322 }
324 323
@@ -339,6 +338,7 @@ namespace OpenSim.Region.CoreModules.World.Sound
339 338
340 if (dis > MaxDistance) // Max audio distance 339 if (dis > MaxDistance) // Max audio distance
341 return; 340 return;
341
342 else if (!Util.IsInsideBox(sp.AbsolutePosition, min, max)) 342 else if (!Util.IsInsideBox(sp.AbsolutePosition, min, max))
343 return; 343 return;
344 344
diff --git a/OpenSim/Region/Framework/Interfaces/ISoundModule.cs b/OpenSim/Region/Framework/Interfaces/ISoundModule.cs
index f7c6513..aaa9931 100644
--- a/OpenSim/Region/Framework/Interfaces/ISoundModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/ISoundModule.cs
@@ -46,11 +46,9 @@ namespace OpenSim.Region.Framework.Interfaces
46 /// <param name="gain">Sound volume</param> 46 /// <param name="gain">Sound volume</param>
47 /// <param name="position">Sound source position</param> 47 /// <param name="position">Sound source position</param>
48 /// <param name="flags">Sound flags</param> 48 /// <param name="flags">Sound flags</param>
49 /// <param name="radius">
50 /// Radius used to affect gain over distance.
51 /// </param> 49 /// </param>
52 void PlayAttachedSound(UUID soundID, UUID ownerID, UUID objectID, 50 void PlayAttachedSound(UUID soundID, UUID ownerID, UUID objectID,
53 double gain, Vector3 position, byte flags, float radius); 51 double gain, Vector3 position, byte flags);
54 52
55 /// <summary> 53 /// <summary>
56 /// Trigger a sound in the scene. 54 /// Trigger a sound in the scene.
@@ -67,7 +65,7 @@ namespace OpenSim.Region.Framework.Interfaces
67 /// </param> 65 /// </param>
68 void TriggerSound( 66 void TriggerSound(
69 UUID soundId, UUID ownerID, UUID objectID, UUID parentID, 67 UUID soundId, UUID ownerID, UUID objectID, UUID parentID,
70 double gain, Vector3 position, UInt64 handle, float radius); 68 double gain, Vector3 position, UInt64 handle);
71 69
72 /// <summary> 70 /// <summary>
73 /// Stop sounds eminating from an object. 71 /// Stop sounds eminating from an object.
@@ -80,10 +78,8 @@ namespace OpenSim.Region.Framework.Interfaces
80 /// </summary> 78 /// </summary>
81 /// <param name="objectID">Sound source ID</param> 79 /// <param name="objectID">Sound source ID</param>
82 /// <param name="soundID">Sound asset ID</param> 80 /// <param name="soundID">Sound asset ID</param>
83 /// <param name="radius">
84 /// Radius used to determine which viewers should preload the sound.
85 /// </param> 81 /// </param>
86 void PreloadSound(UUID objectID, UUID soundID, float radius); 82 void PreloadSound(UUID objectID, UUID soundID);
87 83
88 /// <summary> 84 /// <summary>
89 /// Loop specified sound at specified volume with specified radius, 85 /// Loop specified sound at specified volume with specified radius,
@@ -92,10 +88,9 @@ namespace OpenSim.Region.Framework.Interfaces
92 /// <param name="objectID">Sound source ID</param> 88 /// <param name="objectID">Sound source ID</param>
93 /// <param name="soundID">Sound asset ID</param> 89 /// <param name="soundID">Sound asset ID</param>
94 /// <param name="gain">Sound volume</param> 90 /// <param name="gain">Sound volume</param>
95 /// <param name="radius">Sound radius</param>
96 /// <param name="isMaster">Set object to sync master if true</param> 91 /// <param name="isMaster">Set object to sync master if true</param>
97 void LoopSound(UUID objectID, UUID soundID, double gain, 92 void LoopSound(UUID objectID, UUID soundID, double gain,
98 double radius, bool isMaster, bool isSlave); 93 bool isMaster, bool isSlave);
99 94
100 /// <summary> 95 /// <summary>
101 /// Trigger or play an attached sound in this part's inventory. 96 /// Trigger or play an attached sound in this part's inventory.
@@ -104,11 +99,10 @@ namespace OpenSim.Region.Framework.Interfaces
104 /// <param name="sound">Sound asset ID</param> 99 /// <param name="sound">Sound asset ID</param>
105 /// <param name="volume">Sound volume</param> 100 /// <param name="volume">Sound volume</param>
106 /// <param name="triggered">Triggered or not.</param> 101 /// <param name="triggered">Triggered or not.</param>
107 /// <param name="radius">Sound radius</param>
108 /// <param name="useMaster">Play using sound master</param> 102 /// <param name="useMaster">Play using sound master</param>
109 /// <param name="isMaster">Play as sound master</param> 103 /// <param name="isMaster">Play as sound master</param>
110 void SendSound(UUID objectID, UUID sound, double volume, 104 void SendSound(UUID objectID, UUID sound, double volume,
111 bool triggered, byte flags, float radius, bool useMaster, 105 bool triggered, byte flags, bool useMaster,
112 bool isMaster); 106 bool isMaster);
113 107
114 /// <summary> 108 /// <summary>
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 2c183ad..2177acd 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -3077,7 +3077,7 @@ namespace OpenSim.Region.Framework.Scenes
3077 UUID parentID = ParentGroup.UUID; 3077 UUID parentID = ParentGroup.UUID;
3078 ulong regionHandle = ParentGroup.Scene.RegionInfo.RegionHandle; 3078 ulong regionHandle = ParentGroup.Scene.RegionInfo.RegionHandle;
3079 3079
3080 soundModule.TriggerSound(soundID, ownerID, objectID, parentID, volume, position, regionHandle, 0 ); 3080 soundModule.TriggerSound(soundID, ownerID, objectID, parentID, volume, position, regionHandle);
3081 } 3081 }
3082 3082
3083 public void PhysicsOutOfBounds(Vector3 pos) 3083 public void PhysicsOutOfBounds(Vector3 pos)
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs
index 5513cd5..1ff9cb5 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs
@@ -824,7 +824,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
824 ISoundModule module = m_rootScene.RequestModuleInterface<ISoundModule>(); 824 ISoundModule module = m_rootScene.RequestModuleInterface<ISoundModule>();
825 if (module != null) 825 if (module != null)
826 { 826 {
827 module.SendSound(GetSOP().UUID, asset, volume, true, 0, 0, false, false); 827 module.SendSound(GetSOP().UUID, asset, volume, true, 0, false, false);
828 } 828 }
829 } 829 }
830 830
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs
index 36f70d0..eff70ef 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs
@@ -231,7 +231,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
231 if (soundModule != null) 231 if (soundModule != null)
232 { 232 {
233 soundModule.TriggerSound(audio, UUID.Zero, UUID.Zero, UUID.Zero, volume, position, 233 soundModule.TriggerSound(audio, UUID.Zero, UUID.Zero, UUID.Zero, volume, position,
234 m_internalScene.RegionInfo.RegionHandle, 0); 234 m_internalScene.RegionInfo.RegionHandle);
235 } 235 }
236 } 236 }
237 237
@@ -241,7 +241,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
241 if (soundModule != null) 241 if (soundModule != null)
242 { 242 {
243 soundModule.TriggerSound(audio, UUID.Zero, UUID.Zero, UUID.Zero, 1.0, position, 243 soundModule.TriggerSound(audio, UUID.Zero, UUID.Zero, UUID.Zero, 1.0, position,
244 m_internalScene.RegionInfo.RegionHandle, 0); 244 m_internalScene.RegionInfo.RegionHandle);
245 } 245 }
246 } 246 }
247 247
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index eae4daf..9799886 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -3178,7 +3178,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3178 return; 3178 return;
3179 3179
3180 // send the sound, once, to all clients in range 3180 // send the sound, once, to all clients in range
3181 m_SoundModule.SendSound(m_host.UUID, soundID, volume, false, 0, 0, false, false); 3181 m_SoundModule.SendSound(m_host.UUID, soundID, volume, false, 0, false, false);
3182 } 3182 }
3183 3183
3184 public void llLoopSound(string sound, double volume) 3184 public void llLoopSound(string sound, double volume)
@@ -3192,7 +3192,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3192 if(soundID == UUID.Zero) 3192 if(soundID == UUID.Zero)
3193 return; 3193 return;
3194 3194
3195 m_SoundModule.LoopSound(m_host.UUID, soundID, volume, 20, false,false); 3195 m_SoundModule.LoopSound(m_host.UUID, soundID, volume, false,false);
3196 } 3196 }
3197 3197
3198 public void llLoopSoundMaster(string sound, double volume) 3198 public void llLoopSoundMaster(string sound, double volume)
@@ -3206,7 +3206,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3206 if(soundID == UUID.Zero) 3206 if(soundID == UUID.Zero)
3207 return; 3207 return;
3208 3208
3209 m_SoundModule.LoopSound(m_host.UUID, soundID, volume, 20, true, false); 3209 m_SoundModule.LoopSound(m_host.UUID, soundID, volume, true, false);
3210 } 3210 }
3211 3211
3212 public void llLoopSoundSlave(string sound, double volume) 3212 public void llLoopSoundSlave(string sound, double volume)
@@ -3220,7 +3220,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3220 if(soundID == UUID.Zero) 3220 if(soundID == UUID.Zero)
3221 return; 3221 return;
3222 3222
3223 m_SoundModule.LoopSound(m_host.UUID, soundID, volume, 20, false, true); 3223 m_SoundModule.LoopSound(m_host.UUID, soundID, volume, false, true);
3224 } 3224 }
3225 3225
3226 public void llPlaySoundSlave(string sound, double volume) 3226 public void llPlaySoundSlave(string sound, double volume)
@@ -3235,7 +3235,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3235 return; 3235 return;
3236 3236
3237 // send the sound, once, to all clients in range 3237 // send the sound, once, to all clients in range
3238 m_SoundModule.SendSound(m_host.UUID, soundID, volume, false, 0, 0, true, false); 3238 m_SoundModule.SendSound(m_host.UUID, soundID, volume, false, 0, true, false);
3239 } 3239 }
3240 3240
3241 public void llTriggerSound(string sound, double volume) 3241 public void llTriggerSound(string sound, double volume)
@@ -3250,7 +3250,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3250 return; 3250 return;
3251 3251
3252 // send the sound, once, to all clients in rangeTrigger or play an attached sound in this part's inventory. 3252 // send the sound, once, to all clients in rangeTrigger or play an attached sound in this part's inventory.
3253 m_SoundModule.SendSound(m_host.UUID, soundID, volume, true, 0, 0, false, false); 3253 m_SoundModule.SendSound(m_host.UUID, soundID, volume, true, 0, false, false);
3254 } 3254 }
3255 3255
3256 public void llStopSound() 3256 public void llStopSound()
@@ -3272,7 +3272,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3272 if(soundID == UUID.Zero) 3272 if(soundID == UUID.Zero)
3273 return; 3273 return;
3274 3274
3275 m_SoundModule.PreloadSound(m_host.UUID, soundID, 0); 3275 m_SoundModule.PreloadSound(m_host.UUID, soundID);
3276 ScriptSleep(m_sleepMsOnPreloadSound); 3276 ScriptSleep(m_sleepMsOnPreloadSound);
3277 } 3277 }
3278 3278
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 06f4fd1..781f1c9 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -4873,7 +4873,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4873 return; 4873 return;
4874 4874
4875 // send the sound, once, to all clients in range 4875 // send the sound, once, to all clients in range
4876 m_SoundModule.SendSound(sop.UUID, soundID, volume, false, 0, 0, false, false); 4876 m_SoundModule.SendSound(sop.UUID, soundID, volume, false, 0, false, false);
4877 } 4877 }
4878 4878
4879 public void osLoopSound(LSL_Integer linknum, LSL_String sound, LSL_Float volume) 4879 public void osLoopSound(LSL_Integer linknum, LSL_String sound, LSL_Float volume)
@@ -4891,7 +4891,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4891 if(soundID == UUID.Zero) 4891 if(soundID == UUID.Zero)
4892 return; 4892 return;
4893 4893
4894 m_SoundModule.LoopSound(sop.UUID, soundID, volume, 20, false,false); 4894 m_SoundModule.LoopSound(sop.UUID, soundID, volume, false,false);
4895 } 4895 }
4896 4896
4897 public void osLoopSoundMaster(LSL_Integer linknum, LSL_String sound, LSL_Float volume) 4897 public void osLoopSoundMaster(LSL_Integer linknum, LSL_String sound, LSL_Float volume)
@@ -4906,7 +4906,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4906 if(soundID == UUID.Zero) 4906 if(soundID == UUID.Zero)
4907 return; 4907 return;
4908 4908
4909 m_SoundModule.LoopSound(sop.UUID, soundID, volume, 20, true, false); 4909 m_SoundModule.LoopSound(sop.UUID, soundID, volume, true, false);
4910 } 4910 }
4911 4911
4912 public void osLoopSoundSlave(LSL_Integer linknum, LSL_String sound, LSL_Float volume) 4912 public void osLoopSoundSlave(LSL_Integer linknum, LSL_String sound, LSL_Float volume)
@@ -4924,7 +4924,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4924 if(soundID == UUID.Zero) 4924 if(soundID == UUID.Zero)
4925 return; 4925 return;
4926 4926
4927 m_SoundModule.LoopSound(sop.UUID, soundID, volume, 20, false, true); 4927 m_SoundModule.LoopSound(sop.UUID, soundID, volume, false, true);
4928 } 4928 }
4929 4929
4930 public void osPlaySoundSlave(LSL_Integer linknum, LSL_String sound, LSL_Float volume) 4930 public void osPlaySoundSlave(LSL_Integer linknum, LSL_String sound, LSL_Float volume)
@@ -4943,7 +4943,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4943 return; 4943 return;
4944 4944
4945 // send the sound, once, to all clients in range 4945 // send the sound, once, to all clients in range
4946 m_SoundModule.SendSound(sop.UUID, soundID, volume, false, 0, 0, true, false); 4946 m_SoundModule.SendSound(sop.UUID, soundID, volume, false, 0, true, false);
4947 } 4947 }
4948 4948
4949 public void osTriggerSound(LSL_Integer linknum, LSL_String sound, LSL_Float volume) 4949 public void osTriggerSound(LSL_Integer linknum, LSL_String sound, LSL_Float volume)
@@ -4962,7 +4962,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4962 return; 4962 return;
4963 4963
4964 // send the sound, once, to all clients in rangeTrigger or play an attached sound in this part's inventory. 4964 // send the sound, once, to all clients in rangeTrigger or play an attached sound in this part's inventory.
4965 m_SoundModule.SendSound(sop.UUID, soundID, volume, true, 0, 0, false, false); 4965 m_SoundModule.SendSound(sop.UUID, soundID, volume, true, 0, false, false);
4966 } 4966 }
4967 4967
4968 public void osTriggerSoundLimited(LSL_Integer linknum, LSL_String sound, LSL_Float volume, 4968 public void osTriggerSoundLimited(LSL_Integer linknum, LSL_String sound, LSL_Float volume,
@@ -5014,7 +5014,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5014 if(soundID == UUID.Zero) 5014 if(soundID == UUID.Zero)
5015 return; 5015 return;
5016 5016
5017 m_SoundModule.PreloadSound(sop.UUID, soundID, 0); 5017 m_SoundModule.PreloadSound(sop.UUID, soundID);
5018 ScriptSleep(1000); 5018 ScriptSleep(1000);
5019 } 5019 }
5020 5020