/julia-vis

A beat reactive music visualizer that's based around the Julia set fractal.

Primary LanguageC

A Music Visualizer
------------------

A beat reactive visualizer that's based around the 
Julia set fractal.


Parts of this codebase have been heavily optimized, some of that optimization was done a decade ago, so it may or may not matter for modern
systems. It was also originally written to run as fast as possible on a computer that was old in 2008. Other parts were written as an 
experiment, not all of it was ever cleaned up.

There are known bugs, the pulseaudio part crashes on shutdown, I have no idea why, it didn't used to do that and I haven't changed it, nor
can I work out what I'm doing wrong, but since it only goes wrong when the program is already shutting down it's low priority.

There is also a bug in the new span based osciliscope renderer, sometimes it makes a big rectangle where it shouldn't, this is high priority
to fix before I start working on the acceleration structure that will hopefully actually make this new one faster than the old one, at
least on a multicore machine.

And probably more I've forgotten about, and others I don't know about.

Note:

src/opengl/glx_gen.{c,h}
was generated with glGenLoad like this:
	lua  LoadGen.lua gen -style pointer_c -spec=glX -ext OML_sync_control -ext ARB_create_context -ext EXT_swap_control -ext SGI_swap_control


src/opengl/glx_gen.{c,h}
was generated with glGenLoad like this:
	lua  LoadGen.lua 14 -style pointer_c -spec=gl -version 1.4 -extfile <filename>

where <filename> names a file with these contents:
ARB_vertex_buffer_object
ARB_debug_output
EXT_framebuffer_object
ARB_framebuffer_object
ARB_shading_language_100
ARB_shader_objects
ARB_vertex_shader
ARB_vertex_program
ARB_fragment_shader
ARB_pixel_buffer_object
ARB_texture_rg

for opengl 1.3 we would need these extenions
ARB_texture_mirrored_repeat
ARB_window_pos
EXT_blend_color
EXT_blend_minmax
EXT_blend_subtract

glBlendEquation went in in 1.1