KYDronePilot / hdfm

UI for live weather/traffic/meta data collected from HD Radio stations
Other
166 stars 12 forks source link

Album Artwork takes a while. #18

Closed andrewfer000 closed 2 years ago

andrewfer000 commented 3 years ago

This program is AWESOME! Also I love the short and simple python code. The only issue I have is that the album artwork does not update until the song is almost over as if there was around a 2 minute delay. I do not know if this is because of the radio station or it's the program. But everything else works great! Here is a screenshot. You will noticed the song does not match the artwork.

Edit: Sometimes, the album art come in early but that is rare. Also, sometimes it does not update at all. It is probably the station. image

andrewfer000 commented 3 years ago

In this new image, the Album art loaded a minute before the song and stayed loaded until the end but it stuck around well into the next song. Eventually it changed to the next song's artwork but it took almost 2 minutes. It's hard to tell if this is caused by the radio station, my SDR, setup, or the software.

image

P.S. Since this is a technically "working" example feel free to use it as one of the program screenshots.

KYDronePilot commented 3 years ago

Thanks for your interest in this project!

Unfortunately, I believe this is mostly due to the radio station. I also had problems with artwork coming in about a minute early, and if the station had multiple HD channels (HD1, HD2, HD3, etc.) the artwork would jump back and forth between the songs playing on each channel.

hdfm is also slightly to blame. At the program level, nrsc5 doesn't attach any info that can be used to determine what song or channel an artwork file is associated with. As a result, hdfm just looks for the latest jpg image that nrsc5 dumped and displays it. It might be possible to make a modification to nrsc5 to include this info when parsing the artwork, but I don't know a lot about how that project works.

Thank you for providing the screenshots; I will add one of them to the README.