mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 21:24:54 +00:00
feat(essentials): Adds new interface capabilities
* ability to admit a participant from waiting room * ability to acknowledge a meeting recording consent prompt
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -19,5 +19,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
|
|||||||
public interface IHasMeetingRecordingWithPrompt : IHasMeetingRecording
|
public interface IHasMeetingRecordingWithPrompt : IHasMeetingRecording
|
||||||
{
|
{
|
||||||
BoolFeedback RecordConsentPromptIsVisible { get; }
|
BoolFeedback RecordConsentPromptIsVisible { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Used to agree or disagree to the meeting being recorded when prompted
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="agree"></param>
|
||||||
|
void RecordingPromptAcknowledgement(bool agree);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -24,6 +24,12 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="participant"></param>
|
/// <param name="participant"></param>
|
||||||
void SetParticipantAsHost(int userId);
|
void SetParticipantAsHost(int userId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Admits a participant from the waiting room
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="userId"></param>
|
||||||
|
void AdmitParticipantFromWaitingRoom(int userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -518,10 +518,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
|
|
||||||
private void HandleCallRecordInfoStateUpdate(object sender, PropertyChangedEventArgs a)
|
private void HandleCallRecordInfoStateUpdate(object sender, PropertyChangedEventArgs a)
|
||||||
{
|
{
|
||||||
//Debug.Console(2, this, "**************** Status.Call.CallRecordInfo.PropertyChanged. PropertyName: {0} *********************************", a.PropertyName);
|
|
||||||
if (a.PropertyName == "meetingIsBeingRecorded")
|
if (a.PropertyName == "meetingIsBeingRecorded")
|
||||||
{
|
{
|
||||||
//Debug.Console(2, this, "**************** Meeting Recording Info Updated. Recording: {0} **********************************", Status.Call.CallRecordInfo.meetingIsBeingRecorded);
|
|
||||||
MeetingIsRecordingFeedback.FireUpdate();
|
MeetingIsRecordingFeedback.FireUpdate();
|
||||||
|
|
||||||
var meetingInfo = new MeetingInfo(MeetingInfo.Id,
|
var meetingInfo = new MeetingInfo(MeetingInfo.Id,
|
||||||
@@ -536,10 +534,6 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
MeetingIsRecordingFeedback.BoolValue);
|
MeetingIsRecordingFeedback.BoolValue);
|
||||||
MeetingInfo = meetingInfo;
|
MeetingInfo = meetingInfo;
|
||||||
}
|
}
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// Debug.Console(2, this, "**************** Meeting Recording Info Updated. PropertyName: {0} *********************************", a.PropertyName);
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleCallStateUpdate(object sender, PropertyChangedEventArgs a)
|
private void HandleCallStateUpdate(object sender, PropertyChangedEventArgs a)
|
||||||
@@ -2374,6 +2368,21 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
/// <param name="joinMap"></param>
|
/// <param name="joinMap"></param>
|
||||||
public void LinkZoomRoomToApi(BasicTriList trilist, ZoomRoomJoinMap joinMap)
|
public void LinkZoomRoomToApi(BasicTriList trilist, ZoomRoomJoinMap joinMap)
|
||||||
{
|
{
|
||||||
|
var recordingCodec = this as IHasMeetingRecordingWithPrompt;
|
||||||
|
if (recordingCodec != null)
|
||||||
|
{
|
||||||
|
trilist.SetSigFalseAction(joinMap.StartRecording.JoinNumber, () => recordingCodec.StartRecording());
|
||||||
|
trilist.SetSigFalseAction(joinMap.StopRecording.JoinNumber, () => recordingCodec.StopRecording());
|
||||||
|
|
||||||
|
recordingCodec.MeetingIsRecordingFeedback.LinkInputSig(trilist.BooleanInput[joinMap.StartRecording.JoinNumber]);
|
||||||
|
recordingCodec.MeetingIsRecordingFeedback.LinkComplementInputSig(trilist.BooleanInput[joinMap.StopRecording.JoinNumber]);
|
||||||
|
|
||||||
|
trilist.SetSigFalseAction(joinMap.RecordingPromptAgree.JoinNumber, () => recordingCodec.RecordingPromptAcknowledgement(true));
|
||||||
|
trilist.SetSigFalseAction(joinMap.RecordingPromptDisagree.JoinNumber, () => recordingCodec.RecordingPromptAcknowledgement(false));
|
||||||
|
|
||||||
|
recordingCodec.RecordConsentPromptIsVisible.LinkInputSig(trilist.BooleanInput[joinMap.RecordConsentPromptIsVisible.JoinNumber]);
|
||||||
|
}
|
||||||
|
|
||||||
var layoutsCodec = this as IHasZoomRoomLayouts;
|
var layoutsCodec = this as IHasZoomRoomLayouts;
|
||||||
if (layoutsCodec != null)
|
if (layoutsCodec != null)
|
||||||
{
|
{
|
||||||
@@ -2827,6 +2836,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
SendText(string.Format("zCommand Call HostChange Id: {0}", userId));
|
SendText(string.Format("zCommand Call HostChange Id: {0}", userId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AdmitParticipantFromWaitingRoom(int userId)
|
||||||
|
{
|
||||||
|
SendText(string.Format("zCommand Call Admit Participant Id: {0}", userId));
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region IHasParticipantAudioMute Members
|
#region IHasParticipantAudioMute Members
|
||||||
@@ -3437,7 +3451,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region IHasMeetingRecording Members
|
#region IHasMeetingRecordingWithPrompt Members
|
||||||
|
|
||||||
public BoolFeedback MeetingIsRecordingFeedback { get; private set; }
|
public BoolFeedback MeetingIsRecordingFeedback { get; private set; }
|
||||||
|
|
||||||
@@ -3445,14 +3459,19 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
|
|
||||||
public BoolFeedback RecordConsentPromptIsVisible { get; private set; }
|
public BoolFeedback RecordConsentPromptIsVisible { get; private set; }
|
||||||
|
|
||||||
|
public void RecordingPromptAcknowledgement(bool agree)
|
||||||
|
{
|
||||||
|
SendText(string.Format("zCommand Agree Recording: {0}", agree ? "on" : "off"));
|
||||||
|
}
|
||||||
|
|
||||||
public void StartRecording()
|
public void StartRecording()
|
||||||
{
|
{
|
||||||
SendText(string.Format("Command Call Record Enable: on"));
|
SendText(string.Format("zCommand Call Record Enable: on"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StopRecording()
|
public void StopRecording()
|
||||||
{
|
{
|
||||||
SendText(string.Format("Command Call Record Enable: off"));
|
SendText(string.Format("zCommand Call Record Enable: off"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ToggleRecording()
|
public void ToggleRecording()
|
||||||
|
|||||||
@@ -295,7 +295,77 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
Description = "Toggles the selfview pip size, (aka layout size)",
|
Description = "Toggles the selfview pip size, (aka layout size)",
|
||||||
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
|
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
|
||||||
JoinType = eJoinType.Digital
|
JoinType = eJoinType.Digital
|
||||||
});
|
});
|
||||||
|
|
||||||
|
[JoinName("StartRecording")]
|
||||||
|
public JoinDataComplete StartRecording = new JoinDataComplete(
|
||||||
|
new JoinData
|
||||||
|
{
|
||||||
|
JoinNumber = 241,
|
||||||
|
JoinSpan = 1
|
||||||
|
},
|
||||||
|
new JoinMetadata
|
||||||
|
{
|
||||||
|
Description = "Pulse to start the Meeting Recording. FB high if meeting is currently recording",
|
||||||
|
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
|
||||||
|
JoinType = eJoinType.Digital
|
||||||
|
});
|
||||||
|
|
||||||
|
[JoinName("StopRecording")]
|
||||||
|
public JoinDataComplete StopRecording = new JoinDataComplete(
|
||||||
|
new JoinData
|
||||||
|
{
|
||||||
|
JoinNumber = 242,
|
||||||
|
JoinSpan = 1
|
||||||
|
},
|
||||||
|
new JoinMetadata
|
||||||
|
{
|
||||||
|
Description = "Pulse to stop the Meeting Recording. FB high if meeting is currently NOT recording",
|
||||||
|
JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
|
||||||
|
JoinType = eJoinType.Digital
|
||||||
|
});
|
||||||
|
|
||||||
|
[JoinName("RecordConsentPromptIsVisible")]
|
||||||
|
public JoinDataComplete RecordConsentPromptIsVisible = new JoinDataComplete(
|
||||||
|
new JoinData
|
||||||
|
{
|
||||||
|
JoinNumber = 243,
|
||||||
|
JoinSpan = 1
|
||||||
|
},
|
||||||
|
new JoinMetadata
|
||||||
|
{
|
||||||
|
Description = "When high, indicates that the recording consent prompt is visible on the ZoomRoom UI",
|
||||||
|
JoinCapabilities = eJoinCapabilities.ToSIMPL,
|
||||||
|
JoinType = eJoinType.Digital
|
||||||
|
});
|
||||||
|
|
||||||
|
[JoinName("RecordingPromptAgree")]
|
||||||
|
public JoinDataComplete RecordingPromptAgree = new JoinDataComplete(
|
||||||
|
new JoinData
|
||||||
|
{
|
||||||
|
JoinNumber = 244,
|
||||||
|
JoinSpan = 1
|
||||||
|
},
|
||||||
|
new JoinMetadata
|
||||||
|
{
|
||||||
|
Description = "Pulse to agree to consent for meeting recording",
|
||||||
|
JoinCapabilities = eJoinCapabilities.ToSIMPL,
|
||||||
|
JoinType = eJoinType.Digital
|
||||||
|
});
|
||||||
|
|
||||||
|
[JoinName("RecordingPromptDisagree")]
|
||||||
|
public JoinDataComplete RecordingPromptDisagree = new JoinDataComplete(
|
||||||
|
new JoinData
|
||||||
|
{
|
||||||
|
JoinNumber = 245,
|
||||||
|
JoinSpan = 1
|
||||||
|
},
|
||||||
|
new JoinMetadata
|
||||||
|
{
|
||||||
|
Description = "Pulse to disagree to consent for meeting recording",
|
||||||
|
JoinCapabilities = eJoinCapabilities.ToSIMPL,
|
||||||
|
JoinType = eJoinType.Digital
|
||||||
|
});
|
||||||
|
|
||||||
//[JoinName("ParticipantAudioMuteToggleStart")]
|
//[JoinName("ParticipantAudioMuteToggleStart")]
|
||||||
//public JoinDataComplete ParticipantAudioMuteToggleStart = new JoinDataComplete(
|
//public JoinDataComplete ParticipantAudioMuteToggleStart = new JoinDataComplete(
|
||||||
|
|||||||
Reference in New Issue
Block a user