mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 12:44:58 +00:00
Merge 36a41ac477 into f3ab364a4d
This commit is contained in:
@@ -918,6 +918,7 @@ namespace PepperDash.Essentials
|
|||||||
TriList.BooleanInput[StartPageVisibleJoin].BoolValue = true;
|
TriList.BooleanInput[StartPageVisibleJoin].BoolValue = true;
|
||||||
TriList.BooleanInput[UIBoolJoin.VolumeSingleMute1Visible].BoolValue = false;
|
TriList.BooleanInput[UIBoolJoin.VolumeSingleMute1Visible].BoolValue = false;
|
||||||
TriList.BooleanInput[UIBoolJoin.SourceStagingBarVisible].BoolValue = false;
|
TriList.BooleanInput[UIBoolJoin.SourceStagingBarVisible].BoolValue = false;
|
||||||
|
TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -633,7 +633,10 @@ namespace PepperDash.Essentials
|
|||||||
var callMode = CurrentMode == UiDisplayMode.Call;
|
var callMode = CurrentMode == UiDisplayMode.Call;
|
||||||
|
|
||||||
TriList.SetBool(StartPageVisibleJoin, startMode ? true : false);
|
TriList.SetBool(StartPageVisibleJoin, startMode ? true : false);
|
||||||
|
|
||||||
TriList.SetBool(UIBoolJoin.SourceStagingBarVisible, presentationMode ? true : false);
|
TriList.SetBool(UIBoolJoin.SourceStagingBarVisible, presentationMode ? true : false);
|
||||||
|
if (!presentationMode)
|
||||||
|
TriList.SetBool(UIBoolJoin.SelectASourceVisible, false);
|
||||||
|
|
||||||
CallButtonSig.BoolValue = callMode
|
CallButtonSig.BoolValue = callMode
|
||||||
&& CurrentRoom.ShutdownType == eShutdownType.None;
|
&& CurrentRoom.ShutdownType == eShutdownType.None;
|
||||||
@@ -674,19 +677,19 @@ namespace PepperDash.Essentials
|
|||||||
// Run default source when room is off and share is pressed
|
// Run default source when room is off and share is pressed
|
||||||
if (!CurrentRoom.OnFeedback.BoolValue)
|
if (!CurrentRoom.OnFeedback.BoolValue)
|
||||||
{
|
{
|
||||||
if (!CurrentRoom.OnFeedback.BoolValue)
|
// If there's no default, show UI elements
|
||||||
{
|
if (!(CurrentRoom as IRunDefaultPresentRoute).RunDefaultPresentRoute())
|
||||||
// If there's no default, show UI elements
|
TriList.SetBool(UIBoolJoin.SelectASourceVisible, true);
|
||||||
if (!(CurrentRoom as IRunDefaultPresentRoute).RunDefaultPresentRoute())
|
}
|
||||||
TriList.SetBool(UIBoolJoin.SelectASourceVisible, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else // room is on show what's active or select a source if nothing is yet active
|
else // room is on show what's active or select a source if nothing is yet active
|
||||||
{
|
{
|
||||||
if(CurrentRoom.CurrentSourceInfo == null || CurrentRoom.CurrentSourceInfoKey == CurrentRoom.DefaultCodecRouteString)
|
if(CurrentRoom.CurrentSourceInfo == null || (CurrentRoom.VideoCodec != null && CurrentRoom.CurrentSourceInfo.SourceDevice.Key == CurrentRoom.VideoCodec.OsdSource.Key))
|
||||||
TriList.SetBool(UIBoolJoin.SelectASourceVisible, true);
|
TriList.SetBool(UIBoolJoin.SelectASourceVisible, true);
|
||||||
else if (CurrentSourcePageManager != null)
|
else if (CurrentSourcePageManager != null)
|
||||||
|
{
|
||||||
|
TriList.SetBool(UIBoolJoin.SelectASourceVisible, false);
|
||||||
CurrentSourcePageManager.Show();
|
CurrentSourcePageManager.Show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
CurrentMode = UiDisplayMode.Presentation;
|
CurrentMode = UiDisplayMode.Presentation;
|
||||||
SetupSourceList();
|
SetupSourceList();
|
||||||
@@ -1131,6 +1134,30 @@ namespace PepperDash.Essentials
|
|||||||
/// <param name="type"></param>
|
/// <param name="type"></param>
|
||||||
void CurrentRoom_CurrentSingleSourceChange(SourceListItem info, ChangeType type)
|
void CurrentRoom_CurrentSingleSourceChange(SourceListItem info, ChangeType type)
|
||||||
{
|
{
|
||||||
|
Debug.Console(1, "AvFunctionsDriver: CurrentSingleSourceChange");
|
||||||
|
|
||||||
|
// Show the Select a source subpage
|
||||||
|
if (TriList.BooleanInput[UIBoolJoin.SourceStagingBarVisible].BoolValue)
|
||||||
|
{
|
||||||
|
Debug.Console(1, "AvFunctionsDriver: CurrentSingleSourceChange SourceStagingBarVisisble: true");
|
||||||
|
|
||||||
|
if (_CurrentRoom.CurrentSourceInfo == null || (_CurrentRoom.VideoCodec != null && _CurrentRoom.CurrentSourceInfo.SourceDevice.Key == _CurrentRoom.VideoCodec.OsdSource.Key))
|
||||||
|
{
|
||||||
|
Debug.Console(1, "AvFunctionsDriver: CurrentSingleSourceChange Showing SelectASourceVisible");
|
||||||
|
TriList.SetBool(UIBoolJoin.SelectASourceVisible, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TriList.SetBool(UIBoolJoin.SelectASourceVisible, false);
|
||||||
|
Debug.Console(1, "AvFunctionsDriver: CurrentSingleSourceChange Hiding SelectASourceVisible");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.Console(1, "AvFunctionsDriver: CurrentSingleSourceChange Hiding SelectASourceVisible");
|
||||||
|
TriList.SetBool(UIBoolJoin.SelectASourceVisible, false);
|
||||||
|
}
|
||||||
|
|
||||||
if (_CurrentRoom.VideoCodec.SharingContentIsOnFeedback.BoolValue && _CurrentRoom.CurrentSourceInfo != null)
|
if (_CurrentRoom.VideoCodec.SharingContentIsOnFeedback.BoolValue && _CurrentRoom.CurrentSourceInfo != null)
|
||||||
TriList.StringInput[UIStringJoin.CallSharedSourceNameText].StringValue = _CurrentRoom.CurrentSourceInfo.PreferredName;
|
TriList.StringInput[UIStringJoin.CallSharedSourceNameText].StringValue = _CurrentRoom.CurrentSourceInfo.PreferredName;
|
||||||
}
|
}
|
||||||
@@ -1228,12 +1255,12 @@ namespace PepperDash.Essentials
|
|||||||
var value = _CurrentRoom.OnFeedback.BoolValue;
|
var value = _CurrentRoom.OnFeedback.BoolValue;
|
||||||
TriList.BooleanInput[UIBoolJoin.RoomIsOn].BoolValue = value;
|
TriList.BooleanInput[UIBoolJoin.RoomIsOn].BoolValue = value;
|
||||||
|
|
||||||
TriList.BooleanInput[StartPageVisibleJoin].BoolValue = !value;
|
//TriList.BooleanInput[StartPageVisibleJoin].BoolValue = !value;
|
||||||
|
|
||||||
if (value) //ON
|
if (value) //ON
|
||||||
{
|
{
|
||||||
SetupActivityFooterWhenRoomOn();
|
SetupActivityFooterWhenRoomOn();
|
||||||
TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false;
|
//TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false;
|
||||||
TriList.BooleanInput[UIBoolJoin.VolumeDualMute1Visible].BoolValue = true;
|
TriList.BooleanInput[UIBoolJoin.VolumeDualMute1Visible].BoolValue = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,100 +1,102 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
|
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Describes a device that has call participants
|
/// Describes a device that has call participants
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IHasParticipants
|
public interface IHasParticipants
|
||||||
{
|
{
|
||||||
CodecParticipants Participants { get; }
|
CodecParticipants Participants { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Describes the ability to mute and unmute a participant's video in a meeting
|
/// Describes the ability to mute and unmute a participant's video in a meeting
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IHasParticipantVideoMute:IHasParticipants
|
public interface IHasParticipantVideoMute : IHasParticipants
|
||||||
{
|
{
|
||||||
void MuteVideoForParticipant(int userId);
|
void MuteVideoForParticipant(int userId);
|
||||||
void UnmuteVideoForParticipant(int userId);
|
void UnmuteVideoForParticipant(int userId);
|
||||||
void ToggleVideoForParticipant(int userId);
|
void ToggleVideoForParticipant(int userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Describes the ability to mute and unmute a participant's audio in a meeting
|
/// Describes the ability to mute and unmute a participant's audio in a meeting
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IHasParticipantAudioMute : IHasParticipantVideoMute
|
public interface IHasParticipantAudioMute : IHasParticipantVideoMute
|
||||||
{
|
{
|
||||||
void MuteAudioForParticipant(int userId);
|
void MuteAudioForParticipant(int userId);
|
||||||
void UnmuteAudioForParticipant(int userId);
|
void UnmuteAudioForParticipant(int userId);
|
||||||
void ToggleAudioForParticipant(int userId);
|
void ToggleAudioForParticipant(int userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Describes the ability to pin and unpin a participant in a meeting
|
/// Describes the ability to pin and unpin a participant in a meeting
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IHasParticipantPinUnpin : IHasParticipants
|
public interface IHasParticipantPinUnpin : IHasParticipants
|
||||||
{
|
{
|
||||||
IntFeedback NumberOfScreensFeedback { get; }
|
IntFeedback NumberOfScreensFeedback { get; }
|
||||||
int ScreenIndexToPinUserTo { get; }
|
int ScreenIndexToPinUserTo { get; }
|
||||||
|
|
||||||
void PinParticipant(int userId, int screenIndex);
|
void PinParticipant(int userId, int screenIndex);
|
||||||
void UnPinParticipant(int userId);
|
void UnPinParticipant(int userId);
|
||||||
void ToggleParticipantPinState(int userId, int screenIndex);
|
void ToggleParticipantPinState(int userId, int screenIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CodecParticipants
|
public class CodecParticipants
|
||||||
{
|
{
|
||||||
private List<Participant> _currentParticipants;
|
private List<Participant> _currentParticipants;
|
||||||
|
|
||||||
public List<Participant> CurrentParticipants {
|
|
||||||
get { return _currentParticipants; }
|
|
||||||
set
|
|
||||||
{
|
|
||||||
_currentParticipants = value;
|
|
||||||
OnParticipantsChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public event EventHandler<EventArgs> ParticipantsListHasChanged;
|
public List<Participant> CurrentParticipants
|
||||||
|
{
|
||||||
|
get { return _currentParticipants; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_currentParticipants = value;
|
||||||
|
OnParticipantsChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public CodecParticipants()
|
public event EventHandler<EventArgs> ParticipantsListHasChanged;
|
||||||
{
|
|
||||||
_currentParticipants = new List<Participant>();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnParticipantsChanged()
|
public CodecParticipants()
|
||||||
{
|
{
|
||||||
var handler = ParticipantsListHasChanged;
|
_currentParticipants = new List<Participant>();
|
||||||
|
}
|
||||||
|
|
||||||
if (handler == null) return;
|
public void OnParticipantsChanged()
|
||||||
|
{
|
||||||
|
var handler = ParticipantsListHasChanged;
|
||||||
|
|
||||||
handler(this, new EventArgs());
|
if (handler == null) return;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
handler(this, new EventArgs());
|
||||||
/// Represents a call participant
|
}
|
||||||
/// </summary>
|
}
|
||||||
public class Participant
|
|
||||||
{
|
|
||||||
public int UserId { get; set; }
|
|
||||||
public bool IsHost { get; set; }
|
|
||||||
public string Name { get; set; }
|
|
||||||
public bool CanMuteVideo { get; set; }
|
|
||||||
public bool CanUnmuteVideo { get; set; }
|
|
||||||
public bool VideoMuteFb { get; set; }
|
|
||||||
public bool AudioMuteFb { get; set; }
|
|
||||||
public bool HandIsRaisedFb { get; set; }
|
|
||||||
public bool IsPinnedFb { get; set; }
|
|
||||||
public int ScreenIndexIsPinnedToFb { get; set; }
|
|
||||||
|
|
||||||
public Participant()
|
/// <summary>
|
||||||
{
|
/// Represents a call participant
|
||||||
// Initialize to -1 (no screen)
|
/// </summary>
|
||||||
ScreenIndexIsPinnedToFb = -1;
|
public class Participant
|
||||||
}
|
{
|
||||||
}
|
public int UserId { get; set; }
|
||||||
|
public bool IsHost { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
public bool CanMuteVideo { get; set; }
|
||||||
|
public bool CanUnmuteVideo { get; set; }
|
||||||
|
public bool VideoMuteFb { get; set; }
|
||||||
|
public bool AudioMuteFb { get; set; }
|
||||||
|
public bool HandIsRaisedFb { get; set; }
|
||||||
|
public bool IsPinnedFb { get; set; }
|
||||||
|
public int ScreenIndexIsPinnedToFb { get; set; }
|
||||||
|
|
||||||
|
public Participant()
|
||||||
|
{
|
||||||
|
// Initialize to -1 (no screen)
|
||||||
|
ScreenIndexIsPinnedToFb = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user