Category Archives: Uncategorized

Microphone does not work in Steam on Macbook under Windows

Looks like the drivers for Cirrus Logic audio card in unibody Macbook from late 2009 (also known as MacBook 6,1) are a bit broken. This is on Windows XP. I’m running Boot Camp 3.0 because 3.1’s installer crashes. Anyways, microphone in Steam and Steam edition of Torchlight just didn’t work. From certain posts on Apple forums, this seems to affect other software — Windows Live Messenger, et al.

Henry Wong has hacked the drivers for Macbook Pro for Cirrus Logic 4602A, and got this to work. Grab the fixed drivers from their site. 
Despite being for MBP, this seems to work on my unibody Macbook as well. This advice is offered without any guarantee it’ll work and it’s definitely not supported by Apple, so be careful.
PS Post 200!


Edit April 25th 2010:
Mirror of fixes: regular fix, no s/pdif out fix

Edit May 7th 2010:
After using these patches for some time in L4D2 and elsewhere, I conclude that one or both of the fixed drivers are breaking stereo support, to a certain extent. That is, apparently the “rear” speaker or even the microphone becomes the “left” speaker. YMMV.

Assigning UTF8 display strings in PythonOgre with CEGUI 0.6.2b

If you just do:

line=f.readline()
cegui.wm[“destination”][“Text”]=line
# Of course: cegui.wm=cegui.WindowManager.getSingleton()

then, despite “line” being UTF8, some piece of code will attempt to convert it into something “appropriate.” We don’t want that. We want our UTF8 string to be displayed with correct encoding, without guesses about what to convert it into — because the guess is incorrect! (It looks like it converts it into ascii or some Western European codepage).

So let’s force the wrapper to do the right thing:

line=f.readline()
line_cg=cegui.String(); line_cg.assign(line)
cegui.wm[“destination”][“Text”]=line_cg

Or you may prefer a utility function which does that:

def getDisplayString(txt):
  cg_string=cegui.String()
  cg_string.assign(line)
  return cg_string


line=f.readline()
cegui.wm[“destination”][“Text”]=getDisplayString(line)

This was necessary on PythonOgre SVN revision 996, wrapping Ogre 1.6.1 and CEGUI 0.6.2b for Python 2.5, on Mac. 
Image courtesy of Bart Simpson Chalkboard Generator from addletters.com

Freshly installed Debian is just hyperfast

I really fell in love Mac OS X. Numerous UI innovations, consistency, cool design all combined help me be more productive. It can get slow occasionally: all those cool things that help me be more productive obviously come at a price.

A few days ago I successfully installed Debian lenny on my MacBook (hardware revision 6,1). More importantly, it managed to boot (suffice to say, I spent entire Sunday getting it to that stage). Unfortunately, since wireless card drivers don’t work out of the box, and I didn’t have ethernet handy until today, it just stood there on the hard drive.

Imagine my surprise when I fired up the Epiphany browser and the home page (Debian.org) opened instantly. Imagine my surprise when I realized everything else was also hyper fast. Even Firefox Iceweasel doesn’t seem to be the memory hog it usually is. Also, I think I was logged in in about 35 sec — and I mean fully logged in. Folks, it may pay off to try Debian on Mac. There isn’t a better designed GUI OS than Mac; there isn’t a more customizable, but consistent-as-far-as-linux-goes and fluid-as-far-as-updates-go OS than Debian.

But, this may be just a “side effect” of a fresh install. Who knows how it’ll behave after some … production use. And copy move of my old home folder from the old laptop. Who knows — maybe I just shouldn’t transfer the dot-folders with settings.

On the other hand, I’ll stay in Mac OS for most of the time, simply because … well, if all goes well, you’ll know in a couple of days 🙂

By the way, note the lack of comparison with Windows. 🙂