diff --git a/PepperDashEssentials/PepperDashEssentials.suo b/PepperDashEssentials/PepperDashEssentials.suo
index c2419b44..2350fb1f 100644
Binary files a/PepperDashEssentials/PepperDashEssentials.suo and b/PepperDashEssentials/PepperDashEssentials.suo differ
diff --git a/PepperDashEssentials/PepperDashEssentials/Audio/EssentialsVolumeLevelConfig.cs b/PepperDashEssentials/PepperDashEssentials/Audio/EssentialsVolumeLevelConfig.cs
new file mode 100644
index 00000000..2ce59344
--- /dev/null
+++ b/PepperDashEssentials/PepperDashEssentials/Audio/EssentialsVolumeLevelConfig.cs
@@ -0,0 +1,78 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Text.RegularExpressions;
+using Crestron.SimplSharp;
+using Newtonsoft.Json;
+
+using PepperDash.Core;
+using PepperDash.Essentials.Core;
+using PepperDash.Essentials.Core.Config;
+using PepperDash.Essentials.Devices.Common.DSP;
+using PepperDash.Essentials.DM;
+
+namespace PepperDash.Essentials
+{
+ ///
+ ///
+ ///
+ public class EssentialsPresentationVolumesConfig
+ {
+ public EssentialsVolumeLevelConfig Master { get; set; }
+ public EssentialsVolumeLevelConfig Program { get; set; }
+ public EssentialsVolumeLevelConfig AudioCallRx { get; set; }
+ public EssentialsVolumeLevelConfig AudioCallTx { get; set; }
+ }
+
+
+ ///
+ ///
+ ///
+ public class EssentialsVolumeLevelConfig
+ {
+ public string DeviceKey { get; set; }
+ public string Label { get; set; }
+ public int Level { get; set; }
+
+ ///
+ /// Helper to get the device associated with key - one timer.
+ ///
+ public IBasicVolumeWithFeedback GetDevice()
+ {
+ // DM output card format: deviceKey--output~number, dm8x8-1--output~4
+ var match = Regex.Match(DeviceKey, @"([-_\w]+)--(\w+)~(\d+)");
+ if (match.Success)
+ {
+ var devKey = match.Groups[1].Value;
+ var chassis = DeviceManager.GetDeviceForKey(devKey) as DmChassisController;
+ if (chassis != null)
+ {
+ var outputNum = Convert.ToUInt32(match.Groups[3].Value);
+ if (chassis.VolumeControls.ContainsKey(outputNum)) // should always...
+ return chassis.VolumeControls[outputNum];
+ }
+ // No volume for some reason. We have failed as developers
+ return null;
+ }
+
+ // DSP format: deviceKey--levelName, biampTesira-1--master
+ match = Regex.Match(DeviceKey, @"([-_\w]+)--(.+)");
+ if (match.Success)
+ {
+ var devKey = match.Groups[1].Value;
+ var dsp = DeviceManager.GetDeviceForKey(devKey) as BiampTesiraForteDsp;
+ if (dsp != null)
+ {
+ var levelTag = match.Groups[2].Value;
+ if (dsp.LevelControlPoints.ContainsKey(levelTag)) // should always...
+ return dsp.LevelControlPoints[levelTag];
+ }
+ // No volume for some reason. We have failed as developers
+ return null;
+ }
+
+ return null;
+ }
+ }
+}
\ No newline at end of file
diff --git a/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.csproj b/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.csproj
index 6a2afa9b..a74e15fe 100644
--- a/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.csproj
+++ b/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.csproj
@@ -117,6 +117,7 @@
+
diff --git a/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo b/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo
index 9e7e59e5..1cee78c6 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo and b/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo differ
diff --git a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsHuddleSpaceRoom.cs b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsHuddleSpaceRoom.cs
index 7ffd2c15..9485ee10 100644
--- a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsHuddleSpaceRoom.cs
+++ b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsHuddleSpaceRoom.cs
@@ -122,7 +122,7 @@ namespace PepperDash.Essentials
public void RunRouteAction(string routeKey)
{
RunRouteAction(routeKey, null);
- }
+ }
///
/// Gets a source from config list SourceListKey and dynamically build and executes the
diff --git a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsPresentationRoom.cs b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsPresentationRoom.cs
index 5b5db75c..73fd504f 100644
--- a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsPresentationRoom.cs
+++ b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsPresentationRoom.cs
@@ -192,9 +192,9 @@ namespace PepperDash.Essentials
///
public void RouteSourceToAllDestinations(SourceListItem sourceItem)
{
- if (Config.Volumes.ContainsKey("master"))
+ if (Config.Volumes.Master != null)
{
- var audioDev = DeviceManager.GetDeviceForKey(Config.Volumes["master"].DeviceKey);
+ var audioDev = DeviceManager.GetDeviceForKey(Config.Volumes.Master.DeviceKey);
if (audioDev is IBasicVolumeWithFeedback)
{
diff --git a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsRoomConfig.cs b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsRoomConfig.cs
index 73e51e37..3e359e44 100644
--- a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsRoomConfig.cs
+++ b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsRoomConfig.cs
@@ -44,33 +44,11 @@ namespace PepperDash.Essentials
displaysDict.Add(i++, disp);
}
- // Need to assign the volume control point and also audio routing endpoint, if routing
- // is required: For DSP, typically no.
-
- IBasicVolumeWithFeedback masterVolumeControlDev = null;
- if (props.Volumes.ContainsKey("master"))
- {
- var audioConfig = props.Volumes["master"];
- // need to either get a device or drill down into a device for a card or port
-
- // Check for DM output port format
- var match = Regex.Match(audioConfig.DeviceKey, @"([-_\w]+)--(\w+)~(\d+)");
- if(match.Success)
- {
- var devKey = match.Groups[1].Value;
- var chassis = DeviceManager.GetDeviceForKey(devKey) as DmChassisController;
- if (chassis != null)
- {
- var outputNum = Convert.ToUInt32(match.Groups[3].Value);
- if (chassis.VolumeControls.ContainsKey(outputNum)) // should always...
- {
- masterVolumeControlDev = chassis.VolumeControls[outputNum];
- Debug.Console(2, "Setting '{0}' as master volume control on room", audioConfig.DeviceKey);
- }
- }
- }
- }
+ // Get the master volume control
+ IBasicVolumeWithFeedback masterVolumeControlDev = props.Volumes.Master.GetDevice();
+#warning Will need to define audio routing somewhere as well
+
var presRoom = new EssentialsPresentationRoom(Key, Name, displaysDict, masterVolumeControlDev, props);
return presRoom;
}
@@ -78,12 +56,18 @@ namespace PepperDash.Essentials
}
}
+ ///
+ ///
+ ///
public class EssentialsRoomPropertiesConfig
{
public string HelpMessage { get; set; }
public string Description { get; set; }
}
+ ///
+ ///
+ ///
public class EssentialsHuddleRoomPropertiesConfig : EssentialsRoomPropertiesConfig
{
public string DefaultDisplayKey { get; set; }
@@ -91,6 +75,9 @@ namespace PepperDash.Essentials
public string SourceListKey { get; set; }
}
+ ///
+ ///
+ ///
public class EssentialsPresentationRoomPropertiesConfig : EssentialsRoomPropertiesConfig
{
public string DefaultAudioBehavior { get; set; }
@@ -98,19 +85,12 @@ namespace PepperDash.Essentials
public string DefaultVideoBehavior { get; set; }
public List DisplayKeys { get; set; }
public string SourceListKey { get; set; }
- public Dictionary Volumes { get; set; }
+ public bool HasDsp { get; set; }
+ public EssentialsPresentationVolumesConfig Volumes { get; set; }
public EssentialsPresentationRoomPropertiesConfig()
{
DisplayKeys = new List();
- Volumes = new Dictionary();
}
- }
-
- public class EssentialsVolumeLevelConfig
- {
- public string DeviceKey { get; set; }
- public string Label { get; set; }
- public int Level { get; set; }
- }
+ }
}
\ No newline at end of file
diff --git a/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-16 12-22-16).log b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-16 12-22-16).log
new file mode 100644
index 00000000..2636c352
--- /dev/null
+++ b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-16 12-22-16).log
@@ -0,0 +1,3 @@
+3/16/2017 12:22:16 PM, Info: Initializing SIMPLSharp Services...
+3/16/2017 12:22:16 PM, Info: ProjectInfo successfully initialized.
+3/16/2017 12:24:22 PM, Info: Terminating SIMPLSharp Services
diff --git a/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-16 12-44-48).log b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-16 12-44-48).log
new file mode 100644
index 00000000..02ed1c25
--- /dev/null
+++ b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-16 12-44-48).log
@@ -0,0 +1,6 @@
+3/16/2017 12:44:48 PM, Info: Initializing SIMPLSharp Services...
+3/16/2017 12:44:48 PM, Info: ProjectInfo successfully initialized.
+3/16/2017 12:47:38 PM, Info: Saving project information...
+3/16/2017 12:47:38 PM, Info: Saving project information...
+3/16/2017 12:47:38 PM, Info: Saving project information...
+3/17/2017 12:46:21 PM, Info: Terminating SIMPLSharp Services
diff --git a/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-17 09-00-38).log b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-17 09-00-38).log
new file mode 100644
index 00000000..06ebb861
--- /dev/null
+++ b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-17 09-00-38).log
@@ -0,0 +1,3 @@
+3/17/2017 9:00:38 AM, Info: Initializing SIMPLSharp Services...
+3/17/2017 9:00:38 AM, Info: ProjectInfo successfully initialized.
+3/17/2017 12:46:21 PM, Info: Terminating SIMPLSharp Services
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/Essentials Devices Common.dll b/PepperDashEssentials/PepperDashEssentials/bin/Essentials Devices Common.dll
index fdf2ac2b..2590cbe3 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/bin/Essentials Devices Common.dll and b/PepperDashEssentials/PepperDashEssentials/bin/Essentials Devices Common.dll differ
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz
index d83f3fb3..f58c21e4 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 791e60c5..e7fd7602 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 6c931ff0..39acb47a 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb differ
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDash_Core.dll b/PepperDashEssentials/PepperDashEssentials/bin/PepperDash_Core.dll
index 57f8b70d..88995d8e 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDash_Core.dll and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDash_Core.dll differ
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config b/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config
index 4bddbef7..644b5f49 100644
--- a/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config
+++ b/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config
@@ -10,8 +10,8 @@
- 3/15/2017 11:45:10 AM
- 1.0.0.19353
+ 3/20/2017 7:54:11 AM
+ 1.0.0.12423
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 45d7133d..5b9e1ac0 100644
--- a/PepperDashEssentials/PepperDashEssentials/bin/manifest.info
+++ b/PepperDashEssentials/PepperDashEssentials/bin/manifest.info
@@ -1,4 +1,4 @@
-MainAssembly=PepperDashEssentials.dll:bfe94f76112b33e310c0f6e4484463e2
+MainAssembly=PepperDashEssentials.dll:36b68cb2a41be892b66878dfa5284633
MainAssemblyMinFirmwareVersion=1.009.0029
MainAssemblyResource=SimplSharpData.dat:820b61c48c8a2cace82957eed4cc377c
ü
@@ -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:22c2d648cf02d3bf28b6c42f461c927f
+DependencySource=Essentials Devices Common.dll:8c62479abf8cd36d922665ee540cdd85
DependencyPath=PepperDashEssentials.cpz:Essentials Devices Common.dll
-DependencyMainAssembly=Essentials Devices Common.dll:22c2d648cf02d3bf28b6c42f461c927f
+DependencyMainAssembly=Essentials Devices Common.dll:8c62479abf8cd36d922665ee540cdd85
ü
DependencySource=EssentialsHttpServer.dll:0666085bdb0856c1d117699c7859bb8c
DependencyPath=PepperDashEssentials.cpz:EssentialsHttpServer.dll
@@ -42,9 +42,9 @@ DependencySource=PepperDashCorePortalSync.dll:815e608cb8a8808dab167837cf89b15a
DependencyPath=PepperDashEssentials.cpz:PepperDashCorePortalSync.dll
DependencyMainAssembly=PepperDashCorePortalSync.dll:815e608cb8a8808dab167837cf89b15a
ü
-DependencySource=PepperDash_Core.dll:598033e01568965c3bd67b29e5993374
+DependencySource=PepperDash_Core.dll:49fe0d78cb676a902c692056067fef4b
DependencyPath=PepperDashEssentials.cpz:PepperDash_Core.dll
-DependencyMainAssembly=PepperDash_Core.dll:598033e01568965c3bd67b29e5993374
+DependencyMainAssembly=PepperDash_Core.dll:49fe0d78cb676a902c692056067fef4b
ü
DependencySource=PepperDash_Essentials_Core.dll:a3ae2c4b5d2e1890a5788cf717d1b579
DependencyPath=PepperDashEssentials.cpz:PepperDash_Essentials_Core.dll
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser b/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser
index f4854431..2ba42fd6 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 f607e55e..dca028b7 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 25e87273..f8b8797e 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb and b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb differ
diff --git a/PepperDashEssentials/PepperDashEssentials/obj/Debug/ResolveAssemblyReference.cache b/PepperDashEssentials/PepperDashEssentials/obj/Debug/ResolveAssemblyReference.cache
index 2ea0845f..312e2d40 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/obj/Debug/ResolveAssemblyReference.cache and b/PepperDashEssentials/PepperDashEssentials/obj/Debug/ResolveAssemblyReference.cache differ