We admit, we really aren’t that great at informing people what’s going on – it could be because we all have day jobs that get in the way, or it could be because our free time is always used working on Nightingale or some other open source project. We’re really sorry about all of that, but don’t take our silence as any indication as to the amount of improvement being made in the Nightingale code! We have great things ahead!
I have been pulling in upstream Songbird updates, and also making build fixes here and there on the main nightingale-hacking git repo. Otherwise, I have pulled down a copy of the Songbird dependencies SVN repository, and am working to get the dependencies building under gcc 4.7 (where applicable) in an effort to get better speed, stability, and performance out of Nightingale as a whole. The Linux dependencies are all already working, but we’re still struggling a bit getting Mac and Windows versions of them building. Either way, this should provide a speed boost, and get us closer to upgrading the dependencies to newer and more vanilla versions.
Dependency Upgrades and Linux Package Creation
Speaking of Linux, our near future involves the transition to using system dependencies. On Linux, Nightingale currently requires three non-system packages – xulrunner 1.9.2, sqlite, and taglib. These dependencies are specifically patched for the Nightingale/Songbird code base, so our first step will involve splitting these three dependencies off into their own repositories, and build them so that they are placed wherever their configuration points them to (ex: taglib could go into /opt/songbird-taglib instead of the same directory as the nightingale binary).
In turn, we’ll be required to take the first steps on the client code, setting it up to build by grabbing all the dependencies externally on Linux, rather than relying on having them in the same directory. By splitting these packages up, it is our hope that Linux distributions will begin packaging Nightingale and it’s dependencies, and place them all in their repositories. Further, this change will take us closer to upgrading all of the dependencies as a whole on all platforms, using newer and more vanilla versions of them than we do now.
GeekShadow recently created some nice nightly build scripts, which build and push fresh versions of Nightingale any time a change is made. This script currently builds and uploads nightlies for 32 and 64 bit Linux, but Windows is on the way too. You can find the nightly build directory on Sourceforge, and give them a try as you so desire.
Windows Compatibility Improvements
Rsjtdrjgfuzkfg has also been really busy – he’s done various debug builds and work to improve the client’s stability and functionality on Windows. His current project focuses on using a vanilla taglib instead of the old, patched version Songbird uses – so far, it only deals with basic ID3 tags, but progress is being made. Soon, his work should also pave the way to using a native taglib on Linux machines, and vanilla on Mac and Windows.