Compare commits

...

2 Commits

3 changed files with 391 additions and 2 deletions

View File

@@ -31,6 +31,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
BoolFeedback LayoutViewIsOnLastPageFeedback { get; } // TODO: #697 [*] Consider modifying to report button visibility in func
BoolFeedback CanSwapContentWithThumbnailFeedback { get; }
BoolFeedback ContentSwappedWithThumbnailFeedback { get; }
StringFeedback LayoutSizeFeedback { get; } // TODO: #714 [ ] Feature Layout Size
StringFeedback LayoutPositionFeedback { get; } // TODO: #714 [ ] Feature Layout Size
ZoomRoom.zConfiguration.eLayoutStyle LastSelectedLayout { get; }
ZoomRoom.zConfiguration.eLayoutStyle AvailableLayouts { get; }
@@ -41,6 +43,12 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
void LayoutTurnNextPage();
void LayoutTurnPreviousPage();
void GetCurrentLayoutSize(); // TODO: #714 [ ] Feature Layout Size
void SetLayoutSize(ZoomRoom.zConfiguration.eLayoutSize layoutSize); // TODO: #714 [ ] Feature Layout Size
void GetCurrentLayoutPosition(); // TODO: #714 [ ] Feature Layout Size
void SetLayoutPosition(ZoomRoom.zConfiguration.eLayoutPosition layoutPosition); // TODO: #714 [ ] Feature Layout Size
}
public class LayoutInfoChangedEventArgs : EventArgs

View File

