Six related polish items, all building on tonight's groundwork. 1. App icon: teamsiso.ico generated from dragon-mark.png at 7 sizes (16-256), wired as ApplicationIcon in the WPF csproj, MainWindow.Icon, AboutWindow.Icon, and ARPPRODUCTICON in the WiX MSI. Taskbar / window / Add-Remove-Programs all show the dragon mark now. 2. Running incoming FPS: ring buffer of last 30 frame timestamps in IsoPipeline; ComputeFps() returns moving-average rate. Surfaced on IsoHealthStats.IncomingFps and shown in the Source column of the participants DataGrid as 'WxH · 59.94 fps'. Resets cleanly on every supervisor restart. 3. Drops counter: FrameProcessor.Stats already aggregated FramesDropped (closest-frame strategy when the receiver outpaces the processor) and FramesDuplicated; just plumbed _liveProcessor through IsoPipeline so GetStats() can read them. Exposed in the Live column under the in/out counters as a coral-tinted 'drop N'. 4. Console --version flag: prints engine version (with embedded git SHA), .NET version, OS, NDI runtime banner, expected prefix, exit-code legend, plus a wilddragon.net link. Useful for support tickets. 5. About dialog: chromeless modal with the dragon mark + version / .NET / OS / NDI runtime fields and a link to wilddragon.net. Triggered by clicking the rail logo. 6. Teams launcher Stop toggle: TeamsLauncher gains IsRunning() and StopAll(). The rail's Teams button now toggles — if Teams is up, ask to close all Teams windows via WM_CLOSE; otherwise launch as before. Confirms before stopping so we don't kill the user's call mid-transition. Tests: 74/74 unit + 9/9 NDI integration green throughout. MSI builds clean and now embeds the dragon icon for ARP.
35 lines
1.3 KiB
XML
35 lines
1.3 KiB
XML
<Project Sdk="WixToolset.Sdk/5.0.2">
|
|
|
|
<PropertyGroup>
|
|
<OutputType>Package</OutputType>
|
|
<OutputName>TeamsISO-Setup-$(Version)</OutputName>
|
|
|
|
<!-- 64-bit MSI; suppresses ICE80 on components in Program Files (x64). -->
|
|
<Platform>x64</Platform>
|
|
<InstallerPlatform>x64</InstallerPlatform>
|
|
|
|
<!--
|
|
Built artifact location. The installer expects a published build of
|
|
TeamsISO.App rooted here. CI / local script:
|
|
dotnet publish src/TeamsISO.App/TeamsISO.App.csproj
|
|
-c Release -r win-x64 (with self contained false)
|
|
-o $(SolutionDir)publish/TeamsISO
|
|
-->
|
|
<PublishDir>$(MSBuildThisFileDirectory)..\publish\TeamsISO\</PublishDir>
|
|
|
|
<!-- Pass MSBuild values into WiX preprocessor. -->
|
|
<DefineConstants>PublishDir=$(PublishDir);AssetsDir=$(MSBuildThisFileDirectory)..\src\TeamsISO.App\Assets\</DefineConstants>
|
|
|
|
<!-- Code-signing hook (set externally for release builds; left empty for dev). -->
|
|
<SignOutput Condition=" '$(SignOutput)' == '' ">false</SignOutput>
|
|
</PropertyGroup>
|
|
|
|
<!--
|
|
Reference the WiX UI extension so the MSI shows a friendly progress UI
|
|
instead of the silent default.
|
|
-->
|
|
<ItemGroup>
|
|
<PackageReference Include="WixToolset.UI.wixext" Version="5.0.2" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|