Sunday, June 6, 2010

Ardour Session Files Are XML and This Is A Good Thing

I have been blogging less for a couple of simple reasons. Three of my kids have moved home for the summer. That's reason enough, but given that and a few other things I have decided to use my discretionary time to make music rather than writing about making music, which I will eventually get back to. If you read my other blog (hackyourguitar.blogspot.com) you know I also finally got the electronics in my 8-string extended range instrument working correctly, so it's not like I've just been sitting around watching reruns of Friends.

Anyway, I just had an interesting experience with Ardour I thought I should comment on. This morning I went to open the project I worked on last night and was greeted with an error message. This happens in ever other DAW I have ever used and how big a pain it is varies from case to case. Usually in Ableton Live the error would say a plug-in or audio file was missing, which wasn't always true. In Logic it could be anything. Sometimes the session/project would still open (with something missing or not working) and sometimes it wouldn't.

It this case Ardour complained that I had duplicate send outputs. Specifically, "Fold/out 1" (an output of the bus my fold-over distortion effect was on) already existed and could not be set up a second time. Ardour would not open the session until this was resolved.

I started by getting frustrated. How was I supposed to fix the session if I couldn't open it? The main session file and most recent snapshot both generated the same error and I did not want to go all the way back to Thursday when I had done so much good work on Friday and Saturday.

Hint: Don't just make occasional snapshots. Make frequent snapshots.

What I ended up doing was backing up the most recent snapshot (which I made as I shut down for the night last night) and opened it in a text editor. As it turns out Ardour session files are standard XML files. You don't need any specific knowledge of XML to appreciate why this is valuable. Just know this; XML is logically organized and all the data in an XML file is labeled. That means most anybody has a fighting chance of making sense of the files contents.

I searched the session file for "Fold." This found blocks of settings for each send pointing to the bus named Fold and a larger one for the bus itself. Recreating that bus and the plug-in settings seemed fair price for getting the rest of my recent work back so I deleted the section of the session file defining the Fold bus and it's settings.

Please keep in mind that I backed up the session file before I did this. I'm a little reckless but I'm not. . .ummm...whatever a person who does this without backing up would be called.

When I tried again to open the session I got a similar error regarding one of my other effects buses. That is bad, of course, because I still couldn't open my session but clearly I had successfully removed the offending settings related to Fold. I wasn't home but there was a very good chance I was on the right track.

I was on the right track. A few minutes and a few more deletions later I was in Ardour working on my session, less a few effects.

I know editing a session file with a text editor isn't something most musicians WANT to do, but the point is that with Ardour you can.

Ardour, like the Linux kernel, has no secrets. Sometimes this doesn't matter but when things go wrong it matters very much.

No comments: