Getting basic presentation room routing going!

This commit is contained in:
Heath Volmer
2017-02-13 17:30:18 -07:00
parent 13dd7a3914
commit 2d30a89f93
21 changed files with 119 additions and 37 deletions

View File

@@ -88,9 +88,9 @@
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.dll</HintPath> <HintPath>..\..\..\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.dll</HintPath>
</Reference> </Reference>
<Reference Include="PepperDash_Essentials_Core, Version=1.0.0.24312, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="PepperDash_Essentials_Core, Version=1.0.0.30070, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\essentials-ssp-base\PepperDashEssentialsBase\PepperDashEssentialsBase\bin\PepperDash_Essentials_Core.dll</HintPath> <HintPath>..\..\..\essentials-core\PepperDashEssentialsBase\PepperDashEssentialsBase\bin\PepperDash_Essentials_Core.dll</HintPath>
</Reference> </Reference>
<Reference Include="PepperDash_Essentials_DM, Version=1.0.0.17590, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="PepperDash_Essentials_DM, Version=1.0.0.17590, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>

View File

@@ -130,12 +130,22 @@ namespace PepperDash.Essentials
EnablePowerOnToLastSource = true; EnablePowerOnToLastSource = true;
} }
/// <summary>
public void DoSourceToAllDestinationsRoute(string sourceKey) /// Run the same source to all destinations
/// </summary>
/// <param name="sourceItem"></param>
public void DoSourceToAllDestinationsRoute(SourceListItem sourceItem)
{ {
foreach (var display in Displays.Values) foreach (var display in Displays.Values)
DoVideoRoute(sourceKey, display.Key); {
if (sourceItem != null)
DoVideoRoute(sourceItem.SourceKey, display.Key);
else
DoVideoRoute("$off", display.Key);
}
CurrentSourceInfo = sourceItem;
OnFeedback.FireUpdate();
} }
/// <summary> /// <summary>
@@ -145,19 +155,27 @@ namespace PepperDash.Essentials
{ {
new CTimer(o => new CTimer(o =>
{ {
var source = DeviceManager.GetDeviceForKey(sourceKey) as IRoutingSource;
if (source == null)
{
Debug.Console(1, this, "Cannot route. Source '{0}' not found", sourceKey);
return;
}
var dest = DeviceManager.GetDeviceForKey(destinationKey) as IRoutingSinkNoSwitching; var dest = DeviceManager.GetDeviceForKey(destinationKey) as IRoutingSinkNoSwitching;
if (dest == null) if (dest == null)
{ {
Debug.Console(1, this, "Cannot route. Destination '{0}' not found", destinationKey); Debug.Console(1, this, "Cannot route. Destination '{0}' not found", destinationKey);
return; return;
} }
// off is special case
if (sourceKey.Equals("$off", StringComparison.OrdinalIgnoreCase))
{
dest.ReleaseRoute();
if (dest is IPower)
(dest as IPower).PowerOff();
return;
}
var source = DeviceManager.GetDeviceForKey(sourceKey) as IRoutingOutputs;
if (source == null)
{
Debug.Console(1, this, "Cannot route. Source '{0}' not found", sourceKey);
return;
}
dest.ReleaseAndMakeRoute(source, eRoutingSignalType.Video); dest.ReleaseAndMakeRoute(source, eRoutingSignalType.Video);
}, 0); }, 0);
} }

View File

