- hot keys can't be set when NSBGOnly is on. The window is not key,
so the KeyBroadcaster does not pick up key combos
- going to need a different way of defining key combos
-¥ Optimize, this thing is big and slow :(
+¥ Optimize
¥ Apple Events! Apple Events! Apple Events!
-
-¥ I think I found a slight memory leak:
- 425 MenuTunes 7.8% 8:29.87 1 56 4827 215M+ 3.14M 135M- 599M+
+¥ Upcoming songs menu items are disabled after launching iTunes and playing
*/
#import "MenuTunes.h"
- (void)applicationDidFinishLaunching:(NSNotification *)note
{
+ asComponent = OpenDefaultComponent(kOSAComponentType, kAppleScriptSubtype);
if (![[NSUserDefaults standardUserDefaults] objectForKey:@"menu"])
{
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"Play/Pause", @"Next Track", @"Previous Track", @"Fast Forward", @"Rewind", @"<separator>", @"Upcoming Songs", @"Playlists", @"<separator>", @"PreferencesÉ", @"Quit", @"<separator>", @"Current Track Info", nil] forKey:@"menu"];
{
[refreshTimer invalidate];
}
+ CloseComponent(asComponent);
[statusItem release];
[menu release];
[view release];
NSMenuItem *songItem;
songItem = [[NSMenuItem alloc] initWithTitle:curSong action:@selector(playTrack:) keyEquivalent:@""];
[songItem setTarget:self];
- [songItem setEnabled:YES];
[songItem setRepresentedObject:[NSNumber numberWithInt:i]];
[upcomingSongsMenu addItem:songItem];
[songItem release];
AECreateDesc(typeChar, [script cString], [script cStringLength],
&scriptDesc);
- OSADoScript(OpenDefaultComponent(kOSAComponentType, kAppleScriptSubtype), &scriptDesc, kOSANullScript, typeChar, kOSAModeCanInteract, &resultDesc);
+ OSADoScript(asComponent, &scriptDesc, kOSANullScript, typeChar, kOSAModeCanInteract, &resultDesc);
length = AEGetDescDataSize(&resultDesc);
buffer = malloc(length);