mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-08 01:04:56 +00:00
fix: videowall mode raw fb for dm-rmc-4kz-scaler-c
This commit is contained in:
@@ -276,13 +276,26 @@ namespace PepperDash.Essentials.DM
|
||||
|
||||
void Scaler_OutputChange(EndpointScalerOutput scalerOutput, ScalerOutputEventArgs args)
|
||||
{
|
||||
if (scalerOutput == null)
|
||||
{
|
||||
Debug.Console(1, this, "Scaler Output object is null");
|
||||
return;
|
||||
}
|
||||
if (args == null)
|
||||
{
|
||||
Debug.Console(1, this, "Scaler Output Args are null");
|
||||
return;
|
||||
}
|
||||
Debug.Console(2, this, "Scaler Event ID: {0}", args.EventId);
|
||||
switch (args.EventId)
|
||||
{
|
||||
case ScalerOutputEventIds.WallModeFeedbackEventId:
|
||||
VideoWallModeRawFeedback.FireUpdate();
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
Debug.Console(2, this, "Scaler Default Unhandled Event ID: {0}", args.EventId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -26,9 +26,9 @@ namespace PepperDash.Essentials.DM
|
||||
public StringFeedback EdidManufacturerFeedback { get; protected set; }
|
||||
public StringFeedback EdidNameFeedback { get; protected set; }
|
||||
public StringFeedback EdidPreferredTimingFeedback { get; protected set; }
|
||||
public StringFeedback EdidSerialNumberFeedback { get; protected set; }
|
||||
|
||||
public IntFeedback VideoWallModeFeedback { get; protected set; }
|
||||
public StringFeedback EdidSerialNumberFeedback { get; protected set; }
|
||||
|
||||
public IntFeedback VideoWallModeFeedback { get; protected set; }
|
||||
public IntFeedback VideoWallModeRawFeedback { get; protected set; }
|
||||
|
||||
protected DmRmcControllerBase(string key, string name, EndpointReceiverBase device)
|
||||
@@ -62,8 +62,8 @@ namespace PepperDash.Essentials.DM
|
||||
else
|
||||
{
|
||||
Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
LinkDmRmcToApi(rmc, trilist, joinMap);
|
||||
}
|
||||
|
||||
@@ -145,18 +145,18 @@ namespace PepperDash.Essentials.DM
|
||||
|
||||
trilist.UShortInput[joinMap.HdcpSupportCapability.JoinNumber].UShortValue = (ushort)hdcpCapability;
|
||||
|
||||
trilist.UShortInput[joinMap.HdcpInputPortCount.JoinNumber].UShortValue = (ushort)routing.InputPorts.Count;
|
||||
|
||||
var dmRmcScalerCBasicVideoMuteWithFeedback = rmc as IBasicVideoMuteWithFeedback;
|
||||
|
||||
if (dmRmcScalerCBasicVideoMuteWithFeedback != null)
|
||||
{
|
||||
Debug.Console(1, this, "Device is IBasicVideoMuteWithFeedback, linking video mute");
|
||||
trilist.SetSigTrueAction(joinMap.VideoMuteToggle.JoinNumber, () => dmRmcScalerCBasicVideoMuteWithFeedback.VideoMuteToggle());
|
||||
trilist.SetSigTrueAction(joinMap.VideoMuteOn.JoinNumber, () => dmRmcScalerCBasicVideoMuteWithFeedback.VideoMuteOn());
|
||||
trilist.SetSigTrueAction(joinMap.VideoMuteOff.JoinNumber, () => dmRmcScalerCBasicVideoMuteWithFeedback.VideoMuteOff());
|
||||
dmRmcScalerCBasicVideoMuteWithFeedback.VideoMuteIsOn.LinkInputSig(trilist.BooleanInput[joinMap.VideoMuteOn.JoinNumber]);
|
||||
dmRmcScalerCBasicVideoMuteWithFeedback.VideoMuteIsOn.LinkComplementInputSig(trilist.BooleanInput[joinMap.VideoMuteOff.JoinNumber]);
|
||||
trilist.UShortInput[joinMap.HdcpInputPortCount.JoinNumber].UShortValue = (ushort)routing.InputPorts.Count;
|
||||
|
||||
var dmRmcScalerCBasicVideoMuteWithFeedback = rmc as IBasicVideoMuteWithFeedback;
|
||||
|
||||
if (dmRmcScalerCBasicVideoMuteWithFeedback != null)
|
||||
{
|
||||
Debug.Console(1, this, "Device is IBasicVideoMuteWithFeedback, linking video mute");
|
||||
trilist.SetSigTrueAction(joinMap.VideoMuteToggle.JoinNumber, () => dmRmcScalerCBasicVideoMuteWithFeedback.VideoMuteToggle());
|
||||
trilist.SetSigTrueAction(joinMap.VideoMuteOn.JoinNumber, () => dmRmcScalerCBasicVideoMuteWithFeedback.VideoMuteOn());
|
||||
trilist.SetSigTrueAction(joinMap.VideoMuteOff.JoinNumber, () => dmRmcScalerCBasicVideoMuteWithFeedback.VideoMuteOff());
|
||||
dmRmcScalerCBasicVideoMuteWithFeedback.VideoMuteIsOn.LinkInputSig(trilist.BooleanInput[joinMap.VideoMuteOn.JoinNumber]);
|
||||
dmRmcScalerCBasicVideoMuteWithFeedback.VideoMuteIsOn.LinkComplementInputSig(trilist.BooleanInput[joinMap.VideoMuteOff.JoinNumber]);
|
||||
}
|
||||
|
||||
var routingWithFeedback = routing as IRmcRouting;
|
||||
@@ -168,17 +168,21 @@ namespace PepperDash.Essentials.DM
|
||||
|
||||
|
||||
trilist.SetUShortSigAction(joinMap.AudioVideoSource.JoinNumber,
|
||||
a => routingWithFeedback.ExecuteNumericSwitch(a, 1, eRoutingSignalType.AudioVideo));
|
||||
|
||||
var dmRmcScalerWithVideowall = rmc as DmRmc4kZScalerCController;
|
||||
|
||||
if (dmRmcScalerWithVideowall != null)
|
||||
{
|
||||
trilist.SetUShortSigAction(joinMap.ScalerOutWallMode.JoinNumber, a => dmRmcScalerWithVideowall.SetWallMode(a));
|
||||
trilist.SetUShortSigAction(joinMap.ScalerOutWallModeRaw.JoinNumber, a => dmRmcScalerWithVideowall.SetWallModeRaw(a));
|
||||
|
||||
|
||||
}
|
||||
a => routingWithFeedback.ExecuteNumericSwitch(a, 1, eRoutingSignalType.AudioVideo));
|
||||
|
||||
var dmRmcScalerWithVideowall = rmc as DmRmc4kZScalerCController;
|
||||
|
||||
if (dmRmcScalerWithVideowall != null)
|
||||
{
|
||||
trilist.SetUShortSigAction(joinMap.ScalerOutWallMode.JoinNumber, a => dmRmcScalerWithVideowall.SetWallMode(a));
|
||||
trilist.SetUShortSigAction(joinMap.ScalerOutWallModeRaw.JoinNumber, a => dmRmcScalerWithVideowall.SetWallModeRaw(a));
|
||||
|
||||
if (rmc.VideoWallModeFeedback != null)
|
||||
rmc.VideoWallModeFeedback.LinkInputSig(trilist.UShortInput[joinMap.ScalerOutWallMode.JoinNumber]);
|
||||
if (rmc.VideoWallModeRawFeedback != null)
|
||||
rmc.VideoWallModeRawFeedback.LinkInputSig(trilist.UShortInput[joinMap.ScalerOutWallModeRaw.JoinNumber]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user