mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-08-31 19:08:29 +00:00
Merge pull request #41 from bitm0de/master
Output Disabled By Hdcp Implementation (Feedback)
This commit is contained in:
commit
fd76244add
3 changed files with 1296 additions and 1310 deletions
|
|
@ -1,4 +1,5 @@
|
||||||
using System;
|
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
@ -16,7 +17,7 @@ using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Bridges
|
namespace PepperDash.Essentials.Bridges
|
||||||
{
|
{
|
||||||
public static class DmChassisControllerApiExtensions
|
public static class DmChassisControllerApiExtentions
|
||||||
{
|
{
|
||||||
public static void LinkToApi(this DmChassisController dmChassis, BasicTriList trilist, uint joinStart, string joinMapKey)
|
public static void LinkToApi(this DmChassisController dmChassis, BasicTriList trilist, uint joinStart, string joinMapKey)
|
||||||
{
|
{
|
||||||
|
|
@ -81,14 +82,14 @@ namespace PepperDash.Essentials.Bridges
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (advancedTxDevice != null) // Advanced TX device
|
if (basicTxDevice != null && advancedTxDevice == null)
|
||||||
|
trilist.BooleanInput[joinMap.TxAdvancedIsPresent + ioSlot].BoolValue = true;
|
||||||
|
|
||||||
|
if (advancedTxDevice != null)
|
||||||
{
|
{
|
||||||
advancedTxDevice.AnyVideoInput.VideoStatus.VideoSyncFeedback.LinkInputSig(trilist.BooleanInput[joinMap.VideoSyncStatus + ioSlot]);
|
advancedTxDevice.AnyVideoInput.VideoStatus.VideoSyncFeedback.LinkInputSig(trilist.BooleanInput[joinMap.VideoSyncStatus + ioSlot]);
|
||||||
|
|
||||||
// Flag if the TX is an advanced endpoint type
|
|
||||||
trilist.BooleanInput[joinMap.TxAdvancedIsPresent + ioSlot].BoolValue = true;
|
|
||||||
}
|
}
|
||||||
else if(advancedTxDevice == null || basicTxDevice != null) // Basic TX device
|
else if(advancedTxDevice == null || basicTxDevice != null)
|
||||||
{
|
{
|
||||||
Debug.Console(1, "Setting up actions and feedbacks on input card {0}", ioSlot);
|
Debug.Console(1, "Setting up actions and feedbacks on input card {0}", ioSlot);
|
||||||
dmChassis.VideoInputSyncFeedbacks[ioSlot].LinkInputSig(trilist.BooleanInput[joinMap.VideoSyncStatus + ioSlot]);
|
dmChassis.VideoInputSyncFeedbacks[ioSlot].LinkInputSig(trilist.BooleanInput[joinMap.VideoSyncStatus + ioSlot]);
|
||||||
|
|
@ -167,6 +168,7 @@ namespace PepperDash.Essentials.Bridges
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dmChassis.RxDictionary.ContainsKey(ioSlot))
|
if (dmChassis.RxDictionary.ContainsKey(ioSlot))
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Creating Rx Feedbacks {0}", ioSlot);
|
Debug.Console(2, "Creating Rx Feedbacks {0}", ioSlot);
|
||||||
|
|
@ -191,11 +193,12 @@ namespace PepperDash.Essentials.Bridges
|
||||||
dmChassis.UsbOutputRoutedToFeebacks[ioSlot].LinkInputSig(trilist.UShortInput[joinMap.OutputUsb + ioSlot]);
|
dmChassis.UsbOutputRoutedToFeebacks[ioSlot].LinkInputSig(trilist.UShortInput[joinMap.OutputUsb + ioSlot]);
|
||||||
dmChassis.UsbInputRoutedToFeebacks[ioSlot].LinkInputSig(trilist.UShortInput[joinMap.InputUsb + ioSlot]);
|
dmChassis.UsbInputRoutedToFeebacks[ioSlot].LinkInputSig(trilist.UShortInput[joinMap.InputUsb + ioSlot]);
|
||||||
|
|
||||||
|
|
||||||
dmChassis.OutputNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.OutputNames + ioSlot]);
|
dmChassis.OutputNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.OutputNames + ioSlot]);
|
||||||
dmChassis.InputNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.InputNames + ioSlot]);
|
dmChassis.InputNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.InputNames + ioSlot]);
|
||||||
dmChassis.OutputVideoRouteNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.OutputCurrentVideoInputNames + ioSlot]);
|
dmChassis.OutputVideoRouteNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.OutputCurrentVideoInputNames + ioSlot]);
|
||||||
dmChassis.OutputAudioRouteNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.OutputCurrentAudioInputNames + ioSlot]);
|
dmChassis.OutputAudioRouteNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.OutputCurrentAudioInputNames + ioSlot]);
|
||||||
|
|
||||||
|
dmChassis.OutputDisabledByHdcpFeedbacks[ioSlot].LinkInputSig(trilist.BooleanInput[joinMap.OutputDisabledByHdcp + ioSlot]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -281,4 +284,5 @@ namespace PepperDash.Essentials.Bridges
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
@ -38,6 +38,10 @@ namespace PepperDash.Essentials.Bridges
|
||||||
/// Range reports high if corresponding input's transmitter supports bridging as a separate device for detailed AV switching, HDCP control, etc.
|
/// Range reports high if corresponding input's transmitter supports bridging as a separate device for detailed AV switching, HDCP control, etc.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public uint TxAdvancedIsPresent { get; set; } // indicates that there is an attached transmitter that should be bridged to be interacted with
|
public uint TxAdvancedIsPresent { get; set; } // indicates that there is an attached transmitter that should be bridged to be interacted with
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports high if corresponding output is disabled by HDCP.
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputDisabledByHdcp { get; set; } // indicates that there is an attached transmitter that should be bridged to be interacted with
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Analogs
|
#region Analogs
|
||||||
|
|
@ -101,6 +105,7 @@ namespace PepperDash.Essentials.Bridges
|
||||||
InputEndpointOnline = 500; //501-699
|
InputEndpointOnline = 500; //501-699
|
||||||
OutputEndpointOnline = 700; //701-899
|
OutputEndpointOnline = 700; //701-899
|
||||||
TxAdvancedIsPresent = 1000; //1001-1199
|
TxAdvancedIsPresent = 1000; //1001-1199
|
||||||
|
OutputDisabledByHdcp = 1200; //1201-1399
|
||||||
|
|
||||||
//Analog
|
//Analog
|
||||||
OutputVideo = 100; //101-299
|
OutputVideo = 100; //101-299
|
||||||
|
|
@ -139,6 +144,7 @@ namespace PepperDash.Essentials.Bridges
|
||||||
OutputEndpointOnline = OutputEndpointOnline + joinOffset;
|
OutputEndpointOnline = OutputEndpointOnline + joinOffset;
|
||||||
HdcpSupportState = HdcpSupportState + joinOffset;
|
HdcpSupportState = HdcpSupportState + joinOffset;
|
||||||
HdcpSupportCapability = HdcpSupportCapability + joinOffset;
|
HdcpSupportCapability = HdcpSupportCapability + joinOffset;
|
||||||
|
OutputDisabledByHdcp = OutputDisabledByHdcp + joinOffset;
|
||||||
TxAdvancedIsPresent = TxAdvancedIsPresent + joinOffset;
|
TxAdvancedIsPresent = TxAdvancedIsPresent + joinOffset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue