From 0d249ce0fffada1e84b53ebc0693aaebf78fcadb Mon Sep 17 00:00:00 2001 From: vspader <unknown> Date: Tue, 20 Feb 2007 02:08:37 +0000 Subject: [PATCH] Select device when preference window appears. --- Preferences/General/OutputsArrayController.m | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Preferences/General/OutputsArrayController.m b/Preferences/General/OutputsArrayController.m index b9426104c..804be6a21 100644 --- a/Preferences/General/OutputsArrayController.m +++ b/Preferences/General/OutputsArrayController.m @@ -17,6 +17,9 @@ verify_noerr(AudioHardwareGetProperty(kAudioHardwarePropertyDevices, &propsize, devids)); int i; NSLog(@"Number of devices: %d", nDevices); + + NSDictionary *defaultDevice = [[[NSUserDefaultsController sharedUserDefaultsController] defaults] objectForKey:@"outputDevice"]; + for (i = 0; i < nDevices; ++i) { char name[64]; UInt32 maxlen = 64; @@ -37,11 +40,21 @@ [NSNumber numberWithLong:devids[i]], @"deviceID", nil]; [self addObject:deviceInfo]; + + if (defaultDevice) { + if ([[defaultDevice objectForKey:@"deviceID"] isEqualToNumber:[deviceInfo objectForKey:@"deviceID"]]) { + [self setSelectedObjects:[NSArray arrayWithObject:deviceInfo]]; + NSLog(@"Selected default!"); + } + } + [deviceInfo release]; } free(devids); - [self setSelectionIndex:0]; + + if (!defaultDevice) + [self setSelectionIndex:0]; } @end