fix: correct build issues

This commit is contained in:
Andrew Welker
2024-05-08 08:37:25 -05:00
parent dd66de0463
commit e3e7add5b9
6 changed files with 44 additions and 14 deletions

View File

@@ -18,6 +18,7 @@ namespace PepperDash.Essentials.Core
public abstract class DisplayBase : EssentialsDevice, IHasFeedback, IRoutingSinkWithSwitching, IHasPowerControl, IWarmingCooling, IUsageTracking public abstract class DisplayBase : EssentialsDevice, IHasFeedback, IRoutingSinkWithSwitching, IHasPowerControl, IWarmingCooling, IUsageTracking
{ {
public event SourceInfoChangeHandler CurrentSourceChange; public event SourceInfoChangeHandler CurrentSourceChange;
public event InputChangedEventHandler InputChanged;
public string CurrentSourceInfoKey { get; set; } public string CurrentSourceInfoKey { get; set; }
public SourceListItem CurrentSourceInfo public SourceListItem CurrentSourceInfo
@@ -94,7 +95,9 @@ namespace PepperDash.Essentials.Core
} }
} }
public abstract void ExecuteSwitch(object selector); public RoutingInputPort CurrentInputPort => throw new NotImplementedException();
public abstract void ExecuteSwitch(object selector);
protected void LinkDisplayToApi(DisplayBase displayDevice, BasicTriList trilist, uint joinStart, string joinMapKey, protected void LinkDisplayToApi(DisplayBase displayDevice, BasicTriList trilist, uint joinStart, string joinMapKey,
EiscApiAdvanced bridge) EiscApiAdvanced bridge)

View File

@@ -41,9 +41,7 @@ namespace PepperDash.Essentials.Core
{ {
void RunRouteAction(string routeKey, string sourceListKey); void RunRouteAction(string routeKey, string sourceListKey);
void RunRouteAction(string routeKey, string sourceListKey, Action successCallback); void RunRouteAction(string routeKey, string sourceListKey, Action successCallback);
RoutingFeedbackManager RoutingFeedbackManager { get; }
} }
/// <summary> /// <summary>
@@ -52,8 +50,6 @@ namespace PepperDash.Essentials.Core
public interface IRunDirectRouteAction public interface IRunDirectRouteAction
{ {
void RunDirectRoute(string sourceKey, string destinationKey, eRoutingSignalType type = eRoutingSignalType.AudioVideo); void RunDirectRoute(string sourceKey, string destinationKey, eRoutingSignalType type = eRoutingSignalType.AudioVideo);
RoutingFeedbackManager RoutingFeedbackManager { get; }
} }
/// <summary> /// <summary>

View File

@@ -18,6 +18,8 @@ namespace PepperDash.Essentials.Devices.Common
/// </summary> /// </summary>
public class GenericAudioOut : EssentialsDevice, IRoutingSink public class GenericAudioOut : EssentialsDevice, IRoutingSink
{ {
public RoutingInputPort CurrentInputPort => AnyAudioIn;
public event SourceInfoChangeHandler CurrentSourceChange; public event SourceInfoChangeHandler CurrentSourceChange;
public string CurrentSourceInfoKey { get; set; } public string CurrentSourceInfoKey { get; set; }

View File

@@ -44,6 +44,8 @@ namespace PepperDash.Essentials.Devices.Common.Generic
} }
} }
public RoutingInputPort CurrentInputPort => InputPorts[0];
public event SourceInfoChangeHandler CurrentSourceChange; public event SourceInfoChangeHandler CurrentSourceChange;
} }

View File

@@ -17,6 +17,8 @@ namespace PepperDash.Essentials.Devices.Common.SoftCodec
public RoutingInputPort AnyVideoIn { get; private set; } public RoutingInputPort AnyVideoIn { get; private set; }
public RoutingInputPort CurrentInputPort => AnyVideoIn;
#region IRoutingInputs Members #region IRoutingInputs Members
public RoutingPortCollection<RoutingInputPort> InputPorts { get; private set; } public RoutingPortCollection<RoutingInputPort> InputPorts { get; private set; }
@@ -26,8 +28,10 @@ namespace PepperDash.Essentials.Devices.Common.SoftCodec
public BlueJeansPc(string key, string name) public BlueJeansPc(string key, string name)
: base(key, name) : base(key, name)
{ {
InputPorts = new RoutingPortCollection<RoutingInputPort>(); InputPorts = new RoutingPortCollection<RoutingInputPort>
InputPorts.Add(AnyVideoIn = new RoutingInputPort(RoutingPortNames.AnyVideoIn, eRoutingSignalType.AudioVideo, eRoutingPortConnectionType.None, 0, this)); {
(AnyVideoIn = new RoutingInputPort(RoutingPortNames.AnyVideoIn, eRoutingSignalType.AudioVideo, eRoutingPortConnectionType.None, 0, this))
};
} }
#region IRunRouteAction Members #region IRunRouteAction Members

View File

@@ -2,17 +2,26 @@
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.Config;
using PepperDash.Essentials.Core.Routing;
using Serilog.Events; using Serilog.Events;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials.Devices.Common.SoftCodec namespace PepperDash.Essentials.Devices.Common.SoftCodec
{ {
public class GenericSoftCodec : EssentialsDevice, IRoutingSource, IRoutingSink public class GenericSoftCodec : EssentialsDevice, IRoutingSource, IRoutingSinkWithSwitching
{ {
private RoutingInputPort _currentInputPort;
public RoutingInputPort CurrentInputPort {
get => _currentInputPort;
set
{
_currentInputPort = value;
InputChanged?.Invoke(this, _currentInputPort);
}
}
public GenericSoftCodec(string key, string name, GenericSoftCodecProperties props) : base(key, name) public GenericSoftCodec(string key, string name, GenericSoftCodecProperties props) : base(key, name)
{ {
InputPorts = new RoutingPortCollection<RoutingInputPort>(); InputPorts = new RoutingPortCollection<RoutingInputPort>();
@@ -27,7 +36,7 @@ namespace PepperDash.Essentials.Devices.Common.SoftCodec
for(var i = 1; i<= props.ContentInputCount; i++) for(var i = 1; i<= props.ContentInputCount; i++)
{ {
var inputPort = new RoutingInputPort($"{Key}-contentInput{i}", eRoutingSignalType.AudioVideo, eRoutingPortConnectionType.Hdmi, null, this); var inputPort = new RoutingInputPort($"{Key}-contentInput{i}", eRoutingSignalType.AudioVideo, eRoutingPortConnectionType.Hdmi, $"contentInput{i}", this);
InputPorts.Add(inputPort); InputPorts.Add(inputPort);
} }
@@ -39,7 +48,7 @@ namespace PepperDash.Essentials.Devices.Common.SoftCodec
for(var i = 1; i <=props.CameraInputCount; i++) for(var i = 1; i <=props.CameraInputCount; i++)
{ {
var cameraPort = new RoutingInputPort($"{Key}-cameraInput{i}", eRoutingSignalType.Video, eRoutingPortConnectionType.Hdmi, null, this); var cameraPort = new RoutingInputPort($"{Key}-cameraInput{i}", eRoutingSignalType.Video, eRoutingPortConnectionType.Hdmi, $"cameraInput{i}", this);
InputPorts.Add(cameraPort); InputPorts.Add(cameraPort);
} }
@@ -74,6 +83,20 @@ namespace PepperDash.Essentials.Devices.Common.SoftCodec
SourceListItem _CurrentSourceInfo; SourceListItem _CurrentSourceInfo;
public event SourceInfoChangeHandler CurrentSourceChange; public event SourceInfoChangeHandler CurrentSourceChange;
public event InputChangedEventHandler InputChanged;
public void ExecuteSwitch(object inputSelector)
{
var inputPort = InputPorts.FirstOrDefault(p => p.Selector == inputSelector);
if(inputPort == null)
{
Debug.LogMessage(LogEventLevel.Warning, "No input port found for selector {inputSelector}", inputSelector);
return;
}
CurrentInputPort = inputPort;
}
} }
public class GenericSoftCodecProperties public class GenericSoftCodecProperties