Skip to content

Commit

Permalink
fix: filter secondary audio tielines so that routing works correctly
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrew Welker committed Jun 24, 2024
1 parent e296ee4 commit e62b49d
Showing 1 changed file with 16 additions and 14 deletions.
30 changes: 16 additions & 14 deletions src/NvxEpi/Features/Routing/NvxGlobalRouter.cs
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
using System;
using System.Collections.Generic;
using PepperDash.Core;
using System.Linq;
using NvxEpi.Abstractions;
using NvxEpi.Abstractions;
using NvxEpi.Abstractions.SecondaryAudio;
using NvxEpi.Devices;
using NvxEpi.Services.TieLines;
using NvxEpi.Services.Utilities;
using PepperDash.Core;
using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.Routing;
using NvxEpi.Abstractions.SecondaryAudio;
using NvxEpi.Devices;
using System;
using System.Collections.Generic;
using System.Linq;

namespace NvxEpi.Features.Routing;

Expand Down Expand Up @@ -68,13 +68,15 @@ private static void BuildTieLines()
var audioTransmitters = DeviceManager
.AllDevices
.OfType<INvxDevice>()
.Where(t => t.IsTransmitter)
.ToList();

TieLineConnector.AddTieLinesForAudioTransmitters(audioTransmitters);

var audioReceivers = DeviceManager
.AllDevices
.OfType<INvxDevice>()
.Where(t => !t.IsTransmitter)
.ToList();

TieLineConnector.AddTieLinesForAudioReceivers(audioReceivers);
Expand Down Expand Up @@ -144,19 +146,19 @@ private void BuildMatrixRouting()

public void Route(string inputSlotKey, string outputSlotKey, eRoutingSignalType type)
{
if(!InputSlots.TryGetValue(inputSlotKey, out var inputSlot))
if (!InputSlots.TryGetValue(inputSlotKey, out var inputSlot))
{
Debug.Console(0, this, "Unable to find input slot with key {0}", inputSlotKey);
return;
}

if(!OutputSlots.TryGetValue(outputSlotKey, out var outputSlot))
if (!OutputSlots.TryGetValue(outputSlotKey, out var outputSlot))
{
Debug.Console(0, this, "Unable to find output slot with key {0}", outputSlotKey);
return;
}

if(outputSlot is not NvxMatrixOutput output)
if (outputSlot is not NvxMatrixOutput output)
{
Debug.LogMessage(Serilog.Events.LogEventLevel.Error, "Output with key {key} is not NvxMatrixOutput", this, outputSlotKey);
return;
Expand All @@ -170,13 +172,13 @@ public void Route(string inputSlotKey, string outputSlotKey, eRoutingSignalType
return;
}

if(type.Has(eRoutingSignalType.Video))
if (type.Has(eRoutingSignalType.Video))
{
// using namespace to qualify type as `Route` is a static method
Routing.PrimaryStreamRouter.Route(inputSlot.SlotNumber, outputDevice);
// using namespace to qualify type as `Route` is a static method
Routing.PrimaryStreamRouter.Route(inputSlot.SlotNumber, outputDevice);
}

if((type.Has(eRoutingSignalType.SecondaryAudio)
if ((type.Has(eRoutingSignalType.SecondaryAudio)
|| type.Has(eRoutingSignalType.Audio))
&& outputDevice is ISecondaryAudioStreamWithHardware audioOutput)
{
Expand Down

0 comments on commit e62b49d

Please sign in to comment.