hankhank10 / music-screen-api

Display the playing Sonos track in real time on an e-ink display - also includes functionality for last.fm
120 stars 17 forks source link

Update to use a fixed sized font (Consolas), to extend the use of demaster to album titles and to allow Spotify codes and or Spotify album art to be shown #62

Closed ashenshugarRET closed 1 year ago

ashenshugarRET commented 1 year ago

I've found that the original font made determining the label positioning difficult as it wrapped text differently depending on the letters being displayed as it isn't a fixed-sized font. I've changed the font to consolas as this is a fixed font and to my eye is just as pleasing as the original font, After extensive testing this appears to now correctly handle displaying information of all lengths. I also expanded the use of demaster to album titles as well as songs. This pull request also implements code that allows the user to show a Spotify code in the top right of the screen as well as potentially overriding the album art from the Sonos system for that found on Spotify for the currently playing track, if a search of Spotify returns a valid result, both of these functionalities can be disabled through the sonos_settings.py file

hankhank10 commented 1 year ago

Thanks for all your work on this. It looks like you are making commits and raising pull requests pretty regularly. Please let me know when this is ready and tested and you would like me to merge into the main repo.

ashenshugarRET commented 1 year ago

Hello,

Yes, I've been working to improve the label placement through the use of a mono-spaced font as this makes text wrapping more reliable. I had originally submitted this as a separate pull request and was hoping it could be implemented separately from the implementation of the Spotify Code display requested in issue #61, however, it appears that GitHub automatically adds subsequent commits to pull requests, so the two changes have been combined, which isn't a problem particularly.. The code seems to be reliable and works as expected if users set both of the new Spotify-related labels in sonos_settings.py to False then the program will work exactly as it does now, although with better-behaving labels. Can I request you wait until the end of the weekend to give me a few more days of regular use before merging if that's OK?

hankhank10 commented 1 year ago

Absolutely, thank you @ashenshugarRET - please let me know when ready to merge

ashenshugarRET commented 1 year ago

Hello,

I unearthed a few bugs relating to users that either haven't installed spotipy or haven't added Spotify API credentials to the sonos_settings.py file. As these are only needed if the user wants to display Spotify Codes or always display Spotify album art, I've made changes to handle these situations without nasty crashes. I'm going to test for another day or two and then I think we're good to merge...

ashenshugarRET commented 1 year ago

Hello,

@hankhank10 I believe we are good to merge.

Thanks

ashenshugarRET commented 1 year ago

@hankhank10 Hello, Sorry to bug you, but could you let me know if you'd be happy to merge this pull request? If not, if there's something you need me to change/correct please let me know, if you'd rather this wasn't merged into your project I'll close the pull request. Thanks