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
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden