mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-01-30 12:54:54 +00:00
feat: RKST-131 add IMatrixRouting interfaces
This commit is contained in:
@@ -357,6 +357,7 @@ namespace PepperDash.Essentials
|
||||
try
|
||||
{
|
||||
types = assy.GetTypes();
|
||||
Debug.Console(1, $"Got types for assembly {assy.GetName().Name}");
|
||||
}
|
||||
catch (TypeLoadException e)
|
||||
{
|
||||
@@ -370,6 +371,10 @@ namespace PepperDash.Essentials
|
||||
{
|
||||
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)
|
||||
{
|
||||
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,
|
||||
AudioVideo = Audio | Video,
|
||||
UsbOutput = 8,
|
||||
UsbInput = 16
|
||||
UsbInput = 16,
|
||||
SecondaryAudio = 32
|
||||
}
|
||||
|
||||
public enum eRoutingPortConnectionType
|
||||
|
||||
Reference in New Issue
Block a user