diff --git a/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs b/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs index 1a837900..2d2eba76 100644 --- a/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs +++ b/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs @@ -18,7 +18,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec VolumeLevelFeedback.OutputChange += (o, a) => Debug.Console(1, this, "Volume={0}", _VolumeLevel); InCallFeedback.OutputChange += (o, a) => Debug.Console(1, this, "InCall={0}", _InCall); IncomingCallFeedback.OutputChange += (o, a) => Debug.Console(1, this, "IncomingCall={0}", _IncomingCall); - TransmitLevelFeedback.OutputChange += (o,a)=> Debug.Console(1, this, "TransmitLevel={0}", _tra + ReceiveLevelFeedback.OutputChange += (o, a) => Debug.Console(1, this, "ReceiveLevel={0}", _ReceiveLevel); + ReceiveMuteIsOnFeedback.OutputChange += (o, a) => Debug.Console(1, this, "ReceiveMute={0}", _ReceiveMute); + TransmitLevelFeedback.OutputChange += (o, a) => Debug.Console(1, this, "TransmitLevel={0}", _TransmitLevel); + TransmitMuteIsOnFeedback.OutputChange += (o, a) => Debug.Console(1, this, "TransmitMute={0}", _TransmitMute); + SharingSourceFeedback.OutputChange += (o, a) => Debug.Console(1, this, "SharingSource={0}", _SharingSource); } protected override Func InCallFeedbackFunc @@ -33,7 +37,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec } bool _IncomingCall; - + protected override Func TransmitLevelFeedbackFunc + { + get { return () => _TransmitLevel; } + } + int _TransmitLevel; protected override Func TransmitMuteFeedbackFunc { @@ -41,6 +49,12 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec } bool _TransmitMute; + protected override Func ReceiveLevelFeedbackFunc + { + get { return () => _ReceiveLevel; } + } + int _ReceiveLevel; + protected override Func ReceiveMuteFeedbackFunc { get { return () => _ReceiveMute; } @@ -65,6 +79,12 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec } bool _IsMuted; + protected override Func SharingSourceFeedbackFunc + { + get { return () => _SharingSource; } + } + string _SharingSource; + /// /// Dials, yo! /// @@ -155,6 +175,14 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec VolumeLevelFeedback.FireUpdate(); } + public override void VolumeDown(bool pressRelease) + { + } + + public override void VolumeUp(bool pressRelease) + { + } + /// /// diff --git a/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs b/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs index 59aef5ab..738c2c2d 100644 --- a/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs +++ b/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs @@ -29,25 +29,27 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec abstract protected Func InCallFeedbackFunc { get; } abstract protected Func IncomingCallFeedbackFunc { get; } abstract protected Func TransmitMuteFeedbackFunc { get; } + abstract protected Func TransmitLevelFeedbackFunc { get; } abstract protected Func ReceiveMuteFeedbackFunc { get; } + abstract protected Func ReceiveLevelFeedbackFunc { get; } abstract protected Func PrivacyModeFeedbackFunc { get; } - -#warning WILL ADD TRANSMIT AND REVEICE LEVEL FUNCS AFTER MERGE abstract protected Func VolumeLevelFeedbackFunc { get; } abstract protected Func MuteFeedbackFunc { get; } + abstract protected Func SharingSourceFeedbackFunc { get; } public VideoCodecBase(string key, string name) : base(key, name) { InCallFeedback = new BoolFeedback(InCallFeedbackFunc); IncomingCallFeedback = new BoolFeedback(IncomingCallFeedbackFunc); + ReceiveLevelFeedback = new IntFeedback(ReceiveLevelFeedbackFunc); ReceiveMuteIsOnFeedback = new BoolFeedback(ReceiveMuteFeedbackFunc); TransmitMuteIsOnFeedback = new BoolFeedback(TransmitMuteFeedbackFunc); + TransmitLevelFeedback = new IntFeedback(TransmitLevelFeedbackFunc); PrivacyModeIsOnFeedback = new BoolFeedback(PrivacyModeFeedbackFunc); -#warning ADDING TX/RX FEEDBACKS HERE - VolumeLevelFeedback = new IntFeedback(VolumeLevelFeedbackFunc); MuteFeedback = new BoolFeedback(MuteFeedbackFunc); + SharingSourceFeedback = new StringFeedback(SharingSourceFeedbackFunc); InputPorts = new RoutingPortCollection(); diff --git a/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs.orig b/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs.orig new file mode 100644 index 00000000..b0f956d0 --- /dev/null +++ b/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs.orig @@ -0,0 +1,164 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Crestron.SimplSharp; + +using PepperDash.Core; +using PepperDash.Essentials.Core; + +namespace PepperDash.Essentials.Devices.Common.VideoCodec +{ + public abstract class VideoCodecBase : Device, IRoutingSinkWithSwitching, IUsageTracking, IHasDialer, IHasSharing, IBasicVolumeWithFeedback //, ICodecAudio + { + #region IUsageTracking Members + + public UsageTracking UsageTracker { get; set; } + + #endregion + + #region IRoutingInputs Members + + public RoutingPortCollection InputPorts { get; private set; } + + #endregion + + public BoolFeedback InCallFeedback { get; protected set; } + public BoolFeedback IncomingCallFeedback { get; protected set; } + + abstract protected Func InCallFeedbackFunc { get; } + abstract protected Func IncomingCallFeedbackFunc { get; } + abstract protected Func TransmitMuteFeedbackFunc { get; } + abstract protected Func ReceiveMuteFeedbackFunc { get; } + abstract protected Func PrivacyModeFeedbackFunc { get; } + +#warning WILL ADD TRANSMIT AND REVEICE LEVEL FUNCS AFTER MERGE + abstract protected Func VolumeLevelFeedbackFunc { get; } + abstract protected Func MuteFeedbackFunc { get; } + + public VideoCodecBase(string key, string name) + : base(key, name) + { + InCallFeedback = new BoolFeedback(InCallFeedbackFunc); + IncomingCallFeedback = new BoolFeedback(IncomingCallFeedbackFunc); + ReceiveMuteIsOnFeedback = new BoolFeedback(ReceiveMuteFeedbackFunc); + TransmitMuteIsOnFeedback = new BoolFeedback(TransmitMuteFeedbackFunc); + PrivacyModeIsOnFeedback = new BoolFeedback(PrivacyModeFeedbackFunc); +#warning ADDING TX/RX FEEDBACKS HERE + + VolumeLevelFeedback = new IntFeedback(VolumeLevelFeedbackFunc); + MuteFeedback = new BoolFeedback(MuteFeedbackFunc); + + InputPorts = new RoutingPortCollection(); + + InCallFeedback.OutputChange += new EventHandler(InCallFeedback_OutputChange); + } + + void InCallFeedback_OutputChange(object sender, EventArgs e) + { + if (UsageTracker != null) + { + if (InCallFeedback.BoolValue) + UsageTracker.StartDeviceUsage(); + else + UsageTracker.EndDeviceUsage(); + } + } + #region IHasDialer Members + + public abstract void Dial(string s); + public abstract void EndCall(); + public abstract void AcceptCall(); + public abstract void RejectCall(); + public abstract void SendDtmf(string s); + + #endregion + + public virtual List Feedbacks + { + get + { + return new List + { + InCallFeedback, + IncomingCallFeedback, + ReceiveMuteIsOnFeedback, + TransmitMuteIsOnFeedback, + PrivacyModeIsOnFeedback + }; + } + } + + public abstract void ExecuteSwitch(object selector); + + #region ICodecAudio Members + + public IntFeedback ReceiveLevelFeedback { get; private set; } + public BoolFeedback ReceiveMuteIsOnFeedback { get; private set; } + public abstract void ReceiveMuteOff(); + public abstract void ReceiveMuteOn(); + public abstract void ReceiveMuteToggle(); + public abstract void SetReceiveVolume(ushort level); + + public IntFeedback TransmitLevelFeedback { get; private set; } + public BoolFeedback TransmitMuteIsOnFeedback { get; private set; } + public abstract void TransmitMuteOff(); + public abstract void TransmitMuteOn(); + public abstract void TransmitMuteToggle(); + public abstract void SetTransmitVolume(ushort level); + + public abstract void PrivacyModeOn(); + public abstract void PrivacyModeOff(); + public abstract void PrivacyModeToggle(); + public BoolFeedback PrivacyModeIsOnFeedback { get; private set; } + + #endregion + + #region IHasSharing Members + + public abstract void StartSharing(); + public abstract void StopSharing(); + + public StringFeedback SharingSourceFeedback { get; private set; } + + #endregion + + #region IBasicVolumeWithFeedback Members + + public BoolFeedback MuteFeedback { get; private set; } + + public abstract void MuteOff(); + + public abstract void MuteOn(); + + public abstract void SetVolume(ushort level); + + public IntFeedback VolumeLevelFeedback { get; private set; } + + #endregion + + #region IBasicVolumeControls Members + + public abstract void MuteToggle(); + +<<<<<<< HEAD + public virtual void VolumeDown(bool pressRelease) + { + + } + + public virtual void VolumeUp(bool pressRelease) + { + + } +======= + public abstract void VolumeDown(bool pressRelease); + + + public abstract void VolumeUp(bool pressRelease); + +>>>>>>> origin/feature/cisco-spark + + #endregion + } +} \ No newline at end of file diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz index 64709aa0..54027769 100644 Binary files a/Release Package/PepperDashEssentials.cpz and b/Release Package/PepperDashEssentials.cpz differ diff --git a/Release Package/PepperDashEssentials.dll b/Release Package/PepperDashEssentials.dll index ba987342..10c840fd 100644 Binary files a/Release Package/PepperDashEssentials.dll and b/Release Package/PepperDashEssentials.dll differ