It's been super-busy 10 days since the last blog post, during which everything else had higher priority than this blog; for that, I apologize. The next ten days leading up to the 0.3 final release on 28th will be even busier, since I'v got a months load of work to be done in under two weeks. However, due to numerous requests, I'll try to keep this blog updated at least semi-daily as the release draws nearer.
So what's happened since the last post? One thing that took several days was Y2006 hardware upgrade; tons of organizing, data transfers and testing. For those interested, my new dev-box is
Asus A6J laptop with 2GB ram and 1.83ghz dual-core CPU. Gotta love those ~5-min compile-times (down from ~8 min).
On the code side, I have a pretty hefty TODO list for this release, as you probably can imagine if you've seen the beta1 version. So far, I've implemented downloads renaming / file name cleanups / incoming dir changes into the cgcomm protocol; media info (codec/bitrate) support for search results and details box to search page. Skinning code got quite a bit of optimizations as well - the primary hog there was images scaling, which was done during every repaint; now we're storing the scaled image and only re-scaling if the size changes.
My complete TODO list currently is as follows:
- Optionally disable receiving servers from other servers (req by dani_555)
- eDonkey serverlist management from user interface (requires cgcomm support)
- Torrent pausing/stopping problems
- Torrent completed/canceled crashes (might be already fixed in my local copy)
- List columns hiding/showing; improved list columns resizing management
- Memory leak @ category creation box
- Remote connection interface
- Donate button and donate page (website)
- Custom RSS feeds interface; caching RSS feeds between sessions
- Removing shared directories (under right-click from library->dir drop-down menu)
- Saving category settings (problematic - can only do it on GUI side, but hard to keep status over sessions due to lack of stable identifiers of objects)
- Interface for modifying listening ports; runtime rebinding of listening ports (core side)
- Tray icon on windows
- Start with windows startup; command-line options for disabling splashscreen and minimizing after startup
- File names / comments window / interface
- (maybe) investigate UPnP support (got the code, just not in use currently)
Arlekin (the designer) has quite a lot to do during that time as well, and some things we must syncronize together. The server list and file names pages / windows need cooperation since they involve design; a new skin is in development ("prepare to throw one away; you will, anyhow"); some 8 file type icons (48x48px) need to be created; some other icons need fine-tuning; and probably other things that I can't remember currently.
As you can see, I wasn't joking about the month's work for 10 days thingie.
Stay tuned for more news in the coming days.
Madcat, ZzZz