Hey
rasmuslos / shelfplayer Goto Github PK
View Code? Open in Web Editor NEWNative Audiobookshelf player for iOS & iPadOS
License: Other
Native Audiobookshelf player for iOS & iPadOS
License: Other
Hey
I was looking at xcode while compiling latest build and noticed that background fetch and processing were not toggled. Is that something that should be or would enhance Shelfplayer by having those features toggled? My assumption is then the app can fetch newer updates from the server for potential new books or changes that are made to the server while the app is running in the background. I think this would enable background app refresh?
I just learned about this app and am looking forward to trying it once it hits the app store.
If it is not already implemented, please add Siri shortcuts support. This is very useful for program shortcuts to play specific books. With multiple libraries and books, it is much faster to use Siri shortcuts to continue playing different media app and switching to different libraries than opening the app and switching to different libraries.
At the moment, audio just pauses. Having a long fade, 5-10 seconds, would be a more pleasant experience I think.
I guess the natural follow on would be ensuring the saved audio position is the fade start time, not the fade finish time. Though smart rewind also solves that.
Loving the app so far! Digging the label-less vibe, letting the audiobook covers do the talking.
One small QOL enhancement: when you're setting your server address, you have to specifically state http(s)://abs.domain.tld. Would be nice if user enters only abs.domain.tld that ShelfPlayer automatically queries both http:// and https:// for one that gives a valid response, that way user doesn't have to explicitly enter the protocol.
Another low priority (but potentially easy to implement) feature request from me. I figured I'd just throw out UX things as I think of them.
This one is around chapter selection on a playing audiobook. Currently, when you open that pop up, it always goes to the beginning of the chapter list.
It would be nice for this to centre on the current chapter so you can move forward or backwards easily, rather than it starting on the current chapter, and having to scroll backwards.
A use case for this is if you fall asleep before a sleep timer ends and you need to go to the previous chapter quickly.
While looking at this, I noticed that the bold font on the current font is quite subtle (on the dark theme at least). Perhaps a grey background highlight might be good to give a more obvious visual indicator without adding additional icons, and still work for both light and dark themes. Alternatively a vertical bar on the left (or right) side, might achieve the same goal.
Shelfplayer only supports local accounts. It would be nice to login via an OIDC created account in ABS
There is no license file and no marking on the files other than author tag. Is this planned to be open source with an official license or just assumed copyright of the author?
I recently installed ShelfPlayer (sideloaded via IPA on releases page). When I try to sign in, I get the error "Audiobookshelf server not found" on my iPhone. I've confirmed that the URL/port is correct (and is the same that is used for the official ABS app). I'm not sure where to go from here in terms of troubleshooting.
Any chance we can get a new build?
Very low priority feature request, but I noticed that the app seems to be loading all the cover art each time I close/open the app. Not a huge deal, but I assume this would because it's downloading it each time rather than loading from a cache.
I suppose the natural progression would of course be the ability purge that cache.
If it is in fact just lazy loading from a cache already, all good!
Testing the side loaded version, the app opens and I can enter my server URL but when entering my username and password the app just completely crashes out.
Apologies this is a very unspecific report, if you let me know any steps you want me to take to share more information I would be happy to.
Another low priority request but I guess there are two use cases for this request:
Someone hosts their own server, but also has a friend with a server they connect to as well.
The ability to connect to a local IP address when at home (for faster speeds, and if loopback configuration is out of the person's ability, or complicated by the use of VPN's) but an external URL when out of home. This is likely the more common use case for my request. I'm not sure if ABS reports a UUID or similar, but obviously the ability to seamlessly move between the two and still update progress on downloaded books (despite changing between local and external addresses) would be nice.
I guess for the second use case, a potential automation would be
IF device is on "My-Wi-Fi SSID" THEN use 192.168.0.2 server;
ELSE use https://abs.server.com;
Hey - another suggestion for your consideration!
The ability to change the playback speed by 0.1x increments would be great. This could work in the same way as the sleep timer where you have the option to increase or decrease playback speed by 0.1x as the current 0.25x options are quite big jumps!
Sorry if the suggestions get annoying! - really loving the app!
Title says it all really. Sorting by release date is a hacky way of doing it, but may come unstuck on old audiobooks that were batch uploaded (as in audiobooks from before 2010 that were uploaded en masse to audible) or released in the same year.
This is on the latest version built from source (with the image cache fix being that most recent commit)
the exception to this is end of chapter, which seems to work correctly, though it doesn’t adjust if you skip forward or backwards through the chapter. It stays at the initial value.
I’m also not sure if this is related, or intended, but the clear/increase/decrease dialog also “pulses” in brightness. It also disappears when you choose increase or decrease, that might be intended but a confirmation dialogue, or the ability to increment/decrement by more than a minute at a time may be good.
Playback on CarPlay of course works totally fine if a book is “queued” on the phone, or started from the phone (skipping, play/pause, art and name, etc. all pull through), but it’d be great to have a CarPlay interface to start a book from the car touchscreen.
Great app! Love having a native option for ABS written in Swift.
Feature request. It would be great if there was a “bookmarks” option in the future.
Minimum iOS version is now 17, which hasn't been released yet. Same for the version of Xcode required to build.
Could you add a branch or tag that points to a version that doesn't require beta software to build and run?
Looking forward to trying the new features when iOS 17 comes out.
Keep up the great work.
Is it possible we can get the Author page view similar to ABS app? Probably be best to put it in the Library sorting option or a new tab.
Also the app should have a settings page to be able to sign out or sign into another server and other features of the app should be put in there such as light/dark/follow system theme settings
func getAudiobookTrackUrl(trackId: String) -> URL {
documentsURL.appending(path: "tracks").appending(path: "\(trackId).flac")
}
func deleteEpisode(episodeId: String) {
try? FileManager.default.removeItem(at: getEpisodeUrl(episodeId: episodeId))
}
func getEpisodeUrl(episodeId: String) -> URL {
documentsURL.appending(path: "tracks").appending(path: "\(episodeId).E.flac")
}
Why does the file format change to *.flac when downloading books/podcasts?
This is not a native format for Apple, which means that some books (I have not yet understood the pattern) cannot be played offline after downloading.
Moreover, if you change the file extension in the code when saving to native *.m4a, then everything is okay and all books are played perfectly
I noticed this bug... most likely this is an error in the framework of the player itself, but maybe not... the point is this: when you launch the application, start playing a previously started book (online), then the progress indicator goes all the way to the edge of the screen, after loading - everything becomes okay.
this is absolutely not critical, but interesting😃
I’m really sorry about peppering these through, just thinking of helpful in things mostly.
This is probably less useful when downloading on a local network where downloading a book takes seconds, but I was looking around the app when I started a book download, and whilst I found the download indicator on either the book page or the in-app settings page, I noticed that there didn’t seem to be a progress indicator.
From a UX perspective, it might be nice to show that a download is in progress persistently across the various app pages, but more importantly, a progress or download percentage indicator if possible.
That or I start digging into some swift and making PR’s!
I guess less of a request, and more of a question is just around how partial downloads are handled if the app is closed, network is lost, or there is a crash?
I sideloaded the app with sidestore and the app crashes immediately after I try to sign in with my server URL and username and password. Now the app won't even launch without crashing.
ABS: v2.6.0 docker
Use sideloadly for installation. I log in and it works fine until I change the library to a podcast library. When I do that it closes and then when I try to open it it doesn't work anymore and it just closes.
Attached is a video of what happens.
https://github.com/rasmuslos/ShelfPlayer/assets/60858814/bed86ee1-3317-4c80-ba33-a6211cb2664a
I'm not sure if that's a special entitlement you need from Apple to get the ability to pause, spoken audio. I know that's a toggle in Apple Maps app to toggle on pause, spoken audio. That's something that I've noticed with this app is when you are listening to an audiobook, and you have map directions. The audio just goes quieter instead of pausing for spoken directions.
2.1.2 brought back the issue of signing into the app crashes the app. Might be Siri intents?
Is it possible to add filtering of books by genre? sorely missed😀
Hey,
An option to enter a custom sleep timer would be nice, I know we can pick nearby and adjust by the minute, but custom options would be great.
Looking forward to your eventual App Store release!
The covers throughout the app have a visible low resolution, lower than Audiobookshelf and competing apps. This is most visible on the now player screen. Audiobookshelf has a really good metadata editor, with integrated cover art search engine. I think this is important to preserve the hard work we put into properly cataloging and illustrating our library, especially in a native application.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.