Friday, February 19, 2010

Scope of the Project

Hello all,

I was writing an API and Implementation document today, and I started to look critically at the scope of the project.

Milkdrop is a wonderful visualizer - which plugs into Winamp. It has a simple preset and scripting engine which allows users to create wonderful looking visualizations using information about the music currently playing on a sample per sample basis. The automation of the Milkdrop visualizations is driven by the incoming samples.

It'd be really great to do this for droidViz - but it appears that it'll be a bit out of the scope of the project. See, Android uses the OpenCore libraries to decode all supported music types to PCM data which is then piped to the audio core. Unfortunately, this library is not exposed at the application level, thus making it impossible for us to utilize. In order to do something similar, we would need to integrate about 10 codecs at the native level and decode the audio to PCM to feed to our visualizer engine, then find a way to port this PCM data to the Audio core - probably using AudioTrack. Unfortunately, this is a bit out of the scope of the project.

We'll be making droidViz a purely graphical library - which will allow users to create interesting visuals with or without PCM data - simply by manipulating functions at the Java level. If the user implements some sort of audio codec and pulls PCM data and uses that to drive visualizations, good for him - but that's not what droidViz is going to do automatically for you.

That said, we'd really like to see this happen in the future. Perhaps, once the OpenCore libraries are exposed at the application level, we can implement this easily. We'll be planning around this possible addition throughout the development of the project.

Next up - the API/Implementation documents.

-Griff

No comments:

Post a Comment