Per-Participant NDI ISO Controller for Microsoft Teams. Receives Teams NDI streams, normalizes framerate/resolution, and re-emits clean ISO outputs for live production switchers (vMix, OBS, Ross). Wild Dragon LLC.
Find a file
Zac Gaetano d2c0c2159f
Some checks failed
CI / build-and-test (push) Failing after 34s
feat(installer): WiX v5 MSI scaffold for Wild Dragon TeamsISO
Adds installer/TeamsISO.Installer.wixproj (WixToolset.Sdk 5.0.2 + WixToolset.UI.wixext) plus Package.wxs that produces a per-machine x64 MSI bundling the Release publish output of TeamsISO.App.

Layout: Program Files\\Wild Dragon\\TeamsISO\\, Start Menu shortcut under Programs\\Wild Dragon\\TeamsISO, ARP entry pointing at https://wilddragon.net for both help and about, NoRepair set so users uninstall+install for upgrades. MajorUpgrade is wired so upgrade-in-place from older versions works; downgrade is blocked with a friendly message.

NDI runtime presence is searched (HKLM environment NDI_RUNTIME_DIR_V6) and surfaced as the NDIRUNTIMEDIR property — the install no longer prompts via the deprecated VBScript custom action; instead the WPF app's existing first-run NDI check pops the install link dialog if the runtime is missing. Operators can stage the app before NDI rolls out.

Build:

    dotnet publish src/TeamsISO.App/TeamsISO.App.csproj -c Release -r win-x64 -o publish/TeamsISO

    dotnet build installer/TeamsISO.Installer.wixproj -c Release

Verified locally: MSI builds clean (0 warnings, 0 errors), produces TeamsISO-Setup-1.0.0-alpha.0.msi (336 KB), summary info reads correctly via WindowsInstaller COM API. Property table contains ARPHELPLINK/ARPURLINFOABOUT/Manufacturer/ProductName/UpgradeCode as expected.
2026-05-08 00:16:26 -04:00
.forgejo/workflows ci: enforce 80% line coverage gate on TeamsISO.Engine 2026-05-07 15:16:11 +00:00
docs feat(ui): wire DI bootstrap in App.xaml.cs and add Windows solution filter 2026-05-07 15:41:58 +00:00
installer feat(installer): WiX v5 MSI scaffold for Wild Dragon TeamsISO 2026-05-08 00:16:26 -04:00
src test(ndi): seed requires=ndi integration tests against real NDI runtime 2026-05-08 00:11:01 -04:00
.editorconfig chore: scaffold repo conventions and global build props 2026-05-07 15:07:53 +00:00
.gitignore chore: scaffold repo conventions and global build props 2026-05-07 15:07:53 +00:00
coverlet.runsettings ci: enforce 80% line coverage gate on TeamsISO.Engine 2026-05-07 15:16:11 +00:00
Directory.Build.props chore: scaffold repo conventions and global build props 2026-05-07 15:07:53 +00:00
README.md chore: scaffold repo conventions and global build props 2026-05-07 15:07:53 +00:00
TeamsISO.Linux.slnf feat(console): add TeamsISO.Console headless smoke runner 2026-05-07 15:37:44 +00:00
TeamsISO.sln fix(build): use forward-slash paths in TeamsISO.sln so Windows .slnf resolves 2026-05-07 15:14:42 -04:00
TeamsISO.Windows.slnf feat(ui): wire DI bootstrap in App.xaml.cs and add Windows solution filter 2026-05-07 15:41:58 +00:00

TeamsISO

Per-Participant NDI ISO Controller for Microsoft Teams.

TeamsISO sits between Microsoft Teams' raw NDI broadcast output and a live-production environment. It receives each participant's NDI stream, normalizes framerate and resolution per a configured target, and re-emits clean, individually-addressable NDI sources for ingestion into a switcher (vMix, OBS, Ross, hardware capture).

Status

Pre-1.0. See docs/superpowers/specs/ for the active spec and docs/superpowers/plans/ for in-flight implementation plans.

Build

Requires .NET 8 SDK.

dotnet build
dotnet test

License

Proprietary, © Wild Dragon LLC 2026.