mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 05:05:00 +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
|
namespace PepperDash.Essentials.DM.AirMedia
|
||||||
{
|
{
|
||||||
[Description("Wrapper class for an AM-200 or AM-300")]
|
[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; }
|
public AmX00 AirMedia { get; private set; }
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ namespace PepperDash.Essentials.DM.AirMedia
|
|||||||
InputPorts.Add(new RoutingInputPort(DmPortName.HdmiIn, eRoutingSignalType.AudioVideo,
|
InputPorts.Add(new RoutingInputPort(DmPortName.HdmiIn, eRoutingSignalType.AudioVideo,
|
||||||
eRoutingPortConnectionType.Hdmi, new Action(SelectHdmiIn), this));
|
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));
|
eRoutingPortConnectionType.None, new Action(SelectAirboardIn), this));
|
||||||
|
|
||||||
if (AirMedia is Am300)
|
if (AirMedia is Am300)
|
||||||
@@ -206,7 +206,7 @@ namespace PepperDash.Essentials.DM.AirMedia
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void SelectDmIn()
|
public void SelectDmIn()
|
||||||
{
|
{
|
||||||
AirMedia.DisplayControl.VideoOut = AmX00DisplayControl.eAirMediaX00VideoSource.HDMI;
|
AirMedia.DisplayControl.VideoOut = AmX00DisplayControl.eAirMediaX00VideoSource.DM;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -214,7 +214,7 @@ namespace PepperDash.Essentials.DM.AirMedia
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void SelectHdmiIn()
|
public void SelectHdmiIn()
|
||||||
{
|
{
|
||||||
AirMedia.DisplayControl.VideoOut = AmX00DisplayControl.eAirMediaX00VideoSource.DM;
|
AirMedia.DisplayControl.VideoOut = AmX00DisplayControl.eAirMediaX00VideoSource.HDMI;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SelectAirboardIn()
|
public void SelectAirboardIn()
|
||||||
@@ -263,6 +263,29 @@ namespace PepperDash.Essentials.DM.AirMedia
|
|||||||
#endregion
|
#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>
|
public class AirMediaControllerFactory : EssentialsDeviceFactory<AirMediaController>
|
||||||
|
|||||||
Reference in New Issue
Block a user