mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 20:54:55 +00:00
feat: RKST-131 add IMatrixRouting interfaces
This commit is contained in:
@@ -357,6 +357,7 @@ namespace PepperDash.Essentials
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
types = assy.GetTypes();
|
types = assy.GetTypes();
|
||||||
|
Debug.Console(1, $"Got types for assembly {assy.GetName().Name}");
|
||||||
}
|
}
|
||||||
catch (TypeLoadException e)
|
catch (TypeLoadException e)
|
||||||
{
|
{
|
||||||
@@ -370,6 +371,10 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
Debug.Console(0, $"Checking if type {type.Name} is IPluginDeviceFactory");
|
||||||
|
|
||||||
|
Debug.Console(0, $"{type.Name} is plugin factory: {typeof(IPluginDeviceFactory).IsAssignableFrom(type) && !type.IsAbstract}");
|
||||||
|
|
||||||
if (typeof (IPluginDeviceFactory).IsAssignableFrom(type) && !type.IsAbstract)
|
if (typeof (IPluginDeviceFactory).IsAssignableFrom(type) && !type.IsAbstract)
|
||||||
{
|
{
|
||||||
var plugin =
|
var plugin =
|
||||||
|
|||||||
10
src/PepperDash.Essentials.Core/Routing/IMatrixRouting.cs
Normal file
10
src/PepperDash.Essentials.Core/Routing/IMatrixRouting.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.Routing
|
||||||
|
{
|
||||||
|
public interface IMatrixRouting
|
||||||
|
{
|
||||||
|
Dictionary<string, IRoutingInputSlot> InputSlots { get; }
|
||||||
|
Dictionary<string, IRoutingOutputSlot> OutputSlots { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
15
src/PepperDash.Essentials.Core/Routing/IRoutingInputSlot.cs
Normal file
15
src/PepperDash.Essentials.Core/Routing/IRoutingInputSlot.cs
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.Routing
|
||||||
|
{
|
||||||
|
public interface IRoutingInputSlot: IRoutingSlot, IOnline
|
||||||
|
{
|
||||||
|
string TxDeviceKey { get; }
|
||||||
|
|
||||||
|
bool SyncDetected { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
14
src/PepperDash.Essentials.Core/Routing/IRoutingOutputSlot.cs
Normal file
14
src/PepperDash.Essentials.Core/Routing/IRoutingOutputSlot.cs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.Routing
|
||||||
|
{
|
||||||
|
public interface IRoutingOutputSlot:IRoutingSlot
|
||||||
|
{
|
||||||
|
event EventHandler<EventArgs> OutputSlotChanged;
|
||||||
|
|
||||||
|
string RxDeviceKey { get; }
|
||||||
|
|
||||||
|
Dictionary<eRoutingSignalType, IRoutingInputSlot> CurrentRoutes { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
16
src/PepperDash.Essentials.Core/Routing/IRoutingSlot.cs
Normal file
16
src/PepperDash.Essentials.Core/Routing/IRoutingSlot.cs
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
using PepperDash.Core;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.Routing
|
||||||
|
{
|
||||||
|
public interface IRoutingSlot:IKeyName
|
||||||
|
{
|
||||||
|
int SlotNumber { get; }
|
||||||
|
|
||||||
|
eRoutingSignalType SupportedSignalTypes { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -36,7 +36,8 @@ namespace PepperDash.Essentials.Core
|
|||||||
Video = 2,
|
Video = 2,
|
||||||
AudioVideo = Audio | Video,
|
AudioVideo = Audio | Video,
|
||||||
UsbOutput = 8,
|
UsbOutput = 8,
|
||||||
UsbInput = 16
|
UsbInput = 16,
|
||||||
|
SecondaryAudio = 32
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum eRoutingPortConnectionType
|
public enum eRoutingPortConnectionType
|
||||||
|
|||||||
Reference in New Issue
Block a user