The other day I finally put out another release of eMusic/J. Here’s what’s changed:
- Renamed ‘None’ to ‘Clear’ for the .emp drop for button, added a ‘Clear’ button to the proxy settings
- Allowed proxy settings able to be cleared (fixes bug #14) – Oops, turned out there was a bug here. My fault 🙂
- Made the Proxy Host text box wider than the Proxy Port text box
- Renamed the ‘Network’ group to ‘Proxy Settings’
- Added radio buttons to the proxy settings
- Remember last proxy host and port when proxy is turned off via radio buttons
- Removed the ‘Clear’ button in the proxy settings
- Http checks if proxy is active instead of if the host > 0 length – Most of these proxy changes were done by Curtis Cooley, making it easier to use for people who need to switch proxy settings on or off as they change network, and improving the consistency of the preferences dialogue at the same time.
- Refactored away some tedious boilerplate code for dealing with buttons – This is purely internal, there’s a lot of guff needed in SWT for creating buttons and handling their actions, so I tidied it up a bit.
- Having * and ? in filenames seems to cause issues with some things, these are now converted to ‘_’ – I was having issues with NDBM (the sync program for my MP3 player) not handling these well, so I had it replace them. I need to look into the NDBM code and see if it’s specific to that, if it is, then I’ll probably revert these changes.
- Fixed ugly MIME handling in download code, now it’s a lot more generalised – Again this is internal, but was much needed. Sometimes eMusic glitches and gives you an HTML page instead of the MP3 file. Until now I was handling this by ensuring that the Content-Type: header had an ‘attachment’ parameter, or was of type image/jpeg. Now when the download instance is created, it gets a few MIME types to accept, and anything else is an error. This means that the download code is a lot more reusable. Unfortunately, eMusic types it’s MP3 files as application/octet-stream, rather than audio/mpeg2 like (I think) it should be, so there may be circumstances where it plays up. If I notice this happening, I’ll have to add something to it (such as a requireAttachment parameter or something)
This release also has the first x86_64 release produced at the same time.
Go download it!