[PR #1179] [MERGED] Refactor AudioPlayer to use a Rate Manager protocol. #1515

Closed
opened 2026-04-24 23:59:00 +02:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/advplyr/audiobookshelf-app/pull/1179
Author: @indiefan
Created: 4/14/2024
Status: Merged
Merged: 4/27/2024
Merged by: @advplyr

Base: masterHead: rate-manager


📝 Commits (6)

  • bcb239e Update Now Playing info with correct default rate so that third party apps don't mistake current status as scrubbing.
  • edb25f5 Refactor AudioPlayer to use an AudioPlayerRateManager protocol for managing rate/defaultRate state management. Implements a LegacyAudioPlayerRateManager implementation with existing (pre-iOS 16) behavior.
  • f8a9033 Add an AudioPlayerRateManager implementation for iOS 16+.
  • 3d3dad5 Adding new sources to project file.
  • 124300b Merge branch 'master' into rate-manager
  • fb86c45 iOS add defaultRate fixing merge

📊 Changes

7 files changed (+232 additions, -36 deletions)

View changed files

📝 ios/App/App.xcodeproj/project.pbxproj (+12 -0)
📝 ios/App/Shared/player/AudioPlayer.swift (+17 -34)
ios/App/Shared/player/AudioPlayerRateManager.swift (+23 -0)
📝 ios/App/Shared/player/AudioPlayerSleepTimer.swift (+1 -1)
ios/App/Shared/player/DefaultedAudioPlayerRateManager.swift (+94 -0)
ios/App/Shared/player/LegacyAudioPlayerRateManager.swift (+84 -0)
📝 ios/App/Shared/player/PlayerHandler.swift (+1 -1)

📄 Description

This is a first of two steps to implement the new (iOS 16+) rate management api in ABS.

A follow-up PR will implement the new rate manager.

FYI: I made this a downstream PR after #1178 rather than detangling them, but if there's good reason to keep them completely separate I can do so.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/advplyr/audiobookshelf-app/pull/1179 **Author:** [@indiefan](https://github.com/indiefan) **Created:** 4/14/2024 **Status:** ✅ Merged **Merged:** 4/27/2024 **Merged by:** [@advplyr](https://github.com/advplyr) **Base:** `master` ← **Head:** `rate-manager` --- ### 📝 Commits (6) - [`bcb239e`](https://github.com/advplyr/audiobookshelf-app/commit/bcb239efd194962e65547d03c0327de8222d6daa) Update Now Playing info with correct default rate so that third party apps don't mistake current status as scrubbing. - [`edb25f5`](https://github.com/advplyr/audiobookshelf-app/commit/edb25f5bcd012a1c77d8a60c0b9853d24b79f8e8) Refactor AudioPlayer to use an AudioPlayerRateManager protocol for managing rate/defaultRate state management. Implements a LegacyAudioPlayerRateManager implementation with existing (pre-iOS 16) behavior. - [`f8a9033`](https://github.com/advplyr/audiobookshelf-app/commit/f8a9033738e52370783f53a0d47a7d9903645f85) Add an AudioPlayerRateManager implementation for iOS 16+. - [`3d3dad5`](https://github.com/advplyr/audiobookshelf-app/commit/3d3dad5e4aeae5bfad6666771bf05843c75066b2) Adding new sources to project file. - [`124300b`](https://github.com/advplyr/audiobookshelf-app/commit/124300b215301d622b2c95aaeb8334ac8eb2ef86) Merge branch 'master' into rate-manager - [`fb86c45`](https://github.com/advplyr/audiobookshelf-app/commit/fb86c45e78161555b6ee0e022b39b41ab84cd699) iOS add defaultRate fixing merge ### 📊 Changes **7 files changed** (+232 additions, -36 deletions) <details> <summary>View changed files</summary> 📝 `ios/App/App.xcodeproj/project.pbxproj` (+12 -0) 📝 `ios/App/Shared/player/AudioPlayer.swift` (+17 -34) ➕ `ios/App/Shared/player/AudioPlayerRateManager.swift` (+23 -0) 📝 `ios/App/Shared/player/AudioPlayerSleepTimer.swift` (+1 -1) ➕ `ios/App/Shared/player/DefaultedAudioPlayerRateManager.swift` (+94 -0) ➕ `ios/App/Shared/player/LegacyAudioPlayerRateManager.swift` (+84 -0) 📝 `ios/App/Shared/player/PlayerHandler.swift` (+1 -1) </details> ### 📄 Description This is a first of two steps to implement the new (iOS 16+) rate management api in ABS. A follow-up PR will implement the new rate manager. FYI: I made this a downstream PR after #1178 rather than detangling them, but if there's good reason to keep them completely separate I can do so. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2026-04-24 23:59:00 +02:00
adam closed this issue 2026-04-24 23:59:00 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf-app#1515