[Enhancement]: Play count & read count #1052

Open
opened 2026-04-24 23:30:17 +02:00 by adam · 6 comments
Owner

Originally created by @burnshroom on GitHub (Apr 7, 2023).

Describe the feature/enhancement

I mentioned this last year under issue #527.

Still holding out hope for it as I have several books I listen to over and over again and would like to see how many times I may have accomplished this.

Similar to what Plex has and that it also allows you to sort by this play count.

image

Not something that makes or breaks the app at all, but would be nice to have.

Originally created by @burnshroom on GitHub (Apr 7, 2023). ### Describe the feature/enhancement I mentioned this last year under [issue #527](https://github.com/advplyr/audiobookshelf/issues/527#issuecomment-1152207707). Still holding out hope for it as I have several books I listen to over and over again and would like to see how many times I may have accomplished this. Similar to what Plex has and that it also allows you to sort by this play count. ![image](https://user-images.githubusercontent.com/123109/230566966-f988bfa5-4004-4bc5-bb14-51af08a82465.png) Not something that makes or breaks the app at all, but would be nice to have.
adam added the enhancement label 2026-04-24 23:30:17 +02:00
Author
Owner

@advplyr commented on GitHub (Apr 7, 2023):

The difficulty I have with this is how is a play counted? What if you toggle the "Mark as Finished" button a few times, would those be plays?
Maybe testing what Plex considers a play would be helpful

@advplyr commented on GitHub (Apr 7, 2023): The difficulty I have with this is how is a play counted? What if you toggle the "Mark as Finished" button a few times, would those be plays? Maybe testing what Plex considers a play would be helpful
Author
Owner

@Dr-Blank commented on GitHub (Apr 8, 2023):

Here is how plex counts the plays:

flowchart TD
    A["Play count = 0 (Unwatched State)"] -->|Watch more than 90%| B["Play count = 1"]
    A["Play count = 0 (Unwatched State)"] -->|Mark it as watched| B["Play count = 1"]
    B -->|Watch more than 90%| C["Play count +=1"]
    C -->|Watch more than 90%| C["Play count +=1"]
    C -->|Mark as unwatched| A
    B -->|Mark as unwatched| A
@Dr-Blank commented on GitHub (Apr 8, 2023): Here is how plex counts the plays: ```mermaid flowchart TD A["Play count = 0 (Unwatched State)"] -->|Watch more than 90%| B["Play count = 1"] A["Play count = 0 (Unwatched State)"] -->|Mark it as watched| B["Play count = 1"] B -->|Watch more than 90%| C["Play count +=1"] C -->|Watch more than 90%| C["Play count +=1"] C -->|Mark as unwatched| A B -->|Mark as unwatched| A ```
Author
Owner

@watsonbox commented on GitHub (May 17, 2023):

@advplyr I put together a quick draft PR showing how we might be able to avoid syncing progress for finished content https://github.com/advplyr/audiobookshelf/pull/1778. It isn't quite what this issue is calling for, but since you closed https://github.com/advplyr/audiobookshelf/issues/1766 as a dup of this issue, I figured I'd add a comment here instead 🙂.

@watsonbox commented on GitHub (May 17, 2023): @advplyr I put together a quick draft PR showing how we might be able to avoid syncing progress for finished content https://github.com/advplyr/audiobookshelf/pull/1778. It isn't quite what this issue is calling for, but since you closed https://github.com/advplyr/audiobookshelf/issues/1766 as a dup of this issue, I figured I'd add a comment here instead 🙂.
Author
Owner

@Jmanko16 commented on GitHub (Jul 7, 2023):

Honestly a simple counter (with a plus/minus) would work. So if you mark watched etc but did on accident jus hit the negative button. Obviously have the play count update on finished as above as well but this would give more control (and allow for reading outside ABS If used as a front end for audiobook/ebook)

@Jmanko16 commented on GitHub (Jul 7, 2023): Honestly a simple counter (with a plus/minus) would work. So if you mark watched etc but did on accident jus hit the negative button. Obviously have the play count update on finished as above as well but this would give more control (and allow for reading outside ABS If used as a front end for audiobook/ebook)
Author
Owner

@nichwall commented on GitHub (Jul 15, 2023):

To track the plays, I like the idea of the plus/minus buttons to simplify tracking and accidentally "Making as Finished" messing up the counter.

Incorporating the idea from #1905, could this be added as an array of completion times (separate item entry in the database)? My idea for the UI would look something like the History view in the Android app (for checking sync status), where each line is the "completion date", and then have an Edit and Remove button on the right to fix errors easily. In a web browser, it would just be a popup because that information doesn't need a ton of horizontal space.

To get to this view, the user can either use the three dot menu OR click on the listening progress box.

Screenshot_20230715-073638.png

This array would be tracked separately from Listen Progress/Finished, so if I had read the book before and wanted to reread it, it would no longer be marked as finished (and show up on the Continue Listening Shelf), but still show up as "Read X time(s)" by counting how many elements are in the array.

I'll try and make a mock-up of the UI later today, not sure if I'll have time though

I'm still thinking through how/whether this should differentiate ebook and audiobook progress

@nichwall commented on GitHub (Jul 15, 2023): To track the plays, I like the idea of the plus/minus buttons to simplify tracking and accidentally "Making as Finished" messing up the counter. Incorporating the idea from #1905, could this be added as an array of completion times (separate item entry in the database)? My idea for the UI would look something like the History view in the Android app (for checking sync status), where each line is the "completion date", and then have an Edit and Remove button on the right to fix errors easily. In a web browser, it would just be a popup because that information doesn't need a ton of horizontal space. To get to this view, the user can either use the three dot menu OR click on the listening progress box. ![Screenshot_20230715-073638.png](https://github.com/advplyr/audiobookshelf/assets/5686638/3a2757b5-f9c9-428a-a61e-6018e10a182e) This array would be tracked separately from Listen Progress/Finished, so if I had read the book before and wanted to reread it, it would no longer be marked as finished (and show up on the Continue Listening Shelf), but still show up as "Read X time(s)" by counting how many elements are in the array. I'll try and make a mock-up of the UI later today, not sure if I'll have time though I'm still thinking through how/whether this should differentiate ebook and audiobook progress
Author
Owner

@Cpnkrk commented on GitHub (Sep 29, 2023):

I agree with adding a counter but do not get rid of the option of manually marking as completed due to maybe listening to a book on another app or something.

@Cpnkrk commented on GitHub (Sep 29, 2023): I agree with adding a counter but do not get rid of the option of manually marking as completed due to maybe listening to a book on another app or something.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#1052