mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 20:54:55 +00:00
Merge branch 'release/1.10.0' into feature/revise-zoomroom-gather-methodology
This commit is contained in:
2
.github/workflows/docker.yml
vendored
2
.github/workflows/docker.yml
vendored
@@ -98,7 +98,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
Push_Nuget_Package:
|
Push_Nuget_Package:
|
||||||
needs: Build_Project
|
needs: Build_Project
|
||||||
runs-on: windows-latest
|
runs-on: windows-2019
|
||||||
steps:
|
steps:
|
||||||
- name: Download Build Version Info
|
- name: Download Build Version Info
|
||||||
uses: actions/download-artifact@v1
|
uses: actions/download-artifact@v1
|
||||||
|
|||||||
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
@@ -82,7 +82,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
Push_Nuget_Package:
|
Push_Nuget_Package:
|
||||||
needs: Build_Project
|
needs: Build_Project
|
||||||
runs-on: windows-latest
|
runs-on: windows-2019
|
||||||
steps:
|
steps:
|
||||||
- name: Download Build Version Info
|
- name: Download Build Version Info
|
||||||
uses: actions/download-artifact@v1
|
uses: actions/download-artifact@v1
|
||||||
|
|||||||
@@ -56,6 +56,9 @@ namespace PepperDash.Essentials.Room.Config
|
|||||||
[JsonProperty("mirroredTuners")]
|
[JsonProperty("mirroredTuners")]
|
||||||
public Dictionary<uint, string> MirroredTuners { get; set; }
|
public Dictionary<uint, string> MirroredTuners { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("helpMessage")]
|
||||||
|
public string HelpMessage { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Indicates the room
|
/// Indicates the room
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ namespace PepperDash.Essentials
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public EssentialsConferenceRoomPropertiesConfig PropertiesConfig { get; private set; }
|
public EssentialsHuddleVtc1PropertiesConfig PropertiesConfig { get; private set; }
|
||||||
|
|
||||||
private List<IRoutingSinkWithSwitching> Displays;
|
private List<IRoutingSinkWithSwitching> Displays;
|
||||||
|
|
||||||
@@ -199,7 +199,7 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
PropertiesConfig = JsonConvert.DeserializeObject<EssentialsConferenceRoomPropertiesConfig>
|
PropertiesConfig = JsonConvert.DeserializeObject<EssentialsHuddleVtc1PropertiesConfig>
|
||||||
(config.Properties.ToString());
|
(config.Properties.ToString());
|
||||||
|
|
||||||
VideoCodec = DeviceManager.GetDeviceForKey(PropertiesConfig.VideoCodecKey) as
|
VideoCodec = DeviceManager.GetDeviceForKey(PropertiesConfig.VideoCodecKey) as
|
||||||
@@ -361,7 +361,7 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
protected override void CustomSetConfig(DeviceConfig config)
|
protected override void CustomSetConfig(DeviceConfig config)
|
||||||
{
|
{
|
||||||
var newPropertiesConfig = JsonConvert.DeserializeObject<EssentialsConferenceRoomPropertiesConfig>(config.Properties.ToString());
|
var newPropertiesConfig = JsonConvert.DeserializeObject<EssentialsHuddleVtc1PropertiesConfig>(config.Properties.ToString());
|
||||||
|
|
||||||
if (newPropertiesConfig != null)
|
if (newPropertiesConfig != null)
|
||||||
PropertiesConfig = newPropertiesConfig;
|
PropertiesConfig = newPropertiesConfig;
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ namespace PepperDash.Essentials
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public EssentialsConferenceRoomPropertiesConfig PropertiesConfig { get; private set; }
|
public EssentialsHuddleVtc1PropertiesConfig PropertiesConfig { get; private set; }
|
||||||
|
|
||||||
public IRoutingSinkWithSwitching DefaultDisplay { get; private set; }
|
public IRoutingSinkWithSwitching DefaultDisplay { get; private set; }
|
||||||
public IBasicVolumeControls DefaultAudioDevice { get; private set; }
|
public IBasicVolumeControls DefaultAudioDevice { get; private set; }
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
public class EssentialsTechRoom : EssentialsRoomBase, ITvPresetsProvider, IBridgeAdvanced, IRunDirectRouteAction
|
public class EssentialsTechRoom : EssentialsRoomBase, ITvPresetsProvider, IBridgeAdvanced, IRunDirectRouteAction
|
||||||
{
|
{
|
||||||
private readonly EssentialsTechRoomConfig _config;
|
public EssentialsTechRoomConfig PropertiesConfig { get; private set; }
|
||||||
private readonly Dictionary<string, TwoWayDisplayBase> _displays;
|
private readonly Dictionary<string, TwoWayDisplayBase> _displays;
|
||||||
|
|
||||||
private readonly DevicePresetsModel _tunerPresets;
|
private readonly DevicePresetsModel _tunerPresets;
|
||||||
@@ -57,16 +57,16 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
public EssentialsTechRoom(DeviceConfig config) : base(config)
|
public EssentialsTechRoom(DeviceConfig config) : base(config)
|
||||||
{
|
{
|
||||||
_config = config.Properties.ToObject<EssentialsTechRoomConfig>();
|
PropertiesConfig = config.Properties.ToObject<EssentialsTechRoomConfig>();
|
||||||
|
|
||||||
_tunerPresets = new DevicePresetsModel(String.Format("{0}-presets", config.Key), _config.PresetsFileName);
|
_tunerPresets = new DevicePresetsModel(String.Format("{0}-presets", config.Key), PropertiesConfig.PresetsFileName);
|
||||||
|
|
||||||
_tunerPresets.SetFileName(_config.PresetsFileName);
|
_tunerPresets.SetFileName(PropertiesConfig.PresetsFileName);
|
||||||
|
|
||||||
_tunerPresets.PresetRecalled += TunerPresetsOnPresetRecalled;
|
_tunerPresets.PresetRecalled += TunerPresetsOnPresetRecalled;
|
||||||
|
|
||||||
_tuners = GetDevices<IRSetTopBoxBase>(_config.Tuners);
|
_tuners = GetDevices<IRSetTopBoxBase>(PropertiesConfig.Tuners);
|
||||||
_displays = GetDevices<TwoWayDisplayBase>(_config.Displays);
|
_displays = GetDevices<TwoWayDisplayBase>(PropertiesConfig.Displays);
|
||||||
|
|
||||||
RoomPowerIsOnFeedback = new BoolFeedback(() => RoomPowerIsOn);
|
RoomPowerIsOnFeedback = new BoolFeedback(() => RoomPowerIsOn);
|
||||||
|
|
||||||
@@ -153,7 +153,7 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
private void CreateOrUpdateScheduledEvents()
|
private void CreateOrUpdateScheduledEvents()
|
||||||
{
|
{
|
||||||
var eventsConfig = _config.ScheduledEvents;
|
var eventsConfig = PropertiesConfig.ScheduledEvents;
|
||||||
|
|
||||||
GetOrCreateScheduleGroup();
|
GetOrCreateScheduleGroup();
|
||||||
|
|
||||||
@@ -207,21 +207,21 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
//update config based on key of scheduleEvent
|
//update config based on key of scheduleEvent
|
||||||
GetOrCreateScheduleGroup();
|
GetOrCreateScheduleGroup();
|
||||||
var existingEventIndex = _config.ScheduledEvents.FindIndex((e) => e.Key == scheduledEvent.Key);
|
var existingEventIndex = PropertiesConfig.ScheduledEvents.FindIndex((e) => e.Key == scheduledEvent.Key);
|
||||||
|
|
||||||
if (existingEventIndex < 0)
|
if (existingEventIndex < 0)
|
||||||
{
|
{
|
||||||
_config.ScheduledEvents.Add(scheduledEvent);
|
PropertiesConfig.ScheduledEvents.Add(scheduledEvent);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_config.ScheduledEvents[existingEventIndex] = scheduledEvent;
|
PropertiesConfig.ScheduledEvents[existingEventIndex] = scheduledEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
//create or update event based on config
|
//create or update event based on config
|
||||||
CreateOrUpdateSingleEvent(scheduledEvent);
|
CreateOrUpdateSingleEvent(scheduledEvent);
|
||||||
//save config
|
//save config
|
||||||
Config.Properties = JToken.FromObject(_config);
|
Config.Properties = JToken.FromObject(PropertiesConfig);
|
||||||
|
|
||||||
CustomSetConfig(Config);
|
CustomSetConfig(Config);
|
||||||
//Fire Event
|
//Fire Event
|
||||||
@@ -230,7 +230,7 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
public List<ScheduledEventConfig> GetScheduledEvents()
|
public List<ScheduledEventConfig> GetScheduledEvents()
|
||||||
{
|
{
|
||||||
return _config.ScheduledEvents ?? new List<ScheduledEventConfig>();
|
return PropertiesConfig.ScheduledEvents ?? new List<ScheduledEventConfig>();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnScheduledEventUpdate()
|
private void OnScheduledEventUpdate()
|
||||||
@@ -242,14 +242,14 @@ namespace PepperDash.Essentials
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
handler(this, new ScheduledEventEventArgs {ScheduledEvents = _config.ScheduledEvents});
|
handler(this, new ScheduledEventEventArgs {ScheduledEvents = PropertiesConfig.ScheduledEvents});
|
||||||
}
|
}
|
||||||
|
|
||||||
public event EventHandler<ScheduledEventEventArgs> ScheduledEventsChanged;
|
public event EventHandler<ScheduledEventEventArgs> ScheduledEventsChanged;
|
||||||
|
|
||||||
private void HandleScheduledEvent(ScheduledEvent schevent, ScheduledEventCommon.eCallbackReason type)
|
private void HandleScheduledEvent(ScheduledEvent schevent, ScheduledEventCommon.eCallbackReason type)
|
||||||
{
|
{
|
||||||
var eventConfig = _config.ScheduledEvents.FirstOrDefault(e => e.Key == schevent.Name);
|
var eventConfig = PropertiesConfig.ScheduledEvents.FirstOrDefault(e => e.Key == schevent.Name);
|
||||||
|
|
||||||
if (eventConfig == null)
|
if (eventConfig == null)
|
||||||
{
|
{
|
||||||
@@ -286,11 +286,11 @@ Params: {2}"
|
|||||||
{
|
{
|
||||||
Debug.Console(2, this, "Room Powering On");
|
Debug.Console(2, this, "Room Powering On");
|
||||||
|
|
||||||
var dummySource = DeviceManager.GetDeviceForKey(_config.DummySourceKey) as IRoutingOutputs;
|
var dummySource = DeviceManager.GetDeviceForKey(PropertiesConfig.DummySourceKey) as IRoutingOutputs;
|
||||||
|
|
||||||
if (dummySource == null)
|
if (dummySource == null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Unable to get source with key: {0}", _config.DummySourceKey);
|
Debug.Console(1, this, "Unable to get source with key: {0}", PropertiesConfig.DummySourceKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -376,12 +376,12 @@ Params: {2}"
|
|||||||
bridge.AddJoinMap(Key, joinMap);
|
bridge.AddJoinMap(Key, joinMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_config.IsPrimary)
|
if (PropertiesConfig.IsPrimary)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Linking Primary system Tuner Preset Mirroring");
|
Debug.Console(1, this, "Linking Primary system Tuner Preset Mirroring");
|
||||||
if (_config.MirroredTuners != null && _config.MirroredTuners.Count > 0)
|
if (PropertiesConfig.MirroredTuners != null && PropertiesConfig.MirroredTuners.Count > 0)
|
||||||
{
|
{
|
||||||
foreach (var tuner in _config.MirroredTuners)
|
foreach (var tuner in PropertiesConfig.MirroredTuners)
|
||||||
{
|
{
|
||||||
var f = CurrentPresetsFeedbacks[tuner.Value];
|
var f = CurrentPresetsFeedbacks[tuner.Value];
|
||||||
|
|
||||||
@@ -423,9 +423,9 @@ Params: {2}"
|
|||||||
{
|
{
|
||||||
Debug.Console(1, this, "Linking Secondary system Tuner Preset Mirroring");
|
Debug.Console(1, this, "Linking Secondary system Tuner Preset Mirroring");
|
||||||
|
|
||||||
if (_config.MirroredTuners != null && _config.MirroredTuners.Count > 0)
|
if (PropertiesConfig.MirroredTuners != null && PropertiesConfig.MirroredTuners.Count > 0)
|
||||||
{
|
{
|
||||||
foreach (var tuner in _config.MirroredTuners)
|
foreach (var tuner in PropertiesConfig.MirroredTuners)
|
||||||
{
|
{
|
||||||
var t = _tuners[tuner.Value];
|
var t = _tuners[tuner.Value];
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ namespace PepperDash.Essentials
|
|||||||
public interface IEssentialsHuddleVtc1Room : IEssentialsRoom, IHasCurrentSourceInfoChange,
|
public interface IEssentialsHuddleVtc1Room : IEssentialsRoom, IHasCurrentSourceInfoChange,
|
||||||
IPrivacy, IHasCurrentVolumeControls, IRunRouteAction, IRunDefaultCallRoute, IHasVideoCodec, IHasAudioCodec, IHasDefaultDisplay, IHasInCallFeedback
|
IPrivacy, IHasCurrentVolumeControls, IRunRouteAction, IRunDefaultCallRoute, IHasVideoCodec, IHasAudioCodec, IHasDefaultDisplay, IHasInCallFeedback
|
||||||
{
|
{
|
||||||
EssentialsConferenceRoomPropertiesConfig PropertiesConfig { get; }
|
EssentialsHuddleVtc1PropertiesConfig PropertiesConfig { get; }
|
||||||
|
|
||||||
bool ExcludeFromGlobalFunctions { get; }
|
bool ExcludeFromGlobalFunctions { get; }
|
||||||
|
|
||||||
|
|||||||
@@ -139,7 +139,8 @@ namespace PepperDash.Essentials.Core.Queues
|
|||||||
_queue = new CrestronQueue<IQueueMessage>(cap);
|
_queue = new CrestronQueue<IQueueMessage>(cap);
|
||||||
_worker = new Thread(ProcessQueue, null, Thread.eThreadStartOptions.Running)
|
_worker = new Thread(ProcessQueue, null, Thread.eThreadStartOptions.Running)
|
||||||
{
|
{
|
||||||
Priority = priority
|
Priority = priority,
|
||||||
|
Name = _key
|
||||||
};
|
};
|
||||||
|
|
||||||
SetDelayValues(pacing);
|
SetDelayValues(pacing);
|
||||||
|
|||||||
@@ -411,7 +411,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||||||
|
|
||||||
if (codec is IHasCameraAutoMode)
|
if (codec is IHasCameraAutoMode)
|
||||||
{
|
{
|
||||||
trilist.SetBool(joinMap.CameraSupportsAutoMode.JoinNumber, true);
|
trilist.SetBool(joinMap.CameraSupportsAutoMode.JoinNumber, SupportsCameraAutoMode);
|
||||||
|
|
||||||
(codec as IHasCameraAutoMode).CameraAutoModeIsOnFeedback.FireUpdate();
|
(codec as IHasCameraAutoMode).CameraAutoModeIsOnFeedback.FireUpdate();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
|
|
||||||
_props = JsonConvert.DeserializeObject<ZoomRoomPropertiesConfig>(config.Properties.ToString());
|
_props = JsonConvert.DeserializeObject<ZoomRoomPropertiesConfig>(config.Properties.ToString());
|
||||||
|
|
||||||
_receiveQueue = new GenericQueue(Key + "-rxQueue", Thread.eThreadPriority.MediumPriority, 512);
|
_receiveQueue = new GenericQueue(Key + "-rxQueue", Thread.eThreadPriority.MediumPriority, 2048);
|
||||||
|
|
||||||
Communication = comm;
|
Communication = comm;
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
|
||||||
@@ -11,21 +11,31 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
{
|
{
|
||||||
public class ZoomRoomPropertiesConfig
|
public class ZoomRoomPropertiesConfig
|
||||||
{
|
{
|
||||||
|
[JsonProperty("communicationMonitorProperties")]
|
||||||
public CommunicationMonitorConfig CommunicationMonitorProperties { get; set; }
|
public CommunicationMonitorConfig CommunicationMonitorProperties { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("disablePhonebookAutoDownload")]
|
||||||
public bool DisablePhonebookAutoDownload { get; set; }
|
public bool DisablePhonebookAutoDownload { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("supportsCameraAutoMode")]
|
||||||
public bool SupportsCameraAutoMode { get; set; }
|
public bool SupportsCameraAutoMode { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("supportsCameraOff")]
|
||||||
public bool SupportsCameraOff { get; set; }
|
public bool SupportsCameraOff { get; set; }
|
||||||
|
|
||||||
//if true, the layouts will be set automatically when sharing starts/ends or a call is joined
|
//if true, the layouts will be set automatically when sharing starts/ends or a call is joined
|
||||||
|
[JsonProperty("autoDefaultLayouts")]
|
||||||
public bool AutoDefaultLayouts { get; set; }
|
public bool AutoDefaultLayouts { get; set; }
|
||||||
|
|
||||||
/* This layout will be selected when Sharing starts (either from Far end or locally)*/
|
/* This layout will be selected when Sharing starts (either from Far end or locally)*/
|
||||||
|
[JsonProperty("defaultSharingLayout")]
|
||||||
public string DefaultSharingLayout { get; set; }
|
public string DefaultSharingLayout { get; set; }
|
||||||
|
|
||||||
//This layout will be selected when a call is connected and no content is being shared
|
//This layout will be selected when a call is connected and no content is being shared
|
||||||
|
[JsonProperty("defaultCallLayout")]
|
||||||
public string DefaultCallLayout { get; set; }
|
public string DefaultCallLayout { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("minutesBeforeMeetingStart")]
|
||||||
public int MinutesBeforeMeetingStart { get; set; }
|
public int MinutesBeforeMeetingStart { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user