nukeop / nuclear

Streaming music player that finds free music for you
https://nuclearplayer.com
GNU Affero General Public License v3.0
12.22k stars 1.07k forks source link

Adding Media Session API Support to Nuclear (Menu Bar Issues #1647) #1727

Open gr33nMari0 opened 4 weeks ago

gr33nMari0 commented 4 weeks ago

Working on the following Issue: Menu Bar Issues #1647

This begins the draft pull request for my implementation of Media Session support for Nuclear, to update the way Nuclear passes music metadata to the host OS for native control over music in panels such as the macOS Menu Bar "Now Playing" widget.

Current status - Music metadata has been added to the mediaSession Object in the navigator of the page. Fields such as Song Title and Artist have been implemented, and can be viewed already, and listeners for play/pause using IPC calls. Artwork URL is being passed but there is a bug preventing macOS from rendering this image as the album artwork, so this will be fixed in time. Testing for all the above will be added following a correct implementation - this is because my approach is quite volatile at the moment due to the large number of places that might be the most appropriate place to have the mediaSession initialisation calls.

Issues identified with my current implementation: