7 Nov 2001 dto   » (Journeyer)

Project status!! Here is a reply I sent to an inquisitive Octal watcher, who wanted to know if the recent quietness of the project meant it wasn't being worked on anymore. I explained:

Basically the delay is a result of 2 things:

1. Starting graduate school in C.S. and moving to a different city 2. Design revisions + freakouts :-)

The project is not in any danger of being abandoned, and is still very much at the forefront of my mind.

I mention this in the log at one point: I'd begun to get very frustrated with doing certain things in C that would be trivial in a language like Objective-C (part of the GCC suite) and spent a good deal of time investigating the decision to begin coding parts of the system in that dialect. (I dislike C++ and don't think it's a good idea to base new work on it.) I wanted to make sure that nobody would notice my using Objective-C, i.e. no build problems on GNU systems, no re-entrancy problems with the runtime libs, and that sort of thing. At this point it looks 100% safe to use for GNU systems, and I really look forward to cleaning up the code.

In addition, the OCTAL api has had some new (minor) changes inspired by the latest incarnations of some of the other audio plugin API's on linux, as well as standards like DLS.

The two main parts to finish are the sequencer and the GUI. By all means the GUI is the lion's share of the work, even the partial GUI is larger than the core audio engine in code size.

I'm quite prepared to start off by giving patches to you. I've been coding for years and have a CS degree from Rice University (i.e. I know what I'm doing, more or less).

Excellent! Unfortunately this is an awkward time to start someone off on the main system, especially considering that what's currently in CVS is about to undergo some big restructuring. (I *looove* refactoring.) This is one of the reasons why I tend to steer people toward writing plugins---its interface is already defined, and doesn't require any of the paperwork involved in contributing significant code to a GNU project.

I've got design documents and such for the parts of the main system that aren't implemented fully yet (i.e. remainder of the GUI, and the sequencer) stored in a Wiki but they're in rather raw form mostly. I got involved with collaborative software design thru a wiki before, and frankly I found that a lot of Wiki pages got written instead of code :-).

There are two main priorities now:

1. For myself to finish that last 30% that needs finishing, and to document the code. That way people will have an idea of how things are organized and the architecture will be basically stable---things that will make it easier for folks to contribute on the core in the future.

2. For folks to write plugins and fool with them. Unfortunately the API is still under minor revisions, and some troubles with the C++ plugins have made me consider dropping the C++ wrapper (linking problems, and it's a hack anyway.) But the API is pretty close to final, and I feel that the documentation we've got for it is pretty good.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!