Skip to content

Bugfix/custom audio format support#417

Merged
Splode merged 2 commits intomainfrom
bugfix/custom-audio-format-support
Apr 30, 2026
Merged

Bugfix/custom audio format support#417
Splode merged 2 commits intomainfrom
bugfix/custom-audio-format-support

Conversation

@Splode
Copy link
Copy Markdown
Owner

@Splode Splode commented Apr 30, 2026

Three related fixes for issue #389, where custom notification sounds silently fell back to the built-in default on Windows.

Root cause: Rodio 0.22 uses Symphonia for decoding. The compiled Symphonia crates only included PCM WAV support. ADPCM-encoded WAV (the default output of Windows Sound Recorder) failed to decode silently, and FLAC — offered in the file picker — was never de-codable. Failures were never surfaced to the user; they would see their filename in settings but hear the wrong sound.

  • Add symphonia-codec-adpcm as a direct dependency so ADPCM WAV files decode correctly via the existing Decoder::new() path.
  • Add audio::probe_audio_file() which attempts to construct a Decoder from a copied file before committing it. On failure, the orphan is deleted and the in-memory custom path is cleared so playback falls back to the embedded default cleanly.
  • Call probe_audio_file() in audio_set_custom after the file is copied; return an Err to the frontend if the format is unsupported.
  • Add per-cue inline error state to NotificationsSection.svelte so the error message is displayed below the failing row. Error clears on a successful selection or when the user restores the default.
  • Remove 'flac' from the openAudioFilePicker filter; FLAC decoding is not available, and the option was misleading.

Splode added 2 commits April 29, 2026 21:34
…nsupported FLAC filter

Three related fixes for issue #389, where custom notification sounds
silently fell back to the built-in default on Windows.

Root cause: Rodio 0.22 uses Symphonia for decoding. The compiled
Symphonia crates only included PCM WAV support. ADPCM-encoded WAV
(the default output of Windows Sound Recorder) failed to decode
silently, and FLAC — offered in the file picker — was never decodable.
Failures were never surfaced to the user; they would see their filename
in settings but hear the wrong sound.

- Add symphonia-codec-adpcm as a direct dependency so ADPCM WAV files
  decode correctly via the existing Decoder::new() path.
- Add audio::probe_audio_file() which attempts to construct a Decoder
  from a copied file before committing it. On failure, the orphan is
  deleted and the in-memory custom path is cleared so playback falls
  back to the embedded default cleanly.
- Call probe_audio_file() in audio_set_custom after the file is copied;
  return an Err to the frontend if the format is unsupported.
- Add per-cue inline error state to NotificationsSection.svelte so the
  error message is displayed below the failing row. Error clears on a
  successful selection or when the user restores the default.
- Remove 'flac' from the openAudioFilePicker filter; FLAC decoding is
  not available and the option was misleading.
@Splode Splode merged commit 28c45ab into main Apr 30, 2026
8 checks passed
@Splode Splode deleted the bugfix/custom-audio-format-support branch April 30, 2026 13:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant