more memory saving: some visualizers where buffering the visualizer input, rewritten them to use local variables and function parameters