eMusic/J

eMusic/J 0.18

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!

eMusic/J

Comments (0)

Permalink

x86_64 version of eMusic/J

I’ve had a couple of requests from people for a 64-bit version of eMusic/J. So I made one. It’s theoretically just a matter of substituting the appropriate SWT libraries with the 64-bit versions, but I have no way of testing it. I have heard that it worked, but required a bit of finagling with system libraries (freetype, in particular), so I’d like feedback from anyone with a machine that can run this as to how it works for them. The alternative, of course, would be for someone to buy me a machine to test it on myself ;)

It can be found on the download page.

eMusic/J

Comments (3)

Permalink

eMusic/J 0.17

eMusic/J 0.17 has been released!

I’ll start with the obligitory changelog annotation, even though there’s a fair bit of small, boring stuff in it.

  • Added new set of icons, from Liron Tocker (http://lironbot.com). More on this below.
  • About text box now has a scrollbar (fixes bug #7), changed the look of
    it a bit to include new app logo
    Scrollbars aren’t exciting, but the logo looks cool
  • System tray icon now changes when all downloads are paused (fixes bug #8) …boring
  • When eMusic/J is opened, any downloads that had failed will now be tried
    again (fixes #11)
    I bet noone will notice, but downloads will get restarted if you restart the program, even if they were sitting on ‘failed (5)’. I was in two minds about this, as I’d like to have pretty much all the program state remain between restarts, but it seems like a good idea to have it retry this.
  • Requeuing a track resets its download failure count (fixes #11) It was dumb that it didn’t.
  • ‘Finished’ has been renamed to ‘Completed’ (fixes #12) It does sound a bit nicer, don’t you think?
  • Pause/resume downloads from system tray icon (fixes #9) The system tray menu now has an entry for this.

Oh, all the ‘fixed #xyz’ stuff refers to tickets in the bug tracking system.

Anyway, the icons. Liron Tocker did a set for it that I think look really quite slick. You can see them on her deviant art page, or see a screenshot here. Or, download the new version!

Now that I’ve gotten rid of a lot of little things, getting a 1.0 release is looking closer. There’s only two things on my list right now, although I fully expect that to grow before it shrinks, they’re both things that I have been effectively putting off for a while now.

eMusic/J

Comments (0)

Permalink

eMusic/J 0.16

The new version is in the usual place.

Well, finally I put the major feature into eMusic/J that I was waiting for before I put out a new release: the drop directory thing. There are a bunch of other changes, and I’ll just put a narrated and abridged version of the changelog here.

  • If a download fails 5 times, it won’t be automatically started again. This stops you constantly hammering the eMusic servers just because you have three tracks that are failing. The counter can be reset by forcing the track to start downloading.
  • Refactored the display of extra information (in the info panel) to be much more general, to allow more things to be displayed. This affects (and effects!) the next two things.
  • Album covers now show the cover when they are selected. A couple of people had pointed out to me that it was a little bit stupid how clicking the tracks showed the album cover, but clicking the actual album cover download didn’t. So now it does.
  • Genre and duration now show for tracks in the info panel. There’s not actually a lot of extra info in the .emp files (I think things like the year would be nice), but these two are, and are now shown at the bottom.
  • Added ‘undocumented’ option “noServer” to preferences. If the line:
    noServer=1
    is added to ~/.emusicj/emusicj.props then the client/server business won’t happen, which will lead to faster startup on the machines that it doesn’t work on. I’ve heard from one person that the part of the program that listens for another copy starting up doesn’t work, and it makes eMusic/J take quite a long time to start (as it goes through a large number of ports to try to find one that is free). Putting this option into the properties file will stop it even trying to start that part of the program up, making it faster. Not recommended unless a) starting eMusic/J is slow and b) you get the message Failed to start the server for listening just before the window comes up.
  • Drop directory support now works. The program will monitor a specified directory and autoload any .emp files that end up in there. Finally! You can point eMusic/J to a directory (it’s in the preferences screen), and every 30 seconds it will check it. Any new .emp files it spots, it will start monitoring. If they don’t change for 30 seconds, it will load them, and then delete them. The business with the ‘if the don’t change’ is to stop it from trying to load one as it’s half downloaded. This is good for downloading music remotely (just copy the file into the directory on the remote machine, wait a bit, pick up the downloaded music), and to make it easier for the people for whom the server fails to start for listening. Instead, they can tell the browser to automatically save the files to that directory.

The other thing related to this is that I’ve set up Trac, which is a simple but effective project management system. So if there are bugs, feature requests or whatever, go here and report them. Makes things a bit better than just emailing me, as this way others can see them also.

eMusic/J

Comments (1)

Permalink

eMusic/J 0.15

I got a bunch of UI updates in, so it should now look/behave a little bit better. Here’s what’s changed:

  • The display for the title and download status no longer gets ugly when the title is long. Now the download status will always be displayed, and the title truncated. The status is also in bold so it stands out a bit.
  • ‘Stopped’ has been renamed to ‘Cancelled’ in order to be a bit clearer about what is really going on. The original separation was due to the ‘pause’ button simply pausing the loop that does the downloading and writing out of data. That is an ugly, ugly way of doing things and it got removed as soon as I worked out how to do download resuming, but the messages never got updated to what made the most sense.
  • Added a ‘Cancel all’ menu item. Most useful to prevent having to manually go through and cancel every track seperately if you accidentally add an out of date EMP file.
  • Added a status bar that indicates when the downloads are paused, this’ll probably be used for more things in the future. Turns out SWT (if you’re not building an Eclipse application) has no native ‘StatusBar’ class, but it was easy enough to stick in a block with a label in it.

Aside: Samson, you’ll be happy to note this covers all the things you brought up a little while back :)

Go get it!

eMusic/J

Comments (2)

Permalink

eMusic/J website update finished

Well, mostly. I’ve finished rearranging the content on it so that it’s no longer in one great big page. Now all the important stuff is on the front page, and all the stuff that people are only likely to use a little bit are a click away.

It still needs a real user manual, but I might put some extra investigation into this. What I’d like is one that can be written up on the wiki, and is automatically imported into the program when I do a build for release. That also relies on me working out:

  1. how to include HTML files and images into a JAR file
  2. how to read said HTML and image files from the JAR file
  3. how to use the SWT browser component on these files

I’m already doing parts of the first two in the program (for the button and app icons), so it may not be too hard. We’ll see.

Check the new page out and let me know.

eMusic/J

Comments (0)

Permalink

eMusic/J 0.14 is out

Run to your nearest browser and get your copy now!.

I didn’t get the drop directory stuff I hoped done, but the main thing I did get done is the application icon (well, James did that a while back, I just had to find the time to put it in), and a system tray icon. The program can minimise to that icon, so it can just be left running happily in the background, downloading things, out of the way. It also changes colour to indicate whether or not something is being downloaded. Fancy, huh?

The other thing of significance in it is I’ve modified the way a bit of the GUI system works internally. You won’t really notice it, or care, but it makes many things a lot easier development-wise (for the technically inclined, it now has the ability to queue up GUI events to have them happen at a later time. Mostly this means that if it gets asked to display something before the GUI has come up, such as an error, instead of being discarded it gets displayed once the GUI is running. Told you you wouldn’t care).

Oh, and I started on the website redesign for it, too. That’ll get finished some time.

eMusic/J

Comments (0)

Permalink

New eMusic/J page

Hopefully tomorrow I’ll find some time to put a bit of work into eMusic/J. In preperation for tidying up the webpage, I’ve moved it to its own group on the wiki, so there is a new URL: http://www.kallisti.net.nz/EMusicJ. This will make it easier to split the page into parts, the homepage having the pertinent information and download information, etc, along with sections for things like old versions and proper documentation.

Documentation is needed for two reasons: one is that part of my 1.0 goal is to have the ‘help’ menu actually be useful, so I need to write something up and have it embedded into the program. The other is that in the next version (or maybe the one following, I’ll see how hard it is), I want to have support for a drop directory, and unlike the rest of the program (I hope), that is something that could do with actual explaining.

eMusic/J

Comments (0)

Permalink

eMusic/J status

The purpose of the emusicj category is to give me a place to put information on the development and releases of eMusic/J (a Java-based download manager for eMusic aimed at Linux users).

If you are interested in seeing what’s new and shiny in the new versions, then keep an eye on this. If you aren’t too concerned, then just wait for the program to notify you of a new version.

Anyway, a bit of detail about where it stands at the moment. I’m slowly hoping to get it to a 1.0 release, with all the features that are detailed on the project page, and probably a few more.

The next version (0.14) will hopefully have a status tray icon, now that I have a preliminary application icon to play with.

More will be put into this category as stuff happens.

Computers
Software
eMusic/J

Comments (0)

Permalink