Gear button show adv. volume dialog, start page / staging rework

This commit is contained in:
Heath Volmer
2017-02-08 14:50:16 -07:00
parent c87a0ed68e
commit f0bb665050
23 changed files with 235 additions and 46 deletions

View File

@@ -113,7 +113,7 @@ namespace PepperDash.Essentials
if (newDev == null)
newDev = PepperDash.Essentials.DM.DeviceFactory.GetDevice(devConf);
if (newDev == null)
newDev = PepperDash.Essentials.Displays.DeviceFactory.GetDevice(devConf);
newDev = PepperDash.Essentials.Devices.Displays.DisplayDeviceFactory.GetDevice(devConf);
if (newDev != null)
DeviceManager.AddDevice(newDev);

View File

@@ -92,10 +92,6 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\essentials-ssp-base\PepperDashEssentialsBase\PepperDashEssentialsBase\bin\PepperDash_Essentials_Core.dll</HintPath>
</Reference>
<Reference Include="PepperDash_Essentials_Displays, Version=1.0.0.19741, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\essentials-displays\Essentials Displays\Essentials Displays\bin\PepperDash_Essentials_Displays.dll</HintPath>
</Reference>
<Reference Include="PepperDash_Essentials_DM, Version=1.0.0.17590, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\essentials-dm\Essentials_DM\Essentials_DM\bin\PepperDash_Essentials_DM.dll</HintPath>
@@ -158,6 +154,7 @@
<Compile Include="FOR REFERENCE UI\PageControllers\LargeTouchpanelControllerBase.cs" />
<Compile Include="FOR REFERENCE UI\Panels\SmartGraphicsTouchpanelControllerBase.cs" />
<Compile Include="Room\VolumeAndSourceChangeArgs.cs" />
<Compile Include="UI Drivers\SingleSubpageModalDriver.cs" />
<Compile Include="UI Drivers\EssentialsPresentationPanelAvFunctionsDriver.cs" />
<Compile Include="UI Drivers\EssentialsPanelMainInterfaceDriver.cs" />
<Compile Include="UI Drivers\enums and base.cs" />

View File

@@ -0,0 +1,13 @@
2/8/2017 11:44:50 AM, Info: Initializing SIMPLSharp Services...
2/8/2017 11:44:51 AM, Info: ProjectInfo successfully initialized.
2/8/2017 11:45:14 AM, Info: Saving project information...
2/8/2017 11:45:14 AM, Info: Saving project information...
2/8/2017 11:45:14 AM, Info: Saving project information...
2/8/2017 11:45:14 AM, Info: Saving project information...
2/8/2017 11:45:14 AM, Info: Saving project information...
2/8/2017 11:45:14 AM, Info: Saving project information...
2/8/2017 11:45:38 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll...
2/8/2017 11:45:39 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
2/8/2017 11:45:39 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz...
2/8/2017 11:45:41 AM, Info: Saving project information...
2/8/2017 11:54:00 AM, Info: Terminating SIMPLSharp Services

View File

