diff --git a/Essentials Devices Common/Essentials Devices Common/PC/InRoomPc.cs b/Essentials Devices Common/Essentials Devices Common/PC/InRoomPc.cs
index cc8c5121..70c49366 100644
--- a/Essentials Devices Common/Essentials Devices Common/PC/InRoomPc.cs
+++ b/Essentials Devices Common/Essentials Devices Common/PC/InRoomPc.cs
@@ -1,61 +1,61 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Crestron.SimplSharpPro;
-
-using PepperDash.Essentials.Core;
-using PepperDash.Essentials.Core.Routing;
-using PepperDash.Core;
-
-namespace PepperDash.Essentials.Devices.Common
-{
- ///
- /// This DVD class should cover most IR, one-way DVD and Bluray fuctions
- ///
- public class InRoomPc : Device, IHasFeedback, IRoutingOutputs, IAttachVideoStatus, IUiDisplayInfo, IUsageTracking
- {
- public uint DisplayUiType { get { return DisplayUiConstants.TypeLaptop; } }
- public string IconName { get; set; }
- public BoolFeedback HasPowerOnFeedback { get; private set; }
-
- public RoutingOutputPort AnyVideoOut { get; private set; }
-
- #region IRoutingOutputs Members
-
- ///
- /// Options: hdmi
- ///
- public RoutingPortCollection OutputPorts { get; private set; }
-
- #endregion
-
- public InRoomPc(string key, string name)
- : base(key, name)
- {
- IconName = "PC";
- HasPowerOnFeedback = new BoolFeedback(CommonBoolCue.HasPowerFeedback,
- () => this.GetVideoStatuses() != VideoStatusOutputs.NoStatus);
- OutputPorts = new RoutingPortCollection();
- OutputPorts.Add(AnyVideoOut = new RoutingOutputPort(RoutingPortNames.AnyVideoOut, eRoutingSignalType.AudioVideo,
- eRoutingPortConnectionType.None, 0, this));
- }
-
- #region IHasFeedback Members
-
- ///
- /// Passes through the VideoStatuses list
- ///
- public List Feedbacks
- {
- get { return this.GetVideoStatuses().ToList(); }
- }
-
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Crestron.SimplSharpPro;
+
+using PepperDash.Essentials.Core;
+using PepperDash.Essentials.Core.Routing;
+using PepperDash.Core;
+
+namespace PepperDash.Essentials.Devices.Common
+{
+ ///
+ /// This DVD class should cover most IR, one-way DVD and Bluray fuctions
+ ///
+ public class InRoomPc : Device, IHasFeedback, IRoutingOutputs, IAttachVideoStatus, IUiDisplayInfo, IUsageTracking
+ {
+ public uint DisplayUiType { get { return DisplayUiConstants.TypeLaptop; } }
+ public string IconName { get; set; }
+ public BoolFeedback HasPowerOnFeedback { get; private set; }
+
+ public RoutingOutputPort AnyVideoOut { get; private set; }
+
+ #region IRoutingOutputs Members
+
+ ///
+ /// Options: hdmi
+ ///
+ public RoutingPortCollection OutputPorts { get; private set; }
+
+ #endregion
+
+ public InRoomPc(string key, string name)
+ : base(key, name)
+ {
+ IconName = "PC";
+ HasPowerOnFeedback = new BoolFeedback(CommonBoolCue.HasPowerFeedback,
+ () => this.GetVideoStatuses() != VideoStatusOutputs.NoStatus);
+ OutputPorts = new RoutingPortCollection();
+ OutputPorts.Add(AnyVideoOut = new RoutingOutputPort(RoutingPortNames.AnyVideoOut, eRoutingSignalType.AudioVideo,
+ eRoutingPortConnectionType.None, 0, this));
+ }
+
+ #region IHasFeedback Members
+
+ ///
+ /// Passes through the VideoStatuses list
+ ///
+ public List Feedbacks
+ {
+ get { return this.GetVideoStatuses().ToList(); }
+ }
+
#endregion
#region IUsageTracking Members
public UsageTracking UsageTracker { get; set; }
- #endregion
- }
+ #endregion
+ }
}
\ No newline at end of file
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 dbceea4d..1a837900 100644
--- a/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs
+++ b/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs
@@ -14,7 +14,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public MockVC(string key, string name)
: base(key, name)
{
-
+ MuteFeedback.OutputChange += (o, a) => Debug.Console(1, this, "Mute={0}", _IsMuted);
+ 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
}
protected override Func InCallFeedbackFunc
@@ -29,6 +33,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
bool _IncomingCall;
+
+
protected override Func TransmitMuteFeedbackFunc
{
get { return () => _TransmitMute; }
diff --git a/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs b/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs
index 9ed7f3ef..b50978e0 100644
--- a/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs
+++ b/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs
@@ -32,6 +32,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
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; }
@@ -43,6 +44,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
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);
diff --git a/Essentials/PepperDashEssentials/ControlSystem.cs b/Essentials/PepperDashEssentials/ControlSystem.cs
index f33d6198..20288baf 100644
--- a/Essentials/PepperDashEssentials/ControlSystem.cs
+++ b/Essentials/PepperDashEssentials/ControlSystem.cs
@@ -128,12 +128,12 @@ namespace PepperDash.Essentials
}
// CODEC TESTING
- GenericSshClient TestCodecClient = new GenericSshClient("TestCodec-1--SshClient", "10.11.50.135", 22, "crestron", "2H3Zu&OvgXp6");
+ //GenericSshClient TestCodecClient = new GenericSshClient("TestCodec-1--SshClient", "10.11.50.135", 22, "crestron", "2H3Zu&OvgXp6");
- PepperDash.Essentials.Devices.Common.VideoCodec.Cisco.CiscoCodec TestCodec =
- new PepperDash.Essentials.Devices.Common.VideoCodec.Cisco.CiscoCodec("TestCodec-1", "Cisco Spark Room Kit", TestCodecClient, 8080);
+ //PepperDash.Essentials.Devices.Common.VideoCodec.Cisco.CiscoCodec TestCodec =
+ // new PepperDash.Essentials.Devices.Common.VideoCodec.Cisco.CiscoCodec("TestCodec-1", "Cisco Spark Room Kit", TestCodecClient, 8080);
- TestCodec.CustomActivate();
+ //TestCodec.CustomActivate();
// CODEC TESTING
}
diff --git a/Essentials/PepperDashEssentials/Room/Types/EssentialsHuddleVtc1Room.cs b/Essentials/PepperDashEssentials/Room/Types/EssentialsHuddleVtc1Room.cs
index 0846adec..c1b3d22a 100644
--- a/Essentials/PepperDashEssentials/Room/Types/EssentialsHuddleVtc1Room.cs
+++ b/Essentials/PepperDashEssentials/Room/Types/EssentialsHuddleVtc1Room.cs
@@ -235,82 +235,87 @@ namespace PepperDash.Essentials
public void RunRouteAction(string routeKey, Action successCallback)
{
// Run this on a separate thread
- //new CTimer(o =>
- // {
- try
+ new CTimer(o =>
+ {
+ try
+ {
+
+ Debug.Console(1, this, "Run route action '{0}'", routeKey);
+ var dict = ConfigReader.ConfigObject.GetSourceListForKey(SourceListKey);
+ if (dict == null)
{
+ Debug.Console(1, this, "WARNING: Config source list '{0}' not found", SourceListKey);
+ return;
+ }
- Debug.Console(1, this, "Run route action '{0}'", routeKey);
- var dict = ConfigReader.ConfigObject.GetSourceListForKey(SourceListKey);
- if (dict == null)
+ // Try to get the list item by it's string key
+ if (!dict.ContainsKey(routeKey))
+ {
+ Debug.Console(1, this, "WARNING: No item '{0}' found on config list '{1}'",
+ routeKey, SourceListKey);
+ return;
+ }
+
+ // End usage timer on last source
+ if (!string.IsNullOrEmpty(LastSourceKey))
+ {
+ var usageLastSource = dict[LastSourceKey].SourceDevice as IUsageTracking;
+ if (usageLastSource != null && usageLastSource.UsageTracker != null)
{
- Debug.Console(1, this, "WARNING: Config source list '{0}' not found", SourceListKey);
- return;
- }
-
- // Try to get the list item by it's string key
- if (!dict.ContainsKey(routeKey))
- {
- Debug.Console(1, this, "WARNING: No item '{0}' found on config list '{1}'",
- routeKey, SourceListKey);
- return;
- }
-
- // End usage timer on last source
- if (!string.IsNullOrEmpty(LastSourceKey))
- {
- var lastSource = dict[LastSourceKey].SourceDevice;
-
try
{
- if (lastSource != null && lastSource is IUsageTracking)
- (lastSource as IUsageTracking).UsageTracker.EndDeviceUsage();
+ // There MAY have been failures in here. Protect
+ usageLastSource.UsageTracker.EndDeviceUsage();
}
catch (Exception e)
{
Debug.Console(1, this, "*#* EXCEPTION in end usage tracking:\r{0}", e);
}
}
-
- // Let's run it
- var item = dict[routeKey];
- if (routeKey.ToLower() != "roomoff")
- LastSourceKey = routeKey;
- else
- CurrentSourceInfoKey = null;
-
- // hand off the individual routes to this helper
- foreach (var route in item.RouteList)
- DoRouteItem(route);
-
- // Start usage timer on routed source
- if (item.SourceDevice is IUsageTracking)
- (item.SourceDevice as IUsageTracking).UsageTracker.StartDeviceUsage();
-
- // store the name and UI info for routes
- if (item.SourceKey == "$off")
- {
- CurrentSourceInfoKey = routeKey;
- CurrentSourceInfo = null;
- }
- else if (item.SourceKey != null)
- {
- CurrentSourceInfoKey = routeKey;
- CurrentSourceInfo = item;
- }
-
- OnFeedback.FireUpdate();
-
- // report back when done
- if (successCallback != null)
- successCallback();
}
- catch (Exception e)
+
+ // Let's run it
+ var item = dict[routeKey];
+ if (routeKey.ToLower() != "roomoff")
+ LastSourceKey = routeKey;
+ else
+ CurrentSourceInfoKey = null;
+
+ // hand off the individual routes to this helper
+ foreach (var route in item.RouteList)
+ DoRouteItem(route);
+
+ // Start usage timer on routed source
+ var usageNewSource = item.SourceDevice as IUsageTracking;
+ if (usageNewSource != null && usageNewSource.UsageTracker != null) // Have to make sure there is a usage tracker!
{
- Debug.Console(1, this, "ERROR in routing: {0}", e);
+ (item.SourceDevice as IUsageTracking).UsageTracker.StartDeviceUsage();
}
- //}, 0); // end of CTimer
+ // store the name and UI info for routes
+ if (item.SourceKey == "$off")
+ {
+ CurrentSourceInfoKey = routeKey;
+ CurrentSourceInfo = null;
+ }
+ else if (item.SourceKey != null)
+ {
+ CurrentSourceInfoKey = routeKey;
+ CurrentSourceInfo = item;
+ }
+
+ OnFeedback.FireUpdate();
+
+ // report back when done
+ if (successCallback != null)
+ successCallback();
+ }
+ catch (Exception e)
+ {
+ Debug.Console(1, this, "ERROR in routing: {0}", e);
+ }
+
+ }, 0); // end of CTimer
}
///
diff --git a/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs b/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs
index 1ce8663d..7bfcf805 100644
--- a/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs
+++ b/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs
@@ -388,7 +388,7 @@ namespace PepperDash.Essentials
b => { if (!b) ActivityShareButtonPressed(); }));
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(3, ActivityFooterSrl,
3, b => { if (!b) PowerButtonPressed(); }));
- ActivityFooterSrl.Count = 2;
+ ActivityFooterSrl.Count = 3;
TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 1;
EndMeetingButtonSig = ActivityFooterSrl.BoolInputSig(3, 1);
@@ -757,7 +757,11 @@ namespace PepperDash.Essentials
}
}
-
+ ///
+ ///
+ ///
+ ///
+ ///
void IsCoolingDownFeedback_OutputChange(object sender, EventArgs e)
{
var value = CurrentRoom.IsCoolingDownFeedback.BoolValue;
diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz
index 5c8f5172..64709aa0 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 25c39df5..ba987342 100644
Binary files a/Release Package/PepperDashEssentials.dll and b/Release Package/PepperDashEssentials.dll differ