Hi!
My books are split into many files and I listen to them as playlists.
A common problem that happens to me is that my headset buttons would get pressed while in my pocket and then playback continues while I'm not listening. This way it can play through several files.
When I go back to real listening and find the location where I really stopped, after said file is finished, playback goes back to the farthest location where it played. This is quite inconvenient and contrary to how I would expect a playlist to behave - I'd expect that if I start playback from somewhere in the middle, it would continue playing from there rather than jump after finishing one item/song/chapter.
Fix Suggestion: Keep track of "current location" separately from "farthest played location" and continue playing from the former in normal circumstances.
Hey @sprig !, mmmmm true π€, that would be a better way to handle it, if the item is selected manually by a user, then from that point forward, the next items get their playback reset back to 0
I currently took up the bookmarks branch again. Once I finish that, I'll look into this, in the mean time, anyone is welcome to take a stab at this π
We have to be careful with this, not everyone uses playlists to represent books. We discussed marking a playlist as a book before, maybe it's time to look more closely into that.
Sorry about the bug label :-)
I'm trying to look into this myself as well (even for a private build) but I'm not really familiar with the codebase. Pointers would be welcome!
A PR would be very welcome π
You may want to look into the PlayerManager β https://github.com/TortugaPower/BookPlayer/blob/master/BookPlayer/Player/PlayerManager.swift
And also the Playlist model β
https://github.com/TortugaPower/BookPlayer/blob/master/Shared/Models/Playlist%2BCoreDataClass.swift
If you can, this should probably be a "per playlist" setting, so maybe having a cell at the very end of a playlist that contains a toggle for this behavior (which should be on by default) would be a great way of managing this.
The toggle could read:
Treat Playlist like a single Book (Progress of later files will be reset if an earlier file is selected)
@pichfl you're right, this is better solved by the merged/bound books.
Not sure about having a toggle cell at the end of the playlist, I was thinking we could do it instead in two steps:
Mmmmm we may need to add top level functions to LibraryItem to get/set playback info so the current item can have a better abstraction in relation to the PlayerManager (e.g. current time, etc). There would be a new class (BoundBook?), not sure now if it should inherit directly from LibraryItem or one of the children Book or Playlist
π― bound books is the perfect name for that feature (which has nothing to do with this issue, but I had to write it somewhere)
Could it be as simple as allowing the tick to be removed? Catching up in the correct order is a pain after nodding off while listening if you havenβt set the sleep timer
@Paxo50 you can do so, but you need to do so manually for each file.
I don't think this is a high priority feature (as it will be solved by a much more powerful solution in the future anyway), but if someone wants to tackle this all that's necessary would be an additional button to the menu of an item that allows you to reset the completion state of all files including and below the selected playlist item (Mark this and below as unread)
A bit related to #349
This should be already fixed in one of the interations of 3.7.x π. Feel free to reopen if you find a case where it doesn't π
Most helpful comment
π― bound books is the perfect name for that feature (which has nothing to do with this issue, but I had to write it somewhere)