diff --git a/PepperDashEssentials/PepperDashEssentials.suo b/PepperDashEssentials/PepperDashEssentials.suo
index d6cfff14..6889b25e 100644
Binary files a/PepperDashEssentials/PepperDashEssentials.suo and b/PepperDashEssentials/PepperDashEssentials.suo differ
diff --git a/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo b/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo
index 89a80142..4f16f056 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo and b/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo differ
diff --git a/PepperDashEssentials/PepperDashEssentials/UI Drivers/DualDisplayRouting.cs b/PepperDashEssentials/PepperDashEssentials/UI Drivers/DualDisplayRouting.cs
index 15be5f75..f1961e29 100644
--- a/PepperDashEssentials/PepperDashEssentials/UI Drivers/DualDisplayRouting.cs
+++ b/PepperDashEssentials/PepperDashEssentials/UI Drivers/DualDisplayRouting.cs
@@ -12,12 +12,26 @@ using PepperDash.Essentials.Core.PageManagers;
namespace PepperDash.Essentials
{
- public class DualDisplayRouting : PanelDriverBase
+ public class DualDisplaySimpleOrAdvancedRouting : PanelDriverBase
{
+ EssentialsPresentationPanelAvFunctionsDriver Parent;
+
CTimer SourceSelectedTimer;
- public DualDisplayRouting(BasicTriListWithSmartObject trilist) : base(trilist)
+ ///
+ /// Smart Object 3200
+ ///
+ SubpageReferenceList SourcesSrl;
+
+ bool IsSharingModeAdvanced;
+
+ public DualDisplaySimpleOrAdvancedRouting(EssentialsPresentationPanelAvFunctionsDriver parent) : base(parent.TriList)
{
+ Parent = parent;
+ SourcesSrl = new SubpageReferenceList(TriList, 3200, 3, 3, 3);
+
+ TriList.SetSigFalseAction(UIBoolJoin.ToggleSharingModePress, ToggleSharingModePressed);
+
TriList.SetSigFalseAction(UIBoolJoin.Display1AudioButtonPressAndFb, Display1AudioPress);
TriList.SetSigFalseAction(UIBoolJoin.Display1ControlButtonPress, Display1ControlPress);
TriList.SetSigTrueAction(UIBoolJoin.Display1SelectPress, Display1Press);
@@ -27,23 +41,102 @@ namespace PepperDash.Essentials
TriList.SetSigTrueAction(UIBoolJoin.Display2SelectPress, Display2Press);
}
- public void Enable()
- {
- // attach to the source list SRL
- }
-
+ ///
+ ///
+ ///
public override void Show()
{
- TriList.BooleanInput[UIBoolJoin.DualDisplayPageVisible].BoolValue = true;
+ TriList.BooleanInput[UIBoolJoin.ToggleSharingModeVisible].BoolValue = true;
+ TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true;
+ if(IsSharingModeAdvanced)
+ TriList.BooleanInput[UIBoolJoin.DualDisplayPageVisible].BoolValue = true;
+ else
+ TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = true;
base.Show();
}
+ ///
+ ///
+ ///
public override void Hide()
{
- TriList.BooleanInput[UIBoolJoin.DualDisplayPageVisible].BoolValue = false;
+ TriList.BooleanInput[UIBoolJoin.ToggleSharingModeVisible].BoolValue = false;
+ TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = false;
+ if(IsSharingModeAdvanced)
+ TriList.BooleanInput[UIBoolJoin.DualDisplayPageVisible].BoolValue = false;
+ else
+ TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false;
base.Hide();
}
+ public void SetCurrentRoomFromParent()
+ {
+ if (IsSharingModeAdvanced)
+ return; // add stuff here
+ else
+ SetupSourcesForSimpleRouting();
+ }
+
+ ///
+ ///
+ ///
+ void SetupSourcesForSimpleRouting()
+ {
+ // get the source list config and set up the source list
+ var config = ConfigReader.ConfigObject.SourceLists;
+ if (config.ContainsKey(Parent.CurrentRoom.SourceListKey))
+ {
+ var srcList = config[Parent.CurrentRoom.SourceListKey]
+ .Values.ToList().OrderBy(s => s.Order);
+ // Setup sources list
+ uint i = 1; // counter for UI list
+ foreach (var srcConfig in srcList)
+ {
+ if (!srcConfig.IncludeInSourceList) // Skip sources marked this way
+ continue;
+
+ var sourceKey = srcConfig.SourceKey;
+ var actualSource = DeviceManager.GetDeviceForKey(sourceKey) as Device;
+ if (actualSource == null)
+ {
+ Debug.Console(0, "Cannot assign missing source '{0}' to source UI list",
+ srcConfig.SourceKey);
+ continue;
+ }
+ var localSrcConfig = srcConfig; // lambda scope below
+ var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig,
+ b => { if (!b) UiSelectSource(localSrcConfig); });
+ SourcesSrl.AddItem(item); // add to the SRL
+ item.RegisterForSourceChange(Parent.CurrentRoom);
+ }
+ SourcesSrl.Count = (ushort)(i - 1);
+ }
+ }
+ ///
+ ///
+ ///
+ void ToggleSharingModePressed()
+ {
+ Hide();
+ IsSharingModeAdvanced = !IsSharingModeAdvanced;
+ TriList.BooleanInput[UIBoolJoin.ToggleSharingModePress].BoolValue = IsSharingModeAdvanced;
+ Show();
+ }
+
+ ///
+ /// Called from button presses on source, where We can assume we want
+ /// to change to the proper screen.
+ ///
+ /// The key name of the route to run
+ void UiSelectSource(SourceListItem sourceItem)
+ {
+ if (IsSharingModeAdvanced)
+ {
+ SourceListButtonPress(sourceItem);
+ }
+ else
+ Parent.CurrentRoom.DoSourceToAllDestinationsRoute(sourceItem);
+ }
public void SourceListButtonPress(SourceListItem item)
{
diff --git a/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPresentationPanelAvFunctionsDriver.cs b/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPresentationPanelAvFunctionsDriver.cs
index 2608833e..153ea8cd 100644
--- a/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPresentationPanelAvFunctionsDriver.cs
+++ b/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPresentationPanelAvFunctionsDriver.cs
@@ -105,7 +105,7 @@ namespace PepperDash.Essentials
///
/// Driver that manages advanced sharing features
///
- DualDisplayRouting DualDisplayUiDriver;
+ DualDisplaySimpleOrAdvancedRouting DualDisplayUiDriver;
///
/// All children attached to this driver. For hiding and showing as a group.
@@ -116,10 +116,10 @@ namespace PepperDash.Essentials
//// Important smart objects
- ///
- /// Smart Object 3200
- ///
- SubpageReferenceList SourcesSrl;
+ /////
+ ///// Smart Object 3200
+ /////
+ //SubpageReferenceList SourcesSrl;
///
/// Smart Object 15022
@@ -146,7 +146,7 @@ namespace PepperDash.Essentials
///
CTimer PowerOffTimer;
- bool IsSharingModeAdvanced;
+ //bool IsSharingModeAdvanced;
///
/// Constructor
@@ -158,8 +158,10 @@ namespace PepperDash.Essentials
Config = config;
Parent = parent;
- SourcesSrl = new SubpageReferenceList(TriList, 3200, 3, 3, 3);
+
+ //SourcesSrl = new SubpageReferenceList(TriList, 3200, 3, 3, 3);
ActivityFooterSrl = new SubpageReferenceList(TriList, 15022, 3, 3, 3);
+ DualDisplayUiDriver = new DualDisplaySimpleOrAdvancedRouting(this);
SetupActivityFooterWhenRoomOff();
ShowVolumeGauge = true;
@@ -241,8 +243,7 @@ namespace PepperDash.Essentials
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false;
TriList.BooleanInput[UIBoolJoin.TapToBeginVisible].BoolValue = false;
TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false;
- TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = false;
- TriList.BooleanInput[UIBoolJoin.ToggleSharingModeVisible].BoolValue = false;
+ //TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = false;
VolumeButtonsPopupFeedback.ClearNow();
CancelPowerOff();
@@ -264,7 +265,7 @@ namespace PepperDash.Essentials
// show start page or staging...
if (CurrentRoom.OnFeedback.BoolValue)
{
- TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true;
+ //TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true;
TriList.BooleanInput[UIBoolJoin.TapToBeginVisible].BoolValue = false;
TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false;
}
@@ -288,58 +289,58 @@ namespace PepperDash.Essentials
TriList.BooleanInput[UIBoolJoin.TimeOnlyVisible].BoolValue = Config.ShowTime;
}
- TriList.SetSigFalseAction(UIBoolJoin.ToggleSharingModePress, ToggleSharingModePressed);
+ //TriList.SetSigFalseAction(UIBoolJoin.ToggleSharingModePress, ToggleSharingModePressed);
ShowCurrentDisplayModeSigsInUse();
break;
}
}
- ///
- ///
- ///
- void ToggleSharingModePressed()
- {
- HideSharingMode();
- IsSharingModeAdvanced = !IsSharingModeAdvanced;
- TriList.BooleanInput[UIBoolJoin.ToggleSharingModePress].BoolValue = IsSharingModeAdvanced;
- RevealSharingMode();
- }
+ /////
+ /////
+ /////
+ //void ToggleSharingModePressed()
+ //{
+ // HideSharingMode();
+ // IsSharingModeAdvanced = !IsSharingModeAdvanced;
+ // TriList.BooleanInput[UIBoolJoin.ToggleSharingModePress].BoolValue = IsSharingModeAdvanced;
+ // RevealSharingMode();
+ //}
- ///
- ///
- ///
- void HideSharingMode()
- {
- TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = false;
- if (IsSharingModeAdvanced)
- {
- if (DualDisplayUiDriver != null)
- DualDisplayUiDriver.Hide();
- }
- else
- {
- TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false;
- }
- }
+ /////
+ /////
+ /////
+ //void HideSharingMode()
+ //{
+ // TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = false;
+ // if (IsSharingModeAdvanced)
+ // {
+ // if (DualDisplayUiDriver != null)
+ // DualDisplayUiDriver.Hide();
+ // }
+ // else
+ // {
+ // TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false;
+ // }
+ //}
- ///
- ///
- ///
- void RevealSharingMode()
- {
- TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true;
- if (IsSharingModeAdvanced)
- {
- if(DualDisplayUiDriver == null)
- DualDisplayUiDriver = new DualDisplayRouting(TriList);
- DualDisplayUiDriver.Show();
- }
- else
- {
- TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = true;
- }
- }
+ /////
+ /////
+ /////
+ //void RevealSharingMode()
+ //{
+ // TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true;
+ // if (IsSharingModeAdvanced)
+ // {
+ // if(DualDisplayUiDriver == null)
+ // DualDisplayUiDriver = new DualDisplaySimpleOrAdvancedRouting(this);
+ // DualDisplayUiDriver.Show();
+ // }
+ // else
+ // {
+ // TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = true;
+ // }
+ //}
///
/// When the room is off, set the footer SRL
@@ -352,7 +353,7 @@ namespace PepperDash.Essentials
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl, 1,
b => { }));
ActivityFooterSrl.Count = 2;
- TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 0;
+ TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 1;
}
///
@@ -368,7 +369,7 @@ namespace PepperDash.Essentials
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(3, ActivityFooterSrl,
3, b => { if (!b) PowerButtonPressed(); }));
ActivityFooterSrl.Count = 3;
- TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 1;
+ TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 2;
EndMeetingButtonSig = ActivityFooterSrl.BoolInputSig(2, 1);
}
@@ -382,8 +383,9 @@ namespace PepperDash.Essentials
{
ShareButtonSig.BoolValue = true;
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false;
- TriList.BooleanInput[UIBoolJoin.ToggleSharingModeVisible].BoolValue = true;
- RevealSharingMode();
+ DualDisplayUiDriver.Show();
+ //TriList.BooleanInput[UIBoolJoin.ToggleSharingModeVisible].BoolValue = true;
+ //RevealSharingMode();
}
}
@@ -408,7 +410,6 @@ namespace PepperDash.Essentials
CurrentInterlockedModalJoin = 0;
}
-
///
/// Shows all sigs that are in CurrentDisplayModeSigsInUse
///
@@ -482,20 +483,20 @@ namespace PepperDash.Essentials
}
}
- ///
- /// Called from button presses on source, where We can assume we want
- /// to change to the proper screen.
- ///
- /// The key name of the route to run
- void UiSelectSource(SourceListItem sourceItem)
- {
- if (IsSharingModeAdvanced)
- {
- DualDisplayUiDriver.SourceListButtonPress(sourceItem);
- }
- else
- CurrentRoom.DoSourceToAllDestinationsRoute(sourceItem);
- }
+ /////
+ ///// Called from button presses on source, where We can assume we want
+ ///// to change to the proper screen.
+ /////
+ ///// The key name of the route to run
+ //void UiSelectSource(SourceListItem sourceItem)
+ //{
+ // if (IsSharingModeAdvanced)
+ // {
+ // DualDisplayUiDriver.SourceListButtonPress(sourceItem);
+ // }
+ // else
+ // CurrentRoom.DoSourceToAllDestinationsRoute(sourceItem);
+ //}
///
///
@@ -615,7 +616,8 @@ namespace PepperDash.Essentials
if (_CurrentRoom != null)
{
- SetupSourcesForSimpleRouting();
+ DualDisplayUiDriver.SetCurrentRoomFromParent();
+ //SetupSourcesForSimpleRouting();
TriList.StringInput[UIStringJoin.CurrentRoomName].StringValue = _CurrentRoom.Name;
// Link up all the change events from the room
@@ -646,43 +648,44 @@ namespace PepperDash.Essentials
}
else
{
+ DualDisplayUiDriver.Hide();
SetupActivityFooterWhenRoomOff();
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
}
}
- void SetupSourcesForSimpleRouting()
- {
- // get the source list config and set up the source list
- var config = ConfigReader.ConfigObject.SourceLists;
- if (config.ContainsKey(_CurrentRoom.SourceListKey))
- {
- var srcList = config[_CurrentRoom.SourceListKey]
- .Values.ToList().OrderBy(s => s.Order);
- // Setup sources list
- uint i = 1; // counter for UI list
- foreach (var srcConfig in srcList)
- {
- if (!srcConfig.IncludeInSourceList) // Skip sources marked this way
- continue;
+ //void SetupSourcesForSimpleRouting()
+ //{
+ // // get the source list config and set up the source list
+ // var config = ConfigReader.ConfigObject.SourceLists;
+ // if (config.ContainsKey(_CurrentRoom.SourceListKey))
+ // {
+ // var srcList = config[_CurrentRoom.SourceListKey]
+ // .Values.ToList().OrderBy(s => s.Order);
+ // // Setup sources list
+ // uint i = 1; // counter for UI list
+ // foreach (var srcConfig in srcList)
+ // {
+ // if (!srcConfig.IncludeInSourceList) // Skip sources marked this way
+ // continue;
- var sourceKey = srcConfig.SourceKey;
- var actualSource = DeviceManager.GetDeviceForKey(sourceKey) as Device;
- if (actualSource == null)
- {
- Debug.Console(0, "Cannot assign missing source '{0}' to source UI list",
- srcConfig.SourceKey);
- continue;
- }
- var localSrcConfig = srcConfig; // lambda scope below
- var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig,
- b => { if (!b) UiSelectSource(localSrcConfig); });
- SourcesSrl.AddItem(item); // add to the SRL
- item.RegisterForSourceChange(_CurrentRoom);
- }
- SourcesSrl.Count = (ushort)(i - 1);
- }
- }
+ // var sourceKey = srcConfig.SourceKey;
+ // var actualSource = DeviceManager.GetDeviceForKey(sourceKey) as Device;
+ // if (actualSource == null)
+ // {
+ // Debug.Console(0, "Cannot assign missing source '{0}' to source UI list",
+ // srcConfig.SourceKey);
+ // continue;
+ // }
+ // var localSrcConfig = srcConfig; // lambda scope below
+ // var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig,
+ // b => { if (!b) UiSelectSource(localSrcConfig); });
+ // SourcesSrl.AddItem(item); // add to the SRL
+ // item.RegisterForSourceChange(_CurrentRoom);
+ // }
+ // SourcesSrl.Count = (ushort)(i - 1);
+ // }
+ //}
///
/// Hides source for provided source info
diff --git a/PepperDashEssentials/PepperDashEssentials/UI Drivers/enums and base.cs b/PepperDashEssentials/PepperDashEssentials/UI Drivers/enums and base.cs
index fd609c97..7bfa14de 100644
--- a/PepperDashEssentials/PepperDashEssentials/UI Drivers/enums and base.cs
+++ b/PepperDashEssentials/PepperDashEssentials/UI Drivers/enums and base.cs
@@ -1,6 +1,6 @@
using System;
using System.Collections.Generic;
-
+using Crestron.SimplSharpPro.DeviceSupport;
using PepperDash.Essentials.Core;
namespace PepperDash.Essentials
@@ -100,7 +100,7 @@ namespace PepperDash.Essentials
{
}
- public PanelDriverBase(Crestron.SimplSharpPro.DeviceSupport.BasicTriListWithSmartObject triList)
+ public PanelDriverBase(BasicTriListWithSmartObject triList)
{
TriList = triList;
}
@@ -128,7 +128,7 @@ namespace PepperDash.Essentials
///
/// The trilist object for the Crestron TP device
///
- public Crestron.SimplSharpPro.DeviceSupport.BasicTriListWithSmartObject TriList { get; private set; }
+ public BasicTriListWithSmartObject TriList { get; private set; }
///
///
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz
index df7f93bd..a009fb4c 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz differ
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.dll b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.dll
index 3678a8bc..f9c0a3f9 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.dll and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.dll differ
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb
index bbd9497e..74165953 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb differ
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config b/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config
index c8a1117c..866392af 100644
--- a/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config
+++ b/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config
@@ -10,8 +10,8 @@
- 2/14/2017 11:24:21 AM
- 1.0.0.20529
+ 2/15/2017 10:47:23 AM
+ 1.0.0.19420
Crestron.SIMPLSharp, Version=2.0.48.0, Culture=neutral, PublicKeyToken=812d080f93e2de10
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/manifest.info b/PepperDashEssentials/PepperDashEssentials/bin/manifest.info
index 555fc5a0..7e12f8cd 100644
--- a/PepperDashEssentials/PepperDashEssentials/bin/manifest.info
+++ b/PepperDashEssentials/PepperDashEssentials/bin/manifest.info
@@ -1,4 +1,4 @@
-MainAssembly=PepperDashEssentials.dll:0ec9394c958b83119e9ba457828c9bd0
+MainAssembly=PepperDashEssentials.dll:60c91f66dea9040efb0f42a2e016ea2d
MainAssemblyMinFirmwareVersion=1.009.0029
MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e
ü
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser b/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser
index ce187141..a263bbb5 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser and b/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser differ
diff --git a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.dll b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.dll
index 7285fc20..56630a3f 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.dll and b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.dll differ
diff --git a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb
index 85d944c1..cb783fed 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb and b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb differ