tisdag 10 mars 2009

The state of VSXu on GNU/Linux and sound APIs

The status is: somewhat ambivalent. When implementing VSXu on Linux it's been hampered by the fact that ALSA (one of the competing sound API's) is hardware-driver dependent or something else, I'm honestly not sure, but the fact is that it doesn't work for recording the thing being played through the soundcard on my computer and thus: ALSA and VSXu will not function. Why? Because the best option with FMOD is ALSA. More about this later...

At this point I have 2 choices:
1. implement support for a music player and piggyback on it
2. implement support for an abstract sound API (software mixer)

I started with 1, but it's been going so-so when I found out that my main target application (Amarok) currently cannot support visuals in v2.x due to the lack of this functionality in Phonon (the new KDE sound backend which is fine otherwise). This might get fixed this summer under the Google Summer of Code umbrella so it probably will be done... Also there was some opensource politics which if such elements surface: I'll drop the project.

I started implementation VSXu for libvisual and I'm still not sure wether I should package + release that or not, in fact that depends on if I can maintain and improve libvisual on the way, which seems reasonable and possible but people are thinking they want something new... and since Amarok 2.x won't support it - it's not a universal anymore and then I'd have to target individual players anyway and in that case I'd start with Amarok anyway.

2 is in the works, for the PulseAudio API. It seems like the major distros (those that matter for desktop peeps) support it, namely Ubuntu, Fedora, Suse... So this will definetly be possible.

My original intent was using FMOD for playing and recording on all platforms, a lot of time was spent on implementing that, but sinse ALSA is only working in some setups - FMOD will get ditched since they don't support PulseAudio.. Sad really, I like FMOD for the free releases of VSXu..

Well that's it I guess, a bit complex... Currently all effort is spent on the iPhone version of VSXu, but after that is up and running PulseAudio comes next.

More info on Linux sound API's

Inga kommentarer:

Skicka en kommentar