spotify-player icon indicating copy to clipboard operation
spotify-player copied to clipboard

implement podcast functionality

Open SebRollen opened this issue 1 year ago • 7 comments

Work-in-progress implementation of podcasts. Still needs quite a bit of work, but this is a large change so I thought I'd open it up in draft mode in case anyone has any comments along the way.

Playback is working for podcast episodes, as is searching for specific episodes. But the playback is still not being populated—in the process of tracking down why that isn't happening now

Fixes #359 Fixes #457

Checklist (based on https://github.com/aome510/spotify-player/issues/457#issuecomment-2156052760)

  • [x] Search
    • [x] Shows (podcasts)
    • [x] Episodes (podcast episodes)
  • [x] Context menu
    • [x] Shows
      • [x] Copy link
      • [x] Follow
    • [x] Episodes
      • [x] Go to show
      • [x] Copy link
      • [x] Add to playlist
      • [x] Add to queue
  • [x] Show detail page
  • [ ] Playback
    • [x] Play audio
    • [ ] Show playback status

Screenshots

Search page Screenshot 2024-08-22 at 10 14 06 PM

Show detail page Screenshot 2024-08-22 at 11 05 13 PM

SebRollen avatar Aug 22 '24 02:08 SebRollen

Anything I can do to help? I would love this feature!

Adoni5 avatar Aug 27 '24 08:08 Adoni5

Anything I can do to help? I would love this feature!

The biggest outstanding "unknown" is why the playback screen is still blank after starting playback for an episode, so any help diagnosing this would be fantastic.

The info in https://github.com/aome510/spotify-player/issues/359 may be helpful here. I was hopeful that updating streaming.rs to handle episode player events would fix it, but no dice so far.

In general, I'm probably gonna be a bit short on time to be able to push this PR forward this week, but should have more time next week.

SebRollen avatar Aug 27 '24 14:08 SebRollen

This pull-request is already going to be a doozy to review, so I figured I should open it up for a first look now.

Most of the functionality outlined in #457 is implemented here, save one very important part: rendering the currently playing episode in the Player UI. I've been trying to debug why the playing episode does not show up there, but haven't had too much luck yet. I know that playback.item in https://github.com/aome510/spotify-player/pull/552/files#diff-3ee6f331c585285645123ea35a2b8ad7db4d450994a9429b78c4856c6531c410R19 returns None even when an episode is playing, but as far as I can tell, item is set by Spotify itself, so I'm not sure why it's not Some(PlayableItem::Episode). Would appreciate help in debugging this

SebRollen avatar Sep 08 '24 02:09 SebRollen

Lots of errors in CI. I've been testing without enabling features—will update the PR to account for the various features as well

SebRollen avatar Sep 08 '24 02:09 SebRollen

Thanks @SebRollen for the PR and implementing this big feature! I'm still half-way reviewing it. Just to give you an update. Sorry for the delay cause I haven't found time to work on this project lately.

aome510 avatar Oct 15 '24 14:10 aome510

@aome510 it's all good, I know it's quite a few changes to review in one go.

If it's helpful, I'm happy to try to break it into smaller chunks if you're willing to merge in partial updates to the feature. I found it hard initially to find a natural point to split the PR into smaller chunks without merging in a half-baked feature, but maybe we could get all the "backend" parts before adding in the UI updates? Let me know what's most helpful for you

SebRollen avatar Oct 16 '24 00:10 SebRollen

If it's helpful, I'm happy to try to break it into smaller chunks if you're willing to merge in partial updates to the feature. I found it hard initially to find a natural point to split the PR into smaller chunks without merging in a half-baked feature, but maybe we could get all the "backend" parts before adding in the UI updates? Let me know what's most helpful for you

The current PR as-is is good to me as it helps me to understand how different parts of the system work together.

aome510 avatar Oct 16 '24 15:10 aome510

@SebRollen I finally had a chance to get back to this PR and finish it. I've also added playback support. The remaining item is to implement command handler for episode table window, which I will address in a future PR.

aome510 avatar Nov 30 '24 02:11 aome510