Merge branch 'master' into careminster

Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
This commit is contained in:
Melanie
2012-10-30 01:02:20 +00:00
13 changed files with 486 additions and 308 deletions

View File

@@ -32,9 +32,96 @@ namespace OpenSim.Region.Framework.Interfaces
{
public interface ISoundModule
{
void PlayAttachedSound(UUID soundID, UUID ownerID, UUID objectID, double gain, Vector3 position, byte flags, float radius);
/// <summary>
/// Maximum distance between a sound source and a recipient.
/// </summary>
float MaxDistance { get; }
/// <summary>
/// Play a sound from an object.
/// </summary>
/// <param name="soundID">Sound asset ID</param>
/// <param name="ownerID">Sound source owner</param>
/// <param name="objectID">Sound source ID</param>
/// <param name="gain">Sound volume</param>
/// <param name="position">Sound source position</param>
/// <param name="flags">Sound flags</param>
/// <param name="radius">
/// Radius used to affect gain over distance.
/// </param>
void PlayAttachedSound(UUID soundID, UUID ownerID, UUID objectID,
double gain, Vector3 position, byte flags, float radius);
/// <summary>
/// Trigger a sound in the scene.
/// </summary>
/// <param name="soundId">Sound asset ID</param>
/// <param name="ownerID">Sound source owner</param>
/// <param name="objectID">Sound source ID</param>
/// <param name="parentID">Sound source parent.</param>
/// <param name="gain">Sound volume</param>
/// <param name="position">Sound source position</param>
/// <param name="handle"></param>
/// <param name="radius">
/// Radius used to affect gain over distance.
/// </param>
void TriggerSound(
UUID soundId, UUID ownerID, UUID objectID, UUID parentID, double gain, Vector3 position, UInt64 handle, float radius);
UUID soundId, UUID ownerID, UUID objectID, UUID parentID,
double gain, Vector3 position, UInt64 handle, float radius);
/// <summary>
/// Stop sounds eminating from an object.
/// </summary>
/// <param name="objectID">Sound source ID</param>
void StopSound(UUID objectID);
/// <summary>
/// Preload sound to viewers within range.
/// </summary>
/// <param name="objectID">Sound source ID</param>
/// <param name="soundID">Sound asset ID</param>
/// <param name="radius">
/// Radius used to determine which viewers should preload the sound.
/// </param>
void PreloadSound(UUID objectID, UUID soundID, float radius);
/// <summary>
/// Loop specified sound at specified volume with specified radius,
/// optionally declaring object as new sync master.
/// </summary>
/// <param name="objectID">Sound source ID</param>
/// <param name="soundID">Sound asset ID</param>
/// <param name="gain">Sound volume</param>
/// <param name="radius">Sound radius</param>
/// <param name="isMaster">Set object to sync master if true</param>
void LoopSound(UUID objectID, UUID soundID, double gain,
double radius, bool isMaster);
/// <summary>
/// Trigger or play an attached sound in this part's inventory.
/// </summary>
/// <param name="objectID">Sound source ID</param>
/// <param name="sound">Sound asset ID</param>
/// <param name="volume">Sound volume</param>
/// <param name="triggered">Triggered or not.</param>
/// <param name="flags"></param>
/// <param name="radius">Sound radius</param>
/// <param name="useMaster">Play using sound master</param>
/// <param name="isMaster">Play as sound master</param>
void SendSound(UUID objectID, UUID sound, double volume,
bool triggered, byte flags, float radius, bool useMaster,
bool isMaster);
/// <summary>
/// Trigger a sound to be played to all agents within an axis-aligned
/// bounding box.
/// </summary>
/// <param name="objectID">Sound source ID</param>
/// <param name="sound">Sound asset ID</param>
/// <param name="volume">Sound volume</param>
/// <param name="min">AABB bottom south-west corner</param>
/// <param name="max">AABB top north-east corner</param>
void TriggerSoundLimited(UUID objectID, UUID sound, double volume,
Vector3 min, Vector3 max);
}
}