@@ -92,8 +92,18 @@ namespace PepperDash.Essentials
/// </summary>
BoolFeedbackPulseExtender VolumeButtonsPopupFeedback;
/// <summary>
/// The parent driver for this
/// </summary>
PanelDriverBase Parent;
SingleSubpageModalDriver VolumesPageDriver;
/// <summary>
/// All children attached to this driver. For hiding and showing as a group.
/// </summary>
List<PanelDriverBase> ChildDrivers = new List<PanelDriverBase>();
List<BoolInputSig> CurrentDisplayModeSigsInUse = new List<BoolInputSig>();
//// Important smart objects
@@ -176,6 +186,15 @@ namespace PepperDash.Essentials
// Attach actions
TriList.SetSigFalseAction(UIBoolJoin.VolumeButtonPopupPress, VolumeButtonsTogglePress);
#warning Add press and hold to gear button here
TriList.SetSigFalseAction(UIBoolJoin.GearHeaderButtonPress, () =>
{
if (VolumesPageDriver == null)
VolumesPageDriver =
new SingleSubpageModalDriver(this, UIBoolJoin.VolumesPageVisible, UIBoolJoin.VolumesPageClosePress);
VolumesPageDriver.Toggle();
});
// power-related functions
// Note: some of these are not directly-related to the huddle space UI, but are held over
// in case
@@ -207,6 +226,8 @@ namespace PepperDash.Essentials
HideAndClearCurrentDisplayModeSigsInUse();
TriList.BooleanInput[UIBoolJoin.TopBarVisible].BoolValue = false;
TriList.BooleanInput[UIBoolJoin.ActivityFooterVisible].BoolValue = false;
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false;
TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = false;
VolumeButtonsPopupFeedback.ClearNow();
CancelPowerOff();
@@ -225,7 +246,11 @@ namespace PepperDash.Essentials
switch (mode)
{
case UiDisplayMode.PresentationMode:
CurrentDisplayModeSigsInUse.Add(TriList.BooleanInput[UIBoolJoin.StagingPageVisible]);
// show start page or staging...
if (!CurrentRoom.OnFeedback.BoolValue)
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
else
TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true;
// Date/time
if (Config.ShowDate && Config.ShowTime)
{
@@ -251,7 +276,15 @@ namespace PepperDash.Essentials
void SetupActivityFooterWhenRoomOff()
{
ActivityFooterSrl.Clear();
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0, null));
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0, b =>
{
if (b) return; // ignore press
if (!_CurrentRoom.OnFeedback.BoolValue)
{
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false;
TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true;
}
}));
ActivityFooterSrl.Count = 1;
TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 0;
}
@@ -347,12 +380,12 @@ namespace PepperDash.Essentials
CurrentSourcePageManager = pm;
pm.Show();
}
else // show some default thing
{
CurrentDisplayModeSigsInUse.Add(TriList.BooleanInput[12345]);
}
//else // show some default thing
//{
// CurrentDisplayModeSigsInUse.Add(TriList.BooleanInput[12345]);
//}
ShowCurrentDisplayModeSigsInUse();
//ShowCurrentDisplayModeSigsInUse();
}
/// <summary>
@@ -529,9 +562,15 @@ namespace PepperDash.Essentials
var value = _CurrentRoom.OnFeedback.BoolValue;
TriList.BooleanInput[UIBoolJoin.RoomIsOn].BoolValue = value;
if (value)
{
SetupActivityFooterWhenRoomOn();
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false;
}
else
{
SetupActivityFooterWhenRoomOff();
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
}
}
/// <summary>

View File

