feat(soundpack): add the connect_waiting cue audio - #149
Merged
Conversation
The default sound pack ships no audio in this repo. `default_pack_json()`
is `{"sounds": {}}`, the Windows build stages only the exe, prism.dll,
and version.txt, and `ensure_default_pack` writes just the manifest.
Existing users have cues only because the `~/.portkeydrop` -> platform
config migration carried the Python-era pack across; a fresh nightly or
installer install gets a silent default pack.
This adds the one file the `connect_waiting` event (PR Orinks#148) needs, at a
suggested assets path. It is wired to nothing yet: bundling the default
pack and pointing `default_pack_json()` at it is a separate decision,
noted in the PR.
connect_waiting.ogg is my own work, contributed under the project's
licence. 48 kHz stereo Ogg Vorbis, 3s, designed to loop.
Changelog: none
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ARKC56K8mFfAPPc98JPfCP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
connect_waiting.ogg— the audio for theconnect_waitingsound eventintroduced in #148 (looping "waiting to connect" cue during SSH-agent approval).
48 kHz stereo Ogg Vorbis, 3s, built to loop. Mine, contributed under the
project's licence.
Heads-up: the default sound pack has no audio in this repo
Nothing here loads this file yet, on purpose — but it surfaced something worth
fixing.
PackManifest::default_pack_json()is{ "name": "Default", ..., "sounds": {} }— an empty stub.
ensure_default_pack()only writes that manifest; it copies no audio.PortkeyDrop.exe,prism.dll, andversion.txtintodist/PortkeyDrop_dir/and nothing else,and the installer ships that tree.
So a fresh install — installer or nightly — gets a default pack that plays
nothing. Existing users only have cues because the
~/.portkeydrop→ platformconfig-dir migration carried the Python-era pack across.
What I'd suggest
Vendor the default sounds into the repo (this file, plus the ~19 you already
shipped with the Python version) and point
default_pack_json()at them, so abrand-new user — including nightly testers — hears cues on first launch
without touching a thing.
crates/portkeydrop-core/assets/soundpacks/default/is just where I put thisone; move it wherever fits.
Landmines when you wire it up:
manifest.rs::the_generated_default_manifest_is_valid_and_emptyand theassert_eq!(text, PackManifest::default_pack_json())check insoundpacks/mod.rsboth assert the stub stays empty.
should_write_default_manifest()treats a non-empty manifest as theuser's and won't overwrite it — a populated
default_pack_json()changes that"safe to regenerate" logic.
ensure_default_pack()writes the manifest but nothing puts the audio ondisk, so the files need an
include_dir!+ write-on-first-run, or a copy stepin
build.ymland the installer.Merge order
Independent of #148 at the file level (this PR only adds a binary), but the file
is only useful once #148's
connect_waitingevent exists. Either order isfine.
🤖 Generated with Claude Code