Wednesday, May 20, 2009

Thinking Like a Programmer

A few weeks ago, I was asked to participate in a webinar being done by AccuRev (the company) around the topic of continuous integration using AccuRev (the software) and CruiseControl.NET. One of the guys on the AccuRev team was preparing a video using Camtasia, and we agreed it would be easier for me to record my part using the same tool and we'd then stitch our two projects together to product the final video. I have used other screen-capture/recording tools in the past for some of our internal training needs, but I hadn't really done one in a while and I had never done one using Camtasia (though I knew of the software and probably tried a demo some years back). So, I grabbed the latest available demo version (5.0) and started playing.

First things first: great software. I found it very easy to use, and very easy to put a few "special touches" here and there. All-in-all, a good experience and I recommended to my boss that we switch to Camtasia whenever we get around to making some new training videos. There was, however, one problem I ran into which was a bit frustrating: no way to change a setting which positively had to be changed to make the software usable for my setup. The solution? Think like a programmer.

First off, let me say there is a very good chance I simply missed it; the setting exists, but I failed to find it.

My goal was simple: record a voice-over for the 10+ minutes of screen shots+slides+video I had spent hours laying out in my Camtasia project. The software made this ability obvious, so I never bothered to verify it was going to work (yes, I know - mistake number one). Of course, when it came time to use the feature I discovered it was not working: the button to actually begin recording audio was disabled, with no apparent way of enabling it or even viewing the cause of it being disabled. I assumed a problem with my setup: I had my Logitech USB microphone plugged in to the computer, which I had never used on this system before (or any system for that matter: I snagged it from my Rock Band pile in the living room) and figured the issue was either with the microphone itself or my sound card or my Windows setup or some other thing unrelated to Camtasia.

Then, while poking around the Camtasia docs and installed applications, I came across the "Camtasia Recorder" program. This is a separate application specifically for recording audio. I fired it up and, again, was unable to record anything. However, in this app, there is an easily accessible "audio options" link which, when clicked, displays the dialog shown below, which made me realize that either Camtasia or my system in general had decided that my default audio device was "Bluetooth Audio" - not my Logitech microphone.


Upon clicking the drop-down list and selecting the correct option, this application was perfectly happy to allow me to record audio using the USB microphone. I assumed my problem was solved, shut-down the "Camtasia Recorder" application, re-started the main "Camtasia Studio" application and...wait...I still can't record an audio track within my existing project. Hmm... No problem, really. I guess the two apps don't share settings and I just need to find the same "Audio Options" dialog I found in the other application. If you haven't guessed yet, the "Audio Options" dialog was nowhere to be found within the "Camtasia Studio" application. I looked pretty darn hard and no luck. Again: could just be me; maybe it's really there, but if it's that hard to find it's as good as non-existent to me.

After searching Google for a bit and finding no information specific to Camtasia version 5.x, I finally decided to think like a programmer. (I play Mr. Manager role for 85% of my day, so I'm a little slow to come up with bright ideas when needed.) It seemed to me that there must be a setting stored somewhere which Camtasia Studio is using to determine the audio device to use for voice-overs. I just needed to find it. At first, I gave them too much credit: I searched the "Documents and Settings" area on my machine looking for nicely formatted config files. Then I decided it was time to try the registry and, low and behold, I found the culprit.


I jumped back into the Camtasia Recorder application to check the "Audio Options" dialog again, noted the exact name it displayed for my USB microphone and then changed the "WaveInDeviceName" value to match. I re-started Camtasia Studio, loaded up my project and, whaddya know, it was perfectly happy to allow me to record audio using my microphone. Problem solved.

Lesson learned: all software is created by humans, and most of us are not breaking new ground. If you're having trouble getting some third-party software to do what you want, step back and think about how you would have made the software work if you were the one who had written it. You might just come up with a way around your problem.

No comments:

Post a Comment