here is a slightly better video clip..I have to work out how to take a better clip, this is still pretty terrible quality. It doesn't really do the cube justice at all.
After i wrote the post yesterday a slight improvement occurred to me to the way I interpret the 3dleds code. The available code is in 8 bit resolution, but my cube runs at 12 bits. That means the code's maximum value is 254 but my cube's maximum is 4096. To overcome this, i just multiplied the code by 15. This was a very quick and dirty approach. It seems obvious now that a much better approach would be to instead use the code's value as a percentage and multiply my full value by it, this gives a much more faithful reproduction of the code's intended outcome.
I did this simply by declaring v as a float instead of an int and changing the line v = rawData[p]*15;
v = rawData[p];