Added means to add a station logo from an image URL.
Entry is activated by right clicking in the Album Art area while a station is playing.
Typing or pasting the URL and clicking Ok downloads it and sets the station logo of the playing station with it.
Added more robust checks to ensure routine wasn't blowing up due to missing or inconsistent data. Routine seems to be flowing correctly now.
Added a quick and tentative replacement for apostrophes in artist or title - might fix that part, but there are more fusion-type issues with 'and' vs '&', 'J.J.' vs 'JJ', etc.
Moved query from releases to recordings, then limited the query to official releases with matches > 90%, for only singles, albums or EPs, and of course has a valid Front image.
Heavily tweaked the query from releases to 'official' recordings (which includes matching track names). Picks the first one that is above a 90% match for any single, album, or EP, and of course has a valid Front image. Seems to lean towards providing album covers, whereas the release query only gave you singles.
Added ability to use nrsc5 with a remote RTL_SDR via rtl_tcp. IP address and switch settings are also saved to/recalled from the configuration file for later use.
Applying station logos to the appropriate streams as they are received, regardless if the logo is assigned to the stream that is currently playing. This allows you to switch to another stream and see it's logo, if previously downloaded.
Also modified the way covers are displayed so they don't appear prematurely: The `LOT` number of the image file must match that of the `XHDR` in order for it to be displayed.
Fixed a timing bug when re-tuning from a current station by double-clicking a bookmark, causing a whole host of problems. The bookmark click kills the current nrsc5 process then restarts with new freq and stream number. In some instances, the polling loop keeps plugging away and doesn't know the nrsc5 was killed. Adding a short 1 second delay between killing and re-tuning fixes the problem and allows processes the appropriate time to synch up.
If no device is found when Play is clicked, synch pilot will turn red and attempt to play will be halted.
This fixes a critical error where the app will crash if nrsc5 determines no device is available.
Stripped extra artists from the search and save routine to give better search results.
Also moved the automated album art display to be after station cover and logo detection.
Other minor tweaks.
If selected by the user, the application will detect if the ID3 information changed. If so, it will check the new information on Discogs and download the appropriate album art. If no album art is found, it will load the station's logo, if present.
Removed the GdkThread entirely since:
1. It seems unnecessary without the API calls.
2. It's deprecated - all Gtk/Gdk calls should be in the main thread anyway.
Also changed the references using the stock image to use the icon "MISSING_IMAGE" to eliminate those deprecation warnings.
1. Added argument for absolute path (with final slash) to nrsc5 if needed, defaults to no path. If absolute path to nrsc5 is required, can now invoke with:
`python3 nrsc5-dui.py /usr/local/bin/`
2. Added tooltips to ID3 info (title, artist, album, genre) in case it exceeds display limitations.