Files
voice-cat/clients/windows/VoiceCat.App/VoiceCat.App.csproj
Talon 08e6c5930a
Build and test / test (macos-latest) (push) Canceled after 0s
Build and test / test (ubuntu-24.04) (push) Canceled after 0s
Build and test / test (windows-latest) (push) Canceled after 0s
Build and test / apple-client (push) Canceled after 0s
Retire legacy implementations and flatten managed layout
2026-09-21 00:11:32 +02:00

48 lines
2.1 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<ProjectReference Include="..\VoiceCat.Windows\VoiceCat.Windows.csproj" />
</ItemGroup>
<!-- Prismatoid — .NET bindings for the Prism speech library, used for spoken event
announcements (text-to-speech). net10.0, no transitive dependencies. -->
<ItemGroup>
<PackageReference Include="Prismatoid" Version="0.3.0" />
</ItemGroup>
<!-- Event-cue WAVs (shared with the macOS/iOS clients) copied into sounds\ next to the exe;
SoundPlayerPool loads them from AppContext.BaseDirectory\sounds. -->
<ItemGroup>
<Content Include="..\..\..\assets\sounds\*.wav">
<Link>sounds\%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net10.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
<ApplicationManifest>app.manifest</ApplicationManifest>
<AssemblyName>VoiceCat.App</AssemblyName>
<RootNamespace>VoiceCat.App</RootNamespace>
<!-- Per-monitor v2 DPI awareness (correct scaling on multi-monitor/high-DPI — matters for
low-vision users as much as general UX). Set via this property, not app.manifest —
WinForms' own analyzer (WFO0003) flags manifest-based DPI settings as superseded by
this property in modern .NET. -->
<ApplicationHighDpiMode>PerMonitorV2</ApplicationHighDpiMode>
<!-- WASAPI process-loopback COM interop in Audio/ProcessLoopbackCapture.cs uses unsafe
pointer arithmetic for PROPVARIANT/AUDIOCLIENT_ACTIVATION_PARAMS marshaling. -->
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<!-- System.Security.Cryptography.ProtectedData (PasswordProtector.cs's DPAPI wrapper) ships
as part of the Windows Desktop shared framework on net10.0-windows — no PackageReference
needed (one was tried and NuGet flagged it as redundant/unprunable, NU1510). -->
</Project>