-
Notifications
You must be signed in to change notification settings - Fork 397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add resume to play_card #1946
base: future3/develop
Are you sure you want to change the base?
Add resume to play_card #1946
Conversation
I was wondering, if the the annotation if a folder should be resumed or not shouldnt rather be a property of the folder instead of defined in the RPC linked to a card? Maybe even a combination could make sense: allowing the |
I am trying to sharpen the use case a bit:
Case 2 and 3 is currently not implemented (bits and pieces are there). This is a feature that is available in 2.X and is planned for 3.X as well. But we were planning to rewrite the mpd interface module as there is a couple of issues with it. And then put this and a few other features in. The way I read your comment, you would add to these cases to function to select on a per-card basis if the resume should actually be executed or not. Correct? |
Thanks for sharpening! As I currently have it, it is configured in the the RPC call associated with a card if a folder is resumed. What I am now also working on, is that the Does this make sense? |
df12108
to
a700acf
Compare
@votti I am not entirely following your comment. We do not care about folders in V3 like we did in V2. It all comes down to the card and its assignment.. which can be a folder, an album or a single file. All of these possible options then would have to be supported by the "Resume" flag and especially for Option 3, this needs to be stored on disk. |
Ah thanks a lot for the pointer. I actually did miss So I guess the steps to go from here is to add status tracking for albums/songs first? (Does this already have an open issue?). Would you think that in order to get a resume functionality merged it first needs to support all 3 things (songs, album, folder) or would it be OK as well if this would be folder specific first? |
Yes! (sorry for the late answer :-)) |
this is still in request state right ? |
I want to look into this feature. We very much need playback resume controls, otherwise the user (my grandmother :)) would have to listen to the same intros dozens of times 🤔 Second Swipe on future3 is also not implemented AFAICT, right? Or is it possible to use that in the config e.g. |
This is a great feature to have. But a few requirements will determine the way to solve the problem. Maybe we can first define the requirements in the format of "As a user, I want to ..." before we go heads down. Maybe we can review the architecture to solve this before someone spends time on it. Thoughts? |
Side note: I checked out v2.4, too, thinking that might "just solve it", but oh dear This PR is also probably not the best place to chat about what we (I) wish for. Let's imagine the next step is to return the double swipe to pause/resume feature, so is there anything here to salvage that, you think? From my noob perspective it looks like the existing functions on |
I didn't quite remember which features had been implemented, there was a larger break since I last developed. If it's just to connect the existing feature to the RPC, the give it a try :-) |
If possible I would like to set the resume with a jump of 10 sec backwards. Like I could do in Antennapod |
I've just stumbled upon this PR after playing with code enhancements around this topic myself. My current code is here and has been tested for
If there's any interest I'm happy to polish that commit further and submit it as a PR. |
We should check with @Groovylein how far the Multiplayer PR is. |
@hoffie I added a few comments to your code |
@pabera Thanks. I'll try to address your comments in my upcoming PR. I guess a PR will be easier to comment/review than a single commit (which can't change). Will probably get to it by Thursday. (Just for reference and probably not worth commenting there again: dca9d1b is what I currently use in "production" without issues, even for whole folders) |
The tracking is active by default, but the resuming has to be enabled explicitly, either by setting playermpd.play_position_tracking.resume_by_default: true or by calling the play_* functions with the new resume=True kwarg. Related: MiczFlor#1946
See #2331. |
The tracking is active by default, but the resuming has to be enabled explicitly, either by setting playermpd.play_position_tracking.resume_by_default: true or by calling the play_* functions with the new resume=True kwarg. Related: MiczFlor#1946
The tracking is active by default, but the resuming has to be enabled explicitly, either by setting playermpd.resume.resume_by_default: true or by calling the play_* functions with the new resume=True kwarg. Related: MiczFlor#1946
The tracking is active by default, but the resuming has to be enabled explicitly, either by setting playermpd.resume.resume_by_default: true or by calling the play_* functions with the new resume=True kwarg. Related: MiczFlor#1946
The tracking is active by default, but the resuming has to be enabled explicitly, either by setting playermpd.resume.resume_by_default: true or by calling the play_* functions with the new resume=True kwarg. Related: MiczFlor#1946
The tracking is active by default, but the resuming has to be enabled explicitly, either by setting playermpd.resume.resume_by_default: true or by calling the play_* functions with the new resume=True kwarg. Related: MiczFlor#1946
Fixed a merge conflict. There is a flake8 error, which lets the checks fail, see https://github.com/MiczFlor/RPi-Jukebox-RFID/actions/runs/8944194290/job/24570588323?pr=1946 |
Pull Request Test Coverage Report for Build 8944306028Details
💛 - Coveralls |
There was a question in the chat about the resume feature https://matrix.to/#/!keXiohOiVddsrZXwBu:gitter.im/$4AmKngehqk3CH9Uu1w1jpqL2rWNoZ-F7y4dRAy7cXGA?via=matrix.org&via=gitter.im&via=unsicher.net Right now I'm not sure, if anything is missing so this PR could be merged? |
I am using this "in production" for more than a year and by now have it enabled for almost any card. I think it should be straight forward to refactor this in the future to a more generalized play tracking mechanism (eg as implemented here: hoffie@1ab43a5 |
Thanks for the feedback! |
I just got this branch working on a test pi, with the primary goal of providing basic audiobook resume functionality for my kids (ages 3-8).
For reference, here are two working cards.yml entries: '2788200895':
alias: play_card
args:
- <folder_name>
kwargs:
resume: true
'2788200896':
alias: play_folder
args:
- <folder_name>
kwargs:
resume: true From my observation, the only difference between the play_folder and play_card entries is the lack of second_swipe support for play_folder (as @pabera is working on in #2330). But the resume functionality introduced in this PR is already achieving its purpose when used with play_folder directly (I hope that is encouraging feedback!) Since this is a relatively small code addition, I hope it can be merged without complicating the refactoring/removal of play_card #2330 too much. |
Something I noticed recently, is that if the kids leave the card on the device, with |
One workaround I implemented for myself was that I enabled |
Adds a resume flag to play_card to resume from position in case there is already playback information for a folder. This would be important for audiobooks. In case the resume fails (eg if the folder changed), a normal playback is done and the error logged.
3a2e94b
to
b8939b4
Compare
Pull Request Test Coverage Report for Build 10222388596Details
💛 - Coveralls |
Adds a resume flag to play_card to resume from position in case there is already playback information for a folder.
This is important for audiobooks.
In case the resume fails (eg if the folder changed), a normal playback is done and the error logged.
Addreses issue #1945