I’m starting to get the feeling OpenGL is a bit of a black art. That beautiful chart sample I posted yesterday throws a “failed to initialize OpenGL” error on the MacBook and my old G4. The code ran fine on my development machine, of course.
So, back to the books. The repository contains a version that should degrade gracefully on machines that can’t push OpenGL as hard as my new iMac with the ATI graphics card. Please let me know the results, and the machine stats, including the Graphics sub-system.
I would really appreciate it if anyone could grab the latest version from SVN and run it on a really old machine with OS 10.4. There’s no reason that the graphics shouldn’t work if the machine is capable of running Tiger.
Please let me know the results, and the machine stats, including the graphics sub-system. Many thanks.
Initial response to the charts project has been positive, and a few people have checked out the code. A number of folks commented on the lack of anti-aliasing, so I dove back into the OpenGL books, and came up with this:
Horizon really needs charts. Pie charts, bar charts, maybe even line charts. But I want the charts to look good, not like 20-year-old ‘Harvard Graphics’ charts. That started my search for a decent charting plug-in or toolset for Horizon, and I quickly discovered that there’s not much out there. So I proposed starting a community project to build a modern charting package. That got some attention on the MacSB mailing list, so I forged onward.
Now I have something to show for it. I have a pie-charting ‘framework’ ready for people to play with. (‘Framework’ is in quotes because it’s not a framework in the Cocoa/Obj-C sense of the word, but more like a scaffolding to build on.) The code is available from the svn repository at http://lucernesys.com/horizoncharts/trunk/ . If you’re a developer who is interested in this project please check it out and build it.
The demo program builds a 3D pie chart with four ‘slices’. The chart is interactive; click and move the mouse pointer up and down to spin the chart, left and right to tilt the chart. If you hold down the control key and move left and right you’ll ‘explode’ the chart, making the slices move away from each other.
Right now, I’m the only person with ‘commit’ access to the repository. I hope that will change as more developers become involved. If you’re interested in working on this, contact me through my site. I plan to release it under some form of collaborative, non-restrictive license.
This code is based on a public domain sample I found online, and was originally written in Python. More about that in another post.
There’s a new release available today, and you should see it if you have automatic ‘Check For Updates’ turned on. If not, you can use the ‘Check for Updates” menu item under the ‘Horizon’ menu. This version has a number of improvements and enhancements. There is now an ‘Export to CSV’ function that will dump out your calendar in a format that a spreadsheet or similar program can read.
The cells have been enhanced so you can now drag them to the equation edit field to create a reference. If you click or drag a cell to make it part of a range for a function, the cell will now display its current date, instead of its value. If you’re just referencing the cell as part of a simple equation, you should just see its value. The cells should be context-sensitive, so please let me know if something doesn’t look right. While editing a value or function, the date of the cell appears in the field prompt, and the text is set to the category colour. This should make it easier for you to see which cell you are editing, especially if you move around the calendar while creating or editing a cell.
I’ve also fixed a number of mild but annoying bugs, and Horizon should run fine under Leopard, for those of you running the beta versions. This could change as the beta changes, so Horizon is still only guaranteed to work on Tiger.
This is an off-topic, weekend post. Since I got my new development machine, one of the things I planned on doing was digitizing a bunch of old video tapes. The ATI USB All-In-Wonder plue EyeTV, makes this pretty easy. Here’s one of the first things I found; some video I shot at Toronto International Airport a few years ago.
Since its inception, Horizon has been developed on a Dual 450 Mhz G4 PowerMac, that was built sometime in the year 2000. I acquired it second-hand in 2003, and it’s been my ‘daily driver’ up until yesterday.
That’s when my new machine arrived, a 2.4 Ghz Core 2 Duo iMac. Almost immediately, I stuck an extra Gig of RAM in it, and hooked it up to a Western Digital MyBook Pro FireWire drive. This drive is going to serve double-cuty as a back-up drive and a boot drive for Leopard.
Now, the hope is that I’ll be able to get more work done more quickly on this new machine, and the time between releases should get shorter. Stay tuned and we’ll see if that happens.
BTW, I love the new Mac keyboards, but I guess that’s because I have small hands.