mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 13:15:03 +00:00
Added VC Mock and some interaction in UI layer
This commit is contained in:
@@ -127,10 +127,7 @@
|
|||||||
<Compile Include="SetTopBox\IRSetTopBoxBase.cs" />
|
<Compile Include="SetTopBox\IRSetTopBoxBase.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="Streaming\Roku.cs" />
|
<Compile Include="Streaming\Roku.cs" />
|
||||||
<Compile Include="VC\Cisco\Configuration.cs" />
|
<Compile Include="VC\MockVC\MockVC.cs" />
|
||||||
<Compile Include="VC\Cisco\HttpApiServer.cs" />
|
|
||||||
<Compile Include="VC\Cisco\Status.cs" />
|
|
||||||
<Compile Include="VC\Cisco\CiscoCodec.cs" />
|
|
||||||
<Compile Include="VC\VideoCodecBase.cs" />
|
<Compile Include="VC\VideoCodecBase.cs" />
|
||||||
<None Include="Properties\ControlSystem.cfg" />
|
<None Include="Properties\ControlSystem.cfg" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -0,0 +1,191 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
using PepperDash.Core;
|
||||||
|
using PepperDash.Essentials.Core;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
||||||
|
{
|
||||||
|
public class MockVC : VideoCodecBase
|
||||||
|
{
|
||||||
|
public MockVC(string key, string name)
|
||||||
|
: base(key, name)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override Func<bool> InCallFeedbackFunc
|
||||||
|
{
|
||||||
|
get { return () => _InCall; }
|
||||||
|
}
|
||||||
|
bool _InCall;
|
||||||
|
|
||||||
|
protected override Func<bool> IncomingCallFeedbackFunc
|
||||||
|
{
|
||||||
|
get { return () => _IncomingCall; }
|
||||||
|
}
|
||||||
|
bool _IncomingCall;
|
||||||
|
|
||||||
|
protected override Func<bool> TransmitMuteFeedbackFunc
|
||||||
|
{
|
||||||
|
get { return () => _TransmitMute; }
|
||||||
|
}
|
||||||
|
bool _TransmitMute;
|
||||||
|
|
||||||
|
protected override Func<bool> ReceiveMuteFeedbackFunc
|
||||||
|
{
|
||||||
|
get { return () => _ReceiveMute; }
|
||||||
|
}
|
||||||
|
bool _ReceiveMute;
|
||||||
|
|
||||||
|
protected override Func<bool> PrivacyModeFeedbackFunc
|
||||||
|
{
|
||||||
|
get { return () => _PrivacyModeIsOn; }
|
||||||
|
}
|
||||||
|
bool _PrivacyModeIsOn;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Dials, yo!
|
||||||
|
/// </summary>
|
||||||
|
public override void Dial(string s)
|
||||||
|
{
|
||||||
|
|
||||||
|
_InCall = true;
|
||||||
|
InCallFeedback.FireUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Makes horrible tones go out on the wire!
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="s"></param>
|
||||||
|
public void SendDTMF(string s)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override void EndCall()
|
||||||
|
{
|
||||||
|
_InCall = false;
|
||||||
|
InCallFeedback.FireUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// For a call from the test methods below
|
||||||
|
/// </summary>
|
||||||
|
public override void AcceptCall()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// For a call from the test methods below
|
||||||
|
/// </summary>
|
||||||
|
public override void RejectCall()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public override void ExecuteSwitch(object selector)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ReceiveMuteOff()
|
||||||
|
{
|
||||||
|
if (!_ReceiveMute)
|
||||||
|
return;
|
||||||
|
_ReceiveMute = false;
|
||||||
|
ReceiveMuteIsOnFeedback.FireUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ReceiveMuteOn()
|
||||||
|
{
|
||||||
|
if (_ReceiveMute)
|
||||||
|
return;
|
||||||
|
ReceiveMuteIsOnFeedback.FireUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ReceiveMuteToggle()
|
||||||
|
{
|
||||||
|
_ReceiveMute = !_ReceiveMute;
|
||||||
|
ReceiveMuteIsOnFeedback.FireUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void SetReceiveVolume(ushort level)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void TransmitMuteOff()
|
||||||
|
{
|
||||||
|
if (!_TransmitMute)
|
||||||
|
return;
|
||||||
|
_TransmitMute = false;
|
||||||
|
TransmitMuteIsOnFeedback.FireUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void TransmitMuteOn()
|
||||||
|
{
|
||||||
|
if (_TransmitMute)
|
||||||
|
return;
|
||||||
|
TransmitMuteIsOnFeedback.FireUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void TransmitMuteToggle()
|
||||||
|
{
|
||||||
|
_TransmitMute = !_TransmitMute;
|
||||||
|
TransmitMuteIsOnFeedback.FireUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void SetTransmitVolume(ushort level)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PrivacyModeOn()
|
||||||
|
{
|
||||||
|
if (_PrivacyModeIsOn)
|
||||||
|
return;
|
||||||
|
_PrivacyModeIsOn = true;
|
||||||
|
PrivacyModeIsOnFeedback.FireUpdate();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PrivacyModeOff()
|
||||||
|
{
|
||||||
|
if (!_PrivacyModeIsOn)
|
||||||
|
return;
|
||||||
|
_PrivacyModeIsOn = false;
|
||||||
|
PrivacyModeIsOnFeedback.FireUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PrivacyModeToggle()
|
||||||
|
{
|
||||||
|
_PrivacyModeIsOn = !_PrivacyModeIsOn;
|
||||||
|
PrivacyModeIsOnFeedback.FireUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
//********************************************************
|
||||||
|
// SIMULATION METHODS
|
||||||
|
|
||||||
|
public void TestIncomingCall(string url)
|
||||||
|
{
|
||||||
|
_IncomingCall = true;
|
||||||
|
IncomingCallFeedback.FireUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void TestFarEndHangup()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,9 +7,9 @@ using Crestron.SimplSharp;
|
|||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.VideoCodec
|
namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
||||||
{
|
{
|
||||||
public abstract class VideoCodecBase : Device, IRoutingSinkWithSwitching, IUsageTracking, IHasDialer //, ICodecAudio
|
public abstract class VideoCodecBase : Device, IRoutingSinkWithSwitching, IUsageTracking, IHasDialer, ICodecAudio
|
||||||
{
|
{
|
||||||
#region IUsageTracking Members
|
#region IUsageTracking Members
|
||||||
|
|
||||||
@@ -57,7 +57,7 @@ namespace PepperDash.Essentials.Devices.VideoCodec
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void Dial();
|
public abstract void Dial(string s);
|
||||||
public abstract void EndCall();
|
public abstract void EndCall();
|
||||||
public abstract void AcceptCall();
|
public abstract void AcceptCall();
|
||||||
public abstract void RejectCall();
|
public abstract void RejectCall();
|
||||||
|
|||||||
@@ -59,12 +59,12 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
|
|
||||||
// CODEC TESTING
|
// CODEC TESTING
|
||||||
GenericSshClient TestCodecClient = new GenericSshClient("TestCodec-1--SshClient", "10.11.50.135", 22, "crestron", "2H3Zu&OvgXp6");
|
//GenericSshClient TestCodecClient = new GenericSshClient("TestCodec-1--SshClient", "10.11.50.135", 22, "crestron", "2H3Zu&OvgXp6");
|
||||||
|
|
||||||
PepperDash.Essentials.Devices.VideoCodec.Cisco.CiscoCodec TestCodec =
|
//PepperDash.Essentials.Devices.VideoCodec.Cisco.CiscoCodec TestCodec =
|
||||||
new PepperDash.Essentials.Devices.VideoCodec.Cisco.CiscoCodec("TestCodec-1", "Cisco Spark Room Kit", TestCodecClient, 8080);
|
// new PepperDash.Essentials.Devices.VideoCodec.Cisco.CiscoCodec("TestCodec-1", "Cisco Spark Room Kit", TestCodecClient, 8080);
|
||||||
|
|
||||||
TestCodec.CustomActivate();
|
//TestCodec.CustomActivate();
|
||||||
|
|
||||||
// CODEC TESTING
|
// CODEC TESTING
|
||||||
|
|
||||||
|
|||||||
@@ -25,9 +25,9 @@ namespace PepperDash.Essentials.Fusion
|
|||||||
{
|
{
|
||||||
public class EssentialsHuddleSpaceFusionSystemController : Device
|
public class EssentialsHuddleSpaceFusionSystemController : Device
|
||||||
{
|
{
|
||||||
//public event EventHandler<ScheduleChangeEventArgs> ScheduleChange;
|
public event EventHandler<ScheduleChangeEventArgs> ScheduleChange;
|
||||||
//public event EventHandler<MeetingChangeEventArgs> MeetingEndWarning;
|
public event EventHandler<MeetingChangeEventArgs> MeetingEndWarning;
|
||||||
//public event EventHandler<MeetingChangeEventArgs> NextMeetingBeginWarning;
|
public event EventHandler<MeetingChangeEventArgs> NextMeetingBeginWarning;
|
||||||
|
|
||||||
FusionRoom FusionRoom;
|
FusionRoom FusionRoom;
|
||||||
EssentialsHuddleSpaceRoom Room;
|
EssentialsHuddleSpaceRoom Room;
|
||||||
@@ -41,10 +41,10 @@ namespace PepperDash.Essentials.Fusion
|
|||||||
StringSigData CurrentRoomSourceNameSig;
|
StringSigData CurrentRoomSourceNameSig;
|
||||||
|
|
||||||
#region System Info Sigs
|
#region System Info Sigs
|
||||||
StringSigData SystemName;
|
//StringSigData SystemName;
|
||||||
StringSigData Model;
|
//StringSigData Model;
|
||||||
StringSigData SerialNumber;
|
//StringSigData SerialNumber;
|
||||||
StringSigData Uptime;
|
//StringSigData Uptime;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
@@ -788,6 +788,15 @@ namespace PepperDash.Essentials.Fusion
|
|||||||
|
|
||||||
if (!IsRegisteredForSchedulePushNotifications)
|
if (!IsRegisteredForSchedulePushNotifications)
|
||||||
PollTimer.Reset(SchedulePollInterval, SchedulePollInterval);
|
PollTimer.Reset(SchedulePollInterval, SchedulePollInterval);
|
||||||
|
|
||||||
|
// Fire Schedule Change Event
|
||||||
|
var handler = ScheduleChange;
|
||||||
|
|
||||||
|
if (handler != null)
|
||||||
|
{
|
||||||
|
handler(this, new ScheduleChangeEventArgs() { Schedule = CurrentSchedule });
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -806,7 +815,12 @@ namespace PepperDash.Essentials.Fusion
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Prints today's schedule to console for debugging
|
||||||
|
/// </summary>
|
||||||
void PrintTodaysSchedule()
|
void PrintTodaysSchedule()
|
||||||
|
{
|
||||||
|
if (Debug.Level > 1)
|
||||||
{
|
{
|
||||||
if (CurrentSchedule.Meetings.Count > 0)
|
if (CurrentSchedule.Meetings.Count > 0)
|
||||||
{
|
{
|
||||||
@@ -822,6 +836,7 @@ namespace PepperDash.Essentials.Fusion
|
|||||||
Debug.Console(1, this, "Duration: {0}\n", e.DurationInMinutes);
|
Debug.Console(1, this, "Duration: {0}\n", e.DurationInMinutes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetUpSources()
|
void SetUpSources()
|
||||||
@@ -888,13 +903,8 @@ namespace PepperDash.Essentials.Fusion
|
|||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
void UsageTracker_DeviceUsageEnded(object sender, DeviceUsageEventArgs e)
|
void UsageTracker_DeviceUsageEnded(object sender, DeviceUsageEventArgs e)
|
||||||
<<<<<<< HEAD
|
|
||||||
{
|
|
||||||
var device = sender as Device;
|
|
||||||
=======
|
|
||||||
{
|
{
|
||||||
var deviceTracker = sender as UsageTracking;
|
var deviceTracker = sender as UsageTracking;
|
||||||
>>>>>>> origin/feature/fusion-nyu
|
|
||||||
|
|
||||||
var configDevice = ConfigReader.ConfigObject.Devices.Where(d => d.Key.Equals(deviceTracker.Parent));
|
var configDevice = ConfigReader.ConfigObject.Devices.Where(d => d.Key.Equals(deviceTracker.Parent));
|
||||||
|
|
||||||
@@ -960,6 +970,7 @@ namespace PepperDash.Essentials.Fusion
|
|||||||
string attrName = null;
|
string attrName = null;
|
||||||
uint attrNum = Convert.ToUInt32(keyNum);
|
uint attrNum = Convert.ToUInt32(keyNum);
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
|
||||||
|
|
||||||
if (dev is BasicTriListWithSmartObject)
|
if (dev is BasicTriListWithSmartObject)
|
||||||
@@ -971,13 +982,32 @@ namespace PepperDash.Essentials.Fusion
|
|||||||
}
|
}
|
||||||
// add xpanel here
|
// add xpanel here
|
||||||
|
|
||||||
if (dev is Crestron.SimplSharpPro.UI.XpanelForSmartGraphics)
|
//if (dev is Crestron.SimplSharpPro.UI.XpanelForSmartGraphics)
|
||||||
|
//{
|
||||||
|
// if (attrNum > 10)
|
||||||
|
// continue;
|
||||||
|
// attrName = "Online - XPanel " + attrNum;
|
||||||
|
// attrNum += 160;
|
||||||
|
//}
|
||||||
|
=======
|
||||||
|
if (dev is EssentialsTouchpanelController)
|
||||||
|
{
|
||||||
|
if ((dev as EssentialsTouchpanelController).Panel is Crestron.SimplSharpPro.DeviceSupport.TswFt5Button)
|
||||||
|
{
|
||||||
|
if (attrNum > 10)
|
||||||
|
continue;
|
||||||
|
attrName = "Online - Touch Panel " + attrNum;
|
||||||
|
attrNum += 150;
|
||||||
|
}
|
||||||
|
else if ((dev as EssentialsTouchpanelController).Panel is Crestron.SimplSharpPro.UI.XpanelForSmartGraphics)
|
||||||
{
|
{
|
||||||
if (attrNum > 10)
|
if (attrNum > 10)
|
||||||
continue;
|
continue;
|
||||||
attrName = "Online - XPanel " + attrNum;
|
attrName = "Online - XPanel " + attrNum;
|
||||||
attrNum += 160;
|
attrNum += 160;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
>>>>>>> origin/feature/cisco-spark
|
||||||
|
|
||||||
//else
|
//else
|
||||||
if (dev is DisplayBase)
|
if (dev is DisplayBase)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ using PepperDash.Core;
|
|||||||
using PepperDash.Essentials;
|
using PepperDash.Essentials;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.SmartObjects;
|
using PepperDash.Essentials.Core.SmartObjects;
|
||||||
|
using PepperDash.Essentials.Devices.Common.VideoCodec;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.UIDrivers.VC
|
namespace PepperDash.Essentials.UIDrivers.VC
|
||||||
{
|
{
|
||||||
@@ -20,7 +21,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class EssentialsCiscoSparkUiDriver : PanelDriverBase
|
public class EssentialsCiscoSparkUiDriver : PanelDriverBase
|
||||||
{
|
{
|
||||||
object Codec;
|
VideoCodecBase Codec;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
@@ -51,12 +52,17 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
|
|
||||||
SmartObjectNumeric DialKeypad;
|
SmartObjectNumeric DialKeypad;
|
||||||
|
|
||||||
|
// These are likely temp until we get a keyboard built
|
||||||
|
StringFeedback DialStringFeedback;
|
||||||
|
StringBuilder DialStringBuilder = new StringBuilder();
|
||||||
|
BoolFeedback DialStringBackspaceVisibleFeedback;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="triList"></param>
|
/// <param name="triList"></param>
|
||||||
/// <param name="codec"></param>
|
/// <param name="codec"></param>
|
||||||
public EssentialsCiscoSparkUiDriver(BasicTriListWithSmartObject triList, object codec)
|
public EssentialsCiscoSparkUiDriver(BasicTriListWithSmartObject triList, VideoCodecBase codec)
|
||||||
: base(triList)
|
: base(triList)
|
||||||
{
|
{
|
||||||
Codec = codec;
|
Codec = codec;
|
||||||
@@ -76,6 +82,15 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
|
|
||||||
StagingButtonFeedbackInterlock = new JoinedSigInterlock(triList);
|
StagingButtonFeedbackInterlock = new JoinedSigInterlock(triList);
|
||||||
StagingButtonFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCRecentsVisible);
|
StagingButtonFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCRecentsVisible);
|
||||||
|
|
||||||
|
DialStringFeedback = new StringFeedback(() => DialStringBuilder.ToString());
|
||||||
|
DialStringFeedback.LinkInputSig(triList.StringInput[UIStringJoin.KeyboardText]);
|
||||||
|
|
||||||
|
DialStringBackspaceVisibleFeedback = new BoolFeedback(() => DialStringBuilder.Length > 0);
|
||||||
|
DialStringBackspaceVisibleFeedback
|
||||||
|
.LinkInputSig(TriList.BooleanInput[UIBoolJoin.KeyboardClearVisible]);
|
||||||
|
|
||||||
|
Codec.InCallFeedback.OutputChange += new EventHandler<EventArgs>(InCallFeedback_OutputChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -104,7 +119,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
void SetupCallStagingPopover()
|
void SetupCallStagingPopover()
|
||||||
{
|
{
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.VCStagingDirectoryPress, ShowDirectory);
|
TriList.SetSigFalseAction(UIBoolJoin.VCStagingDirectoryPress, ShowDirectory);
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.VCStagingConnectPress, () => { });
|
TriList.SetSigFalseAction(UIBoolJoin.VCStagingConnectPress, ConnectPress);
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.VCStagingKeypadPress, ShowKeypad);
|
TriList.SetSigFalseAction(UIBoolJoin.VCStagingKeypadPress, ShowKeypad);
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.VCStagingRecentsPress, ShowRecents);
|
TriList.SetSigFalseAction(UIBoolJoin.VCStagingRecentsPress, ShowRecents);
|
||||||
}
|
}
|
||||||
@@ -117,20 +132,20 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
if(TriList.SmartObjects.Contains(UISmartObjectJoin.VCDialKeypad))
|
if(TriList.SmartObjects.Contains(UISmartObjectJoin.VCDialKeypad))
|
||||||
{
|
{
|
||||||
DialKeypad = new SmartObjectNumeric(TriList.SmartObjects[UISmartObjectJoin.VCDialKeypad], true);
|
DialKeypad = new SmartObjectNumeric(TriList.SmartObjects[UISmartObjectJoin.VCDialKeypad], true);
|
||||||
DialKeypad.Digit0.SetSigFalseAction(() => ___DialPlaceholder___(0));
|
DialKeypad.Digit0.SetSigFalseAction(() => DialKeypadPress("0"));
|
||||||
DialKeypad.Digit1.SetSigFalseAction(() => ___DialPlaceholder___(1));
|
DialKeypad.Digit1.SetSigFalseAction(() => DialKeypadPress("1"));
|
||||||
DialKeypad.Digit2.SetSigFalseAction(() => ___DialPlaceholder___(2));
|
DialKeypad.Digit2.SetSigFalseAction(() => DialKeypadPress("2"));
|
||||||
DialKeypad.Digit3.SetSigFalseAction(() => ___DialPlaceholder___(3));
|
DialKeypad.Digit3.SetSigFalseAction(() => DialKeypadPress("3"));
|
||||||
DialKeypad.Digit4.SetSigFalseAction(() => ___DialPlaceholder___(4));
|
DialKeypad.Digit4.SetSigFalseAction(() => DialKeypadPress("4"));
|
||||||
DialKeypad.Digit5.SetSigFalseAction(() => ___DialPlaceholder___(5));
|
DialKeypad.Digit5.SetSigFalseAction(() => DialKeypadPress("5"));
|
||||||
DialKeypad.Digit6.SetSigFalseAction(() => ___DialPlaceholder___(6));
|
DialKeypad.Digit6.SetSigFalseAction(() => DialKeypadPress("6"));
|
||||||
DialKeypad.Digit7.SetSigFalseAction(() => ___DialPlaceholder___(7));
|
DialKeypad.Digit7.SetSigFalseAction(() => DialKeypadPress("7"));
|
||||||
DialKeypad.Digit8.SetSigFalseAction(() => ___DialPlaceholder___(8));
|
DialKeypad.Digit8.SetSigFalseAction(() => DialKeypadPress("8"));
|
||||||
DialKeypad.Digit9.SetSigFalseAction(() => ___DialPlaceholder___(9));
|
DialKeypad.Digit9.SetSigFalseAction(() => DialKeypadPress("9"));
|
||||||
DialKeypad.Misc1SigName = "*";
|
DialKeypad.Misc1SigName = "*";
|
||||||
DialKeypad.Misc1.SetSigFalseAction(() => { });
|
DialKeypad.Misc1.SetSigFalseAction(() => DialKeypadPress("*"));
|
||||||
DialKeypad.Misc2SigName = "#";
|
DialKeypad.Misc2SigName = "#";
|
||||||
DialKeypad.Misc2.SetSigFalseAction(() => { });
|
DialKeypad.Misc2.SetSigFalseAction(() => DialKeypadPress("#"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.Console(0, "Trilist {0:x2}, VC dial keypad object {1} not found. Check SGD file or VTP",
|
Debug.Console(0, "Trilist {0:x2}, VC dial keypad object {1} not found. Check SGD file or VTP",
|
||||||
@@ -166,24 +181,55 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
StagingButtonFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingRecentsPress);
|
StagingButtonFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingRecentsPress);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CallHasStarted()
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
void ConnectPress()
|
||||||
{
|
{
|
||||||
|
if (Codec.InCallFeedback.BoolValue)
|
||||||
|
Codec.EndCall();
|
||||||
|
else
|
||||||
|
Codec.Dial(DialStringBuilder.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
void InCallFeedback_OutputChange(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (Codec.InCallFeedback.BoolValue) // Call is starting
|
||||||
|
{
|
||||||
// Header icon
|
// Header icon
|
||||||
// Add end call button to stage
|
// Add end call button to stage
|
||||||
// Volume bar needs to have mic mute
|
// Volume bar needs to have mic mute
|
||||||
}
|
}
|
||||||
|
else // ending
|
||||||
void CallHasEnded()
|
|
||||||
{
|
{
|
||||||
// Header icon
|
// Header icon
|
||||||
// Remove end call
|
// Remove end call
|
||||||
// Volume bar no mic mute (or hidden if no source?)
|
// Volume bar no mic mute (or hidden if no source?)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ___DialPlaceholder___(int i)
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="i"></param>
|
||||||
|
void DialKeypadPress(string i)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
DialStringBuilder.Append(i);
|
||||||
|
DialStringFeedback.FireUpdate();
|
||||||
|
TriList.BooleanInput[UIBoolJoin.KeyboardClearVisible].BoolValue =
|
||||||
|
DialStringBuilder.Length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DialKeypadBackspacePress()
|
||||||
|
{
|
||||||
|
DialStringBuilder.Remove(DialStringBuilder.Length - 1, 1);
|
||||||
|
DialStringFeedback.FireUpdate();
|
||||||
|
TriList.BooleanInput[UIBoolJoin.KeyboardClearVisible].BoolValue =
|
||||||
|
DialStringBuilder.Length > 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user