ForteNight, revisited

I’ve started a project to port my application ForteNight that I wrote a while back to Cocoa for use on OS X. Why? Partly as an interesting side project, and partly so I don’t forget how C! Oh yeah, and I’m also doing it for all those people out there who just need to have a tool available for doing calculations relating to Set Theory, an obscure branch of music theory pioneered by Allen Forte. Granted, there aren’t many (maybe none) but if there are, then they can commence their rejoicing.

This will be an experiment in blending C and Objective-C, which should actually be fairly easy, because Objective-C is just a superset of C, adding exactly one syntactic form, and about a dozen keywords. If code is valid ANSI C, then it is, by definition, valid Objective-C. The challenge will be to integrate this command line code into the OO(Object Oriented) environment of Cocoa, the development framework for OS X that I prefer to use. The code is currently very procedural, which is fine, but it doesn’t lend itself to easy code reuse. OO(Object Oriented) programming principles suggest that code should be broken into logical pieces (objects) that are free to remain ignorant of each other’s internal operations, and use standard forms and methods to communicate with one another. This makes it easy to change parts of a program without breaking other parts, and it facilitates easy reuse of code, making life easier for programmers. It will be interesting to convert the procedural style of ForteNight to an OO(Object Oriented) style.

This will also give me an opportunity to try out CoreAudio and do some more graphics work to generate diagrams and plots of the information. Should be interesting. The project will probably be licensed under the GPL(General Public License) or perhaps a BSD(Berkeley Software Distribution) license, open source either way, so anyone who’s curious how it looks under the hood is welcome to take a look once I have some functional code posted. If you’d like to check out the current C code (which should compile happily in a CGI or CLI(Command Line Interface) mode on most *nix’s, including Solaris, Linux and OS X), check out the “projects page”:/projects/index.shtml and scroll down to ForteNight. You can try a live version, and download the code.

3 Responses to “ForteNight, revisited”

  1. on 05 Apr 2003 at 5:34 pm mom

    yes, dear, whatever you say…..

  2. on 05 Apr 2003 at 5:36 pm sam

    Yes, exactly! I’m glad you are finally learning your place, mom.

  3. on 05 Apr 2003 at 8:20 pm Andrew

    How about a little more context regarding what Set Theory is? Using a little combinatorics and the fact that humans have limited length short-term memories, I once hypothesized that there might be only a finite number of melodies (sans key and tempo variations), and my trombonist friend said “hey, you should study set theory”. That was, by and large, the last I heard about it, about 6 years ago. I’d love to be able to learn more about it in a rather experimental way.