-snip- See latest post.
Okay so I've learned that the normal practice is for the big image to be broken up into smaller packets and I had to go through and assemble the BASE64 first then decode it, then interpret the decoded data to get the image details. Bit of a mystery why that one batch of files does not split it up like it should, but I do like the fact that the initial Opus file I got working was actually the messed up one.
Most of the Opus files I have now work. @sveakul, two of the ones you sent don't work despite the BASE64 size being the correct size, so I'm thinking the problem is either my BASE64 decode method is causing problems or my method for reading it is wrong. Either way I will have to get Ian or someone else to look at it as I doubt I'll get better than the current implementation by myself.
Crashes should hopefully be fixed as I was doing buffer overflow stuff which should now be sorted when reading Opus tags.
The Embedded Streaming Url option was having issues working out if it was turned on or not, it's not longer an option (although it shows in the list for fun) so if auto cover download is enabled it will always try and retrieve Urls in while streaming music. Looks like the Opus checks was interfering in the process as well for some bizarre reason, but hopefully it won't do that anymore, testing shows it working okay for me. @garson if you still have issues with some stations let me know.
Discogs changed their website and borked the method I use, no idea how to do it properly at the moment but I have put in a fix of sorts, it will no longer crash and it will still retrieve an image if there are matches but it will not be the full quality image we got before. I'll review it in future or just replace Discogs entirely with something else.