mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 12:44:58 +00:00
Merge branch 'main' into hotfix/add-logging-if-no-defaultAudioDevice-set
This commit is contained in:
@@ -1285,7 +1285,10 @@ namespace PepperDash.Essentials.DM
|
|||||||
|
|
||||||
var output = outputSelector as DMOutput;
|
var output = outputSelector as DMOutput;
|
||||||
|
|
||||||
if (output == null)
|
var isUsbInput = (sigType & eRoutingSignalType.UsbInput) == eRoutingSignalType.UsbInput;
|
||||||
|
var isUsbOutput = (sigType & eRoutingSignalType.UsbOutput) == eRoutingSignalType.UsbOutput;
|
||||||
|
|
||||||
|
if (output == null && !(isUsbOutput || isUsbInput))
|
||||||
{
|
{
|
||||||
Debug.Console(0, this, Debug.ErrorLogLevel.Warning,
|
Debug.Console(0, this, Debug.ErrorLogLevel.Warning,
|
||||||
"Unable to execute switch for inputSelector {0} to outputSelector {1}", inputSelector,
|
"Unable to execute switch for inputSelector {0} to outputSelector {1}", inputSelector,
|
||||||
@@ -1316,8 +1319,11 @@ namespace PepperDash.Essentials.DM
|
|||||||
if ((sigType & eRoutingSignalType.Video) == eRoutingSignalType.Video)
|
if ((sigType & eRoutingSignalType.Video) == eRoutingSignalType.Video)
|
||||||
{
|
{
|
||||||
Chassis.VideoEnter.BoolValue = true;
|
Chassis.VideoEnter.BoolValue = true;
|
||||||
|
if (output != null)
|
||||||
|
{
|
||||||
output.VideoOut = input; //Chassis.Outputs[output].VideoOut = inCard;
|
output.VideoOut = input; //Chassis.Outputs[output].VideoOut = inCard;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ((sigType & eRoutingSignalType.Audio) == eRoutingSignalType.Audio)
|
if ((sigType & eRoutingSignalType.Audio) == eRoutingSignalType.Audio)
|
||||||
{
|
{
|
||||||
@@ -1326,17 +1332,66 @@ namespace PepperDash.Essentials.DM
|
|||||||
{
|
{
|
||||||
dmMdMnxn.AudioEnter.BoolValue = true;
|
dmMdMnxn.AudioEnter.BoolValue = true;
|
||||||
}
|
}
|
||||||
|
if (output != null)
|
||||||
|
{
|
||||||
output.AudioOut = input;
|
output.AudioOut = input;
|
||||||
//Chassis.Outputs[output].AudioOut = inCard;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((sigType & eRoutingSignalType.UsbOutput) == eRoutingSignalType.UsbOutput || (sigType & eRoutingSignalType.UsbInput) == eRoutingSignalType.UsbInput)
|
if ((sigType & eRoutingSignalType.UsbOutput) == eRoutingSignalType.UsbOutput)
|
||||||
|
|
||||||
{
|
{
|
||||||
Chassis.USBEnter.BoolValue = true;
|
Chassis.USBEnter.BoolValue = true;
|
||||||
output.USBRoutedTo = input;
|
if (inputSelector == null && output != null)
|
||||||
|
{
|
||||||
|
//clearing the route is intended
|
||||||
|
output.USBRoutedTo = null;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (inputSelector != null && input == null)
|
||||||
|
{
|
||||||
|
//input selector is DMOutput...we're doing a out to out route
|
||||||
|
var tempInput = inputSelector as DMOutput;
|
||||||
|
|
||||||
|
if (tempInput == null || output == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
output.USBRoutedTo = tempInput;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (input != null & output != null)
|
||||||
|
{
|
||||||
|
output.USBRoutedTo = input;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if((sigType & eRoutingSignalType.UsbInput) != eRoutingSignalType.UsbInput)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Chassis.USBEnter.BoolValue = true;
|
||||||
|
if (output != null)
|
||||||
|
{
|
||||||
|
output.USBRoutedTo = input;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var tempOutput = outputSelector as DMInput;
|
||||||
|
|
||||||
|
if (tempOutput == null)
|
||||||
|
{
|
||||||
|
Debug.Console(0, this, Debug.ErrorLogLevel.Warning,
|
||||||
|
"Unable to execute switch for inputSelector {0} to outputSelector {1}", inputSelector,
|
||||||
|
outputSelector);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
tempOutput.USBRoutedTo = input;
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region IRoutingNumeric Members
|
#region IRoutingNumeric Members
|
||||||
@@ -1349,8 +1404,10 @@ namespace PepperDash.Essentials.DM
|
|||||||
|
|
||||||
DMInputOutputBase dmCard;
|
DMInputOutputBase dmCard;
|
||||||
|
|
||||||
|
//Routing Input to Input or Output to Input
|
||||||
if ((sigType & eRoutingSignalType.UsbInput) == eRoutingSignalType.UsbInput)
|
if ((sigType & eRoutingSignalType.UsbInput) == eRoutingSignalType.UsbInput)
|
||||||
{
|
{
|
||||||
|
Debug.Console(2, this, "Executing USB Input switch.\r\n in:{0} output: {1}", inputSelector, outputSelector);
|
||||||
if (outputSelector > chassisSize)
|
if (outputSelector > chassisSize)
|
||||||
{
|
{
|
||||||
uint outputIndex;
|
uint outputIndex;
|
||||||
@@ -1370,13 +1427,14 @@ namespace PepperDash.Essentials.DM
|
|||||||
dmCard = Chassis.Inputs[inputSelector];
|
dmCard = Chassis.Inputs[inputSelector];
|
||||||
}
|
}
|
||||||
|
|
||||||
ExecuteSwitch(dmCard, Chassis.Outputs[outputSelector], sigType);
|
ExecuteSwitch(dmCard, Chassis.Inputs[outputSelector], sigType);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((sigType & eRoutingSignalType.UsbOutput) == eRoutingSignalType.UsbOutput)
|
if ((sigType & eRoutingSignalType.UsbOutput) == eRoutingSignalType.UsbOutput)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Executing USB Output switch.\r\n in:{0} output: {1}", inputSelector, outputSelector);
|
Debug.Console(2, this, "Executing USB Output switch.\r\n in:{0} output: {1}", inputSelector, outputSelector);
|
||||||
|
|
||||||
|
//routing Output to Output or Input to Output
|
||||||
if (inputSelector > chassisSize)
|
if (inputSelector > chassisSize)
|
||||||
{
|
{
|
||||||
//wanting to route an output to an output. Subtract chassis size and get output, unless it's 8x8
|
//wanting to route an output to an output. Subtract chassis size and get output, unless it's 8x8
|
||||||
|
|||||||
@@ -298,6 +298,13 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||||||
}
|
}
|
||||||
|
|
||||||
LinkVideoCodecToApi(codec, trilist, joinMap);
|
LinkVideoCodecToApi(codec, trilist, joinMap);
|
||||||
|
|
||||||
|
trilist.OnlineStatusChange += (device, args) =>
|
||||||
|
{
|
||||||
|
if (!args.DeviceOnLine) return;
|
||||||
|
|
||||||
|
trilist.SetString(joinMap.Schedule.JoinNumber, "\xFC");
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -785,6 +792,16 @@ ScreenIndexIsPinnedTo: {8} (a{17})
|
|||||||
|
|
||||||
_currentMeetings = codec.CodecSchedule.Meetings.Where(m => m.StartTime >= currentTime || m.EndTime >= currentTime).ToList();
|
_currentMeetings = codec.CodecSchedule.Meetings.Where(m => m.StartTime >= currentTime || m.EndTime >= currentTime).ToList();
|
||||||
|
|
||||||
|
if (_currentMeetings.Count == 0)
|
||||||
|
{
|
||||||
|
var emptyXSigByteArray = XSigHelpers.ClearOutputs();
|
||||||
|
var emptyXSigString = Encoding.GetEncoding(XSigEncoding)
|
||||||
|
.GetString(emptyXSigByteArray, 0, emptyXSigByteArray.Length);
|
||||||
|
|
||||||
|
trilist.SetString(joinMap.Schedule.JoinNumber, emptyXSigString);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var meetingsData = UpdateMeetingsListXSig(_currentMeetings);
|
var meetingsData = UpdateMeetingsListXSig(_currentMeetings);
|
||||||
trilist.SetString(joinMap.Schedule.JoinNumber, meetingsData);
|
trilist.SetString(joinMap.Schedule.JoinNumber, meetingsData);
|
||||||
trilist.SetUshort(joinMap.MeetingCount.JoinNumber, (ushort)_currentMeetings.Count);
|
trilist.SetUshort(joinMap.MeetingCount.JoinNumber, (ushort)_currentMeetings.Count);
|
||||||
|
|||||||
@@ -1311,6 +1311,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
CodecSchedule.Meetings = zCommand.GetGenericMeetingsFromBookingResult(
|
CodecSchedule.Meetings = zCommand.GetGenericMeetingsFromBookingResult(
|
||||||
codecBookings, CodecSchedule.MeetingWarningMinutes);
|
codecBookings, CodecSchedule.MeetingWarningMinutes);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//need to clear the list if it's empty
|
||||||
|
CodecSchedule.Meetings = new List<Meeting>();
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user