diff --git a/PepperDashEssentials/PepperDashEssentials.suo b/PepperDashEssentials/PepperDashEssentials.suo index 562298af..c2419b44 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 bfbfa4fa..9e7e59e5 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 c29ca706..7ffd2c15 100644 --- a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsHuddleSpaceRoom.cs +++ b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsHuddleSpaceRoom.cs @@ -110,6 +110,7 @@ namespace PepperDash.Essentials DefaultVolumeControls = defaultAudio as IBasicVolumeControls; else if (defaultAudio is IHasVolumeDevice) DefaultVolumeControls = (defaultAudio as IHasVolumeDevice).VolumeDevice; + CurrentVolumeControls = DefaultVolumeControls; OnFeedback = new BoolFeedback(() => { return CurrentSourceInfo != null diff --git a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsPresentationRoom.cs b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsPresentationRoom.cs index d48003a5..5b5db75c 100644 --- a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsPresentationRoom.cs +++ b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsPresentationRoom.cs @@ -158,16 +158,20 @@ namespace PepperDash.Essentials /// public EssentialsPresentationRoom(string key, string name, Dictionary displays, - IRoutingSinkNoSwitching defaultAudio, EssentialsPresentationRoomPropertiesConfig config) + IBasicVolumeWithFeedback defaultVolume, EssentialsPresentationRoomPropertiesConfig config) : base(key, name) { Config = config; Displays = displays; - DefaultAudioDevice = defaultAudio; - if (defaultAudio is IBasicVolumeControls) - DefaultVolumeControls = defaultAudio as IBasicVolumeControls; - else if (defaultAudio is IHasVolumeDevice) - DefaultVolumeControls = (defaultAudio as IHasVolumeDevice).VolumeDevice; + + DefaultVolumeControls = defaultVolume; + CurrentVolumeControls = defaultVolume; + + //DefaultAudioDevice = defaultAudio; + //if (defaultAudio is IBasicVolumeControls) + // DefaultVolumeControls = defaultAudio as IBasicVolumeControls; + //else if (defaultAudio is IHasVolumeDevice) + // DefaultVolumeControls = (defaultAudio as IHasVolumeDevice).VolumeDevice; OnFeedback = new BoolFeedback(() => { return (CurrentSingleSourceInfo != null diff --git a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsRoomConfig.cs b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsRoomConfig.cs index db2f759d..73e51e37 100644 --- a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsRoomConfig.cs +++ b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsRoomConfig.cs @@ -2,12 +2,14 @@ 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.DM; namespace PepperDash.Essentials { @@ -43,15 +45,33 @@ namespace PepperDash.Essentials } // Need to assign the volume control point and also audio routing endpoint, if routing - // is required: For DSP, typically no. - IRoutingSinkNoSwitching masterAudioDev = null; + // is required: For DSP, typically no. + + IBasicVolumeWithFeedback masterVolumeControlDev = null; if (props.Volumes.ContainsKey("master")) { - var audioKey = props.Volumes["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); + } + } + } } - var presRoom = new EssentialsPresentationRoom(Key, Name, displaysDict, masterAudioDev, props); + var presRoom = new EssentialsPresentationRoom(Key, Name, displaysDict, masterVolumeControlDev, props); return presRoom; } return null; diff --git a/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-13 09-02-52).log b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-13 09-02-52).log new file mode 100644 index 00000000..0eaeab13 --- /dev/null +++ b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-13 09-02-52).log @@ -0,0 +1,27 @@ +3/13/2017 9:02:52 AM, Info: Initializing SIMPLSharp Services... +3/13/2017 9:02:53 AM, Info: ProjectInfo successfully initialized. +3/13/2017 9:03:08 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +3/13/2017 9:03:09 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +3/13/2017 9:03:09 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +3/13/2017 9:03:11 AM, Info: Saving project information... +3/13/2017 10:06:33 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +3/13/2017 10:06:34 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +3/13/2017 10:06:34 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +3/13/2017 10:06:35 AM, Info: Saving project information... +3/13/2017 10:07:24 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +3/13/2017 10:07:25 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +3/13/2017 10:07:25 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +3/13/2017 10:07:26 AM, Info: Saving project information... +3/13/2017 10:18:49 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +3/13/2017 10:18:49 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +3/13/2017 10:18:50 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +3/13/2017 10:18:51 AM, Info: Saving project information... +3/13/2017 10:40:42 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +3/13/2017 10:40:43 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +3/13/2017 10:40:43 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +3/13/2017 10:40:45 AM, Info: Saving project information... +3/13/2017 10:50:46 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +3/13/2017 10:50:47 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +3/13/2017 10:50:47 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +3/13/2017 10:50:48 AM, Info: Saving project information... +3/13/2017 5:02:05 PM, Info: Terminating SIMPLSharp Services diff --git a/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-14 15-40-49).log b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-14 15-40-49).log new file mode 100644 index 00000000..7f4b421c --- /dev/null +++ b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-03-14 15-40-49).log @@ -0,0 +1,11 @@ +3/14/2017 3:40:49 PM, Info: Initializing SIMPLSharp Services... +3/14/2017 3:40:50 PM, Info: ProjectInfo successfully initialized. +3/14/2017 4:14:10 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +3/14/2017 4:14:11 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +3/14/2017 4:14:12 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +3/14/2017 4:14:13 PM, Info: Saving project information... +3/14/2017 4:16:12 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +3/14/2017 4:16:12 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +3/14/2017 4:16:12 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +3/14/2017 4:16:14 PM, Info: Saving project information... +3/14/2017 4:54:52 PM, Info: Terminating SIMPLSharp Services diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz index 69e351c3..d83f3fb3 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 87be3067..791e60c5 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 3675d2be..6c931ff0 100644 Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb differ diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDash_Essentials_DM.dll b/PepperDashEssentials/PepperDashEssentials/bin/PepperDash_Essentials_DM.dll index f73302b2..d039c878 100644 Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDash_Essentials_DM.dll and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDash_Essentials_DM.dll differ diff --git a/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config b/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config index a0fd0d11..4bddbef7 100644 --- a/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config +++ b/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config @@ -10,8 +10,8 @@ - 3/13/2017 10:50:47 AM - 1.0.0.17722 + 3/15/2017 11:45:10 AM + 1.0.0.19353 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 f366057a..45d7133d 100644 --- a/PepperDashEssentials/PepperDashEssentials/bin/manifest.info +++ b/PepperDashEssentials/PepperDashEssentials/bin/manifest.info @@ -1,4 +1,4 @@ -MainAssembly=PepperDashEssentials.dll:ac3af5e6028ddf61e481b2335937c5c9 +MainAssembly=PepperDashEssentials.dll:bfe94f76112b33e310c0f6e4484463e2 MainAssemblyMinFirmwareVersion=1.009.0029 MainAssemblyResource=SimplSharpData.dat:820b61c48c8a2cace82957eed4cc377c ü @@ -54,9 +54,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:6ac51b82e3f70b4b9b30032ccbb9cdc8 +DependencySource=PepperDash_Essentials_DM.dll:a8999dad9e695a649c6f8bdb2d4779d2 DependencyPath=PepperDashEssentials.cpz:PepperDash_Essentials_DM.dll -DependencyMainAssembly=PepperDash_Essentials_DM.dll:6ac51b82e3f70b4b9b30032ccbb9cdc8 +DependencyMainAssembly=PepperDash_Essentials_DM.dll:a8999dad9e695a649c6f8bdb2d4779d2 ü DependencySource=SimplSharpCryptographyInterface.dll:dd4791a86d6f67ddc309c4ab1e24c663 DependencyPath=PepperDashEssentials.cpz:SimplSharpCryptographyInterface.dll diff --git a/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser b/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser index b685a887..f4854431 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 b260766d..f607e55e 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 6de4d42d..25e87273 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 f8105fb8..2ea0845f 100644 Binary files a/PepperDashEssentials/PepperDashEssentials/obj/Debug/ResolveAssemblyReference.cache and b/PepperDashEssentials/PepperDashEssentials/obj/Debug/ResolveAssemblyReference.cache differ