@@ -18,6 +18,8 @@ namespace PepperDash.Essentials
/// </summary>
public PanelDriverBase AvDriver { get; set; }
SingleSubpageModalDriver HelpDriver;
public PanelDriverBase CurrentChildDriver { get; private set; }
CrestronTouchpanelPropertiesConfig Config;
@@ -41,20 +43,44 @@ namespace PepperDash.Essentials
public override void Show()
{
CurrentChildDriver = null;
if (Config.UsesSplashPage)
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
else
//if (Config.UsesSplashPage)
// TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
//else
ShowSubDriver(AvDriver);
TriList.SetSigFalseAction(UIBoolJoin.HelpButtonPress, () =>
TriList.SetSigFalseAction(UIBoolJoin.HelpPress, () =>
{
var modal = new ModalDialog(TriList);
//var modal = new ModalDialog(TriList);
//var room = DeviceManager.GetDeviceForKey(Config.DefaultRoomKey)
// as EssentialsHuddleSpaceRoom;
//string message = "Sorry, no help message available. No room connected.";
//if(room != null)
// message = room.Config.HelpMessage;
//modal.PresentModalTimerDialog(1, "Help", "Help", message,
// "Done", null, 0, false, null);
string message = null;
var room = DeviceManager.GetDeviceForKey(Config.DefaultRoomKey)
as EssentialsHuddleSpaceRoom;
string message = "Sorry, no help message available. No room connected.";
if(room != null)
if (room != null)
message = room.Config.HelpMessage;
modal.PresentModalTimerDialog(1, "Help", "Help", message,
"Done", null, 0, false, null);
else
message = "Sorry, no help message available. No room connected.";
if (HelpDriver == null)
HelpDriver = new SingleSubpageModalDriver(this, UIBoolJoin.HelpPageVisible, UIBoolJoin.HelpClosePress);
if (HelpDriver.IsVisible)
HelpDriver.Hide();
else
HelpDriver.Show();
});
TriList.SetSigFalseAction(UIBoolJoin.RoomHeaderButtonPress, () =>
{
});
base.Show();

View File

@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crestron.SimplSharp;
using Crestron.SimplSharpPro;
using Crestron.SimplSharpPro.DeviceSupport;
using Crestron.SimplSharpPro.UI;
using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.SmartObjects;
namespace PepperDash.Essentials
{
/// <summary>
/// Very basic show/hide manager for weather page. Basic functionality is useful on any
/// size of interface
/// </summary>
public class SingleSubpageModalDriver : PanelDriverBase
{
BoolInputSig SubpageSig;
public SingleSubpageModalDriver(PanelDriverBase parent, uint subpageJoin, uint closeJoin)
: base(parent.TriList)
{
SubpageSig = parent.TriList.BooleanInput[subpageJoin];
parent.TriList.SetSigFalseAction(closeJoin, Hide);
}
public override void Show()
{
SubpageSig.BoolValue = true;
base.Show();
}
public override void Hide()
{
SubpageSig.BoolValue = false;
base.Hide();
}
}
}

View File

@@ -24,8 +24,6 @@ namespace PepperDash.Essentials
//public const uint MuteTogglePress = 3813;
//public const uint MutedFeedback = 3813;
// **********************************************************
// REVISE THESE WITH JOSHUA 3800's
public const uint VolumeSingleMute1Visible = 3811;
public const uint VolumeSlider1Press = 3812;
public const uint Volume1ProgramMutePressAndFB = 3813;
@@ -49,26 +47,32 @@ namespace PepperDash.Essentials
public const uint VolumeSlider6Press = 3862;
public const uint Volume6MutePressAndFB = 3863;
/// <summary>
/// 3870
/// </summary>
public const uint VolumesPageVisible = 3870;
// **********************************************************
/// <summary>
/// 3871
/// </summary>
public const uint VolumesPageClosePress = 3871;
public const uint GenericModalVisible = 3999;
public const uint AvNoControlsSubVisible = 12345;
public const uint HomeVisible = 15001;
/// <summary>
/// Shows the start page in the source controls area of the screen
/// 15002 Shows the start page in the source controls area of the screen
/// </summary>
public const uint StartPageVisible = 15002;
public const uint StartPagePress = 15003; // REMOVE -------------------------------------------------
public const uint RoomIsOn = 15004;
//public const uint SelectSourcePopupVisible = 15005;
/// <summary>
/// Shows always-on volume control subpage with only audio mute
/// 15005 Shows always-on volume control subpage with only audio mute
/// </summary>
public const uint VolumeControlsSingleMuteVisible = 15005;
/// <summary>
/// Shows always-on volume control subpage with mic and audio mutes
/// 15006 Shows always-on volume control subpage with mic and audio mutes
/// </summary>
public const uint VolumeControlsDualMuteVisible = 15006;
public const uint ShowPanelSetupPress = 15010;
@@ -87,9 +91,15 @@ namespace PepperDash.Essentials
public const uint CallLeftHeaderButtonVisible = 15025;
public const uint LightsHeaderButtonPress = 15026;
public const uint CallHeaderButtonPress = 15027;
/// <summary>
/// 15028 The gear button in header
/// </summary>
public const uint GearHeaderButtonPress = 15028;
/// <summary>
/// 15029 the room button in header
/// </summary>
public const uint RoomHeaderButtonPress = 15029;
// 15030
public const uint RoomHeaderPageVisible = 15030;
public const uint AllRoomsOffPress = 15031;
public const uint DisplayPowerTogglePress = 15032;
public const uint PowerOffCancelPress = 15033;
@@ -100,7 +110,18 @@ namespace PepperDash.Essentials
public const uint CallStatusPageVisible = 15040;
public const uint LightsPageVisbible = 15041;
public const uint HelpButtonPress = 15087;
/// <summary>
/// 15085 Visibility join for help subpage
/// </summary>
public const uint HelpPageVisible = 15085;
/// <summary>
/// 15086 Press for help header button
/// </summary>
public const uint HelpPress = 15086;
/// <summary>
/// 15087 Press to close help page
/// </summary>
public const uint HelpClosePress = 15087;
public const uint DateOnlyVisible = 15088;
public const uint TimeOnlyVisible = 15089;
public const uint DateAndTimeVisible = 15090;
@@ -139,5 +160,6 @@ namespace PepperDash.Essentials
public const uint CurrentSourceName = 3902;
public const uint CurrentSourceIcon = 3903;
public const uint PowerOffMessage = 3911;
public const uint HelpMessage = 3922;
}
}

