
if (PreferredDevice.Status == DeviceStatus.On)
{
CurrentAudioDevice = PreferredDevice;
}
else
{
CurrentAudioDevice = FindAvailableAudioDevice();
}
Sorry. Code is never that simple. But really.. add a drop down to Preferences > Audio > Audio Devices title "Preferred Device" showing all available devices. Once preferred device is chosen, always favor that one. Seems simple enough to me. Or, you could get fancy and write an algorithm that determines the best/preferred device from usage stats combined with some diagnostic checks to see if the sound card is a lousy "on board" one, or a nice external/discrete one.
To those that say this is no big deal and we shouldn't complain, two things:
1. This may not take too long to do each time, but the main purpose of code is to perform menial tasks for us. To automate procedures that are redundant.
2. I just timed myself switching my audio device and it took 14.82 seconds. I wasn't rushing like a madman, but I wasn't being deliberately slow either. I used the hotkey (command + ,) to bring up the preferences. But after clicking on the audio tab and selecting both the input and output device, more time had passed than one would think. Lets round this down to 10 seconds. If I turn off my audio interface every time I finish using Live; or lets say I transport my computer to somewhere else (studio/friends house/coffee house/etc), then that's 10 seconds every time I use Live. Lets say I use Live about 5 times a week (in fact this is precisely my current scenario). Thats 50 seconds a week. Not too bad. But lets multiply that out for the year:
50 seconds x 52 weeks = 2,600 seconds per year (or 43 minutes).
If I use Live for 10 years, thats 7 hours selecting an Audio Device. Not too bad I suppose, but the thought of wasting almost a full work day of my life selecting from drop downs is kind of depressing. But here is where the real benefit comes in with software:
Lets say there are 1000 Live users just like me. Thats 7,000 hours combined. That's 291 days!! I'd wager a decent coder could TDD this feature with solid code in 2 days (max). That's a net gain of 289 days!!!
This is the amazing thing about code. And when designing and writing software I have to remind myself of this type of perspective. Because there are times you spend days doing, what seems like such a mundane, useless task that can't save a person more than a few seconds. So what right!? How lazy can those users be!? But if your user base is 50,000 large. And most of whom use this app everyday.. well that can change things considerably.
Anyways. Who knows, maybe my figures are all F'd up. And there aren't many of us turning off or moving our work machines. But for me, I've been dealing with this pretty much everyday for the last 3 years

I would really really really really love to see this feature!