So far, we’ve tried to avoid ever discussing the “d” word, donations! We’ve felt that as a good project, we wanted to try to avoid having to deal with money, but it’s getting to the point where it seems inevitable. The factors involved revolve around our need for hardware, costs associated with appearing at open source conferences, and most importantly, our lack of devs – we really need a bug bounty program to get some things fixed, or if we have enough, the money to hire outside developers to help us get Nightingale to be all it can be.

Some of the ideas on the table include accepting PayPal, bitcoins, litecoins and whatever other digital currencies, and perhaps setting up an indiegogo page – which of these do you like best? Do you have any other/better ideas? If you happen to have disposable income, and would like to pledge an amount to hire a developer or setup a bug bounty, we’re of course interested in hearing from you as well.

Please, tell us what you think here in the comments, in our IRC channel, #nightingale on mozdev, or on the forums.

New (old) Hardware

I recently purchased an old 2006-era Mac Mini for our development, so that I could make sure and get a more proper Mac build out for our next release. I’m happy to say that after setting up the build environment (and reinstalling OSX once the machine arrived, as I trust no eBay seller to do that part for me), I have most of the Nightingale build dependencies built fresh.

New Mac Testing Build

I’m still fighting with XULRunner to get it to build under OS X. That said, I did compile the new TagLib, so I was able to cobble together a current trunk build for all 5 of our Mac users out there (j/k, we have at least 7 Mac users :P). You can download the testing build here. I’d love to hear of any issues you run into, as I’m using a different compiler – the vanilla gcc 4.7 – to build the dependencies and client this time around. It should provide for smaller, faster, more efficient code.

Gearing Up For A New Release: 1.12

In other news, the team and I are all working hard to get the polish all together for a 1.12 release here at the beginning of January. Short of fighting to get the FLAC albumart display working, we have a lot of great changes, as well as more stability across all our platforms. On Linux especially, we have more system integration, and only have to rely on XULRunner and SQLite as precompiled dependencies. The release after next should do away with those altogether.

New Year’s Parties – Use Nightingale, Tell Friends!

We hope you had a Merry Christmas, and happy holidays all around. Furthermore, we all wish you a very happy New Year! Make sure to use Nightingale to play the music at your New Year’s parties, and show it off to your friends! Our resolution is to make Nightingale the best desktop music player out there, and to have more people use it as well. We can’t do that without your help, so please, make sure to help us get the word out!

Thanks to some really hard work by our own rsjtdrjgfuzkfg, Nightingale now supports the current/vanilla version of TagLib! For all of our users, this means better ID3 tag support, and a lot fewer problems and bugs with tags and importing your music in general. For our Linux users, this means that Nightingale will automatically build against your distro’s TagLib package. If you maintain Nightingale packages, please update them to require TagLib>=1.8 before your next build of sb-trunk-oldxul.

We plan on releasing official builds (a new version) as soon as we get the build process working 100% on Windows and Mac with our new dependencies. Once the transition is complete, you can be sure the next version of Nightingale will be coming your way!

Other Upgrades and News

In other news, the only two dependencies left to convert to use those provided by the host distribution on Linux are SQLite and XULRunner. Both are in progress, and we welcome any help and support you can provide in speeding up the process. This work not only benefits Linux users, but will also provide Windows and Mac users with much more stable, efficient, and fast versions of the dependencies, all making for a better Nightingale.

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!

Upstream Merges

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.

Buildbot

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.

Just a quick update, as we want to remind everyone we’re still here and developing! Things are a little slower than usual right now, because life gets in the way from time to time. More importantly, we’re waiting on pushing any major changes to the code-base until we have several new add-ons for you to use for version 1.11.1.

Get ready for some great add-ons!

Our CoMETE students are working on their add-ons, we have others (such as TagNinja) in development, and podcast support will also be coming your way soon. We are making sure to not change anything significantly until those are ready for a release, so that they’ll for sure work with 1.11.1. You can expect further improvements after 1.11.1, at which point we can go back to full production mode.

Also, the modeling process for our add-on platform featherweight is nearly finished. There are still lots to do, but expect to see some progress soon.

Join the Community

Finally, it would be great to have you aboard, especially if you’re a developer. There are some major projects we work on, and there is a even bigger list of things to come. As you can see from the list, you can support us not only with coding, but also with other tasks – for example reproducing bugs or at the documentation.