Being a web developer, I know how event driven user interfaces are written, but do not have insight into other families of code (embedded software like automotive software, automation software on assembly lines, drivers, or the crawling lower-thirds on CNN, etc.)
I was looking at the iTunes visualizer (example) and am curious:
What code is used to write the visualizer? Objective C?
Does it use Core Animation? What type of abstraction does that library offer?
What does the code look like? Is it a list of mathematical equations for producing the crazy graphics? Is it a list of key frames with tweening? Is there an array of images, fractals, worm holes, flowers, sparkles, and some magic mixing them together. Or something totally different?
I am not looking for a tutorial, just an understanding of how something very different than web development works.
Oh yah, I know iTunes is closed source, so all of this is conjecture.
In my opinion:
Probably C and/or Objective-C with OpenGL.
Possibly. Core Animation provides layers (images) that can be animated very easily and efficiently (fade-in, fade-out, translation, rotations, etc.). It probably uses the same hardware acceleration as OpenGL does. These layers may be used for transitions in the visualizer.
Your bet is as good as mine, but you're probably right. They may use some set of mathematical equations that takes as input a number of variables (such as the amplitude of the sound) and produce an image.