@@ -126,6 +126,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
LocalLayoutFeedback = new StringFeedback(LocalLayoutFeedbackFunc);
// TODO: #714 [ ] Feature Layout Size
LayoutSizeFeedback = new StringFeedback(LayoutSizeFeedbackFunc);
LayoutPositionFeedback = new StringFeedback(LayoutPositionFeedbackFunc);
LayoutViewIsOnFirstPageFeedback = new BoolFeedback(LayoutViewIsOnFirstPageFeedbackFunc);
LayoutViewIsOnLastPageFeedback = new BoolFeedback(LayoutViewIsOnLastPageFeedbackFunc);
CanSwapContentWithThumbnailFeedback = new BoolFeedback(CanSwapContentWithThumbnailFeedbackFunc);
@@ -1795,7 +1800,62 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
}
});
layoutsCodec.LocalLayoutFeedback.LinkInputSig(trilist.StringInput[joinMap.GetSetCurrentLayout.JoinNumber]);
layoutsCodec.LocalLayoutFeedback.LinkInputSig(trilist.StringInput[joinMap.GetSetCurrentLayout.JoinNumber]);
// TODO: #714 [ ] Feature Layout Size
trilist.SetSigFalseAction(joinMap.SetLayoutSizeOff.JoinNumber, () => layoutsCodec.SetLayoutSize(zConfiguration.eLayoutSize.Off));
trilist.SetSigFalseAction(joinMap.SetLayoutSize1.JoinNumber, () => layoutsCodec.SetLayoutSize(zConfiguration.eLayoutSize.Size1));
trilist.SetSigFalseAction(joinMap.SetLayoutSize2.JoinNumber, () => layoutsCodec.SetLayoutSize(zConfiguration.eLayoutSize.Size2));
trilist.SetSigFalseAction(joinMap.SetLayoutSize3.JoinNumber, () => layoutsCodec.SetLayoutSize(zConfiguration.eLayoutSize.Size3));
trilist.SetSigFalseAction(joinMap.SetLayoutSizeStrip.JoinNumber, () => layoutsCodec.SetLayoutSize(zConfiguration.eLayoutSize.Strip));
trilist.SetSigFalseAction(joinMap.GetSetCurrentLayoutSize.JoinNumber, layoutsCodec.GetCurrentLayoutSize);
trilist.SetStringSigAction(joinMap.GetSetCurrentLayoutSize.JoinNumber, (s) =>
{
try
{
var size = (zConfiguration.eLayoutSize)Enum.Parse(typeof(zConfiguration.eLayoutSize), s, true);
SetLayoutSize(size);
}
catch (Exception e)
{
Debug.Console(1, this, "Unable to parse '{0}' to zConfiguration.eLayoutSize: {1}", s, e);
}
});
layoutsCodec.LayoutSizeFeedback.LinkInputSig(trilist.StringInput[joinMap.GetSetCurrentLayoutSize.JoinNumber]);
// TODO: #714 [ ] Feature Layout Size
trilist.SetSigFalseAction(joinMap.SetLayoutPositionCenter.JoinNumber,
() => layoutsCodec.SetLayoutPosition(zConfiguration.eLayoutPosition.Center));
trilist.SetSigFalseAction(joinMap.SetLayoutPositionUp.JoinNumber,
() => layoutsCodec.SetLayoutPosition(zConfiguration.eLayoutPosition.Up));
trilist.SetSigFalseAction(joinMap.SetLayoutPositionRight.JoinNumber,
() => layoutsCodec.SetLayoutPosition(zConfiguration.eLayoutPosition.Right));
trilist.SetSigFalseAction(joinMap.SetLayoutPositionUpRight.JoinNumber,
() => layoutsCodec.SetLayoutPosition(zConfiguration.eLayoutPosition.UpRight));
trilist.SetSigFalseAction(joinMap.SetLayoutPositionDown.JoinNumber,
() => layoutsCodec.SetLayoutPosition(zConfiguration.eLayoutPosition.Down));
trilist.SetSigFalseAction(joinMap.SetLayoutPositionDownRight.JoinNumber,
() => layoutsCodec.SetLayoutPosition(zConfiguration.eLayoutPosition.DownRight));
trilist.SetSigFalseAction(joinMap.SetLayoutPositionLeft.JoinNumber,
() => layoutsCodec.SetLayoutPosition(zConfiguration.eLayoutPosition.Left));
trilist.SetSigFalseAction(joinMap.SetLayoutPositionUpLeft.JoinNumber,
() => layoutsCodec.SetLayoutPosition(zConfiguration.eLayoutPosition.UpLeft));
trilist.SetSigFalseAction(joinMap.SetLayoutPositionDownLeft.JoinNumber,
() => layoutsCodec.SetLayoutPosition(zConfiguration.eLayoutPosition.DownLeft));
trilist.SetSigFalseAction(joinMap.GetSetCurrentLayoutPosition.JoinNumber, layoutsCodec.GetCurrentLayoutPosition);
trilist.SetStringSigAction(joinMap.GetSetCurrentLayoutPosition.JoinNumber, (s) =>
{
try
{
var position = (zConfiguration.eLayoutPosition) Enum.Parse(typeof (zConfiguration.eLayoutPosition), s, true);
SetLayoutPosition(position);
}
catch (Exception e)
{
Debug.Console(1, this, "Unable to parse '{0}' to zConfiguration.eLayoutPosition: {1}", s, e);
}
});
}
var pinCodec = this as IHasParticipantPinUnpin;
@@ -2306,6 +2366,86 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
SendText("zCommand Call Layout TurnPage Forward: Off");
}
// TODO: #714 [ ] Feature Layout Size
/// <summary>
/// Stores last selected layout size
/// </summary>
public zConfiguration.eLayoutSize LastSelectedLayoutSize { get; private set; }
// TODO: #714 [ ] Feature Layout Size
/// <summary>
/// Queries for current layout size
/// </summary>
public void GetCurrentLayoutSize()
{
SendText("zConfiguration Call Layout Size");
}
// TODO: #714 [ ] Feature Layout Size
/// <summary>
/// Sets selected layout size
/// </summary>
/// <param name="layoutSize">zConfiguration.eLayoutSize</param>
public void SetLayoutSize(zConfiguration.eLayoutSize layoutSize)
{
LastSelectedLayoutSize = layoutSize;
SendText(String.Format("zConfiguration Call Layout Size: {0}", layoutSize.ToString()));
}
// TODO: #714 [ ] Feature Layout Size
private Func<string> LayoutSizeFeedbackFunc
{
get
{
return () => Configuration.Call.Layout.Size.ToString();
}
}
/// <summary>
/// Layout size feedback
/// </summary>
public StringFeedback LayoutSizeFeedback { get; private set; }
// TODO: #714 [ ] Feature Layout Size
/// <summary>
/// Stores last selected layout position
/// </summary>
public zConfiguration.eLayoutPosition LastSelectedLayoutPosition { get; private set; }
// TODO: #714 [ ] Feature Layout Size
/// <summary>
/// Queries for current layout position
/// </summary>
public void GetCurrentLayoutPosition()
{
SendText("zConfiguration Call Layout Position");
}
// TODO: #714 [ ] Feature Layout Size
/// <summary>
/// Sets selected layout position
/// </summary>
/// <param name="layoutPosition"></param>
public void SetLayoutPosition(zConfiguration.eLayoutPosition layoutPosition)
{
LastSelectedLayoutPosition = layoutPosition;
SendText(String.Format("zConfiguration Call Layout Position: {0}", layoutPosition.ToString()));
}
// TODO: #714 [ ] Feature Layout Size
private Func<string> LayoutPositionFeedbackFunc
{
get
{
return () => Configuration.Call.Layout.Position.ToString();
}
}
/// <summary>
/// Layout position feedback
/// </summary>
public StringFeedback LayoutPositionFeedback { get; private set; }
#endregion
#region IHasCodecLayouts Members

