Skip to content
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

Browser support #5

Open
ungive opened this issue Apr 25, 2024 · 1 comment
Open

Browser support #5

ungive opened this issue Apr 25, 2024 · 1 comment
Labels
enhancement New feature or request needs media processing pipeline This needs a rework of how media is processed internally

Comments

@ungive
Copy link
Owner

ungive commented Apr 25, 2024

Overview

It would be great if Music Presence could support browsers. This is not trivial to implement though, as browsers can usually play way more than just music. Most notably, videos a user is playing might interfere with the original intention behind Music Presence: The user doesn't want to show which video they are watching, but only which music they are listening to. For this reason media from browser's must be filtered in some way.

Ideas

  • More of a workaround: Using one browser only for playing music. Music Presence could share media from that browser without needing to filter anything. Example: Run Spotify in Brave Browser, which has been installed next to the default browser of the user. Music Presence could then simply share all media from that browser in the Discord status. One could even go so far and treat "Brave" as "Spotify" and show the Spotify icon for media from that browser. This is trivial to implement, but not very elegant.
  • Installing a browser extension in the browser, which would then be able to detect from which domain the media is coming and we could filter with that domain (e.g. "open.spotify.com", "listen.tidal.com", etc.). Working with the domain of the site would be perfect, but installing an extension next to the desktop application isn't really great. I'm afraid this is the only reliable solution though.
  • Getting the browser window title and extracting the streaming service from it. Most streaming services keep their name in the title at all times. E.g. "... - YouTube Music". Some don't tho, like Spotify: If media is playing, "Spotify" is not in the title anymore. This has tons of problems though: The browser title could change in the future. A single browser window can have multiple tabs. Only the currently active tab will determine the window title. The user would have to open the media-playing tab before it works with Music Presence (albeit they should need to do that to control the music anyway). And probably the biggest problem: How do we know if the currently active tab in a browser window is the one that is actually playing the media for that browser?

A browser extension is likely the way to go here.

Any input and ideas are welcome!

@ungive ungive pinned this issue Apr 25, 2024
@ungive ungive added the discussion Discussion about development label Apr 25, 2024
@ungive ungive added the enhancement New feature or request label May 15, 2024
@ungive ungive modified the milestones: Version 2.2.0, Version 2.3.0 May 15, 2024
@ungive
Copy link
Owner Author

ungive commented Jun 3, 2024

Currently working on a browser extension to detect media.

@ungive ungive modified the milestones: Version 2.3.0, Version 2.2.0 Jun 4, 2024
@ungive ungive moved this to Todo in Music Presence Jun 4, 2024
@ungive ungive moved this from Todo to Paused in Music Presence Jun 4, 2024
@ungive ungive removed the discussion Discussion about development label Jun 8, 2024
@ungive ungive removed this from the Version 2.2.0 milestone Jul 28, 2024
@ungive ungive unpinned this issue Jul 28, 2024
@ungive ungive added the needs media processing pipeline This needs a rework of how media is processed internally label Nov 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request needs media processing pipeline This needs a rework of how media is processed internally
Projects
Status: Paused
Development

No branches or pull requests

1 participant