@@ -62,7 +62,7 @@ namespace PepperDash.Essentials
public string SourceListKey { get; set; } public string SourceListKey { get; set; }
} }
public class EssentialsPresentationRoomPropertiesConfig public class EssentialsPresentationRoomPropertiesConfig : EssentialsRoomPropertiesConfig
{ {
public string DefaultAudioBehavior { get; set; } public string DefaultAudioBehavior { get; set; }
public string DefaultAudioKey { get; set; } public string DefaultAudioKey { get; set; }

View File

@@ -0,0 +1,50 @@
2/13/2017 2:51:26 PM, Info: Initializing SIMPLSharp Services...
2/13/2017 2:51:26 PM, Info: ProjectInfo successfully initialized.
2/13/2017 3:00:26 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll...
2/13/2017 3:00:27 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
2/13/2017 3:00:27 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz...
2/13/2017 3:00:28 PM, Info: Saving project information...
2/13/2017 3:40:21 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll...
2/13/2017 3:40:21 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
2/13/2017 3:40:21 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz...
2/13/2017 3:40:23 PM, Info: Saving project information...
2/13/2017 3:47:17 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll...
2/13/2017 3:47:17 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
2/13/2017 3:47:17 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz...
2/13/2017 3:47:19 PM, Info: Saving project information...
2/13/2017 4:05:25 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll...
2/13/2017 4:05:25 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
2/13/2017 4:05:25 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz...
2/13/2017 4:05:27 PM, Info: Saving project information...
2/13/2017 4:21:21 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll...
2/13/2017 4:21:21 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
2/13/2017 4:21:22 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz...
2/13/2017 4:21:23 PM, Info: Saving project information...
2/13/2017 4:43:04 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials-core\PepperDashEssentialsBase\PepperDashEssentialsBase\bin\PepperDash_Essentials_Core.dll...
2/13/2017 4:43:16 PM, Info: Saving project information...
2/13/2017 4:43:16 PM, Info: Saving project information...
2/13/2017 4:43:16 PM, Info: Saving project information...
2/13/2017 4:43:16 PM, Info: Saving project information...
2/13/2017 4:43:16 PM, Info: Saving project information...
2/13/2017 4:43:16 PM, Info: Saving project information...
2/13/2017 4:43:19 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll...
2/13/2017 4:43:19 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
2/13/2017 4:43:19 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz...
2/13/2017 4:43:21 PM, Info: Saving project information...
2/13/2017 4:44:06 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll...
2/13/2017 4:44:07 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
2/13/2017 4:44:07 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz...
2/13/2017 4:44:08 PM, Info: Saving project information...
2/13/2017 4:50:55 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll...
2/13/2017 4:50:55 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
2/13/2017 4:50:55 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz...
2/13/2017 4:50:57 PM, Info: Saving project information...
2/13/2017 5:19:48 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll...
2/13/2017 5:19:49 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
2/13/2017 5:19:49 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz...
2/13/2017 5:19:50 PM, Info: Saving project information...
2/13/2017 5:26:40 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll...
2/13/2017 5:26:41 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
2/13/2017 5:26:41 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz...
2/13/2017 5:26:43 PM, Info: Saving project information...
2/13/2017 5:29:13 PM, Info: Terminating SIMPLSharp Services

View File

@@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using Crestron.SimplSharp; using Crestron.SimplSharp;
using Crestron.SimplSharpPro; using Crestron.SimplSharpPro;
@@ -188,7 +189,7 @@ namespace PepperDash.Essentials
{ {
string message = null; string message = null;
var room = DeviceManager.GetDeviceForKey(Config.DefaultRoomKey) var room = DeviceManager.GetDeviceForKey(Config.DefaultRoomKey)
as EssentialsHuddleSpaceRoom; as EssentialsPresentationRoom;
if (room != null) if (room != null)
message = room.Config.HelpMessage; message = room.Config.HelpMessage;
else else
@@ -292,7 +293,9 @@ namespace PepperDash.Essentials
ActivityFooterSrl.Clear(); ActivityFooterSrl.Clear();
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0, ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0,
b => { if (!b) ShareButtonPressed(); })); b => { if (!b) ShareButtonPressed(); }));
ActivityFooterSrl.Count = 1; ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl, 1,
b => { }));
ActivityFooterSrl.Count = 2;
TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 0; TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 0;
} }
@@ -304,9 +307,11 @@ namespace PepperDash.Essentials
ActivityFooterSrl.Clear(); ActivityFooterSrl.Clear();
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl,
0, null)); 0, null));
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl, ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(2, ActivityFooterSrl,
1, b => { if (!b) ShareButtonPressed(); }));
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(3, ActivityFooterSrl,
3, b => { if (!b) PowerButtonPressed(); })); 3, b => { if (!b) PowerButtonPressed(); }));
ActivityFooterSrl.Count = 2; ActivityFooterSrl.Count = 3;
TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 1; TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 1;
EndMeetingButtonSig = ActivityFooterSrl.BoolInputSig(2, 1); EndMeetingButtonSig = ActivityFooterSrl.BoolInputSig(2, 1);
} }
@@ -426,9 +431,9 @@ namespace PepperDash.Essentials
/// to change to the proper screen. /// to change to the proper screen.
/// </summary> /// </summary>
/// <param name="key">The key name of the route to run</param> /// <param name="key">The key name of the route to run</param>
void UiSelectSource(string key) void UiSelectSource(SourceListItem sourceItem)
{ {
CurrentRoom.DoSourceToAllDestinationsRoute(key); CurrentRoom.DoSourceToAllDestinationsRoute(sourceItem);
} }
/// <summary> /// <summary>
@@ -450,7 +455,7 @@ namespace PepperDash.Essentials
but => but =>
{ {
if (but != 2) if (but != 2)
CurrentRoom.RunRouteAction("roomOff"); CurrentRoom.DoSourceToAllDestinationsRoute(null);
else else
ShareButtonSig.BoolValue = true; // restore Share fb ShareButtonSig.BoolValue = true; // restore Share fb
EndMeetingButtonSig.BoolValue = false; EndMeetingButtonSig.BoolValue = false;
@@ -553,25 +558,26 @@ namespace PepperDash.Essentials
var config = ConfigReader.ConfigObject.SourceLists; var config = ConfigReader.ConfigObject.SourceLists;
if (config.ContainsKey(_CurrentRoom.SourceListKey)) if (config.ContainsKey(_CurrentRoom.SourceListKey))
{ {
var srcList = config[_CurrentRoom.SourceListKey]; var srcList = config[_CurrentRoom.SourceListKey]
.Values.ToList().OrderBy(s => s.Order);
// Setup sources list // Setup sources list
uint i = 1; // counter for UI list uint i = 1; // counter for UI list
foreach (var kvp in srcList) foreach (var srcConfig in srcList)
{ {
var srcConfig = kvp.Value;
if (!srcConfig.IncludeInSourceList) // Skip sources marked this way if (!srcConfig.IncludeInSourceList) // Skip sources marked this way
continue; continue;
var actualSource = DeviceManager.GetDeviceForKey(srcConfig.SourceKey) as Device; var sourceKey = srcConfig.SourceKey;
var actualSource = DeviceManager.GetDeviceForKey(sourceKey) as Device;
if (actualSource == null) if (actualSource == null)
{ {
Debug.Console(0, "Cannot assign missing source '{0}' to source UI list", Debug.Console(0, "Cannot assign missing source '{0}' to source UI list",
srcConfig.SourceKey); srcConfig.SourceKey);
continue; continue;
} }
var sourceKey = srcConfig.SourceKey; var localSrcConfig = srcConfig; // lambda scope below
var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig, var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig,
b => { if (!b) UiSelectSource(sourceKey); }); b => { if (!b) UiSelectSource(localSrcConfig); });
SourcesSrl.AddItem(item); // add to the SRL SourcesSrl.AddItem(item); // add to the SRL
item.RegisterForSourceChange(_CurrentRoom); item.RegisterForSourceChange(_CurrentRoom);
} }

View File

@@ -98,9 +98,9 @@ namespace PepperDash.Essentials
var room = DeviceManager.GetDeviceForKey(props.DefaultRoomKey); var room = DeviceManager.GetDeviceForKey(props.DefaultRoomKey);
if (room is EssentialsHuddleSpaceRoom) if (room is EssentialsHuddleSpaceRoom)
{ {
Debug.Console(0, this, "Adding huddle space driver");
var avDriver = new EssentialsHuddlePanelAvFunctionsDriver(mainDriver, props); var avDriver = new EssentialsHuddlePanelAvFunctionsDriver(mainDriver, props);
avDriver.CurrentRoom = DeviceManager.GetDeviceForKey(props.DefaultRoomKey) avDriver.CurrentRoom = room as EssentialsHuddleSpaceRoom;
as EssentialsHuddleSpaceRoom;
avDriver.DefaultRoomKey = props.DefaultRoomKey; avDriver.DefaultRoomKey = props.DefaultRoomKey;
mainDriver.AvDriver = avDriver; mainDriver.AvDriver = avDriver;
LoadAndShowDriver(mainDriver); // This is a little convoluted. LoadAndShowDriver(mainDriver); // This is a little convoluted.
@@ -118,9 +118,9 @@ namespace PepperDash.Essentials
} }
else if (room is EssentialsPresentationRoom) else if (room is EssentialsPresentationRoom)
{ {
Debug.Console(0, this, "Adding presentation room driver");
var avDriver = new EssentialsPresentationPanelAvFunctionsDriver(mainDriver, props); var avDriver = new EssentialsPresentationPanelAvFunctionsDriver(mainDriver, props);
avDriver.CurrentRoom = DeviceManager.GetDeviceForKey(props.DefaultRoomKey) avDriver.CurrentRoom = room as EssentialsPresentationRoom;
as EssentialsPresentationRoom;
avDriver.DefaultRoomKey = props.DefaultRoomKey; avDriver.DefaultRoomKey = props.DefaultRoomKey;
mainDriver.AvDriver = avDriver; mainDriver.AvDriver = avDriver;
LoadAndShowDriver(mainDriver); LoadAndShowDriver(mainDriver);

View File

@@ -12,6 +12,13 @@ namespace PepperDash.Essentials
{ {
public class SubpageReferenceListActivityItem : SubpageReferenceListItem public class SubpageReferenceListActivityItem : SubpageReferenceListItem
{ {
/// <summary>
///
/// </summary>
/// <param name="index"></param>
/// <param name="owner"></param>
/// <param name="buttonMode">0=Share, 1=Phone Call, 2=Video Call, 3=End Meeting</param>
/// <param name="pressAction"></param>
public SubpageReferenceListActivityItem(uint index, SubpageReferenceList owner, public SubpageReferenceListActivityItem(uint index, SubpageReferenceList owner,
ushort buttonMode, Action<bool> pressAction) ushort buttonMode, Action<bool> pressAction)
: base(index, owner) : base(index, owner)

View File

@@ -10,8 +10,8 @@
<ArchiveName /> <ArchiveName />
</RequiredInfo> </RequiredInfo>
<OptionalInfo> <OptionalInfo>
<CompiledOn>2/10/2017 2:29:52 PM</CompiledOn> <CompiledOn>2/13/2017 5:26:41 PM</CompiledOn>
<CompilerRev>1.0.0.26094</CompilerRev> <CompilerRev>1.0.0.31399</CompilerRev>
</OptionalInfo> </OptionalInfo>
<Plugin> <Plugin>
<Version>Crestron.SIMPLSharp, Version=2.0.48.0, Culture=neutral, PublicKeyToken=812d080f93e2de10</Version> <Version>Crestron.SIMPLSharp, Version=2.0.48.0, Culture=neutral, PublicKeyToken=812d080f93e2de10</Version>

View File

@@ -1,4 +1,4 @@
MainAssembly=PepperDashEssentials.dll:82beec10314644945c51c91d5582e167 MainAssembly=PepperDashEssentials.dll:7af4e6d55a20dd121757619674d8ae00
MainAssemblyMinFirmwareVersion=1.009.0029 MainAssemblyMinFirmwareVersion=1.009.0029
MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e
ü ü
@@ -46,13 +46,13 @@ DependencySource=PepperDashCorePortalSync.dll:80cb079012e59e1a1805c7e5bbe07e76
DependencyPath=PepperDashEssentials.cpz:PepperDashCorePortalSync.dll DependencyPath=PepperDashEssentials.cpz:PepperDashCorePortalSync.dll
DependencyMainAssembly=PepperDashCorePortalSync.dll:80cb079012e59e1a1805c7e5bbe07e76 DependencyMainAssembly=PepperDashCorePortalSync.dll:80cb079012e59e1a1805c7e5bbe07e76
ü ü
DependencySource=PepperDash_Core.dll:2ce705d0617973f5c800064ef6bd32cd DependencySource=PepperDash_Core.dll:376f0c0b11f57cee97fbee77c6d5579f
DependencyPath=PepperDashEssentials.cpz:PepperDash_Core.dll DependencyPath=PepperDashEssentials.cpz:PepperDash_Core.dll
DependencyMainAssembly=PepperDash_Core.dll:2ce705d0617973f5c800064ef6bd32cd DependencyMainAssembly=PepperDash_Core.dll:376f0c0b11f57cee97fbee77c6d5579f
ü ü
DependencySource=PepperDash_Essentials_Core.dll:3681d811c2088b5a70962bce0435d2cc DependencySource=PepperDash_Essentials_Core.dll:f7a721fec365c6060bc860c9e095cee7
DependencyPath=PepperDashEssentials.cpz:PepperDash_Essentials_Core.dll DependencyPath=PepperDashEssentials.cpz:PepperDash_Essentials_Core.dll
DependencyMainAssembly=PepperDash_Essentials_Core.dll:3681d811c2088b5a70962bce0435d2cc DependencyMainAssembly=PepperDash_Essentials_Core.dll:f7a721fec365c6060bc860c9e095cee7
ü ü
DependencySource=PepperDash_Essentials_Displays.dll:3135ef6b8f66b5b1bc5223aad3ef66e0 DependencySource=PepperDash_Essentials_Displays.dll:3135ef6b8f66b5b1bc5223aad3ef66e0
DependencyPath=PepperDashEssentials.cpz:PepperDash_Essentials_Displays.dll DependencyPath=PepperDashEssentials.cpz:PepperDash_Essentials_Displays.dll

View File

@@ -109,3 +109,4 @@ C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssen
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpReflectionInterface.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\bin\Newtonsoft.Json.Compact.dll
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\obj\Debug\PepperDashEssentials.pdb C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\obj\Debug\PepperDashEssentials.pdb
C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDash_Essentials_Core.dll