Skip to content

0.0.1-alpha1

Choose a tag to compare

@gerasim13 gerasim13 released this 22 May 13:41
· 4 commits to main since this release
29f99d2

First public alpha.

What's new vs the internal baseline

  • AudioPlayerProtocol / AudioPlayerItemProtocol conformance on KitharaPlayer / KitharaPlayerItem.
  • Discrete Combine publishers: currentItem, rate, currentTimePublisher, error, loadedRanges, duration, bitrate, readyToPlay, didReachEnd, didStall, trackStatusChanged, …
  • RxSwift bridge (KitharaRx product) — 11 rx* accessors over the Combine publishers; only linked when you opt in.
  • Per-item trackId: TrackId (process-wide monotonic, mirrors AVQueuePlayer's audioId).
  • PlayerError domain enum with item-failure / player-error / stall cases.
  • HE-AAC v2 playback via in-tree fdk-aac decoder (apple feature implies fdk-aac).
  • Queue operations: insertAtHead, replaceItem(at:with:), selectItem(_:transition:) with crossfade, isPlayable(progress:and:).
  • DocC autodoc — 100% abstract coverage across 207 public symbols. Generate with swift package generate-documentation --target Kithara --target KitharaRx --enable-experimental-combined-documentation.

Consume

.package(url: "https://github.com/zvuk/kithara.git", exact: "0.0.1-alpha1"),

Targets that need RxSwift link the KitharaRx product; the rest link only Kithara.

Artifact

  • KitharaFFIInternal.xcframework.zip — 124 MB, stripped of debug symbols (strip -S -x).
  • sha256: d4b1e959ee0b4591e3f95e4651fd17049f6669aba99b6e5dee5777841d2b70e3
  • Supports iOS 16+ and macOS 13+; bundles arm64 device, arm64+x86_64 simulator, arm64+x86_64 macOS.