Files
RemSound/src/RemSound.App/RemSound.App.csproj
T
EdnunpandClaude Opus 4.7 b96ba82378 Bump to v1.4.0: recording-settings dialog cleanup, menu mnemonics
Ships the dialog reorganisation and mnemonic adjustments from
commit 45b709d. No wire-format or audio-pipeline changes — v1.3 and
v1.4 peers interoperate.

About dialog gets a v1.4 release-notes block; csproj Version
property bumped 1.3.0 → 1.4.0; RELEASE_NOTES.md rewritten with the
v1.4 highlights and a one-paragraph upgrading-from-v1.3 note (clean
auto-update via Help → Check for updates is now expected to work on
Dropbox-installed copies since v1.3's helper hardening took effect).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 13:44:15 +01:00

69 lines
3.5 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net10.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UseWindowsForms>true</UseWindowsForms>
<RootNamespace>RemSound.App</RootNamespace>
<AssemblyName>RemSound</AssemblyName>
<ApplicationManifest>app.manifest</ApplicationManifest>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<ApplicationHighDpiMode>SystemAware</ApplicationHighDpiMode>
<!-- Release version. The self-updater (RemSoundUpdater) compares this against the
tag_name on the latest GitHub release; bump it on every public release. The
AssemblyVersion / FileVersion default to this value, and Assembly.GetName().Version
is what the About dialog and the updater both read. -->
<Version>1.4.0</Version>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\RemSound.Core\RemSound.Core.csproj" />
<ProjectReference Include="..\RemSound.Sender\RemSound.Sender.csproj" />
<ProjectReference Include="..\RemSound.Receiver\RemSound.Receiver.csproj" />
<PackageReference Include="NAudio" Version="2.3.0" />
<!-- LAME wrapper for MP3 encoding. Pulled in for the recording feature. The native
libmp3lame.dll ships with the package and is copied to the output folder. -->
<PackageReference Include="NAudio.Lame" Version="2.1.0" />
<!-- OGG container writer that wraps Concentus-encoded Opus. Same Concentus the wire
path already uses (transitive dep), so the recording-side OGG-Opus output is
byte-for-byte the same encoder we'd send on a live Opus stream. -->
<PackageReference Include="Concentus.Oggfile" Version="1.0.7" />
<!-- Pure-managed FLAC encoder (Flake). Same encoder CUETools uses; no native DLL,
no P/Invoke. Lossless, ships as managed IL, smaller files than WAV (~50%) without
sample-data loss. -->
<PackageReference Include="CUETools.Codecs.FLAKE" Version="1.0.5" />
</ItemGroup>
<ItemGroup>
<!-- Peer-state notification sounds. Copied next to RemSound.exe so SoundPlayer can find
them via AppContext.BaseDirectory. -->
<Content Include="..\..\connect.wav">
<Link>connect.wav</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="..\..\disconnect.wav">
<Link>disconnect.wav</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<!-- Recording start/stop cues. Filenames contain a space — preserve on copy so the
load-by-filename path in TryLoadCueSound finds them exactly as written. -->
<Content Include="..\..\record start.wav">
<Link>record start.wav</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="..\..\record stop.wav">
<Link>record stop.wav</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<!-- User manual. F1 anywhere in the app opens this via the user's default browser
(HelpLauncher.OpenManual). The PreserveNewest mode means a fresh publish overwrites
the published copy whenever the source is newer; manually-edited copies inside
publish/ get clobbered, which is correct (publish is build output, not config). -->
<Content Include="..\..\readme.html">
<Link>readme.html</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>