Writing transitions for MLT?

How would I start writing a new transition for MLT? I'm looking at the Composite transition, to start with, but is there a simpler way?
I want to make something that will handle a composite of many tracks simultaneously.

Composite is a very bad example because it is probably the most complex effect in MLT. First, if you are reusing code that uses RGB, then consider making it a frei0r mixer2 plugin. If you want to process in Y'CbCr (YUV), then make an MLT transition. Unfortunately, there are no real simple video transitions in MLT, but take a look at plus/transition_affine.c for probably the simplest.