mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-17 05:35:03 +00:00
Added IRoutingNumeric implementation to AirMediaController
Resolves #238
This commit is contained in:
@@ -17,7 +17,7 @@ using PepperDash.Essentials.Core.Config;
|
||||
namespace PepperDash.Essentials.DM.AirMedia
|
||||
{
|
||||
[Description("Wrapper class for an AM-200 or AM-300")]
|
||||
public class AirMediaController : CrestronGenericBridgeableBaseDevice, IRoutingInputsOutputs, IIROutputPorts, IComPorts
|
||||
public class AirMediaController : CrestronGenericBridgeableBaseDevice, IRoutingNumeric, IIROutputPorts, IComPorts
|
||||
{
|
||||
public AmX00 AirMedia { get; private set; }
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace PepperDash.Essentials.DM.AirMedia
|
||||
InputPorts.Add(new RoutingInputPort(DmPortName.HdmiIn, eRoutingSignalType.AudioVideo,
|
||||
eRoutingPortConnectionType.Hdmi, new Action(SelectHdmiIn), this));
|
||||
|
||||
InputPorts.Add(new RoutingInputPort(DmPortName.AirBoardIn, eRoutingSignalType.Video,
|
||||
InputPorts.Add(new RoutingInputPort(DmPortName.AirBoardIn, eRoutingSignalType.AudioVideo,
|
||||
eRoutingPortConnectionType.None, new Action(SelectAirboardIn), this));
|
||||
|
||||
if (AirMedia is Am300)
|
||||
@@ -206,7 +206,7 @@ namespace PepperDash.Essentials.DM.AirMedia
|
||||
/// </summary>
|
||||
public void SelectDmIn()
|
||||
{
|
||||
AirMedia.DisplayControl.VideoOut = AmX00DisplayControl.eAirMediaX00VideoSource.HDMI;
|
||||
AirMedia.DisplayControl.VideoOut = AmX00DisplayControl.eAirMediaX00VideoSource.DM;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -214,7 +214,7 @@ namespace PepperDash.Essentials.DM.AirMedia
|
||||
/// </summary>
|
||||
public void SelectHdmiIn()
|
||||
{
|
||||
AirMedia.DisplayControl.VideoOut = AmX00DisplayControl.eAirMediaX00VideoSource.DM;
|
||||
AirMedia.DisplayControl.VideoOut = AmX00DisplayControl.eAirMediaX00VideoSource.HDMI;
|
||||
}
|
||||
|
||||
public void SelectAirboardIn()
|
||||
@@ -263,6 +263,29 @@ namespace PepperDash.Essentials.DM.AirMedia
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region IRoutingNumeric Members
|
||||
|
||||
public void ExecuteNumericSwitch(ushort input, ushort output, eRoutingSignalType signalType)
|
||||
{
|
||||
|
||||
if ((signalType & eRoutingSignalType.Video) == eRoutingSignalType.Video)
|
||||
AirMedia.DisplayControl.VideoOut = (AmX00DisplayControl.eAirMediaX00VideoSource)input;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IRouting Members
|
||||
|
||||
public void ExecuteSwitch(object inputSelector, object outputSelector, eRoutingSignalType signalType)
|
||||
{
|
||||
Debug.Console(2, this, "Input Selector = {0}", inputSelector.ToString());
|
||||
var handler = inputSelector as Action;
|
||||
if (handler == null) return;
|
||||
handler();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
public class AirMediaControllerFactory : EssentialsDeviceFactory<AirMediaController>
|
||||
|
||||
Reference in New Issue
Block a user