View File

@@ -45,13 +45,15 @@ namespace PepperDash.Essentials
/// <summary>
///
/// </summary>
public abstract class PanelDriverBase// : IBasicTriListWithSmartObject
public abstract class PanelDriverBase
{
/// <summary>
///
/// </summary>
public bool IsVisible { get; private set; }
public bool WasVisibleWhenHidden { get; private set; }
/// <summary>
/// Makes sure you call this.
/// Sets IsVisible and attaches back/home buttons to BackButtonPressed
@@ -62,14 +64,35 @@ namespace PepperDash.Essentials
TriList.SetSigFalseAction(15002, BackButtonPressed);
}
/// <summary>
/// Will show if this was visible when Hide was called (for group hiding/showing)
/// </summary>
public void Restore()
{
if (WasVisibleWhenHidden)
Show();
}
/// <summary>
/// Only sets IsVisible
/// </summary>
public virtual void Hide()
{
WasVisibleWhenHidden = IsVisible;
IsVisible = false;
}
/// <summary>
/// Toggles visibility of this driver
/// </summary>
public void Toggle()
{
if (IsVisible)
Hide();
else
Show();
}
/// <summary>
/// Override with specific back button behavior. Default is empty
/// </summary>

View File

@@ -28,7 +28,6 @@ namespace PepperDash.Essentials
Panel = tsw;
tsw.LoadSmartObjects(sgdPath);
tsw.SigChange += new Crestron.SimplSharpPro.DeviceSupport.SigEventHandler(Tsw_SigChange);
}
/// <summary>
@@ -111,7 +110,7 @@ namespace PepperDash.Essentials
var tsw = Panel as TswFt5ButtonSystem;
// Wire up hard keys
tsw.Power.UserObject = new Action<bool>(b => { if (!b) avDriver.PowerButtonPressed(); });
tsw.Home.UserObject = new Action<bool>(b => { if (!b) HomePressed(); });
//tsw.Home.UserObject = new Action<bool>(b => { if (!b) HomePressed(); });
tsw.Up.UserObject = new Action<bool>(avDriver.VolumeUpPress);
tsw.Down.UserObject = new Action<bool>(avDriver.VolumeDownPress);
tsw.ButtonStateChange += new ButtonEventHandler(Tsw_ButtonStateChange);
@@ -131,7 +130,7 @@ namespace PepperDash.Essentials
var tsw = Panel as TswFt5ButtonSystem;
// Wire up hard keys
tsw.Power.UserObject = new Action<bool>(b => { if (!b) avDriver.PowerButtonPressed(); });
tsw.Home.UserObject = new Action<bool>(b => { if (!b) HomePressed(); });
//tsw.Home.UserObject = new Action<bool>(b => { if (!b) HomePressed(); });
tsw.Up.UserObject = new Action<bool>(avDriver.VolumeUpPress);
tsw.Down.UserObject = new Action<bool>(avDriver.VolumeDownPress);
tsw.ButtonStateChange += new ButtonEventHandler(Tsw_ButtonStateChange);

View File

@@ -10,8 +10,8 @@
<ArchiveName />
</RequiredInfo>
<OptionalInfo>
<CompiledOn>2/8/2017 10:41:47 AM</CompiledOn>
<CompilerRev>1.0.0.31698</CompilerRev>
<CompiledOn>2/8/2017 2:44:12 PM</CompiledOn>
<CompilerRev>1.0.0.26524</CompilerRev>
</OptionalInfo>
<Plugin>
<Version>Crestron.SIMPLSharp, Version=2.0.48.0, Culture=neutral, PublicKeyToken=812d080f93e2de10</Version>

