mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 21:24:54 +00:00
Coded changes as per email
This commit is contained in:
@@ -49,6 +49,10 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
||||
|
||||
public StringFeedback LocalLayoutFeedback { get; private set; }
|
||||
|
||||
public BoolFeedback LocalLayoutIsProminentFeedback { get; private set; }
|
||||
|
||||
public BoolFeedback FarEndIsSharingContentFeedback { get; private set; }
|
||||
|
||||
private CodecCommandWithLabel CurrentSelfviewPipPosition;
|
||||
|
||||
private CodecCommandWithLabel CurrentLocalLayout;
|
||||
@@ -138,6 +142,14 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
||||
}
|
||||
}
|
||||
|
||||
protected Func<bool> FarEndIsSharingContentFeedbackFunc
|
||||
{
|
||||
get
|
||||
{
|
||||
return () => CodecStatus.Status.Conference.Presentation.Mode.Value == "Receiving";
|
||||
}
|
||||
}
|
||||
|
||||
protected override Func<bool> MuteFeedbackFunc
|
||||
{
|
||||
get
|
||||
@@ -194,6 +206,14 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
||||
}
|
||||
}
|
||||
|
||||
protected Func<bool> LocalLayoutIsProminentFeedbackFunc
|
||||
{
|
||||
get
|
||||
{
|
||||
return () => CurrentLocalLayout.Label == "Prominent";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private string CliFeedbackRegistrationExpression;
|
||||
|
||||
@@ -245,6 +265,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
||||
SelfviewIsOnFeedback = new BoolFeedback(SelfViewIsOnFeedbackFunc);
|
||||
SelfviewPipPositionFeedback = new StringFeedback(SelfviewPipPositionFeedbackFunc);
|
||||
LocalLayoutFeedback = new StringFeedback(LocalLayoutFeedbackFunc);
|
||||
LocalLayoutIsProminentFeedback = new BoolFeedback(LocalLayoutIsProminentFeedbackFunc);
|
||||
|
||||
PresentationViewMaximizedFeedback = new BoolFeedback(() => CurrentPresentationView == "Maximized");
|
||||
|
||||
@@ -304,6 +325,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
||||
CodecStatus.Status.Video.Selfview.PIPPosition.ValueChangedAction = ComputeSelfviewPipStatus;
|
||||
CodecStatus.Status.Video.Layout.LayoutFamily.Local.ValueChangedAction = ComputeLocalLayout;
|
||||
CodecStatus.Status.Conference.Presentation.Mode.ValueChangedAction = SharingContentIsOnFeedback.FireUpdate;
|
||||
CodecStatus.Status.Conference.Presentation.Mode.ValueChangedAction = FarEndIsSharingContentFeedback.FireUpdate;
|
||||
|
||||
CodecOsdIn = new RoutingInputPort(RoutingPortNames.CodecOsd, eRoutingSignalType.AudioVideo,
|
||||
eRoutingPortConnectionType.Hdmi, new Action(StopSharing), this);
|
||||
@@ -1236,6 +1258,21 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Toggles between single/prominent layouts
|
||||
/// </summary>
|
||||
public void LocalLayoutToggleSingleProminent()
|
||||
{
|
||||
if (CurrentLocalLayout != null)
|
||||
{
|
||||
if (CurrentLocalLayout.Label != "Prominent")
|
||||
LocalLayoutSet(LocalLayouts.FirstOrDefault(l => l.Label.Equals("Prominent")));
|
||||
else
|
||||
LocalLayoutSet(LocalLayouts.FirstOrDefault(l => l.Label.Equals("Single")));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
||||
@@ -444,12 +444,21 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
|
||||
|
||||
public class Mode2 : ValueProperty
|
||||
{
|
||||
string _Value;
|
||||
|
||||
public bool BoolValue { get; private set; }
|
||||
|
||||
|
||||
|
||||
public string Value
|
||||
{
|
||||
get
|
||||
{
|
||||
return _Value;
|
||||
}
|
||||
set
|
||||
{
|
||||
_Value = value;
|
||||
// If the incoming value is "Sending" it sets the BoolValue true, otherwise sets it false
|
||||
BoolValue = value == "Sending";
|
||||
OnValueChanged();
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
||||
StringFeedback LocalLayoutFeedback { get; }
|
||||
|
||||
void LocalLayoutToggle();
|
||||
void LocalLayoutToggleSingleProminent();
|
||||
void MinMaxLayoutToggle();
|
||||
}
|
||||
}
|
||||
@@ -4,5 +4,5 @@
|
||||
[assembly: AssemblyCompany("PepperDash Technology Corp")]
|
||||
[assembly: AssemblyProduct("PepperDashEssentials")]
|
||||
[assembly: AssemblyCopyright("Copyright © PepperDash Technology Corp 2017")]
|
||||
[assembly: AssemblyVersion("1.0.8.*")]
|
||||
[assembly: AssemblyVersion("1.0.9.*")]
|
||||
|
||||
|
||||
@@ -79,6 +79,8 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
||||
StringBuilder SearchStringBuilder = new StringBuilder();
|
||||
BoolFeedback SearchStringBackspaceVisibleFeedback;
|
||||
|
||||
BoolFeedback LayoutButtonEnableFeedback;
|
||||
|
||||
ModalDialog IncomingCallModal;
|
||||
|
||||
eKeypadMode KeypadMode;
|
||||
@@ -748,7 +750,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
||||
var lc = Codec as IHasCodecLayouts;
|
||||
if (lc != null)
|
||||
{
|
||||
TriList.SetSigFalseAction(UIBoolJoin.VCLayoutTogglePress, lc.LocalLayoutToggle);
|
||||
TriList.SetSigFalseAction(UIBoolJoin.VCLayoutTogglePress, lc.LocalLayoutToggleSingleProminent);
|
||||
lc.LocalLayoutFeedback.LinkInputSig(TriList.StringInput[UIStringJoin.VCLayoutModeText]);
|
||||
|
||||
// attach to cisco special things to enable buttons
|
||||
@@ -757,7 +759,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
||||
{
|
||||
// Cisco has min/max buttons that need special sauce
|
||||
cisco.SharingContentIsOnFeedback.OutputChange += CiscoSharingAndPresentation_OutputChanges;
|
||||
cisco.PresentationViewMaximizedFeedback.OutputChange += CiscoSharingAndPresentation_OutputChanges;
|
||||
//cisco.PresentationViewMaximizedFeedback.OutputChange += CiscoSharingAndPresentation_OutputChanges;
|
||||
|
||||
TriList.SetSigFalseAction(UIBoolJoin.VCMinMaxPress, cisco.MinMaxLayoutToggle);
|
||||
}
|
||||
@@ -775,12 +777,13 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
||||
var cisco = Codec as PepperDash.Essentials.Devices.Common.VideoCodec.Cisco.CiscoSparkCodec;
|
||||
if (cisco != null)
|
||||
{
|
||||
var sharing = cisco.SharingContentIsOnFeedback.BoolValue;
|
||||
var maximized = cisco.PresentationViewMaximizedFeedback.BoolValue;
|
||||
var sharingNear = cisco.SharingContentIsOnFeedback.BoolValue;
|
||||
|
||||
var sharingFar = cisco.FarEndIsSharingContentFeedback.BoolValue;
|
||||
//set feedback and enables
|
||||
TriList.BooleanInput[UIBoolJoin.VCMinMaxEnable].BoolValue = sharing;
|
||||
TriList.BooleanInput[UIBoolJoin.VCLayoutToggleEnable].BoolValue = sharing && maximized;
|
||||
TriList.BooleanInput[UIBoolJoin.VCMinMaxPress].BoolValue = maximized;
|
||||
TriList.BooleanInput[UIBoolJoin.VCMinMaxEnable].BoolValue = sharingNear;
|
||||
TriList.BooleanInput[UIBoolJoin.VCLayoutToggleEnable].BoolValue = sharingNear && sharingFar;
|
||||
TriList.BooleanInput[UIBoolJoin.VCMinMaxPress].BoolValue = sharingNear;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user