Archives / Search ›

Going to WWDC; ICeCoffEE Intel

I’m going to be at Apple’s Worldwide Developers Conference next month, and hope to get a chance to meet all of my friends who have moved California-ward, as well as some people I have only known online. The only other WWDC I’ve been to was in 1999. Things have changed just a bit since the days of Mac OS X DP1 and the just-introduced bronze keyboard PowerBook G3s Apple gave away at the time. Not sure who I’ll be staying with yet, but I’ll be in California from August 5 to 13.

If you have an Intel Mac and are interested in testing the Intel version of ICeCoffEE (and aren’t already in the testing group), please email icecoffee at sabi.net. I’ll work on getting the installer ready this week; if nobody reports any problems, it should be ready to release by the weekend.

Setting display brightness: updated tool

Here is my cleaned-up brightness tool, which now uses the IOKit APIs instead of the weird O3Engine SPIs that the old version did.

Quick example:

% ./brightness 
usage: ./brightness [-m|-d display] [-v] <brightness>
   or: ./brightness -l [-v]
% ./brightness -l
display 0: main display, ID 0x4270a80
display 0: brightness 0.734375
% ./brightness -v 0.3
display 0: brightness 0.296875

-m changes the brightness of the main display; -d changes brightness of whatever display number/ID you provide. -l -v dumps display attributes—sorry for the ugly XML output, but CoreFoundation claims to be unable to output an OpenStep-format property list even though Cocoa has no problem doing the same.

(February 2014: Please see an updated version of this code on GitHub; it makes the -v output more readable among other changes.)

Setting display brightness

Amit Singh has posted some source code for reading the ambient light sensor on appropriately equipped Apple laptops, and changing the keyboard and display backlight brightness. He sets the display brightness with only documented APIs, which is quite a bit cleaner than the code to do so I wrote about 7 months ago. Needless to say, at the time I couldn't find the appropriate IOKit methods to do so, so I ended up reverse engineering what the display preference pane did. It's rather strange that the convoluted Objective-C interface exists, since the IOKit code actually seems shorter!

One thing my code does that Amit's doesn't is change the brightness on all connected LCDs, not just the main display (which may not be the internal LCD if you've got a laptop connected to an external monitor). This should be easy enough to merge.

(February 2014: Please use the updated version of this code on GitHub.)

Universal F-Script Anywhere released

F-Script Anywhere is now part of the main F-Script distribution, available at fscript.org. Version 1.3 is compatible with Mac OS X 10.4.x, and is a Universal Binary. Many thanks to Robert Chin for picking up FSA’s development.

I still don’t have access to an Intel Mac, but with some help, a Universal build of ICeCoffEE should be ready in the next few weeks.

This American Life track munger

Since This American Life has switched from streaming in RealAudio to MP3, Jon Udell and Jared Benedict have posted some unofficial podcast feeds. Unlike with my previous RealPlayer-to-Audio Hijack Pro-to-iTunes-as-AAC solution, the MP3 files aren’t bookmarkable on my 3G iPod, but they are certainly a lot more convenient to grab for later listening.

Which reminds me, since other people may find it useful—a few weeks ago, I wrote a script which operates on the selected This American Life MP3 tracks in iTunes, renames them to match my existing scheme, and moves the episode number to the track field (especially useful on older iPods where the episode number takes up half the width of the screen).

TALize.png

Download the script here. Sorry for the image; Script Debugger 3’s HTML export appears to have broken—and since I have primarily switched to appscript, I can’t justify the upgrade to version 4. The string parsing pain above should be enough to send anyone running to Python.

‹ Newer Posts  •  Older Posts ›