In case you were looking for more reasons to hate ASCAP, there's this article about Skip's Tavern here in San Francisco. It's a bar that has live music, with bands who play only original songs. ASCAP came to them and said, "you have bands, and so they must be playing songs on which ASCAP controls the copyright! Pay us $800/year." The bar owner asked for evidence that there was any copyright infringement; in response, ASCAP sued him. They were unwilling to negotiate, so in response, he's no longer doing live music at all.


Speaking of live music, if you've ever watched our RealVideo webcasts while a band was on stage, you probably noticed that audio and video were at least ten seconds out of sync. I think I've fixed that, but I won't know for sure until the next time there's someone performing on stage (which looks like it's going to be a while.)

The webcasting setup we have is pretty convoluted, and I just made it even more convoluted to fix this. The goal is to webcast the main room when we're open (in both MP3 and Real) and webcast our archives when we're closed. That's simple enough for the MP3 streams: I just have the input source to the Icecast server change based on a timer. But getting those archived MP3s into the Real stream was trickier.

The way it used to work is that the MP3 encoder machine did two things:

  • stream MP3s from either live audio or the archives;
  • play analog audio of whatever is currently being streamed out its sound card.

Then the RealEncoder machine had its soundcard input coming from the soundcard output on the MP3 machine. That made the two always be in sync, at the expense of another decode/encode step (but that doesn't matter much, because RealAudio is way lower quality than MP3 anyway.) The only problem was that all that encoding/decoding introduced a big delay.

So the change I made was to introduce a switch: when we're open, the RealEncoder machine gets its audio directly from the main room; and when we're closed, it gets it from the MP3 machine. This switch is a pair of ST-SSR1 relays. I wired up their control lines to a pin on a parallel port, and the decision of when to switch from A to B is made by the MP3 machine (since that machine already knows when we're open, since it already had to decide whether to play live or archived.) The scripts that start and stop the live audio and archives now also run a little program that turns the appropriate pin on the parallel port on or off.

It seems to be working, but I had to tweak the volume levels in three different places, so I'm not sure it's all completely in sync; I think it's a little quieter than it used to be overall.

The legacy of our incompetent contractors continues to haunt us. Apparently all the doors frames were built badly, and so now that a couple of years have passed, they've all shifted: most of our interior doors no longer close right: they scrape against the floor now. This was getting to be a real problem, because one of the doors that wouldn't close is the one that leads backstage; so customers would see light coming through the door and just wander back there whenever, and help themselves to whatever they saw lying around.

So, this weekend Jason had to cut a half inch of the bottom of the door. This is tricker than it sounds, since these are steel fire doors. It made very pretty sparks, though.

Two shows are coming up that I'm excited about:

The customers have been especially horrible in the last few weeks; more pathetic violence than usual.