NSWindow not being shown on Intel Mac
NSWindow not being shown on Intel Mac
- Subject: NSWindow not being shown on Intel Mac
- From: "Ryan Harter" <email@hidden>
- Date: Fri, 2 Nov 2007 13:37:30 -0500
I have written a program to mute the volume if headphones aren't plugged in, or if the user attempts to unmute the volume without headphones for a lab setting. When the user attempts to change the volume or unplugs the headphones, a window appears saying Sound is disabled, please use headphones.
This all works great on PPC macs, but for some reason on an intel iMac, the windows doesn't appear when the headphones are unplugged, only if the user attempts to change the volume. I know the if statement is being called because it mutes the volume when the headphones are unplugged, it just doesn't show the window. This is also only happening on the intel macs. Here is my code:
if([self usingInternalSpeakers] && ![self soundIsMuted])
{
[self muteSound];
//this makes sure our window is on top
[NSApp activateIgnoringOtherApps:YES];
//show the window
[alertWindow makeKeyAndOrderFront:nil];
}
alertWindow is an NSWindow, and it works fine if the user attempts to change the volume, just not when headphones are unplugged. My listener code is here:
FourCharCode dataSource;
UInt32 size = sizeof(dataSource);
OSStatus err = AudioDeviceGetProperty(defaultSystemOutputDeviceID,
0, 0, kAudioDevicePropertyDataSource, &size, &dataSource);
NSCAssert((err == noErr), @"AudioDeviceGetProperty failed to get the kAudioDevicePropertyDataSource property"
);
//'ispk' == internal speakers
//'hdpn' == headphones
return dataSource == 'ispk'
;
Do intel macs work differently for kAudioDeviceGetProperty, or makeKeyAndOrderFront?
Thanks-
Ryan
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden