Skip to content

Add Swift package SystemSoundsLibrary with DocC docs and SoundBrowser example - #25

Merged
TUNER88 merged 5 commits into
masterfrom
recover/swift-package
Oct 18, 2026
Merged

TUNER88 merged 5 commits into
masterfrom
recover/swift-package

Conversation

@TUNER88

@TUNER88 TUNER88 commented Oct 18, 2026

Copy link
Copy Markdown
Owner

Recovers #20, includes #21/#22.

#20 was closed unmerged when its base branch data/sounds-json was deleted after #18 merged. #21 (DocC) and #22 (SoundBrowser) were merged into feature/swift-package, not into master. This PR cherry-picks the same four commits onto current master. The files are byte-identical to feature/swift-package.

Why it's one PR: the DocC catalog lives inside the package target, and the example app links the package through a local reference. Neither builds on master without the package. Separate PRs would have to be stacked again, which is what caused the problem.

Contents, one commit each:

  1. Swift package (from Add Swift package SystemSoundsLibrary (Swift 6, generated from data/sounds.json) #20):
    • Package.swift (swift-tools 6.0; iOS 15, tvOS 15, visionOS 1, Mac Catalyst 15, macOS 12)
    • SystemSound (Sendable, 418 constants generated from data/sounds.json, @available on newer IDs, screenUnlocked deprecated)
    • SystemSoundPlayer, plus FileSound, which frees its sound ID automatically
    • Swift Testing tests
    • swift.yml: runs swift build + swift test, checks the generated catalog with generate_swift.py --check, and builds for 4 platforms
  2. DocC catalog and docc.yml (from Add DocC documentation for SystemSoundsLibrary #21): docc convert --warnings-as-errors, plus an output check (both commits).
  3. Examples/SoundBrowser (from Add SoundBrowser SwiftUI example app #22): SwiftUI iOS 17+, searchable, grouped by folder, tap to play, shows ID and path, share or save the file. example.yml builds it for the iOS Simulator. Refs If possible to export all the sounds? #2, Swift version? #7.

The existing Objective-C demo app, its project, target, paths and README content are unchanged. The must-not-break check passes.

@TUNER88
TUNER88 merged commit fa9fb3e into master Oct 18, 2026
11 checks passed
@TUNER88
TUNER88 deleted the recover/swift-package branch October 18, 2026 19:41
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