spot icon indicating copy to clipboard operation
spot copied to clipboard

Can't play podcast

Open alumni opened this issue 4 years ago • 5 comments

Describe the bug Podcasts cannot be played

To Reproduce Steps to reproduce the behavior:

  1. Go to the Daily Drive playlist (assuming you have already starred it)
  2. Click on a podcast (anything that is not a song 😄)

Expected behavior Podcast can be played. Instead, they are just skipped.

General information:

  • Distribution: ArchLinux
  • Installation method [e. g. built from source, installed from Flathub...]: AUR (built from source)
  • Version [e.g. 0.1.0]: 0.1.8

alumni avatar Feb 23 '21 14:02 alumni

Hi! :) I haven't looked into adding podcast support just yet, it not a top priority of mine to be fair but maybe I could at least allow podcast playback! Not sure what the Daily Drive playlist is, could you share a link maybe? I haven't used the podcast feature on Spotify so I am not familiar with how they work ;)

xou816 avatar Feb 24 '21 08:02 xou816

Daily Drive is a generated playlist, similar to the Daily Mix playlists (available in "Made For You"). It contains both songs and podcasts (basically it tries to emulate what you could hear when you listen to a regular radio).

The songs and some of the podcasts stay the same throughout the day, but every 30-60 minutes it gets updated with the latest news briefing (also a podcast). The podcasts are highly dependent on the account country, it could contain something like BBC Minute (spotify:show:4BIebsx0fW1Z6aptl05HBj)

alumni avatar Feb 24 '21 11:02 alumni

Re labeling this as bug as it should at least play episodes

xou816 avatar Sep 08 '21 19:09 xou816

Hi @xou816

I'd like to (respectfully) fork your app and enable podcasts. Could you at least tell me how to enable it?

ghost avatar Feb 16 '22 17:02 ghost

Hi!

A couple of things would be needed:

  • a way to view/browse podcasts: for instance making some screen that calls the /me/episodes service, or exposing podcast in search results
  • add some new model for podcast: right now the SongDescription/SongModel structs are tailored towards songs, I don't know how well they would fit the requirements for podcast episodes -- maybe it's less work than I think it is
  • fix the player part: right now, the player maps ids using SpotifyId::from_base62 (SpotifyId being what is needed to actually play a track with librespot), but this conversion only creates tracks at the moment; the issue here is that we work a lot with ids when what we need are uris (eg spotify:track:some_id) to tell apart tracks and episodes, so there might be significant refactoring involved here -- I am not sure, honestly
  • similarly, I think quite a few features expect to deal with tracks alone (overall it looks like the spotify API supports less operations that deal with podcast episodes), so other features might break here and there

I haven't had a deep look into it, but that's what I can think of off the top of my head -- but again, it could be simpler than I expect

xou816 avatar Feb 20 '22 18:02 xou816