Archives 2012

Quadratic Bezier Splines

So as part of my little Quake 3 BSP loader (twitch) I need to render Quadratic Bezier Spline patches.  I want to do the whole thing from a VBO, so I'm doing the tessellation manually (I also wanted to do it to play).  The basic rendering is now working, that is, I can render a ...

Continue reading

PyOpenGL 3.0.2 Released

PyOpenGL 3.0.2 (final, finally) has been released. The major changes since 3.0.1 (released in 2010!) are:

  • OpenGL core support up to 4.3 level [1]

  • OpenGL extension support from the current registry [1]

  • Some missing FreeGLUT extensions added

  • OpenGL.GL.framebufferobjects providing ARB/EXT alternates for framebuffer operations

  • Experimental OSMesa (Offscreen Mesa) context (use the environment variable PYOPENGL_PLATFORM=osmesa)

Codebase ...

Continue reading

Pycon.ca Talk Submissions Due Monday!

If you're wanting to speak at Pycon.ca you need to get your proposals in this weekend.  Don't delay.

[Update] Yeah, Mike, do that.  I now have way too many talks I'd like to do:

  • Modern OpenGL Eat Your Vertices Raw (submitted)
  • Profiling for Performance (submitted, but very brief outline)
  • Using GStreamer 1.0 (an HTML5 Video ...

Continue reading

Prevent PulseAudio from becoming the Default ALSA Device

Pulse, when installed, will unconditionally overwrite your carefully crafted .asoundrc settings that, for instance, use an environment variable to choose the ALSA device on which to output.  This is one of those things that everything tells you "is good", without telling you how it happens, or how to stop it.  Long story short, the offending ...

Continue reading

PyOpenGL 3.0.2b2 is Out

If you have PyOpenGL dependent code, now would be the time to check that it runs against the latest beta.  Assuming no show-stopping bugs are reported this will be the last beta before 3.0.2 final is released.  Available in PyPI now.

Patch Django Management to allow pyc, so and pyd modules

So you have an "embeddded" Django instance where you want to strip the thing down to the minimum required files.  You run compileall on your site-packages, then strip/delete all of the .py files... and your Django becomes pretty useless, because it no longer recognizes any of your management plugins (not even the built-in ones).

This ...

Continue reading

A Day of Fun (QIII BSP File Loader)

While waiting for a server to get back online today I've been playing with a QIII map (BSP file) loader. Not much to it at the moment, it "parses" the whole file, but the rendering isn't particularly useful.

The loader uses numpy mmap'd files and typed views onto those to do the interpretation of the ...

Continue reading

Alsa Loopback Devices for Fun, but not yet profit...

So you want to be able to capture the output of N Alsa "devices" (think N separate programs). It seems like the correct solution to this should be an Alsa loopback device... so, here's how to create them.

  • Add snd-aloop to your /etc/modules
  • Add a file named /etc/modprobe.d/alsa-aloop.conf (content below)
  • Create a .asoundrc that makes ...

Continue reading

ALSA Loopback for Fun and Profit

So I finally got the ALSA loopback working with gstreamer. Key is to use ALSA's plugs to get the right format on both sides of the capture:

{% for spk in cards %}
pcm.spk{{spk}} {
  type plug
  slave{
    pcm "hw:Loopback{{spk}},0,0"
    rate 48000
    format S16_LE
  }
}
pcm.monitor{{spk}}_snoop {
  type dsnoop
  ipc_key 68659{{spk}}
  slave{
    pcm "hw:Loopback{{spk}},1,0" ...

Continue reading

Really Dumb HTML5 Video Tag Back-end

So you want to create a stupid-and-dirty HTML5 video tag to allow you to monitor a (local-only) multicast stream from your (Django + Nginx) web site?  Not something to be seen by "real people", but a way for you to see if anything is broadcasting?

This is a pretty simplistic thing, again; do *not* do ...

Continue reading

Monthly archives

Previous year

2011

Next year

2013