From b7fc172254794a23cba4cb1313c6951f55ed4b2a Mon Sep 17 00:00:00 2001 From: lbsa71 Date: Tue, 8 Jul 2008 14:17:59 +0000 Subject: * Added experimental SendParcelMediaCommand and SendParcelMediaUpdate to IClientAPI. These methods have not been tested, but feel free to start wiring them to llParcelMediaCommandList. --- OpenSim/Framework/IClientAPI.cs | 10 +++++++ OpenSim/Framework/ParcelMediaCommandEnum.cs | 23 ++++++++++++++++ .../Region/ClientStack/LindenUDP/LLClientView.cs | 32 ++++++++++++++++++++++ .../Environment/Modules/World/NPC/NPCAvatar.cs | 12 +++++++- .../Region/Examples/SimpleModule/MyNpcCharacter.cs | 11 ++++++++ 5 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 OpenSim/Framework/ParcelMediaCommandEnum.cs diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 6503d81..8c9aee7 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs @@ -640,6 +640,16 @@ namespace OpenSim.Framework void SendLandObjectOwners(Dictionary ownersAndCount); void SendLandParcelOverlay(byte[] data, int sequence_id); + #region Parcel Methods + + void SendParcelMediaCommand(ParcelMediaCommandEnum flags, uint command, float time); + + void SendParcelMediaUpdate(string mediaUrl, LLUUID mediaTextureID, + byte autoScale, string mediaType, string mediaDesc, int mediaWidth, int mediaHeight, + byte mediaLoop); + + #endregion + void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, LLUUID AssetFullID); void SendConfirmXfer(ulong xferID, uint PacketID); void SendXferRequest(ulong XferID, short AssetType, LLUUID vFileID, byte FilePath, byte[] FileName); diff --git a/OpenSim/Framework/ParcelMediaCommandEnum.cs b/OpenSim/Framework/ParcelMediaCommandEnum.cs new file mode 100644 index 0000000..e9a2cec --- /dev/null +++ b/OpenSim/Framework/ParcelMediaCommandEnum.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenSim.Framework +{ + public enum ParcelMediaCommandEnum + { + Stop = 0, + Pause = 1, + Play = 2, + Loop = 3, + Texture = 4, + Url = 5, + Time = 6, + Agent = 7, + Unload = 8, + AutoAlign = 9, + Type = 10, + Size = 11, + Desc = 12 + } +} diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 7f21fc6..afae760 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -6594,5 +6594,37 @@ namespace OpenSim.Region.ClientStack.LindenUDP m_sequence = info.sequence; } + + #region Media Parcel Members + + public void SendParcelMediaCommand(ParcelMediaCommandEnum flags, uint command, float time) + { + ParcelMediaCommandMessagePacket commandMessagePacket = new ParcelMediaCommandMessagePacket(); + commandMessagePacket.CommandBlock.Flags = (uint) flags; + commandMessagePacket.CommandBlock.Command = command; + commandMessagePacket.CommandBlock.Time = time; + + OutPacket(commandMessagePacket, ThrottleOutPacketType.Unknown); + } + + public void SendParcelMediaUpdate(string mediaUrl, LLUUID mediaTextureID, + byte autoScale, string mediaType, string mediaDesc, int mediaWidth, int mediaHeight, + byte mediaLoop) + { + ParcelMediaUpdatePacket updatePacket = new ParcelMediaUpdatePacket(); + updatePacket.DataBlock.MediaURL = Helpers.StringToField(mediaUrl); + updatePacket.DataBlock.MediaID = mediaTextureID; + updatePacket.DataBlock.MediaAutoScale = autoScale; + + updatePacket.DataBlockExtended.MediaType = Helpers.StringToField(mediaType); + updatePacket.DataBlockExtended.MediaDesc = Helpers.StringToField(mediaDesc); + updatePacket.DataBlockExtended.MediaWidth = mediaWidth; + updatePacket.DataBlockExtended.MediaWidth = mediaHeight; + updatePacket.DataBlockExtended.MediaLoop = mediaLoop; + + OutPacket(updatePacket, ThrottleOutPacketType.Unknown); + } + + #endregion } } diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs index 4fc43d3..e3aa169 100644 --- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs @@ -795,5 +795,15 @@ namespace OpenSim.Region.Environment.Modules.World.NPC } #endregion - } + + public void SendParcelMediaCommand(ParcelMediaCommandEnum flags, uint command, float time) + { + } + + public void SendParcelMediaUpdate(string mediaUrl, LLUUID mediaTextureID, + byte autoScale, string mediaType, string mediaDesc, int mediaWidth, int mediaHeight, + byte mediaLoop) + { + } + } } diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index a626f63..0542c58 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs @@ -771,6 +771,17 @@ namespace OpenSim.Region.Examples.SimpleModule { } + public void SendParcelMediaCommand(ParcelMediaCommandEnum flags, uint command, float time) + { + + } + + public void SendParcelMediaUpdate(string mediaUrl, LLUUID mediaTextureID, byte autoScale, string mediaType, + string mediaDesc, int mediaWidth, int mediaHeight, byte mediaLoop) + { + + } + public void SendGroupNameReply(LLUUID groupLLUID, string GroupName) { } -- cgit v1.1