Mar 07, 2008
Splash out!
Early this week I spent an hour or two adding a nice splash screen to Braun. I thought it would give the application a sense of polish and professionalism, and give the user something to look at whilst the app was loading. A day later I spent 10 minutes removing it!
Posted at 11:22 |
Comments(0) |
Permalink |
Trackbacks(0) |
Tags: design, programming |
add to del.icio.us
Dec 30, 2007
Dynamically generating object methods in Python
I have recently been working on an object-oriented wrapper for the Python bindings to my [libxtract][1] feature extraction library. I used SWIG to auto-generate the bindings, and SWIG generally does a great job. The problem is that the functions it generates follow the original C code quite precisely, and aren't very 'Pythonic'. I wanted to create a nice Python class to hide some of the nastiness of the auto-generated functions, but became slightly daunted by having to hand-code every method of the new Xtract class with 50 very similar methods! Instead I decided to take advantage of Python's support for [lexical closures][2] to auto-generate the methods from the libxtract function descriptors using a method factory. The concept works like this (I think this is a fairly common idiom in Python):
Posted at 13:36 |
Comments(0) |
Permalink |
Trackbacks(0) |
Tags: programming, Python |
add to del.icio.us
Dec 20, 2007
Debugging Max/MSP externals on OS X
I've recently been developing a couple of externals for Max/MSP. Initially I became very frustrated with trying to run the application inside a debugger because the PACE protection kept terminating the process. It eventually occurred to me to use the Max/MSP 'runtime version', which is not copy protected. This worked fine, and I was able to debug externals in the usual way using gdb:
Posted at 09:54 |
Comments(0) |
Permalink |
Trackbacks(0) |
Tags: Max/MSP, programming |
add to del.icio.us
Nov 27, 2007
Juce
I recently discovered the Juce C++ library whilst reading about the very promising Jost plugin host. The library focuses on creating a good looking set of widgets, tools and non-GUI classes for developing specialist audio and graphical applications. It has an impressive commercial user base including Cycling 74, who according to this thread will be using it as a basis for the new Max 5 GUI.
Posted at 09:00 |
Comments(0) |
Permalink |
Trackbacks(0) |
Tags: design, programming |
add to del.icio.us
Oct 08, 2007
What I learned from Python that makes me a better programmer when I use C
Here is my response to this call for posts on the raganwald blog. A response from Ryan Ginstrom can be found here
Posted at 10:49 |
Comments(3) |
Permalink |
Trackbacks(0) |
Tags: C, languages, programming, Python |
add to del.icio.us