View File

@@ -162,6 +162,216 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
Description = "FB Indicates if layout 'ShareAll' is available",
JoinCapabilities = eJoinCapabilities.ToSIMPL,
JoinType = eJoinType.DigitalSerial
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutSizeOff")]
public JoinDataComplete SetLayoutSizeOff = new JoinDataComplete(
new JoinData
{
JoinNumber = 231,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout size off",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutSize1")]
public JoinDataComplete SetLayoutSize1 = new JoinDataComplete(
new JoinData
{
JoinNumber = 232,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout size 1",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutSize2")]
public JoinDataComplete SetLayoutSize2 = new JoinDataComplete(
new JoinData
{
JoinNumber = 233,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout size 2",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutSize3")]
public JoinDataComplete SetLayoutSize3 = new JoinDataComplete(
new JoinData
{
JoinNumber = 234,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout size 3",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutSizeStrip")]
public JoinDataComplete SetLayoutSizeStrip = new JoinDataComplete(
new JoinData
{
JoinNumber = 235,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout size strip",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutPositionCenter")]
public JoinDataComplete SetLayoutPositionCenter = new JoinDataComplete(
new JoinData
{
JoinNumber = 241,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout position to center",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutPositionUp")]
public JoinDataComplete SetLayoutPositionUp = new JoinDataComplete(
new JoinData
{
JoinNumber = 242,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout position to up",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutPositionRight")]
public JoinDataComplete SetLayoutPositionRight = new JoinDataComplete(
new JoinData
{
JoinNumber = 243,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout position to right",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutPositionUpRight")]
public JoinDataComplete SetLayoutPositionUpRight = new JoinDataComplete(
new JoinData
{
JoinNumber = 244,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout position to up right",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutPositionDown")]
public JoinDataComplete SetLayoutPositionDown = new JoinDataComplete(
new JoinData
{
JoinNumber = 245,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout position to down",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutPositionDownRight")]
public JoinDataComplete SetLayoutPositionDownRight = new JoinDataComplete(
new JoinData
{
JoinNumber = 246,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout position to down right",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutPositionLeft")]
public JoinDataComplete SetLayoutPositionLeft = new JoinDataComplete(
new JoinData
{
JoinNumber = 247,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout position todown left",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutPositionUpLeft")]
public JoinDataComplete SetLayoutPositionUpLeft = new JoinDataComplete(
new JoinData
{
JoinNumber = 248,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout position to up left",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("SetLayoutPositionDownLeft")]
public JoinDataComplete SetLayoutPositionDownLeft = new JoinDataComplete(
new JoinData
{
JoinNumber = 249,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets layout position to down left",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Digital
});
//[JoinName("ParticipantAudioMuteToggleStart")]
@@ -256,7 +466,38 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
Description = "Sets and reports the current layout. Use the LayoutXXXXIsAvailable signals to determine valid layouts",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.Serial
});
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("GetSetCurrentLayoutSize")]
public JoinDataComplete GetSetCurrentLayoutSize = new JoinDataComplete(
new JoinData
{
JoinNumber = 230,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets and reports the current layout size.",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.DigitalSerial
});
// TODO: #714 [ ] Feature Layout Size
[JoinName("GetSetCurrentLayoutPosition")]
public JoinDataComplete GetSetCurrentLayoutPosition = new JoinDataComplete(
new JoinData
{
JoinNumber = 240,
JoinSpan = 1
},
new JoinMetadata
{
Description = "Sets and reports the current layout position.",
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
JoinType = eJoinType.DigitalSerial
});
#endregion