Audio cues: per-cue default-sound picker, keyboard-click typing feedback, passkey on password fields
Cue sounds now ship as numbered variants ("connect 1.wav", "connect 2.wav", ...); the
count is never hard-coded so more can be added with no code change.
- CueSounds.cs: discovers a cue's "<base> <n>.wav" variants (case-insensitive) and
resolves the active default: per-profile custom WAV > machine-wide chosen variant >
first variant > silent. Wired into MainForm.TryLoadCueSound, the startup cue in
Program.cs, and PreferencesDialog.ResolveCueFilePath.
- AppConfig: DefaultCueSounds (machine-wide cueId -> chosen filename) and
EnableKeyboardClicks (on by default).
- Preferences: a "Choose default sound" listbox under the cue checklist - it lists the
selected cue's variants, arrowing it previews each sound and makes it that cue's
default. Plus a "Play keyboard clicks when typing into any edit field" checkbox.
- KeyClickService.cs: an app-wide WM_CHAR message filter + a low-latency NAudio mixer.
Typing into any edit field plays a random key click (key 1..N.wav); password fields
also play passkey.wav at the same instant. On/off live from the Preferences toggle.
Inert if the sounds are missing or the device won't open; never consumes the keystroke.
- csproj: ship every sounds\*.wav via a wildcard (variants, key clicks, passkey, future
additions) instead of stale per-file canonical names.
- Tests: resource checks (self-test + run-tests.ps1) now verify each cue has >=1 variant
and that key 1.wav / passkey.wav are present. Accessibility audit still green with the
new Preferences controls (Alt+D, Alt+K - no mnemonic clashes).
- Manual: variant picker, keyboard clicks, and the new sound-file naming documented.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
ad66fe5364
commit
e526014e6a
+21
-15
@@ -919,7 +919,7 @@ Use whatever key combinations you prefer (for example Ctrl+Shift+Up / Ctrl+Shift
|
||||
|
||||
<h2 id="audio-cues">18. Audio cue sounds</h2>
|
||||
|
||||
<p>RemSound plays a short sound at moments where you might want an audible confirmation that something just happened. These are called <strong>cue sounds</strong>. Eight events have a cue:</p>
|
||||
<p>RemSound plays a short sound at moments where you might want an audible confirmation that something just happened. These are called <strong>cue sounds</strong>. Nine events have a cue:</p>
|
||||
|
||||
<table>
|
||||
<tr><th>Cue</th><th>Plays when</th></tr>
|
||||
@@ -931,13 +931,14 @@ Use whatever key combinations you prefer (for example Ctrl+Shift+Up / Ctrl+Shift
|
||||
<tr><td><strong>Profile switched sound</strong></td><td>You switch to a different profile — from the Recent profiles menu, the Quick profile switch popup, or File → Open profile. It plays the moment you pick the new profile. It deliberately does <em>not</em> play on a fresh start into your first profile, so it isn't layered on top of the connect sound at launch.</td></tr>
|
||||
<tr><td><strong>Profile menu open sound</strong></td><td>The Quick profile switch popup opens.</td></tr>
|
||||
<tr><td><strong>Update sound</strong></td><td>An update is about to install — it plays just before RemSound closes to update itself. Handy when updates install silently in the background, so you're not caught off guard when RemSound restarts. Plays whether you ran the update by hand or it installed on its own.</td></tr>
|
||||
<tr><td><strong>Startup sound</strong></td><td>RemSound has finished starting up. It plays once at launch, even when RemSound opens straight to the notification area, so you know it's running.</td></tr>
|
||||
</table>
|
||||
|
||||
<p>All eight cues play through your default Windows sound output, which is separate from the audio RemSound is sending or receiving. They don't appear in a normal recording. (The exception: if your sending side is capturing the very output device the cues play through, then they get captured along with everything else from that device.)</p>
|
||||
<p>All of these cues play through your default Windows sound output, which is separate from the audio RemSound is sending or receiving. They don't appear in a normal recording. (The exception: if your sending side is capturing the very output device the cues play through, then they get captured along with everything else from that device.)</p>
|
||||
|
||||
<h3>Turning each cue on or off</h3>
|
||||
|
||||
<p>Open <strong>File → Preferences</strong> (or Ctrl+P). The <strong>Audio cue sounds (Alt+N)</strong> list shows all eight cues with a tickbox next to each. Tick to play the cue when the corresponding event happens; untick to silence it.</p>
|
||||
<p>Open <strong>File → Preferences</strong> (or Ctrl+P). The <strong>Audio cue sounds (Alt+N)</strong> list shows every cue with a tickbox next to each. Tick to play the cue when the corresponding event happens; untick to silence it.</p>
|
||||
|
||||
<p>Use the up and down arrow keys to move between cues; press <strong>Space</strong> to toggle the highlighted cue's tick on or off.</p>
|
||||
|
||||
@@ -954,6 +955,22 @@ Use whatever key combinations you prefer (for example Ctrl+Shift+Up / Ctrl+Shift
|
||||
|
||||
<p>Both buttons' labels update as you arrow through the list, so you always know which cue you're about to act on.</p>
|
||||
|
||||
<h3>Choosing which built-in sound a cue uses</h3>
|
||||
|
||||
<p>Each cue ships with more than one sound to choose from. Between the cue list and the buttons is a <strong>Choose default sound (Alt+D)</strong> list. It shows the built-in sounds available for whichever cue is highlighted in the list above. Arrow up and down it and RemSound plays each sound as you land on it, so you can listen through them and stop on the one you like — the sound you leave selected becomes that cue's default.</p>
|
||||
|
||||
<p>This is separate from browsing for your own file: this list picks among the sounds that <em>ship with</em> RemSound, while Browse replaces the sound with a WAV of your own. A file you've browsed for always takes priority; clear it (right-click Browse → Use default) and the cue goes back to the built-in sound you chose here.</p>
|
||||
|
||||
<p>Your choice here is remembered <strong>for the whole installation</strong>, not per profile, so your preferred set of built-in sounds follows you across every profile.</p>
|
||||
|
||||
<h3>Keyboard clicks while typing</h3>
|
||||
|
||||
<p>Just below the cue controls is a tickbox, <strong>Play keyboard clicks when typing into any edit field (Alt+K)</strong>, which is on by default. With it ticked, typing into any text box anywhere in RemSound plays a soft click on each key, so you get an audible sense of your typing. It only sounds while your cursor is actually in an edit field — move out of the field and it stops.</p>
|
||||
|
||||
<p><strong>Password boxes are treated specially:</strong> they play the same key click <em>and</em> a second, distinct sound at the same instant, so you can tell by ear when you're typing into a masked password field rather than an ordinary one. That second sound only happens in password fields.</p>
|
||||
|
||||
<p>Untick the box to switch all of this off. The setting applies to the whole installation.</p>
|
||||
|
||||
<p>Custom sound choices are <strong>saved with the active profile</strong>, the same way the tick states are. Different profiles can have completely different cue palettes — a “studio” profile might use one set of sounds, a “broadcast” profile another. The custom files themselves stay where you picked them on your disk; the profile just remembers their paths.</p>
|
||||
|
||||
<h3>Going back to the default sound</h3>
|
||||
@@ -962,18 +979,7 @@ Use whatever key combinations you prefer (for example Ctrl+Shift+Up / Ctrl+Shift
|
||||
|
||||
<h3>Where the cue sounds live</h3>
|
||||
|
||||
<p>RemSound keeps the cue WAV files in a <code>sounds</code> folder inside <strong>user settings and logs</strong> — the same folder your settings and profiles live in. It puts the defaults there for you; if you don't pick a custom file for a cue, RemSound plays the matching one from this folder:</p>
|
||||
|
||||
<ul>
|
||||
<li><code>sounds\connect.wav</code> — connect cue</li>
|
||||
<li><code>sounds\disconnect.wav</code> — disconnect cue</li>
|
||||
<li><code>sounds\record start.wav</code> — recording start cue</li>
|
||||
<li><code>sounds\record stop.wav</code> — recording stop cue</li>
|
||||
<li><code>sounds\save.wav</code> — profile saved cue</li>
|
||||
<li><code>sounds\profile.wav</code> — profile switched cue</li>
|
||||
<li><code>sounds\profile menu open.wav</code> — profile menu open cue</li>
|
||||
<li><code>sounds\update.wav</code> — update cue</li>
|
||||
</ul>
|
||||
<p>RemSound keeps the cue WAV files in a <code>sounds</code> folder inside <strong>user settings and logs</strong> — the same folder your settings and profiles live in. Each cue ships with a small set of numbered sound files there. They're named after the cue with a number on the end — for example <code>connect 1.wav</code> and <code>connect 2.wav</code> for the connect cue, <code>record start 1.wav</code> and <code>record start 2.wav</code> for the recording-start cue, and so on. The <strong>Choose default sound</strong> list described above simply picks between the numbered files a cue has. If you add more numbered files of your own following the same pattern, they show up in the list automatically — there's no fixed limit.</p>
|
||||
|
||||
<p>Because this folder is inside <strong>user settings and logs</strong>, RemSound updates never overwrite it. So if you drop your own WAV files in here in place of the defaults, your versions stay put when you update — you don't have to set them up again.</p>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user