Tuesday 26 July 2011

Mixtikl on Android - with the NDK and C++

Mixtikl is now around 95% complete on Android.

I've actually ported directly with the NDK/C++, without using Juce, as my 2d portability layer for Mixtikl is so highly developed. The port only took around a week (having already done a lot of background work in the previous few months laying the ground for this and possibly other ports!).

The Audio drivers have caused some fun; I've ended-up implementing support for AudioTrack and AudioRecord in native code with pthreads. Audio support in Android really is very poor...

The biggest headache is the basic problem of debugging C++ code on Android; I'm reduced to using trace statements. It helps that 99% of the code in Mixtikl is cross-platform and fully debugged on other platforms!

That said, the latest NDK (R6) is much improved with STL support and what have you; there is no longer any need to use Crystax.

I'm still very likely to use Juce for the Liptikl and Noatikl ports to Android, of course!