Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • Podcasts Podcasts
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 106
    • Issues 106
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 10
    • Merge requests 10
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • World
  • PodcastsPodcasts
  • Issues
  • #63
Closed
Open
Issue created Jun 09, 2018 by Jordan Petridis@alatiera🌱Maintainer

Embed Player

Current problems

  • Whenever a user clicks the play button the file is handled by an External program

Goals & use cases

  • Users need to listen to episodes without having to switch applications
  • Integrated Queue/Playlist
  • MPRIS Integration
  • Streaming capabilities
  • Keep track of the playback position of episodes
  • Smart Play/Pause. If playback is resumed it should rewind a small interval.
  • Smart marking of episodes as played/listened. Ex if an episode is listen 85-90% or less than 30-60-XXseconds are remaining.
  • Rewind and fast-forward
  • Non-audio types should still be proxied to an external player

Requirements

  • Gstreamer knowledge
  • Database restructure for the queue and playback position
  • TBD preferences

Relevant art

Gnome Music

Screenshot_from_2018-06-09_17-28-58 The player in Music is a separate toolbar/actionbar widget at the bottom of the window. It's hidden at startup and only shown when an audio Stream is queue. After that it can't be hidden again.

Lollypop

Screenshot_from_2018-06-11_14-15-00 In lollypop the player is integrated as part of the headerbar.

Vocal

Screenshot_from_2018-06-09_17-33-07 Vocal also implements the player as part of the headerbar.

Proposal & plan

fasdafsas

@bertob 's notes:

the desktop, we can just have all the controls in the action bar, and open the episode detail page when you click the artwork or something, could be a separate button on the right, but it's really not that important

afdsfsad

@bertob 's notes:

however, on mobile we'll need a separate "now playing screen with a proper slider, so there you'd have a button in the headerbar (the one with the text lines) that sends you to the episode details page with show notes and stuff and a button to go directly to the queue in the bottom right.

Also, I think it makes sense to move the queue into the headerbar stack switcher, since it's one of the main "areas" of the app, though I guess that makes it harder to access in some cases on the desktop, so not sure.

Also, the relationship between podcast detail screen and "now playing" screen is kinda murky

Priority is the embedded player which will mark the 0.4.0 release series.

MPRIS support can be added later and does not need to land with the player.

Streaming and the Episode Queue are the lowest priorities. Implementing streaming might be easy given how powerfull gstreamer is. The Queue is going to be challenging though from both a design and an Implementation POV.

Edited Jun 18, 2018 by Jordan Petridis
Assignee
Assign to
Time tracking