I’ve come back to sound team yesterday; with this I also asked Steve to put me back into Planet Gentoo and Gentoo Universe, as I’ve resumed doing visible work, somehow.
My first contribution to sound team this time was to commit to the main tree an updated rosegarden ebuild, taking the one Alexis was working on, merging it with the changes from the proaudio overlay (which I wouldn’t consider safe to the faint of heart, myself), adding a fix for
--as-needed (which I still need to send upstream), and polishing it a bit.
I also decided to commit Alessio’s fluidsynth patch, improved on bugzilla, and then polished locally; the version is now 1.0.7a, although it is the same source tarball used before, I just preferred naming it 1.0.7a rather than 1.0.7-r1 as the source tarball used was 1.7.0a itself.
And following fluidsynth I bumped qsynth and added a desktop file so that it appears nicely on the menu.
Now, the good question is: why the heck am I doing this? Well, yesterday I received something I ordered (last friday night) from France: a MIDI controller keyboard. Although last time I played a keyboard instrument was more than ten years ago, I wanted to try again, for two main reasons: the first is that I wanted to be able to say “I tried”, even if I fail (too many times in the past I refused to try, and I was left with doubts if I would have been able to cope with it or not), the second is that after a whole day on a standard PC keyboard I end up with quite tired hands, and I hope that a bit of exercise might help them.
Anyway, the keyboard worked fine out of the box on Mac OS X, just needed to fire up Garage Band and it played fine, but considering the MacBookPro’s crappy sound card (it’s a technical term to refer to HDA-based sound cards), and its placement near the PSU (on this, the designer of the laptop takes a 3- mark), that was not going to be my main box to play with the keyboard, Enterprise was, with the connected Onkyo amplifier.
As the VIA82xx card does not have MIDI synth capabilities, I needed a software synth like FluidSynth, and that’s why I ended up polishing that and updating QSynth; I also had to set up JACK, so I’ll probably be willing to update JACK and QJackCtl the next week unless I hear from Eldad before.
With JACK installed and configured, I can finally handle the port of the Jack audio out plugin in xine to the audio conversion branch. Unfortunately looking at the plugin code at the moment makes me want to kill myself. It’s out of style with most of xine’s code, the plugin does not even have a proper header, so to even get it to work with the new branch I had to rewrite good part of it. And JACK will be the first plugin to only support 32-bit float data, rather than 16-bit signed integer data like it did before (the plugin was doing the integer → float conversion, which means that playing, say, a Musepack file with JACK output caused xine to do float32 → int16 → float32 conversions…).
Now I “just” need a Solaris system to port the Sun Audio plugin, and to get a hold of something running FusionSound (DirectFB’s sound system), then the -ac branch can be considered almost ready.
Almost because the post plugins has to be checked, fixed and improved, and then Amarok will need to be fixed too or I’ll end up crazy 😉