You could do everything in Max/Jitter if you wanted to, capture with jit.qt.grab or jit.dx.grab (Windows). Then you can manipulate the image as well as the synth all in the same environment. Or you could do everything in Processing if you add the synth libraries. I’m much more partial to MMJ though since the UI is tons easier to build and there’s a lot more options for control you can get at easily.
There’s also a Processing-Max bridge, but I haven’t tried it.