View File

@@ -1,4 +1,4 @@
MainAssembly=PepperDashEssentials.dll:03a054a3c6b53e2cfb0d0c2061de7dfc
MainAssembly=PepperDashEssentials.dll:16286fc87faa5656107cc7d7753daf7a
MainAssemblyMinFirmwareVersion=1.009.0029
MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e
ü
@@ -30,9 +30,9 @@ DependencySource=Crestron.SimplSharpPro.UI.dll:089312a0cb0b4537072d4eb234e71e0e
DependencyPath=PepperDashEssentials.cpz:Crestron.SimplSharpPro.UI.dll
DependencyMainAssembly=Crestron.SimplSharpPro.UI.dll:089312a0cb0b4537072d4eb234e71e0e
ü
DependencySource=Essentials Devices Common.dll:bd1f528d502da8cf608b0e02c759fe66
DependencySource=Essentials Devices Common.dll:34096f733e1dccaaa0a25a0078bee6c1
DependencyPath=PepperDashEssentials.cpz:Essentials Devices Common.dll
DependencyMainAssembly=Essentials Devices Common.dll:bd1f528d502da8cf608b0e02c759fe66
DependencyMainAssembly=Essentials Devices Common.dll:34096f733e1dccaaa0a25a0078bee6c1
ü
DependencySource=EssentialsHttpServer.dll:0666085bdb0856c1d117699c7859bb8c
DependencyPath=PepperDashEssentials.cpz:EssentialsHttpServer.dll
@@ -58,9 +58,9 @@ DependencySource=PepperDash_Essentials_Displays.dll:3135ef6b8f66b5b1bc5223aad3ef
DependencyPath=PepperDashEssentials.cpz:PepperDash_Essentials_Displays.dll
DependencyMainAssembly=PepperDash_Essentials_Displays.dll:3135ef6b8f66b5b1bc5223aad3ef66e0
ü
DependencySource=PepperDash_Essentials_DM.dll:74a4eda48a2b1a459216a509a699818e
DependencySource=PepperDash_Essentials_DM.dll:79c934f3762e7e3ad6044a4afb070e29
DependencyPath=PepperDashEssentials.cpz:PepperDash_Essentials_DM.dll
DependencyMainAssembly=PepperDash_Essentials_DM.dll:74a4eda48a2b1a459216a509a699818e
DependencyMainAssembly=PepperDash_Essentials_DM.dll:79c934f3762e7e3ad6044a4afb070e29
ü
DependencySource=SimplSharpCryptographyInterface.dll:dd4791a86d6f67ddc309c4ab1e24c663
DependencyPath=PepperDashEssentials.cpz:SimplSharpCryptographyInterface.dll

View File

@@ -82,3 +82,30 @@ C:\Users\hvolmer\Desktop\working\essentials-ssp\PepperDashEssentials\PepperDashE
C:\Users\hvolmer\Desktop\working\essentials-ssp\PepperDashEssentials\PepperDashEssentials\bin\PepperDashCorePortalSync.dll
C:\Users\hvolmer\Desktop\working\essentials-ssp\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpCWSHelperInterface.dll
C:\Users\hvolmer\Desktop\working\essentials-ssp\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpCryptographyInterface.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\obj\Debug\ResolveAssemblyReference.cache
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\obj\Debug\PepperDashEssentials.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll.config
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.pdb
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.DeviceSupport.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.DM.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.EthernetCommunications.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.Fusion.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.Remotes.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.UI.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Essentials Devices Common.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\EssentialsHttpServer.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDash_Core.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDash_Essentials_DM.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashCorePortalSync.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpCustomAttributesInterface.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpHelperInterface.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpNewtonsoft.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpPro.exe
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpCWSHelperInterface.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpSQLHelperInterface.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpCryptographyInterface.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.Gateways.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpReflectionInterface.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Newtonsoft.Json.Compact.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\obj\Debug\PepperDashEssentials.pdb