Yesterday, I finished the Ardour chapter for the Musicians’ Guide – finally! It took days longer than I thought it would, and Ardour has definitely been the second most stressful chapter to write… second only to SuperCollider, which I started today (after pushing out Rosegarden).
And that brings us to today’s title: I thought I signed up to write about music, yet here I am writing a computer science textbook for the chapter about SuperCollider. For those of you who don’t know (which is probably most of you reading at this point), SuperCollider is an audio programming language. There are a few out there, but SC is by far my favourite, and it allows flexibility and choices like nobody’s business.
What impresses me most is that it doesn’t feel like a half-complete language, useful for making sound but little else; there’s no reason that SC can’t be used for everyday programming tasks. Well there is a reason: the library and all the add-on libraries are basically targeted for making sound. My point is that, if you were so inclined, you could write libraries to do anything, because the language is so flexible.
Every time I turn to a new section of the programming portion, something new pops out as being new and exciting. Here’s a language where I finally feel at home.
Now just in case somebody wants to blame me of being overly positive in every post, here’s some bad news for you: the Guide is behind schedule by a day so far, and probably by three before the end of the week. I’m very thankful now for having created such a detailed outline for the project during the application process to Summer Coding.
Every day seems so frantic – there’s so much to do, and people keep sending me comments (which are terrific, by the way, so thank you) but there’s no time to make real changes… ever mind the changes that I want to make myself. Worst of all, I don’t really have a strong sense of what remains to be done, because I’ve been leaving myself notes surrounded in !! marks through all the documents, rather than writing them down in a centralized location. On the one hand, when I return to a document, I know exactly what needs to be done, and where. On the other hand, I have to return to the document to know. Should have made a centralized list of things to do.