diff --git a/src/PepperDash.Essentials.Core/Room/Interfaces.cs b/src/PepperDash.Essentials.Core/Room/Interfaces.cs
index e4f93802..190abeec 100644
--- a/src/PepperDash.Essentials.Core/Room/Interfaces.cs
+++ b/src/PepperDash.Essentials.Core/Room/Interfaces.cs
@@ -22,7 +22,7 @@ namespace PepperDash.Essentials.Core
///
public interface IHasDefaultDisplay
{
- IRoutingSinkWithSwitching DefaultDisplay { get; }
+ IRoutingSink DefaultDisplay { get; }
}
///
@@ -30,7 +30,7 @@ namespace PepperDash.Essentials.Core
///
public interface IHasMultipleDisplays
{
- Dictionary Displays { get; }
+ Dictionary Displays { get; }
}
///
diff --git a/src/PepperDash.Essentials.Devices.Common/SoftCodec/GenericSoftCodec.cs b/src/PepperDash.Essentials.Devices.Common/SoftCodec/GenericSoftCodec.cs
index 4c45a929..a4155692 100644
--- a/src/PepperDash.Essentials.Devices.Common/SoftCodec/GenericSoftCodec.cs
+++ b/src/PepperDash.Essentials.Devices.Common/SoftCodec/GenericSoftCodec.cs
@@ -11,7 +11,7 @@ using System.Threading.Tasks;
namespace PepperDash.Essentials.Devices.Common.SoftCodec
{
- public class GenericSoftCodec : EssentialsDevice, IRoutingInputsOutputs
+ public class GenericSoftCodec : EssentialsDevice, IRoutingSource, IRoutingSink
{
public GenericSoftCodec(string key, string name, GenericSoftCodecProperties props) : base(key, name)
{
@@ -48,6 +48,32 @@ namespace PepperDash.Essentials.Devices.Common.SoftCodec
public RoutingPortCollection InputPorts { get; private set; }
public RoutingPortCollection OutputPorts { get; private set; }
+ public string CurrentSourceInfoKey { get ; set; }
+ public SourceListItem CurrentSourceInfo
+ {
+ get
+ {
+ return _CurrentSourceInfo;
+ }
+ set
+ {
+ if (value == _CurrentSourceInfo) return;
+
+ var handler = CurrentSourceChange;
+
+ if (handler != null)
+ handler(_CurrentSourceInfo, ChangeType.WillChange);
+
+ _CurrentSourceInfo = value;
+
+ if (handler != null)
+ handler(_CurrentSourceInfo, ChangeType.DidChange);
+ }
+ }
+
+ SourceListItem _CurrentSourceInfo;
+
+ public event SourceInfoChangeHandler CurrentSourceChange;
}
public class GenericSoftCodecProperties