From be8044ab78794768f325f561d99e26776b2bfd84 Mon Sep 17 00:00:00 2001 From: aquaxp Date: Tue, 25 Dec 2012 22:46:34 +0700 Subject: [PATCH 1/6] initial commit basic functionality --- .gitignore | 2 + ProjectDescription.pdf | Bin 0 -> 92308 bytes README.md | 13 +- pTunes/pTunes.xcodeproj/project.pbxproj | 386 ++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 37698 bytes .../xcdebugger/Breakpoints.xcbkptlist | 46 + .../xcschemes/pTunes.xcscheme | 86 ++ .../xcschemes/xcschememanagement.plist | 22 + pTunes/pTunes/AppController.h | 21 + pTunes/pTunes/AppController.m | 27 + pTunes/pTunes/AppDelegate.h | 63 ++ pTunes/pTunes/AppDelegate.m | 173 ++++ pTunes/pTunes/Lyrics.xib | 553 ++++++++++++ pTunes/pTunes/LyricsWindowController.h | 16 + pTunes/pTunes/LyricsWindowController.m | 41 + pTunes/pTunes/Preferences.xib | 704 +++++++++++++++ pTunes/pTunes/PreferencesWindowController.h | 19 + pTunes/pTunes/PreferencesWindowController.m | 39 + pTunes/pTunes/en.lproj/Credits.rtf | 29 + pTunes/pTunes/en.lproj/InfoPlist.strings | 2 + pTunes/pTunes/en.lproj/MainMenu.xib | 827 ++++++++++++++++++ pTunes/pTunes/iTunes.h | 506 +++++++++++ pTunes/pTunes/main.m | 14 + pTunes/pTunes/pTunes-Info.plist | 38 + pTunes/pTunes/pTunes-Prefix.pch | 7 + 26 files changed, 3640 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 ProjectDescription.pdf create mode 100644 pTunes/pTunes.xcodeproj/project.pbxproj create mode 100644 pTunes/pTunes.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 pTunes/pTunes.xcodeproj/project.xcworkspace/xcuserdata/mindworm.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist create mode 100644 pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/pTunes.xcscheme create mode 100644 pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 pTunes/pTunes/AppController.h create mode 100644 pTunes/pTunes/AppController.m create mode 100644 pTunes/pTunes/AppDelegate.h create mode 100644 pTunes/pTunes/AppDelegate.m create mode 100644 pTunes/pTunes/Lyrics.xib create mode 100644 pTunes/pTunes/LyricsWindowController.h create mode 100644 pTunes/pTunes/LyricsWindowController.m create mode 100644 pTunes/pTunes/Preferences.xib create mode 100644 pTunes/pTunes/PreferencesWindowController.h create mode 100644 pTunes/pTunes/PreferencesWindowController.m create mode 100644 pTunes/pTunes/en.lproj/Credits.rtf create mode 100644 pTunes/pTunes/en.lproj/InfoPlist.strings create mode 100644 pTunes/pTunes/en.lproj/MainMenu.xib create mode 100644 pTunes/pTunes/iTunes.h create mode 100644 pTunes/pTunes/main.m create mode 100644 pTunes/pTunes/pTunes-Info.plist create mode 100644 pTunes/pTunes/pTunes-Prefix.pch diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9bea433 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +.DS_Store diff --git a/ProjectDescription.pdf b/ProjectDescription.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c3c53dbb0fe8d9e8654aa6bf7d28c71182a1ef8b GIT binary patch literal 92308 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 dznlDQ1hugReyD!Da0mz#0tV63i# + + + + diff --git a/pTunes/pTunes.xcodeproj/project.xcworkspace/xcuserdata/mindworm.xcuserdatad/UserInterfaceState.xcuserstate b/pTunes/pTunes.xcodeproj/project.xcworkspace/xcuserdata/mindworm.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..8ef8d9c292325054b24c5e86ac756014fecbe38c GIT binary patch literal 37698 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
Kp@@ef9*KA~Vr#_ih<%aak%^Iok=jUI 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 + + + + + + + + + + diff --git a/pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/pTunes.xcscheme b/pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/pTunes.xcscheme new file mode 100644 index 0000000..49b15a3 --- /dev/null +++ b/pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/pTunes.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/xcschememanagement.plist b/pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..06f0bcf --- /dev/null +++ b/pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + pTunes.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + E1100CCD165EAB77001EE8FF + + primary + + + + + diff --git a/pTunes/pTunes/AppController.h b/pTunes/pTunes/AppController.h new file mode 100644 index 0000000..5004f6f --- /dev/null +++ b/pTunes/pTunes/AppController.h @@ -0,0 +1,21 @@ +// +// AppController.h +// pTunes +// +// Created by mindworm on 12/23/12. +// Copyright (c) 2012 aquaxp. All rights reserved. +// + +#import + +@class LyricsWindowController; +@class PreferencesWindowController; + +@interface AppController : NSObject{ + LyricsWindowController *lyrics; + PreferencesWindowController *preferences; +} +-(IBAction)showPreferencesPanel:(id)sender; +-(IBAction)showLyricsWindow:(id)sender; + +@end diff --git a/pTunes/pTunes/AppController.m b/pTunes/pTunes/AppController.m new file mode 100644 index 0000000..c84f601 --- /dev/null +++ b/pTunes/pTunes/AppController.m @@ -0,0 +1,27 @@ +// +// AppController.m +// pTunes +// +// Created by mindworm on 12/23/12. +// Copyright (c) 2012 aquaxp. All rights reserved. +// + +#import "AppController.h" +#import "LyricsWindowController.h" +#import "PreferencesWindowController.h" + + +@implementation AppController +-(IBAction)showPreferencesPanel:(id)sender{ + if(!preferences){ + preferences = [[PreferencesWindowController alloc] init]; + } + [preferences showWindow:self]; +} +-(IBAction)showLyricsWindow:(id)sender{ + if(!lyrics){ + lyrics = [[LyricsWindowController alloc] init]; + } + [lyrics showWindow:self]; +} +@end diff --git a/pTunes/pTunes/AppDelegate.h b/pTunes/pTunes/AppDelegate.h new file mode 100644 index 0000000..7725d24 --- /dev/null +++ b/pTunes/pTunes/AppDelegate.h @@ -0,0 +1,63 @@ +// +// AppDelegate.h +// pTunes +// +// Created by mindworm on 11/23/12. +// Copyright (c) 2012 aquaxp. All rights reserved. +// + +#import +#import "iTunes.h" + +@interface AppDelegate : NSObject { + NSStatusItem *statusItem; + IBOutlet NSMenu *iTunesOpenMenu; + IBOutlet NSMenu *iTunesClosedMenu; + iTunesApplication* iTunes; + NSImage* image; +} +//state items +@property (weak) IBOutlet NSMenuItem *playItemName; +@property (weak) IBOutlet NSMenuItem *shuffleItemName; +@property (weak) IBOutlet NSMenuItem *lyricsItemName; + +// track info +@property (weak) IBOutlet NSMenuItem *menuTrackName; +@property (weak) IBOutlet NSMenuItem *menuArtistName; +@property (weak) IBOutlet NSMenuItem *menuAlbumName; +@property (weak) IBOutlet NSMenuItem *menuComposerName; +@property (weak) IBOutlet NSMenuItem *menuGenreName; +@property (weak) IBOutlet NSMenuItem *menuRatingName; +@property NSString* lyrics; +@property BOOL showMenuInfo; + +//- (IBAction)play:(id)sender; +//- (IBAction)shuffle:(id)sender; +//- (IBAction)next:(id)sender; +//- (IBAction)prev:(id)sender; + +// Core Functionality +- (void)updateData; +- (void)startWatching; +- (void)stopWatching; +//- (void)checkLyrics; +//- (iTunesEPlS)checkiTunesStatus; + +// Menu Changes + +- (void)changeToITC; +- (void)changeToITO; + +// iTunes Controls +- (IBAction)nextSong:(id)sender; +- (IBAction)prevSong:(id)sender; +- (IBAction)begSong:(id)sender; +- (IBAction)playPauseSong:(id)sender; +- (IBAction)quitItunes:(id)sender; +- (IBAction)openItunes:(id)sender; +- (void)openItunesBegin; +- (void)startPlaying; +- (IBAction)shuffle:(id)sender; +- (IBAction)showWindow:(id)sender; + +@end diff --git a/pTunes/pTunes/AppDelegate.m b/pTunes/pTunes/AppDelegate.m new file mode 100644 index 0000000..c105609 --- /dev/null +++ b/pTunes/pTunes/AppDelegate.m @@ -0,0 +1,173 @@ +// +// AppDelegate.m +// pTunes +// +// Created by mindworm on 11/23/12. +// Copyright (c) 2012 aquaxp. All rights reserved. +// + +#import "AppDelegate.h" +#import "LyricsWindowController.h" + +@implementation AppDelegate + +- (void)applicationDidFinishLaunching:(NSNotification *)aNotification +{ + /// + _showMenuInfo = YES; + /// + [self startWatching]; + + statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength]; + iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"]; + + if (![iTunes isRunning]){ + [statusItem setMenu:iTunesClosedMenu]; + [statusItem setTitle:@"x"]; + [statusItem setHighlightMode:YES]; + [statusItem setEnabled:YES]; + + } + else{ + [statusItem setMenu:iTunesOpenMenu]; + [statusItem setTitle:@"r"]; + [statusItem setHighlightMode:YES]; + [statusItem setEnabled:YES]; + [self updateData]; + } + + //need info + +} + +// core +- (void)startWatching{ + [[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(updateData) name:@"com.apple.iTunes.playerInfo" object:nil]; +} + +- (void)stopWatching{ + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + +-(void)updateData{ + if (![iTunes isRunning]) { + [self changeToITC]; + //[self stopWatching]; + } + else{ + switch ([iTunes playerState]) { + case iTunesEPlSStopped: + [_playItemName setTitle:@"Play"]; + [self updateMenuHead:NO]; + break; + case iTunesEPlSPaused: + [_playItemName setTitle:@"Play"]; + [self updateMenuHead:_showMenuInfo]; + break; + case iTunesEPlSPlaying: + [_playItemName setTitle:@"Pause"]; + [self updateMenuHead:_showMenuInfo]; + break; + default: + [_playItemName setTitle:@"Play/Pause"]; + [self updateMenuHead:NO]; + break; + } + } +} + +- (void)changeToITC{ + [statusItem setMenu:iTunesClosedMenu]; + [statusItem setTitle:@"x"]; + +} + +- (void)changeToITO{ + [statusItem setMenu:iTunesOpenMenu]; + [statusItem setTitle:@"r"]; +} + +- (IBAction)nextSong:(id)sender{ + [iTunes nextTrack]; +} + +- (IBAction)prevSong:(id)sender{ + [iTunes previousTrack]; +} + +- (IBAction)begSong:(id)sender{ + [iTunes backTrack]; +} + +- (IBAction)playPauseSong:(id)sender{ + [iTunes playpause]; +} + +- (IBAction)quitItunes:(id)sender { + [iTunes quit]; + [self changeToITC]; +} + + +- (IBAction)openItunes:(id)sender{ + [iTunes run]; + [self changeToITO]; +} + +- (void)openItunesBegin{ + [iTunes run]; + [self startPlaying]; +} + +- (void)startPlaying{ + [iTunes playpause]; + [self changeToITO]; +} + +- (IBAction)shuffle:(id)sender{ + [[iTunes currentPlaylist] setShuffle:(![[iTunes currentPlaylist] shuffle])]; + NSLog(@"sh"); +} + +- (IBAction)showWindow:(id)sender { + [iTunes run]; +} + +- (void)updateMenuHead:(BOOL)show{ + if (!show) { + [_menuTrackName setHidden:YES]; + [_menuArtistName setHidden:YES]; + [_menuAlbumName setHidden:YES]; + [_menuComposerName setHidden:YES]; + [_menuGenreName setHidden:YES]; + //[_menuRatingName setHidden:YES]; + + [_menuTrackName setTitle:@""]; + [_menuArtistName setTitle:@""]; + [_menuAlbumName setTitle:@""]; + [_menuComposerName setTitle:@""]; + [_menuGenreName setTitle:@""]; + //[_menuRatingName setTitle:@""]; + } + else{ + [_menuTrackName setHidden:NO]; + [_menuArtistName setHidden:NO]; + [_menuAlbumName setHidden:NO]; + [_menuComposerName setHidden:NO]; + [_menuGenreName setHidden:NO]; + //[_menuRatingName setHidden:NO]; + + [_menuTrackName setTitle:[[iTunes currentTrack] name]]; + [_menuArtistName setTitle:[[iTunes currentTrack] artist]]; + [_menuAlbumName setTitle:[[iTunes currentTrack] album]]; + [_menuComposerName setTitle:[[iTunes currentTrack] composer]]; + [_menuGenreName setTitle:[[iTunes currentTrack] genre]]; + //[_menuRatingName setTitle:[[iTunes currentTrack] [NSString ]rating]]; + } +} + +-(void)dealloc{ + [self stopWatching]; +} + +@end diff --git a/pTunes/pTunes/Lyrics.xib b/pTunes/pTunes/Lyrics.xib new file mode 100644 index 0000000..dd3d6de --- /dev/null +++ b/pTunes/pTunes/Lyrics.xib @@ -0,0 +1,553 @@ + + + + 1080 + 12C60 + 2844 + 1187.34 + 625.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2844 + + + IBNSLayoutConstraint + NSCustomObject + NSScrollView + NSScroller + NSTextView + NSView + NSWindowTemplate + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + LyricsWindowController + + + FirstResponder + + + NSApplication + + + 8223 + 2 + {{131, 159}, {480, 270}} + 611845120 + Window + NSPanel + + + + + 256 + + + + 256 + + + + 2304 + + + + 2322 + {433, 228} + + + _NS:13 + + + + + + + + + + + + 182 + + + + 433 + 1 + + + 12263 + 0 + + + 3 + MQA + + + + 6 + System + selectedTextBackgroundColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + selectedTextColor + + 3 + MAA + + + + + + + 1 + MCAwIDEAA + + + {8, -8} + 13 + + + + + + 1 + + 6 + {463, 10000000} + + + + {{1, 1}, {433, 228}} + + + _NS:11 + + + + {4, 5} + + 12582912 + + + + + + TU0AKgAAEAj///8A////qwAAAP8AAAD/AwMD/BYWFtIFBQVuAAAABv///wD///8E6+vrTGhoaLYtLS3p +BAQE/QAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///+rAAAA/wAAAP8AAAD/AAAA/wAAAP8EBATSX19fK9HR0ZciIiLv +AAAA/wAAAP8AAAD/AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////CsPDw0CRkZG1FxcX9AAAAP8bGxvr +ICAg8AAAAP8ICAjlFRUVVQAAAA////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wrm5uab +FxcX9AAAAP8AAAD/AQEB3wAAAA////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///zaXl5fGAAAA/wAAAP8AAABR////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////CO7u7q8AAAD/AAAA/wAAAAz///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/ +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r +AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///6sAAAD/AAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/AAAA/wAAAP8AAAD/ +AAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+rAAAA/wAAAP8AAAD/ +AAAA/wAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/ +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r +AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////CO7u7q8AAAD/AAAA/wAAAAz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///80mpqaxQAAAP8AAAD/AAAATv///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////CuXl5ZYeHh7xAAAA/wAAAP8CAgLXAAAAD////wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////EKurq0mOjo63FxcX9AAAAP8bGxvrICAg8AAAAP8ICAjlHh4eXAAAABj///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////qwAAAP8AAAD/AAAA/wAAAP8AAAD/BAQE1V9fXyvS0tKZICAg8AAAAP8AAAD/ +AAAA/wAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///+rAAAA/wAAAP8AAAD/FBQU1AUFBXEAAAAG////AP///wTr6+tO +ZWVluC4uLuoAAAD/AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8AABABAAADAAAAAQAgAAABAQADAAAAAQAgAAABAgADAAAABAAA +EM4BAwADAAAAAQABAAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAE +AAABFgADAAAAAQAgAAABFwAEAAAAAQAAEAABGgAFAAAAAQAAENYBGwAFAAAAAQAAEN4BHAADAAAAAQAB +AAABKAADAAAAAQACAAABUgADAAAAAQACAAABUwADAAAABAAAEOYAAAAAAAgACAAIAAgSAAAAACAAABIA +AAAAIAAAAAEAAQABAAE + + + + + + + + TU0AKgAABAj///9VQ0ND/wAAAP////8A////AP///6pDQ0P/AAAA/////wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///+qAAAA/////6oAAAD/////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///6oAAAD/////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///+qAAAA/////wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////qgAAAP////8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6oAAAD/////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+qAAAA/////wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qgAAAP////8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qgAAAP8AAAD/ +AAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q +AAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////qgAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///6oAAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///+qAAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////qgAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////qgAAAP////+qAAAA/////wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///9VQ0ND/wAAAP////8A////AP///6pDQ0P/AAAA/////wD///8A////AP///wD///8A +////AP///wD///8AAA4BAAADAAAAAQAQAAABAQADAAAAAQAQAAABAgADAAAABAAABLYBAwADAAAAAQAB +AAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAEAAABFgADAAAAAQAQ +AAABFwAEAAAAAQAABAABHAADAAAAAQABAAABUgADAAAAAQACAAABUwADAAAABAAABL6HcwAHAAAHqAAA +BMYAAAAAAAgACAAIAAgAAQABAAEAAQAAB6hhcHBsAiAAAG1udHJSR0IgWFlaIAfZAAIAGQALABoAC2Fj +c3BBUFBMAAAAAGFwcGwAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2Rlc2MAAAEIAAAAb2RzY20AAAF4AAAFbGNw +cnQAAAbkAAAAOHd0cHQAAAccAAAAFHJYWVoAAAcwAAAAFGdYWVoAAAdEAAAAFGJYWVoAAAdYAAAAFHJU +UkMAAAdsAAAADmNoYWQAAAd8AAAALGJUUkMAAAdsAAAADmdUUkMAAAdsAAAADmRlc2MAAAAAAAAAFEdl +bmVyaWMgUkdCIFByb2ZpbGUAAAAAAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAAB4AAAAMc2tTSwAA +ACgAAAF4aHJIUgAAACgAAAGgY2FFUwAAACQAAAHIcHRCUgAAACYAAAHsdWtVQQAAACoAAAISZnJGVQAA +ACgAAAI8emhUVwAAABYAAAJkaXRJVAAAACgAAAJ6bmJOTwAAACYAAAKia29LUgAAABYAAALIY3NDWgAA +ACIAAALeaGVJTAAAAB4AAAMAZGVERQAAACwAAAMeaHVIVQAAACgAAANKc3ZTRQAAACYAAAKiemhDTgAA +ABYAAANyamFKUAAAABoAAAOIcm9STwAAACQAAAOiZWxHUgAAACIAAAPGcHRQTwAAACYAAAPobmxOTAAA +ACgAAAQOZXNFUwAAACYAAAPodGhUSAAAACQAAAQ2dHJUUgAAACIAAARaZmlGSQAAACgAAAR8cGxQTAAA +ACwAAASkcnVSVQAAACIAAATQYXJFRwAAACYAAATyZW5VUwAAACYAAAUYZGFESwAAAC4AAAU+AFYBYQBl +AG8AYgBlAGMAbgD9ACAAUgBHAEIAIABwAHIAbwBmAGkAbABHAGUAbgBlAHIAaQENAGsAaQAgAFIARwBC +ACAAcAByAG8AZgBpAGwAUABlAHIAZgBpAGwAIABSAEcAQgAgAGcAZQBuAOgAcgBpAGMAUABlAHIAZgBp +AGwAIABSAEcAQgAgAEcAZQBuAOkAcgBpAGMAbwQXBDAEMwQwBDsETAQ9BDgEOQAgBD8EQAQ+BEQEMAQ5 +BDsAIABSAEcAQgBQAHIAbwBmAGkAbAAgAGcA6QBuAOkAcgBpAHEAdQBlACAAUgBWAEKQGnUoACAAUgBH +AEIAIIJyX2ljz4/wAFAAcgBvAGYAaQBsAG8AIABSAEcAQgAgAGcAZQBuAGUAcgBpAGMAbwBHAGUAbgBl +AHIAaQBzAGsAIABSAEcAQgAtAHAAcgBvAGYAaQBsx3y8GAAgAFIARwBCACDVBLhc0wzHfABPAGIAZQBj +AG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwF5AXoBdUF5AXZBdwAIABSAEcAQgAgBdsF3AXcBdkAQQBs +AGwAZwBlAG0AZQBpAG4AZQBzACAAUgBHAEIALQBQAHIAbwBmAGkAbADBAGwAdABhAGwA4QBuAG8AcwAg +AFIARwBCACAAcAByAG8AZgBpAGxmbpAaACAAUgBHAEIAIGPPj/Blh072TgCCLAAgAFIARwBCACAw1zDt +MNUwoTCkMOsAUAByAG8AZgBpAGwAIABSAEcAQgAgAGcAZQBuAGUAcgBpAGMDkwO1A70DuQO6A8wAIAPA +A8EDvwPGA68DuwAgAFIARwBCAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDpAHIAaQBjAG8AQQBs +AGcAZQBtAGUAZQBuACAAUgBHAEIALQBwAHIAbwBmAGkAZQBsDkIOGw4jDkQOHw4lDkwAIABSAEcAQgAg +DhcOMQ5IDicORA4bAEcAZQBuAGUAbAAgAFIARwBCACAAUAByAG8AZgBpAGwAaQBZAGwAZQBpAG4AZQBu +ACAAUgBHAEIALQBwAHIAbwBmAGkAaQBsAGkAVQBuAGkAdwBlAHIAcwBhAGwAbgB5ACAAcAByAG8AZgBp +AGwAIABSAEcAQgQeBDEESQQ4BDkAIAQ/BEAEPgREBDgEOwRMACAAUgBHAEIGRQZEBkEAIAYqBjkGMQZK +BkEAIABSAEcAQgAgBicGRAY5BicGRQBHAGUAbgBlAHIAaQBjACAAUgBHAEIAIABQAHIAbwBmAGkAbABl +AEcAZQBuAGUAcgBlAGwAIABSAEcAQgAtAGIAZQBzAGsAcgBpAHYAZQBsAHMAZXRleHQAAAAAQ29weXJp +Z2h0IDIwMDcgQXBwbGUgSW5jLiwgYWxsIHJpZ2h0cyByZXNlcnZlZC4AWFlaIAAAAAAAAPNSAAEAAAAB +Fs9YWVogAAAAAAAAdE0AAD3uAAAD0FhZWiAAAAAAAABadQAArHMAABc0WFlaIAAAAAAAACgaAAAVnwAA +uDZjdXJ2AAAAAAAAAAEBzQAAc2YzMgAAAAAAAQxCAAAF3v//8yYAAAeSAAD9kf//+6L///2jAAAD3AAA +wGw + + + + + + 3 + MCAwAA + + + + 4 + + + + 256 + {{418, 1}, {16, 228}} + + _NS:83 + NO + + _doScroller: + 1 + 0.85256409645080566 + + + + -2147483392 + {{-100, -100}, {87, 18}} + + + _NS:33 + NO + 1 + + _doScroller: + 1 + 0.94565218687057495 + + + {{20, 20}, {435, 230}} + + + _NS:9 + 133138 + + + + 0.25 + 4 + 1 + + + {480, 270} + + + _NS:21 + + {{0, 0}, {1440, 878}} + {10000000000000, 10000000000000} + YES + + + + + + + window + + + + 3 + + + + lyricsText + + + + 28 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 1 + + + + + + + + 2 + + + + + + 6 + 0 + + 6 + 1 + + 25 + + 1000 + + 3 + 9 + 3 + + + + 4 + 0 + + 4 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 3 + 0 + + 3 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 5 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + + + 18 + + + + + + + + + + 19 + + + + + 20 + + + + + 21 + + + + + 23 + + + + + 24 + + + + + 26 + + + + + 27 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 28 + + + 0 + IBCocoaFramework + YES + 3 + YES + + diff --git a/pTunes/pTunes/LyricsWindowController.h b/pTunes/pTunes/LyricsWindowController.h new file mode 100644 index 0000000..9dea82e --- /dev/null +++ b/pTunes/pTunes/LyricsWindowController.h @@ -0,0 +1,16 @@ +// +// LyricsWindowController.h +// pTunes +// +// Created by mindworm on 12/24/12. +// Copyright (c) 2012 aquaxp. All rights reserved. +// + +#import + +@interface LyricsWindowController : NSWindowController{ + IBOutlet NSTextView* lyricsText; +} +-(void)changeLyricsText:(NSString*) text; + +@end diff --git a/pTunes/pTunes/LyricsWindowController.m b/pTunes/pTunes/LyricsWindowController.m new file mode 100644 index 0000000..4b90221 --- /dev/null +++ b/pTunes/pTunes/LyricsWindowController.m @@ -0,0 +1,41 @@ +// +// LyricsWindowController.m +// pTunes +// +// Created by mindworm on 12/24/12. +// Copyright (c) 2012 aquaxp. All rights reserved. +// + +#import "LyricsWindowController.h" + +@interface LyricsWindowController () + +@end + +@implementation LyricsWindowController + +-(id)init{ + return [super initWithWindowNibName:@"Lyrics"]; +} + +- (id)initWithWindow:(NSWindow *)window +{ + self = [super initWithWindow:window]; + if (self) { + // Initialization code here. + } + + return self; +} + +- (void)windowDidLoad +{ + [super windowDidLoad]; + + // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file. +} +-(void)changeLyricsText:(NSString*) text{ + [lyricsText insertText:text]; +} + +@end diff --git a/pTunes/pTunes/Preferences.xib b/pTunes/pTunes/Preferences.xib new file mode 100644 index 0000000..8af2cc2 --- /dev/null +++ b/pTunes/pTunes/Preferences.xib @@ -0,0 +1,704 @@ + + + + 1080 + 12C60 + 2844 + 1187.34 + 625.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2844 + + + IBNSLayoutConstraint + NSButton + NSButtonCell + NSCustomObject + NSForm + NSFormCell + NSTabView + NSTabViewItem + NSView + NSWindowTemplate + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + PreferencesWindowController + + + FirstResponder + + + NSApplication + + + 19 + 2 + {{139, 81}, {588, 429}} + -1535638528 + Preferences + NSPanel + + + + + 256 + + + + 12 + {{13, 10}, {562, 413}} + + + + _NS:9 + + + 1 + + + 256 + + + + 268 + {{15, 348}, {175, 18}} + + _NS:9 + YES + + -2080374784 + 268435456 + Show track info in menu + + LucidaGrande + 13 + 1044 + + _NS:9 + + 1211912448 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + NO + + + {{10, 33}, {542, 367}} + + _NS:11 + + Main + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + + + 2 + + + 256 + + + + 268 + {{17, 312}, {203, 52}} + + + + _NS:9 + YES + NO + 2 + 1 + + + 342884417 + 205521920 + username + + + 65.88330078125 + + 67108864 + 67108864 + username + + + + + + 342884417 + 205526016 + password + + + + 1 + 65.88330078125 + + 67108864 + 201326592 + password + + + + + + {203, 22} + {1, 8} + 76021760 + NSActionCell + + 342884416 + 205521920 + + + 65.88330078125 + + 67108864 + 67108864 + Field: + + + + -1 + -1 + + + 3 + MQA + + + YES + + + {{10, 33}, {542, 367}} + + + + _NS:28 + + Last.FM + + + + + + + 256 + {{10, 33}, {542, 367}} + + Shortcuts + + + + + + + 0 + YES + YES + + + + + + {588, 429} + + + + _NS:21 + + {{0, 0}, {1440, 878}} + {10000000000000, 10000000000000} + YES + + + + + + + window + + + + 30 + + + + showInfo + + + + 31 + + + + changeShowInfo: + + + + 32 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 1 + + + + + + + + 2 + + + + + 6 + 0 + + 6 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 5 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 4 + 0 + + 4 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 3 + 0 + + 3 + 1 + + 12 + + 1000 + + 8 + 29 + 3 + + + + + + + 3 + + + + + + + + + + 4 + + + + + + + + 5 + + + + + + + + 6 + + + + + + 3 + 0 + + 3 + 1 + + 3 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 5 + 1 + + 17 + + 1000 + + 8 + 29 + 3 + + + + + + 7 + + + + + + 5 + 0 + + 5 + 1 + + 17 + + 1000 + + 8 + 29 + 3 + + + + 3 + 0 + + 3 + 1 + + 3 + + 1000 + + 8 + 29 + 3 + + + + + + 10 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + + + + 17 + + + + + 18 + + + + + + + + 7 + 0 + + 0 + 1 + + 203 + + 1000 + + 3 + 9 + 1 + + + + + + 19 + + + + + 20 + + + + + 21 + + + + + 23 + + + + + 24 + + + + + 25 + + + + + 26 + + + + + + + + 27 + + + + + 28 + + + + + 29 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 32 + + + + + NSLayoutConstraint + NSObject + + IBProjectSource + ./Classes/NSLayoutConstraint.h + + + + PreferencesWindowController + NSWindowController + + changeShowInfo: + id + + + changeShowInfo: + + changeShowInfo: + id + + + + showInfo + NSButton + + + showInfo + + showInfo + NSButton + + + + IBProjectSource + ./Classes/PreferencesWindowController.h + + + + + 0 + IBCocoaFramework + YES + 3 + + NSSwitch + {15, 15} + + YES + + diff --git a/pTunes/pTunes/PreferencesWindowController.h b/pTunes/pTunes/PreferencesWindowController.h new file mode 100644 index 0000000..c4c7075 --- /dev/null +++ b/pTunes/pTunes/PreferencesWindowController.h @@ -0,0 +1,19 @@ +// +// PreferencesWindowController.h +// pTunes +// +// Created by mindworm on 12/23/12. +// Copyright (c) 2012 aquaxp. All rights reserved. +// + +#import + +extern NSString *const PTshowInfoKey; + +@interface PreferencesWindowController : NSWindowController{ + IBOutlet NSButton* showInfo; +} + +-(IBAction)changeShowInfo:(id)sender; + +@end diff --git a/pTunes/pTunes/PreferencesWindowController.m b/pTunes/pTunes/PreferencesWindowController.m new file mode 100644 index 0000000..a49c17f --- /dev/null +++ b/pTunes/pTunes/PreferencesWindowController.m @@ -0,0 +1,39 @@ +// +// PreferencesWindowController.m +// pTunes +// +// Created by mindworm on 12/23/12. +// Copyright (c) 2012 aquaxp. All rights reserved. +// + +#import "PreferencesWindowController.h" + +@interface PreferencesWindowController () + +@end + +@implementation PreferencesWindowController + +-(id)init{ + return [super initWithWindowNibName:@"Preferences"]; +} + +- (id)initWithWindow:(NSWindow *)window +{ + self = [super initWithWindow:window]; + if (self) { + // Initialization code here. + } + + return self; +} + +- (void)windowDidLoad +{ + [super windowDidLoad]; +} + +-(IBAction)changeShowInfo:(id)sender{ +} + +@end diff --git a/pTunes/pTunes/en.lproj/Credits.rtf b/pTunes/pTunes/en.lproj/Credits.rtf new file mode 100644 index 0000000..46576ef --- /dev/null +++ b/pTunes/pTunes/en.lproj/Credits.rtf @@ -0,0 +1,29 @@ +{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} +{\colortbl;\red255\green255\blue255;} +\paperw9840\paperh8400 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf0 Engineering: +\b0 \ + Some people\ +\ + +\b Human Interface Design: +\b0 \ + Some other people\ +\ + +\b Testing: +\b0 \ + Hopefully not nobody\ +\ + +\b Documentation: +\b0 \ + Whoever\ +\ + +\b With special thanks to: +\b0 \ + Mom\ +} diff --git a/pTunes/pTunes/en.lproj/InfoPlist.strings b/pTunes/pTunes/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/pTunes/pTunes/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/pTunes/pTunes/en.lproj/MainMenu.xib b/pTunes/pTunes/en.lproj/MainMenu.xib new file mode 100644 index 0000000..d631830 --- /dev/null +++ b/pTunes/pTunes/en.lproj/MainMenu.xib @@ -0,0 +1,827 @@ + + + + 1080 + 12C60 + 2844 + 1187.34 + 625.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2844 + + + NSCustomObject + NSMenu + NSMenuItem + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + NSApplication + + + FirstResponder + + + NSApplication + + + AppDelegate + + + NSFontManager + + + + + + + YES + YES + Name + + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + + + + YES + YES + Artist + + 2147483647 + + + + + + YES + YES + Album + + 2147483647 + + + + + + YES + YES + Composer + + 2147483647 + + + + + + YES + YES + Genre + + 2147483647 + + + + + + YES + YES + Rating + + 2147483647 + + + + + + Play + + 2147483647 + + + + + + Previous + + 2147483647 + + + + + + Next + + 2147483647 + + + + + + Shuffle + + 2147483647 + + + + + + Lyrics + + 2147483647 + + + + + + Preferences... + + 2147483647 + + + + + + Quit + + 2147483647 + + + + + + + AppController + + + PreferencesWindowController + + + LyricsWindowController + + + + + + + YES + iTunes not running + + 2147483647 + + + + + + Run iTunes + + 2147483647 + + + + + + Preferences + + 2147483647 + + + + + + Quit + + 2147483647 + + + + + + + + + + + terminate: + + + + 688 + + + + terminate: + + + + 784 + + + + delegate + + + + 495 + + + + menu + + + + 557 + + + + shuffle: + + + + 664 + + + + playItemName + + + + 772 + + + + shuffleItemName + + + + 773 + + + + lyricsItemName + + + + 774 + + + + men + + + + 783 + + + + menuWithITunes + + + + 787 + + + + menuWithoutITunes + + + + 788 + + + + iTunesOpenMenu + + + + 789 + + + + iTunesClosedMenu + + + + 790 + + + + menuTrackName + + + + 791 + + + + menuArtistName + + + + 792 + + + + menuAlbumName + + + + 793 + + + + menuComposerName + + + + 794 + + + + menuGenreName + + + + 795 + + + + menuRatingName + + + + 796 + + + + playPauseSong: + + + + 797 + + + + nextSong: + + + + 798 + + + + prevSong: + + + + 799 + + + + openItunes: + + + + 800 + + + + showWindow: + + + + 808 + + + + showWindow: + + + + 809 + + + + showWindow: + + + + 771 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 420 + + + + + 494 + + + + + 543 + + + + + + + + + + + + + + + + + + + + 545 + + + + + 546 + + + + + 556 + + + + + 649 + + + + + 650 + + + + + 652 + + + + + 653 + + + + + 654 + + + + + 655 + + + + + 667 + + + + + 764 + + + + + 767 + + + + + 769 + + + + + 775 + + + + + 776 + + + + + 778 + + + + + 779 + + + + + + + + + + + 780 + + + + + 781 + + + + + 782 + + + + + 786 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 809 + + + + + AppController + NSObject + + id + id + + + + showLyricsWindow: + id + + + showPreferencesPanel: + id + + + + IBProjectSource + ./Classes/AppController.h + + + + AppDelegate + NSObject + + id + id + id + id + id + id + id + id + + + + begSong: + id + + + nextSong: + id + + + openItunes: + id + + + playPauseSong: + id + + + prevSong: + id + + + quitItunes: + id + + + showWindow: + id + + + shuffle: + id + + + + NSMenu + NSMenu + NSMenuItem + NSMenuItem + NSMenuItem + NSMenuItem + NSMenuItem + NSMenuItem + NSMenuItem + NSMenuItem + NSMenuItem + + + + iTunesClosedMenu + NSMenu + + + iTunesOpenMenu + NSMenu + + + lyricsItemName + NSMenuItem + + + menuAlbumName + NSMenuItem + + + menuArtistName + NSMenuItem + + + menuComposerName + NSMenuItem + + + menuGenreName + NSMenuItem + + + menuRatingName + NSMenuItem + + + menuTrackName + NSMenuItem + + + playItemName + NSMenuItem + + + shuffleItemName + NSMenuItem + + + + IBProjectSource + ./Classes/AppDelegate.h + + + + LyricsWindowController + NSWindowController + + lyricsText + NSTextView + + + lyricsText + + lyricsText + NSTextView + + + + IBProjectSource + ./Classes/LyricsWindowController.h + + + + PreferencesWindowController + NSWindowController + + changeShowInfo: + id + + + changeShowInfo: + + changeShowInfo: + id + + + + showInfo + NSButton + + + showInfo + + showInfo + NSButton + + + + IBProjectSource + ./Classes/PreferencesWindowController.h + + + + + 0 + IBCocoaFramework + YES + 3 + + {11, 11} + {10, 3} + + YES + + diff --git a/pTunes/pTunes/iTunes.h b/pTunes/pTunes/iTunes.h new file mode 100644 index 0000000..5da6f8d --- /dev/null +++ b/pTunes/pTunes/iTunes.h @@ -0,0 +1,506 @@ +/* + * iTunes.h + */ + +#import +#import + + +@class iTunesPrintSettings, iTunesApplication, iTunesItem, iTunesArtwork, iTunesEncoder, iTunesEQPreset, iTunesPlaylist, iTunesAudioCDPlaylist, iTunesDevicePlaylist, iTunesLibraryPlaylist, iTunesRadioTunerPlaylist, iTunesSource, iTunesTrack, iTunesAudioCDTrack, iTunesDeviceTrack, iTunesFileTrack, iTunesSharedTrack, iTunesURLTrack, iTunesUserPlaylist, iTunesFolderPlaylist, iTunesVisual, iTunesWindow, iTunesBrowserWindow, iTunesEQWindow, iTunesPlaylistWindow; + +enum iTunesEKnd { + iTunesEKndTrackListing = 'kTrk' /* a basic listing of tracks within a playlist */, + iTunesEKndAlbumListing = 'kAlb' /* a listing of a playlist grouped by album */, + iTunesEKndCdInsert = 'kCDi' /* a printout of the playlist for jewel case inserts */ +}; +typedef enum iTunesEKnd iTunesEKnd; + +enum iTunesEnum { + iTunesEnumStandard = 'lwst' /* Standard PostScript error handling */, + iTunesEnumDetailed = 'lwdt' /* print a detailed report of PostScript errors */ +}; +typedef enum iTunesEnum iTunesEnum; + +enum iTunesEPlS { + iTunesEPlSStopped = 'kPSS', + iTunesEPlSPlaying = 'kPSP', + iTunesEPlSPaused = 'kPSp', + iTunesEPlSFastForwarding = 'kPSF', + iTunesEPlSRewinding = 'kPSR' +}; +typedef enum iTunesEPlS iTunesEPlS; + +enum iTunesERpt { + iTunesERptOff = 'kRpO', + iTunesERptOne = 'kRp1', + iTunesERptAll = 'kAll' +}; +typedef enum iTunesERpt iTunesERpt; + +enum iTunesEVSz { + iTunesEVSzSmall = 'kVSS', + iTunesEVSzMedium = 'kVSM', + iTunesEVSzLarge = 'kVSL' +}; +typedef enum iTunesEVSz iTunesEVSz; + +enum iTunesESrc { + iTunesESrcLibrary = 'kLib', + iTunesESrcIPod = 'kPod', + iTunesESrcAudioCD = 'kACD', + iTunesESrcMP3CD = 'kMCD', + iTunesESrcDevice = 'kDev', + iTunesESrcRadioTuner = 'kTun', + iTunesESrcSharedLibrary = 'kShd', + iTunesESrcUnknown = 'kUnk' +}; +typedef enum iTunesESrc iTunesESrc; + +enum iTunesESrA { + iTunesESrAAlbums = 'kSrL' /* albums only */, + iTunesESrAAll = 'kAll' /* all text fields */, + iTunesESrAArtists = 'kSrR' /* artists only */, + iTunesESrAComposers = 'kSrC' /* composers only */, + iTunesESrADisplayed = 'kSrV' /* visible text fields */, + iTunesESrASongs = 'kSrS' /* song names only */ +}; +typedef enum iTunesESrA iTunesESrA; + +enum iTunesESpK { + iTunesESpKNone = 'kNon', + iTunesESpKBooks = 'kSpA', + iTunesESpKFolder = 'kSpF', + iTunesESpKGenius = 'kSpG', + iTunesESpKITunesU = 'kSpU', + iTunesESpKLibrary = 'kSpL', + iTunesESpKMovies = 'kSpI', + iTunesESpKMusic = 'kSpZ', + iTunesESpKPartyShuffle = 'kSpS', + iTunesESpKPodcasts = 'kSpP', + iTunesESpKPurchasedMusic = 'kSpM', + iTunesESpKTVShows = 'kSpT' +}; +typedef enum iTunesESpK iTunesESpK; + +enum iTunesEVdK { + iTunesEVdKNone = 'kNon' /* not a video or unknown video kind */, + iTunesEVdKMovie = 'kVdM' /* movie track */, + iTunesEVdKMusicVideo = 'kVdV' /* music video track */, + iTunesEVdKTVShow = 'kVdT' /* TV show track */ +}; +typedef enum iTunesEVdK iTunesEVdK; + +enum iTunesERtK { + iTunesERtKUser = 'kRtU' /* user-specified rating */, + iTunesERtKComputed = 'kRtC' /* iTunes-computed rating */ +}; +typedef enum iTunesERtK iTunesERtK; + + + +/* + * Standard Suite + */ + +@interface iTunesPrintSettings : SBObject + +@property (readonly) NSInteger copies; // the number of copies of a document to be printed +@property (readonly) BOOL collating; // Should printed copies be collated? +@property (readonly) NSInteger startingPage; // the first page of the document to be printed +@property (readonly) NSInteger endingPage; // the last page of the document to be printed +@property (readonly) NSInteger pagesAcross; // number of logical pages laid across a physical page +@property (readonly) NSInteger pagesDown; // number of logical pages laid out down a physical page +@property (readonly) iTunesEnum errorHandling; // how errors are handled +@property (copy, readonly) NSDate *requestedPrintTime; // the time at which the desktop printer should print the document +@property (copy, readonly) NSArray *printerFeatures; // printer specific options +@property (copy, readonly) NSString *faxNumber; // for fax number +@property (copy, readonly) NSString *targetPrinter; // for target printer + +- (void) printPrintDialog:(BOOL)printDialog withProperties:(iTunesPrintSettings *)withProperties kind:(iTunesEKnd)kind theme:(NSString *)theme; // Print the specified object(s) +- (void) close; // Close an object +- (void) delete; // Delete an element from an object +- (SBObject *) duplicateTo:(SBObject *)to; // Duplicate one or more object(s) +- (BOOL) exists; // Verify if an object exists +- (void) open; // open the specified object(s) +- (void) playOnce:(BOOL)once; // play the current track or the specified track or file. + +@end + + + +/* + * iTunes Suite + */ + +// The application program +@interface iTunesApplication : SBApplication + +- (SBElementArray *) browserWindows; +- (SBElementArray *) encoders; +- (SBElementArray *) EQPresets; +- (SBElementArray *) EQWindows; +- (SBElementArray *) playlistWindows; +- (SBElementArray *) sources; +- (SBElementArray *) visuals; +- (SBElementArray *) windows; + +@property (copy) iTunesEncoder *currentEncoder; // the currently selected encoder (MP3, AIFF, WAV, etc.) +@property (copy) iTunesEQPreset *currentEQPreset; // the currently selected equalizer preset +@property (copy, readonly) iTunesPlaylist *currentPlaylist; // the playlist containing the currently targeted track +@property (copy, readonly) NSString *currentStreamTitle; // the name of the current song in the playing stream (provided by streaming server) +@property (copy, readonly) NSString *currentStreamURL; // the URL of the playing stream or streaming web site (provided by streaming server) +@property (copy, readonly) iTunesTrack *currentTrack; // the current targeted track +@property (copy) iTunesVisual *currentVisual; // the currently selected visual plug-in +@property BOOL EQEnabled; // is the equalizer enabled? +@property BOOL fixedIndexing; // true if all AppleScript track indices should be independent of the play order of the owning playlist. +@property BOOL frontmost; // is iTunes the frontmost application? +@property BOOL fullScreen; // are visuals displayed using the entire screen? +@property (copy, readonly) NSString *name; // the name of the application +@property BOOL mute; // has the sound output been muted? +@property NSInteger playerPosition; // the player’s position within the currently playing track in seconds. +@property (readonly) iTunesEPlS playerState; // is iTunes stopped, paused, or playing? +@property (copy, readonly) SBObject *selection; // the selection visible to the user +@property NSInteger soundVolume; // the sound output volume (0 = minimum, 100 = maximum) +@property (copy, readonly) NSString *version; // the version of iTunes +@property BOOL visualsEnabled; // are visuals currently being displayed? +@property iTunesEVSz visualSize; // the size of the displayed visual + +- (void) printPrintDialog:(BOOL)printDialog withProperties:(iTunesPrintSettings *)withProperties kind:(iTunesEKnd)kind theme:(NSString *)theme; // Print the specified object(s) +- (void) run; // run iTunes +- (void) quit; // quit iTunes +- (iTunesTrack *) add:(NSArray *)x to:(SBObject *)to; // add one or more files to a playlist +- (void) backTrack; // reposition to beginning of current track or go to previous track if already at start of current track +- (iTunesTrack *) convert:(NSArray *)x; // convert one or more files or tracks +- (void) fastForward; // skip forward in a playing track +- (void) nextTrack; // advance to the next track in the current playlist +- (void) pause; // pause playback +- (void) playOnce:(BOOL)once; // play the current track or the specified track or file. +- (void) playpause; // toggle the playing/paused state of the current track +- (void) previousTrack; // return to the previous track in the current playlist +- (void) resume; // disable fast forward/rewind and resume playback, if playing. +- (void) rewind; // skip backwards in a playing track +- (void) stop; // stop playback +- (void) update; // update the specified iPod +- (void) eject; // eject the specified iPod +- (void) subscribe:(NSString *)x; // subscribe to a podcast feed +- (void) updateAllPodcasts; // update all subscribed podcast feeds +- (void) updatePodcast; // update podcast feed +- (void) openLocation:(NSString *)x; // Opens a Music Store or audio stream URL + +@end + +// an item +@interface iTunesItem : SBObject + +@property (copy, readonly) SBObject *container; // the container of the item +- (NSInteger) id; // the id of the item +@property (readonly) NSInteger index; // The index of the item in internal application order. +@property (copy) NSString *name; // the name of the item +@property (copy, readonly) NSString *persistentID; // the id of the item as a hexidecimal string. This id does not change over time. + +- (void) printPrintDialog:(BOOL)printDialog withProperties:(iTunesPrintSettings *)withProperties kind:(iTunesEKnd)kind theme:(NSString *)theme; // Print the specified object(s) +- (void) close; // Close an object +- (void) delete; // Delete an element from an object +- (SBObject *) duplicateTo:(SBObject *)to; // Duplicate one or more object(s) +- (BOOL) exists; // Verify if an object exists +- (void) open; // open the specified object(s) +- (void) playOnce:(BOOL)once; // play the current track or the specified track or file. +- (void) reveal; // reveal and select a track or playlist + +@end + +// a piece of art within a track +@interface iTunesArtwork : iTunesItem + +@property (copy) NSImage *data; // data for this artwork, in the form of a picture +@property (copy) NSString *objectDescription; // description of artwork as a string +@property (readonly) BOOL downloaded; // was this artwork downloaded by iTunes? +@property (copy, readonly) NSNumber *format; // the data format for this piece of artwork +@property NSInteger kind; // kind or purpose of this piece of artwork +@property (copy) NSData *rawData; // data for this artwork, in original format + + +@end + +// converts a track to a specific file format +@interface iTunesEncoder : iTunesItem + +@property (copy, readonly) NSString *format; // the data format created by the encoder + + +@end + +// equalizer preset configuration +@interface iTunesEQPreset : iTunesItem + +@property double band1; // the equalizer 32 Hz band level (-12.0 dB to +12.0 dB) +@property double band2; // the equalizer 64 Hz band level (-12.0 dB to +12.0 dB) +@property double band3; // the equalizer 125 Hz band level (-12.0 dB to +12.0 dB) +@property double band4; // the equalizer 250 Hz band level (-12.0 dB to +12.0 dB) +@property double band5; // the equalizer 500 Hz band level (-12.0 dB to +12.0 dB) +@property double band6; // the equalizer 1 kHz band level (-12.0 dB to +12.0 dB) +@property double band7; // the equalizer 2 kHz band level (-12.0 dB to +12.0 dB) +@property double band8; // the equalizer 4 kHz band level (-12.0 dB to +12.0 dB) +@property double band9; // the equalizer 8 kHz band level (-12.0 dB to +12.0 dB) +@property double band10; // the equalizer 16 kHz band level (-12.0 dB to +12.0 dB) +@property (readonly) BOOL modifiable; // can this preset be modified? +@property double preamp; // the equalizer preamp level (-12.0 dB to +12.0 dB) +@property BOOL updateTracks; // should tracks which refer to this preset be updated when the preset is renamed or deleted? + + +@end + +// a list of songs/streams +@interface iTunesPlaylist : iTunesItem + +- (SBElementArray *) tracks; + +@property (readonly) NSInteger duration; // the total length of all songs (in seconds) +@property (copy) NSString *name; // the name of the playlist +@property (copy, readonly) iTunesPlaylist *parent; // folder which contains this playlist (if any) +@property BOOL shuffle; // play the songs in this playlist in random order? +@property (readonly) long long size; // the total size of all songs (in bytes) +@property iTunesERpt songRepeat; // playback repeat mode +@property (readonly) iTunesESpK specialKind; // special playlist kind +@property (copy, readonly) NSString *time; // the length of all songs in MM:SS format +@property (readonly) BOOL visible; // is this playlist visible in the Source list? + +- (void) moveTo:(SBObject *)to; // Move playlist(s) to a new location +- (iTunesTrack *) searchFor:(NSString *)for_ only:(iTunesESrA)only; // search a playlist for tracks matching the search string. Identical to entering search text in the Search field in iTunes. + +@end + +// a playlist representing an audio CD +@interface iTunesAudioCDPlaylist : iTunesPlaylist + +- (SBElementArray *) audioCDTracks; + +@property (copy) NSString *artist; // the artist of the CD +@property BOOL compilation; // is this CD a compilation album? +@property (copy) NSString *composer; // the composer of the CD +@property NSInteger discCount; // the total number of discs in this CD’s album +@property NSInteger discNumber; // the index of this CD disc in the source album +@property (copy) NSString *genre; // the genre of the CD +@property NSInteger year; // the year the album was recorded/released + + +@end + +// a playlist representing the contents of a portable device +@interface iTunesDevicePlaylist : iTunesPlaylist + +- (SBElementArray *) deviceTracks; + + +@end + +// the master music library playlist +@interface iTunesLibraryPlaylist : iTunesPlaylist + +- (SBElementArray *) fileTracks; +- (SBElementArray *) URLTracks; +- (SBElementArray *) sharedTracks; + + +@end + +// the radio tuner playlist +@interface iTunesRadioTunerPlaylist : iTunesPlaylist + +- (SBElementArray *) URLTracks; + + +@end + +// a music source (music library, CD, device, etc.) +@interface iTunesSource : iTunesItem + +- (SBElementArray *) audioCDPlaylists; +- (SBElementArray *) devicePlaylists; +- (SBElementArray *) libraryPlaylists; +- (SBElementArray *) playlists; +- (SBElementArray *) radioTunerPlaylists; +- (SBElementArray *) userPlaylists; + +@property (readonly) long long capacity; // the total size of the source if it has a fixed size +@property (readonly) long long freeSpace; // the free space on the source if it has a fixed size +@property (readonly) iTunesESrc kind; + +- (void) update; // update the specified iPod +- (void) eject; // eject the specified iPod + +@end + +// playable audio source +@interface iTunesTrack : iTunesItem + +- (SBElementArray *) artworks; + +@property (copy) NSString *album; // the album name of the track +@property (copy) NSString *albumArtist; // the album artist of the track +@property NSInteger albumRating; // the rating of the album for this track (0 to 100) +@property (readonly) iTunesERtK albumRatingKind; // the rating kind of the album rating for this track +@property (copy) NSString *artist; // the artist/source of the track +@property (readonly) NSInteger bitRate; // the bit rate of the track (in kbps) +@property double bookmark; // the bookmark time of the track in seconds +@property BOOL bookmarkable; // is the playback position for this track remembered? +@property NSInteger bpm; // the tempo of this track in beats per minute +@property (copy) NSString *category; // the category of the track +@property (copy) NSString *comment; // freeform notes about the track +@property BOOL compilation; // is this track from a compilation album? +@property (copy) NSString *composer; // the composer of the track +@property (readonly) NSInteger databaseID; // the common, unique ID for this track. If two tracks in different playlists have the same database ID, they are sharing the same data. +@property (copy, readonly) NSDate *dateAdded; // the date the track was added to the playlist +@property (copy) NSString *objectDescription; // the description of the track +@property NSInteger discCount; // the total number of discs in the source album +@property NSInteger discNumber; // the index of the disc containing this track on the source album +@property (readonly) double duration; // the length of the track in seconds +@property BOOL enabled; // is this track checked for playback? +@property (copy) NSString *episodeID; // the episode ID of the track +@property NSInteger episodeNumber; // the episode number of the track +@property (copy) NSString *EQ; // the name of the EQ preset of the track +@property double finish; // the stop time of the track in seconds +@property BOOL gapless; // is this track from a gapless album? +@property (copy) NSString *genre; // the music/audio genre (category) of the track +@property (copy) NSString *grouping; // the grouping (piece) of the track. Generally used to denote movements within a classical work. +@property (copy, readonly) NSString *kind; // a text description of the track +@property (copy) NSString *longDescription; +@property (copy) NSString *lyrics; // the lyrics of the track +@property (copy, readonly) NSDate *modificationDate; // the modification date of the content of this track +@property NSInteger playedCount; // number of times this track has been played +@property (copy) NSDate *playedDate; // the date and time this track was last played +@property (readonly) BOOL podcast; // is this track a podcast episode? +@property NSInteger rating; // the rating of this track (0 to 100) +@property (readonly) iTunesERtK ratingKind; // the rating kind of this track +@property (copy, readonly) NSDate *releaseDate; // the release date of this track +@property (readonly) NSInteger sampleRate; // the sample rate of the track (in Hz) +@property NSInteger seasonNumber; // the season number of the track +@property BOOL shufflable; // is this track included when shuffling? +@property NSInteger skippedCount; // number of times this track has been skipped +@property (copy) NSDate *skippedDate; // the date and time this track was last skipped +@property (copy) NSString *show; // the show name of the track +@property (copy) NSString *sortAlbum; // override string to use for the track when sorting by album +@property (copy) NSString *sortArtist; // override string to use for the track when sorting by artist +@property (copy) NSString *sortAlbumArtist; // override string to use for the track when sorting by album artist +@property (copy) NSString *sortName; // override string to use for the track when sorting by name +@property (copy) NSString *sortComposer; // override string to use for the track when sorting by composer +@property (copy) NSString *sortShow; // override string to use for the track when sorting by show name +@property (readonly) NSInteger size; // the size of the track (in bytes) +@property double start; // the start time of the track in seconds +@property (copy, readonly) NSString *time; // the length of the track in MM:SS format +@property NSInteger trackCount; // the total number of tracks on the source album +@property NSInteger trackNumber; // the index of the track on the source album +@property BOOL unplayed; // is this track unplayed? +@property iTunesEVdK videoKind; // kind of video track +@property NSInteger volumeAdjustment; // relative volume adjustment of the track (-100% to 100%) +@property NSInteger year; // the year the track was recorded/released + + +@end + +// a track on an audio CD +@interface iTunesAudioCDTrack : iTunesTrack + +@property (copy, readonly) NSURL *location; // the location of the file represented by this track + + +@end + +// a track residing on a portable music player +@interface iTunesDeviceTrack : iTunesTrack + + +@end + +// a track representing an audio file (MP3, AIFF, etc.) +@interface iTunesFileTrack : iTunesTrack + +@property (copy) NSURL *location; // the location of the file represented by this track + +- (void) refresh; // update file track information from the current information in the track’s file + +@end + +// a track residing in a shared library +@interface iTunesSharedTrack : iTunesTrack + + +@end + +// a track representing a network stream +@interface iTunesURLTrack : iTunesTrack + +@property (copy) NSString *address; // the URL for this track + +- (void) download; // download podcast episode + +@end + +// custom playlists created by the user +@interface iTunesUserPlaylist : iTunesPlaylist + +- (SBElementArray *) fileTracks; +- (SBElementArray *) URLTracks; +- (SBElementArray *) sharedTracks; + +@property BOOL shared; // is this playlist shared? +@property (readonly) BOOL smart; // is this a Smart Playlist? + + +@end + +// a folder that contains other playlists +@interface iTunesFolderPlaylist : iTunesUserPlaylist + + +@end + +// a visual plug-in +@interface iTunesVisual : iTunesItem + + +@end + +// any window +@interface iTunesWindow : iTunesItem + +@property NSRect bounds; // the boundary rectangle for the window +@property (readonly) BOOL closeable; // does the window have a close box? +@property (readonly) BOOL collapseable; // does the window have a collapse (windowshade) box? +@property BOOL collapsed; // is the window collapsed? +@property NSPoint position; // the upper left position of the window +@property (readonly) BOOL resizable; // is the window resizable? +@property BOOL visible; // is the window visible? +@property (readonly) BOOL zoomable; // is the window zoomable? +@property BOOL zoomed; // is the window zoomed? + + +@end + +// the main iTunes window +@interface iTunesBrowserWindow : iTunesWindow + +@property BOOL minimized; // is the small player visible? +@property (copy, readonly) SBObject *selection; // the selected songs +@property (copy) iTunesPlaylist *view; // the playlist currently displayed in the window + + +@end + +// the iTunes equalizer window +@interface iTunesEQWindow : iTunesWindow + +@property BOOL minimized; // is the small EQ window visible? + + +@end + +// a sub-window showing a single playlist +@interface iTunesPlaylistWindow : iTunesWindow + +@property (copy, readonly) SBObject *selection; // the selected songs +@property (copy, readonly) iTunesPlaylist *view; // the playlist displayed in the window + + +@end + diff --git a/pTunes/pTunes/main.m b/pTunes/pTunes/main.m new file mode 100644 index 0000000..9c626bb --- /dev/null +++ b/pTunes/pTunes/main.m @@ -0,0 +1,14 @@ +// +// main.m +// pTunes +// +// Created by mindworm on 11/23/12. +// Copyright (c) 2012 aquaxp. All rights reserved. +// + +#import + +int main(int argc, char *argv[]) +{ + return NSApplicationMain(argc, (const char **)argv); +} diff --git a/pTunes/pTunes/pTunes-Info.plist b/pTunes/pTunes/pTunes-Info.plist new file mode 100644 index 0000000..2947288 --- /dev/null +++ b/pTunes/pTunes/pTunes-Info.plist @@ -0,0 +1,38 @@ + + + + + LSUIElement + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSApplicationCategoryType + public.app-category.music + LSMinimumSystemVersion + ${MACOSX_DEPLOYMENT_TARGET} + NSHumanReadableCopyright + Copyright © 2012 aquaxp. All rights reserved. + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/pTunes/pTunes/pTunes-Prefix.pch b/pTunes/pTunes/pTunes-Prefix.pch new file mode 100644 index 0000000..a4344f1 --- /dev/null +++ b/pTunes/pTunes/pTunes-Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'pTunes' target in the 'pTunes' project +// + +#ifdef __OBJC__ + #import +#endif From 3205e554a37509055cd7cf75ee84ebd51b47026b Mon Sep 17 00:00:00 2001 From: aquaxp Date: Tue, 25 Dec 2012 22:47:45 +0700 Subject: [PATCH 2/6] cleaning breakpoints --- .../UserInterfaceState.xcuserstate | Bin 37698 -> 38098 bytes .../xcdebugger/Breakpoints.xcbkptlist | 41 ------------------ 2 files changed, 41 deletions(-) diff --git a/pTunes/pTunes.xcodeproj/project.xcworkspace/xcuserdata/mindworm.xcuserdatad/UserInterfaceState.xcuserstate b/pTunes/pTunes.xcodeproj/project.xcworkspace/xcuserdata/mindworm.xcuserdatad/UserInterfaceState.xcuserstate index 8ef8d9c292325054b24c5e86ac756014fecbe38c..db84cde2d9a745b518655779f11bc084cc9ce5be 100644 GIT binary patch literal 38098 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
Kp@@ef9*KA~Vr#_ih<%aak%^Iok=jUI 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 - - - - - - - - From 95a8575dc9eff2423eeffa90b7131ccf684011ed Mon Sep 17 00:00:00 2001 From: aquaxp Date: Mon, 7 Jan 2013 09:12:56 +0700 Subject: [PATCH 3/6] initial commit + NC support --- ProjectDescription.pdf | Bin 92308 -> 0 bytes README.md | 4 +- pTunes/pTunes.xcodeproj/project.pbxproj | 386 -------- .../UserInterfaceState.xcuserstate | Bin 38098 -> 0 bytes .../xcdebugger/Breakpoints.xcbkptlist | 5 - pTunes/pTunes/AppController.h | 21 - pTunes/pTunes/AppController.m | 27 - pTunes/pTunes/AppDelegate.h | 63 -- pTunes/pTunes/AppDelegate.m | 173 ---- pTunes/pTunes/Lyrics.xib | 553 ----------- pTunes/pTunes/LyricsWindowController.h | 16 - pTunes/pTunes/LyricsWindowController.m | 41 - pTunes/pTunes/Preferences.xib | 704 ------------- pTunes/pTunes/PreferencesWindowController.h | 19 - pTunes/pTunes/PreferencesWindowController.m | 39 - pTunes/pTunes/en.lproj/MainMenu.xib | 827 ---------------- pTunes/pTunes/pTunes-Prefix.pch | 7 - piTunes/piTunes.xcodeproj/project.pbxproj | 347 +++++++ .../contents.xcworkspacedata | 2 +- .../UserInterfaceState.xcuserstate | Bin 0 -> 26588 bytes .../xcdebugger/Breakpoints.xcbkptlist | 59 ++ .../xcschemes/piTunes.xcscheme | 32 +- .../xcschemes/xcschememanagement.plist | 4 +- piTunes/piTunes/AppDelegate.h | 55 ++ piTunes/piTunes/AppDelegate.m | 232 +++++ piTunes/piTunes/Lyrics.xib | 921 ++++++++++++++++++ piTunes/piTunes/LyricsController.h | 23 + piTunes/piTunes/LyricsController.m | 56 ++ piTunes/piTunes/PreferencesController.h | 13 + piTunes/piTunes/PreferencesController.m | 34 + .../piTunes}/en.lproj/Credits.rtf | 0 .../piTunes}/en.lproj/InfoPlist.strings | 0 piTunes/piTunes/en.lproj/MainMenu.xib | 692 +++++++++++++ {pTunes/pTunes => piTunes/piTunes}/iTunes.h | 0 {pTunes/pTunes => piTunes/piTunes}/main.m | 6 +- .../piTunes/piTunes-Info.plist | 6 +- piTunes/piTunes/piTunes-Prefix.pch | 7 + .../piTunes.xcdatamodeld/.xccurrentversion | 8 + .../piTunes.xcdatamodel/contents | 4 + 39 files changed, 2479 insertions(+), 2907 deletions(-) delete mode 100644 ProjectDescription.pdf delete mode 100644 pTunes/pTunes.xcodeproj/project.pbxproj delete mode 100644 pTunes/pTunes.xcodeproj/project.xcworkspace/xcuserdata/mindworm.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist delete mode 100644 pTunes/pTunes/AppController.h delete mode 100644 pTunes/pTunes/AppController.m delete mode 100644 pTunes/pTunes/AppDelegate.h delete mode 100644 pTunes/pTunes/AppDelegate.m delete mode 100644 pTunes/pTunes/Lyrics.xib delete mode 100644 pTunes/pTunes/LyricsWindowController.h delete mode 100644 pTunes/pTunes/LyricsWindowController.m delete mode 100644 pTunes/pTunes/Preferences.xib delete mode 100644 pTunes/pTunes/PreferencesWindowController.h delete mode 100644 pTunes/pTunes/PreferencesWindowController.m delete mode 100644 pTunes/pTunes/en.lproj/MainMenu.xib delete mode 100644 pTunes/pTunes/pTunes-Prefix.pch create mode 100644 piTunes/piTunes.xcodeproj/project.pbxproj rename {pTunes/pTunes.xcodeproj => piTunes/piTunes.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (71%) create mode 100644 piTunes/piTunes.xcodeproj/project.xcworkspace/xcuserdata/mindworm.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist rename pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/pTunes.xcscheme => piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/piTunes.xcscheme (73%) rename {pTunes/pTunes.xcodeproj => piTunes/piTunes.xcodeproj}/xcuserdata/mindworm.xcuserdatad/xcschemes/xcschememanagement.plist (85%) create mode 100644 piTunes/piTunes/AppDelegate.h create mode 100644 piTunes/piTunes/AppDelegate.m create mode 100644 piTunes/piTunes/Lyrics.xib create mode 100644 piTunes/piTunes/LyricsController.h create mode 100644 piTunes/piTunes/LyricsController.m create mode 100644 piTunes/piTunes/PreferencesController.h create mode 100644 piTunes/piTunes/PreferencesController.m rename {pTunes/pTunes => piTunes/piTunes}/en.lproj/Credits.rtf (100%) rename {pTunes/pTunes => piTunes/piTunes}/en.lproj/InfoPlist.strings (100%) create mode 100644 piTunes/piTunes/en.lproj/MainMenu.xib rename {pTunes/pTunes => piTunes/piTunes}/iTunes.h (100%) rename {pTunes/pTunes => piTunes/piTunes}/main.m (58%) rename pTunes/pTunes/pTunes-Info.plist => piTunes/piTunes/piTunes-Info.plist (94%) create mode 100644 piTunes/piTunes/piTunes-Prefix.pch create mode 100644 piTunes/piTunes/piTunes.xcdatamodeld/.xccurrentversion create mode 100644 piTunes/piTunes/piTunes.xcdatamodeld/piTunes.xcdatamodel/contents diff --git a/ProjectDescription.pdf b/ProjectDescription.pdf deleted file mode 100644 index c3c53dbb0fe8d9e8654aa6bf7d28c71182a1ef8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92308 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 dznlDQ1hugReyD!Da0mz#0tV63i#L{v~z61pHD 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 - - diff --git a/pTunes/pTunes/AppController.h b/pTunes/pTunes/AppController.h deleted file mode 100644 index 5004f6f..0000000 --- a/pTunes/pTunes/AppController.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// AppController.h -// pTunes -// -// Created by mindworm on 12/23/12. -// Copyright (c) 2012 aquaxp. All rights reserved. -// - -#import - -@class LyricsWindowController; -@class PreferencesWindowController; - -@interface AppController : NSObject{ - LyricsWindowController *lyrics; - PreferencesWindowController *preferences; -} --(IBAction)showPreferencesPanel:(id)sender; --(IBAction)showLyricsWindow:(id)sender; - -@end diff --git a/pTunes/pTunes/AppController.m b/pTunes/pTunes/AppController.m deleted file mode 100644 index c84f601..0000000 --- a/pTunes/pTunes/AppController.m +++ /dev/null @@ -1,27 +0,0 @@ -// -// AppController.m -// pTunes -// -// Created by mindworm on 12/23/12. -// Copyright (c) 2012 aquaxp. All rights reserved. -// - -#import "AppController.h" -#import "LyricsWindowController.h" -#import "PreferencesWindowController.h" - - -@implementation AppController --(IBAction)showPreferencesPanel:(id)sender{ - if(!preferences){ - preferences = [[PreferencesWindowController alloc] init]; - } - [preferences showWindow:self]; -} --(IBAction)showLyricsWindow:(id)sender{ - if(!lyrics){ - lyrics = [[LyricsWindowController alloc] init]; - } - [lyrics showWindow:self]; -} -@end diff --git a/pTunes/pTunes/AppDelegate.h b/pTunes/pTunes/AppDelegate.h deleted file mode 100644 index 7725d24..0000000 --- a/pTunes/pTunes/AppDelegate.h +++ /dev/null @@ -1,63 +0,0 @@ -// -// AppDelegate.h -// pTunes -// -// Created by mindworm on 11/23/12. -// Copyright (c) 2012 aquaxp. All rights reserved. -// - -#import -#import "iTunes.h" - -@interface AppDelegate : NSObject { - NSStatusItem *statusItem; - IBOutlet NSMenu *iTunesOpenMenu; - IBOutlet NSMenu *iTunesClosedMenu; - iTunesApplication* iTunes; - NSImage* image; -} -//state items -@property (weak) IBOutlet NSMenuItem *playItemName; -@property (weak) IBOutlet NSMenuItem *shuffleItemName; -@property (weak) IBOutlet NSMenuItem *lyricsItemName; - -// track info -@property (weak) IBOutlet NSMenuItem *menuTrackName; -@property (weak) IBOutlet NSMenuItem *menuArtistName; -@property (weak) IBOutlet NSMenuItem *menuAlbumName; -@property (weak) IBOutlet NSMenuItem *menuComposerName; -@property (weak) IBOutlet NSMenuItem *menuGenreName; -@property (weak) IBOutlet NSMenuItem *menuRatingName; -@property NSString* lyrics; -@property BOOL showMenuInfo; - -//- (IBAction)play:(id)sender; -//- (IBAction)shuffle:(id)sender; -//- (IBAction)next:(id)sender; -//- (IBAction)prev:(id)sender; - -// Core Functionality -- (void)updateData; -- (void)startWatching; -- (void)stopWatching; -//- (void)checkLyrics; -//- (iTunesEPlS)checkiTunesStatus; - -// Menu Changes - -- (void)changeToITC; -- (void)changeToITO; - -// iTunes Controls -- (IBAction)nextSong:(id)sender; -- (IBAction)prevSong:(id)sender; -- (IBAction)begSong:(id)sender; -- (IBAction)playPauseSong:(id)sender; -- (IBAction)quitItunes:(id)sender; -- (IBAction)openItunes:(id)sender; -- (void)openItunesBegin; -- (void)startPlaying; -- (IBAction)shuffle:(id)sender; -- (IBAction)showWindow:(id)sender; - -@end diff --git a/pTunes/pTunes/AppDelegate.m b/pTunes/pTunes/AppDelegate.m deleted file mode 100644 index c105609..0000000 --- a/pTunes/pTunes/AppDelegate.m +++ /dev/null @@ -1,173 +0,0 @@ -// -// AppDelegate.m -// pTunes -// -// Created by mindworm on 11/23/12. -// Copyright (c) 2012 aquaxp. All rights reserved. -// - -#import "AppDelegate.h" -#import "LyricsWindowController.h" - -@implementation AppDelegate - -- (void)applicationDidFinishLaunching:(NSNotification *)aNotification -{ - /// - _showMenuInfo = YES; - /// - [self startWatching]; - - statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength]; - iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"]; - - if (![iTunes isRunning]){ - [statusItem setMenu:iTunesClosedMenu]; - [statusItem setTitle:@"x"]; - [statusItem setHighlightMode:YES]; - [statusItem setEnabled:YES]; - - } - else{ - [statusItem setMenu:iTunesOpenMenu]; - [statusItem setTitle:@"r"]; - [statusItem setHighlightMode:YES]; - [statusItem setEnabled:YES]; - [self updateData]; - } - - //need info - -} - -// core -- (void)startWatching{ - [[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(updateData) name:@"com.apple.iTunes.playerInfo" object:nil]; -} - -- (void)stopWatching{ - [[NSNotificationCenter defaultCenter] removeObserver:self]; -} - --(void)updateData{ - if (![iTunes isRunning]) { - [self changeToITC]; - //[self stopWatching]; - } - else{ - switch ([iTunes playerState]) { - case iTunesEPlSStopped: - [_playItemName setTitle:@"Play"]; - [self updateMenuHead:NO]; - break; - case iTunesEPlSPaused: - [_playItemName setTitle:@"Play"]; - [self updateMenuHead:_showMenuInfo]; - break; - case iTunesEPlSPlaying: - [_playItemName setTitle:@"Pause"]; - [self updateMenuHead:_showMenuInfo]; - break; - default: - [_playItemName setTitle:@"Play/Pause"]; - [self updateMenuHead:NO]; - break; - } - } -} - -- (void)changeToITC{ - [statusItem setMenu:iTunesClosedMenu]; - [statusItem setTitle:@"x"]; - -} - -- (void)changeToITO{ - [statusItem setMenu:iTunesOpenMenu]; - [statusItem setTitle:@"r"]; -} - -- (IBAction)nextSong:(id)sender{ - [iTunes nextTrack]; -} - -- (IBAction)prevSong:(id)sender{ - [iTunes previousTrack]; -} - -- (IBAction)begSong:(id)sender{ - [iTunes backTrack]; -} - -- (IBAction)playPauseSong:(id)sender{ - [iTunes playpause]; -} - -- (IBAction)quitItunes:(id)sender { - [iTunes quit]; - [self changeToITC]; -} - - -- (IBAction)openItunes:(id)sender{ - [iTunes run]; - [self changeToITO]; -} - -- (void)openItunesBegin{ - [iTunes run]; - [self startPlaying]; -} - -- (void)startPlaying{ - [iTunes playpause]; - [self changeToITO]; -} - -- (IBAction)shuffle:(id)sender{ - [[iTunes currentPlaylist] setShuffle:(![[iTunes currentPlaylist] shuffle])]; - NSLog(@"sh"); -} - -- (IBAction)showWindow:(id)sender { - [iTunes run]; -} - -- (void)updateMenuHead:(BOOL)show{ - if (!show) { - [_menuTrackName setHidden:YES]; - [_menuArtistName setHidden:YES]; - [_menuAlbumName setHidden:YES]; - [_menuComposerName setHidden:YES]; - [_menuGenreName setHidden:YES]; - //[_menuRatingName setHidden:YES]; - - [_menuTrackName setTitle:@""]; - [_menuArtistName setTitle:@""]; - [_menuAlbumName setTitle:@""]; - [_menuComposerName setTitle:@""]; - [_menuGenreName setTitle:@""]; - //[_menuRatingName setTitle:@""]; - } - else{ - [_menuTrackName setHidden:NO]; - [_menuArtistName setHidden:NO]; - [_menuAlbumName setHidden:NO]; - [_menuComposerName setHidden:NO]; - [_menuGenreName setHidden:NO]; - //[_menuRatingName setHidden:NO]; - - [_menuTrackName setTitle:[[iTunes currentTrack] name]]; - [_menuArtistName setTitle:[[iTunes currentTrack] artist]]; - [_menuAlbumName setTitle:[[iTunes currentTrack] album]]; - [_menuComposerName setTitle:[[iTunes currentTrack] composer]]; - [_menuGenreName setTitle:[[iTunes currentTrack] genre]]; - //[_menuRatingName setTitle:[[iTunes currentTrack] [NSString ]rating]]; - } -} - --(void)dealloc{ - [self stopWatching]; -} - -@end diff --git a/pTunes/pTunes/Lyrics.xib b/pTunes/pTunes/Lyrics.xib deleted file mode 100644 index dd3d6de..0000000 --- a/pTunes/pTunes/Lyrics.xib +++ /dev/null @@ -1,553 +0,0 @@ - - - - 1080 - 12C60 - 2844 - 1187.34 - 625.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 2844 - - - IBNSLayoutConstraint - NSCustomObject - NSScrollView - NSScroller - NSTextView - NSView - NSWindowTemplate - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - LyricsWindowController - - - FirstResponder - - - NSApplication - - - 8223 - 2 - {{131, 159}, {480, 270}} - 611845120 - Window - NSPanel - - - - - 256 - - - - 256 - - - - 2304 - - - - 2322 - {433, 228} - - - _NS:13 - - - - - - - - - - - - 182 - - - - 433 - 1 - - - 12263 - 0 - - - 3 - MQA - - - - 6 - System - selectedTextBackgroundColor - - 3 - MC42NjY2NjY2NjY3AA - - - - 6 - System - selectedTextColor - - 3 - MAA - - - - - - - 1 - MCAwIDEAA - - - {8, -8} - 13 - - - - - - 1 - - 6 - {463, 10000000} - - - - {{1, 1}, {433, 228}} - - - _NS:11 - - - - {4, 5} - - 12582912 - - - - - - TU0AKgAAEAj///8A////qwAAAP8AAAD/AwMD/BYWFtIFBQVuAAAABv///wD///8E6+vrTGhoaLYtLS3p -BAQE/QAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///+rAAAA/wAAAP8AAAD/AAAA/wAAAP8EBATSX19fK9HR0ZciIiLv -AAAA/wAAAP8AAAD/AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////CsPDw0CRkZG1FxcX9AAAAP8bGxvr -ICAg8AAAAP8ICAjlFRUVVQAAAA////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wrm5uab -FxcX9AAAAP8AAAD/AQEB3wAAAA////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///zaXl5fGAAAA/wAAAP8AAABR////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////CO7u7q8AAAD/AAAA/wAAAAz///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/ -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r -AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///6sAAAD/AAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/AAAA/wAAAP8AAAD/ -AAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+rAAAA/wAAAP8AAAD/ -AAAA/wAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/ -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r -AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////CO7u7q8AAAD/AAAA/wAAAAz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///80mpqaxQAAAP8AAAD/AAAATv///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////CuXl5ZYeHh7xAAAA/wAAAP8CAgLXAAAAD////wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////EKurq0mOjo63FxcX9AAAAP8bGxvrICAg8AAAAP8ICAjlHh4eXAAAABj///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////qwAAAP8AAAD/AAAA/wAAAP8AAAD/BAQE1V9fXyvS0tKZICAg8AAAAP8AAAD/ -AAAA/wAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///+rAAAA/wAAAP8AAAD/FBQU1AUFBXEAAAAG////AP///wTr6+tO -ZWVluC4uLuoAAAD/AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8AABABAAADAAAAAQAgAAABAQADAAAAAQAgAAABAgADAAAABAAA -EM4BAwADAAAAAQABAAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAE -AAABFgADAAAAAQAgAAABFwAEAAAAAQAAEAABGgAFAAAAAQAAENYBGwAFAAAAAQAAEN4BHAADAAAAAQAB -AAABKAADAAAAAQACAAABUgADAAAAAQACAAABUwADAAAABAAAEOYAAAAAAAgACAAIAAgSAAAAACAAABIA -AAAAIAAAAAEAAQABAAE - - - - - - - - TU0AKgAABAj///9VQ0ND/wAAAP////8A////AP///6pDQ0P/AAAA/////wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///+qAAAA/////6oAAAD/////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///6oAAAD/////AP///wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///+qAAAA/////wD///8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////qgAAAP////8A////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6oAAAD/////AP///wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+qAAAA/////wD///8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qgAAAP////8A -////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qgAAAP8AAAD/ -AAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q -AAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////qgAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///6oAAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///+qAAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////qgAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///8A////qgAAAP////+qAAAA/////wD///8A////AP///wD///8A////AP///wD///8A -////AP///wD///9VQ0ND/wAAAP////8A////AP///6pDQ0P/AAAA/////wD///8A////AP///wD///8A -////AP///wD///8AAA4BAAADAAAAAQAQAAABAQADAAAAAQAQAAABAgADAAAABAAABLYBAwADAAAAAQAB -AAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAEAAABFgADAAAAAQAQ -AAABFwAEAAAAAQAABAABHAADAAAAAQABAAABUgADAAAAAQACAAABUwADAAAABAAABL6HcwAHAAAHqAAA -BMYAAAAAAAgACAAIAAgAAQABAAEAAQAAB6hhcHBsAiAAAG1udHJSR0IgWFlaIAfZAAIAGQALABoAC2Fj -c3BBUFBMAAAAAGFwcGwAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2Rlc2MAAAEIAAAAb2RzY20AAAF4AAAFbGNw -cnQAAAbkAAAAOHd0cHQAAAccAAAAFHJYWVoAAAcwAAAAFGdYWVoAAAdEAAAAFGJYWVoAAAdYAAAAFHJU -UkMAAAdsAAAADmNoYWQAAAd8AAAALGJUUkMAAAdsAAAADmdUUkMAAAdsAAAADmRlc2MAAAAAAAAAFEdl -bmVyaWMgUkdCIFByb2ZpbGUAAAAAAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAAB4AAAAMc2tTSwAA -ACgAAAF4aHJIUgAAACgAAAGgY2FFUwAAACQAAAHIcHRCUgAAACYAAAHsdWtVQQAAACoAAAISZnJGVQAA -ACgAAAI8emhUVwAAABYAAAJkaXRJVAAAACgAAAJ6bmJOTwAAACYAAAKia29LUgAAABYAAALIY3NDWgAA -ACIAAALeaGVJTAAAAB4AAAMAZGVERQAAACwAAAMeaHVIVQAAACgAAANKc3ZTRQAAACYAAAKiemhDTgAA -ABYAAANyamFKUAAAABoAAAOIcm9STwAAACQAAAOiZWxHUgAAACIAAAPGcHRQTwAAACYAAAPobmxOTAAA -ACgAAAQOZXNFUwAAACYAAAPodGhUSAAAACQAAAQ2dHJUUgAAACIAAARaZmlGSQAAACgAAAR8cGxQTAAA -ACwAAASkcnVSVQAAACIAAATQYXJFRwAAACYAAATyZW5VUwAAACYAAAUYZGFESwAAAC4AAAU+AFYBYQBl -AG8AYgBlAGMAbgD9ACAAUgBHAEIAIABwAHIAbwBmAGkAbABHAGUAbgBlAHIAaQENAGsAaQAgAFIARwBC -ACAAcAByAG8AZgBpAGwAUABlAHIAZgBpAGwAIABSAEcAQgAgAGcAZQBuAOgAcgBpAGMAUABlAHIAZgBp -AGwAIABSAEcAQgAgAEcAZQBuAOkAcgBpAGMAbwQXBDAEMwQwBDsETAQ9BDgEOQAgBD8EQAQ+BEQEMAQ5 -BDsAIABSAEcAQgBQAHIAbwBmAGkAbAAgAGcA6QBuAOkAcgBpAHEAdQBlACAAUgBWAEKQGnUoACAAUgBH -AEIAIIJyX2ljz4/wAFAAcgBvAGYAaQBsAG8AIABSAEcAQgAgAGcAZQBuAGUAcgBpAGMAbwBHAGUAbgBl -AHIAaQBzAGsAIABSAEcAQgAtAHAAcgBvAGYAaQBsx3y8GAAgAFIARwBCACDVBLhc0wzHfABPAGIAZQBj -AG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwF5AXoBdUF5AXZBdwAIABSAEcAQgAgBdsF3AXcBdkAQQBs -AGwAZwBlAG0AZQBpAG4AZQBzACAAUgBHAEIALQBQAHIAbwBmAGkAbADBAGwAdABhAGwA4QBuAG8AcwAg -AFIARwBCACAAcAByAG8AZgBpAGxmbpAaACAAUgBHAEIAIGPPj/Blh072TgCCLAAgAFIARwBCACAw1zDt -MNUwoTCkMOsAUAByAG8AZgBpAGwAIABSAEcAQgAgAGcAZQBuAGUAcgBpAGMDkwO1A70DuQO6A8wAIAPA -A8EDvwPGA68DuwAgAFIARwBCAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDpAHIAaQBjAG8AQQBs -AGcAZQBtAGUAZQBuACAAUgBHAEIALQBwAHIAbwBmAGkAZQBsDkIOGw4jDkQOHw4lDkwAIABSAEcAQgAg -DhcOMQ5IDicORA4bAEcAZQBuAGUAbAAgAFIARwBCACAAUAByAG8AZgBpAGwAaQBZAGwAZQBpAG4AZQBu -ACAAUgBHAEIALQBwAHIAbwBmAGkAaQBsAGkAVQBuAGkAdwBlAHIAcwBhAGwAbgB5ACAAcAByAG8AZgBp -AGwAIABSAEcAQgQeBDEESQQ4BDkAIAQ/BEAEPgREBDgEOwRMACAAUgBHAEIGRQZEBkEAIAYqBjkGMQZK -BkEAIABSAEcAQgAgBicGRAY5BicGRQBHAGUAbgBlAHIAaQBjACAAUgBHAEIAIABQAHIAbwBmAGkAbABl -AEcAZQBuAGUAcgBlAGwAIABSAEcAQgAtAGIAZQBzAGsAcgBpAHYAZQBsAHMAZXRleHQAAAAAQ29weXJp -Z2h0IDIwMDcgQXBwbGUgSW5jLiwgYWxsIHJpZ2h0cyByZXNlcnZlZC4AWFlaIAAAAAAAAPNSAAEAAAAB -Fs9YWVogAAAAAAAAdE0AAD3uAAAD0FhZWiAAAAAAAABadQAArHMAABc0WFlaIAAAAAAAACgaAAAVnwAA -uDZjdXJ2AAAAAAAAAAEBzQAAc2YzMgAAAAAAAQxCAAAF3v//8yYAAAeSAAD9kf//+6L///2jAAAD3AAA -wGw - - - - - - 3 - MCAwAA - - - - 4 - - - - 256 - {{418, 1}, {16, 228}} - - _NS:83 - NO - - _doScroller: - 1 - 0.85256409645080566 - - - - -2147483392 - {{-100, -100}, {87, 18}} - - - _NS:33 - NO - 1 - - _doScroller: - 1 - 0.94565218687057495 - - - {{20, 20}, {435, 230}} - - - _NS:9 - 133138 - - - - 0.25 - 4 - 1 - - - {480, 270} - - - _NS:21 - - {{0, 0}, {1440, 878}} - {10000000000000, 10000000000000} - YES - - - - - - - window - - - - 3 - - - - lyricsText - - - - 28 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 1 - - - - - - - - 2 - - - - - - 6 - 0 - - 6 - 1 - - 25 - - 1000 - - 3 - 9 - 3 - - - - 4 - 0 - - 4 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 3 - 0 - - 3 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 5 - 0 - - 5 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - - - 18 - - - - - - - - - - 19 - - - - - 20 - - - - - 21 - - - - - 23 - - - - - 24 - - - - - 26 - - - - - 27 - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - 28 - - - 0 - IBCocoaFramework - YES - 3 - YES - - diff --git a/pTunes/pTunes/LyricsWindowController.h b/pTunes/pTunes/LyricsWindowController.h deleted file mode 100644 index 9dea82e..0000000 --- a/pTunes/pTunes/LyricsWindowController.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// LyricsWindowController.h -// pTunes -// -// Created by mindworm on 12/24/12. -// Copyright (c) 2012 aquaxp. All rights reserved. -// - -#import - -@interface LyricsWindowController : NSWindowController{ - IBOutlet NSTextView* lyricsText; -} --(void)changeLyricsText:(NSString*) text; - -@end diff --git a/pTunes/pTunes/LyricsWindowController.m b/pTunes/pTunes/LyricsWindowController.m deleted file mode 100644 index 4b90221..0000000 --- a/pTunes/pTunes/LyricsWindowController.m +++ /dev/null @@ -1,41 +0,0 @@ -// -// LyricsWindowController.m -// pTunes -// -// Created by mindworm on 12/24/12. -// Copyright (c) 2012 aquaxp. All rights reserved. -// - -#import "LyricsWindowController.h" - -@interface LyricsWindowController () - -@end - -@implementation LyricsWindowController - --(id)init{ - return [super initWithWindowNibName:@"Lyrics"]; -} - -- (id)initWithWindow:(NSWindow *)window -{ - self = [super initWithWindow:window]; - if (self) { - // Initialization code here. - } - - return self; -} - -- (void)windowDidLoad -{ - [super windowDidLoad]; - - // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file. -} --(void)changeLyricsText:(NSString*) text{ - [lyricsText insertText:text]; -} - -@end diff --git a/pTunes/pTunes/Preferences.xib b/pTunes/pTunes/Preferences.xib deleted file mode 100644 index 8af2cc2..0000000 --- a/pTunes/pTunes/Preferences.xib +++ /dev/null @@ -1,704 +0,0 @@ - - - - 1080 - 12C60 - 2844 - 1187.34 - 625.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 2844 - - - IBNSLayoutConstraint - NSButton - NSButtonCell - NSCustomObject - NSForm - NSFormCell - NSTabView - NSTabViewItem - NSView - NSWindowTemplate - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - PreferencesWindowController - - - FirstResponder - - - NSApplication - - - 19 - 2 - {{139, 81}, {588, 429}} - -1535638528 - Preferences - NSPanel - - - - - 256 - - - - 12 - {{13, 10}, {562, 413}} - - - - _NS:9 - - - 1 - - - 256 - - - - 268 - {{15, 348}, {175, 18}} - - _NS:9 - YES - - -2080374784 - 268435456 - Show track info in menu - - LucidaGrande - 13 - 1044 - - _NS:9 - - 1211912448 - 2 - - NSImage - NSSwitch - - - NSSwitch - - - - 200 - 25 - - NO - - - {{10, 33}, {542, 367}} - - _NS:11 - - Main - - 6 - System - controlColor - - 3 - MC42NjY2NjY2NjY3AA - - - - - - 2 - - - 256 - - - - 268 - {{17, 312}, {203, 52}} - - - - _NS:9 - YES - NO - 2 - 1 - - - 342884417 - 205521920 - username - - - 65.88330078125 - - 67108864 - 67108864 - username - - - - - - 342884417 - 205526016 - password - - - - 1 - 65.88330078125 - - 67108864 - 201326592 - password - - - - - - {203, 22} - {1, 8} - 76021760 - NSActionCell - - 342884416 - 205521920 - - - 65.88330078125 - - 67108864 - 67108864 - Field: - - - - -1 - -1 - - - 3 - MQA - - - YES - - - {{10, 33}, {542, 367}} - - - - _NS:28 - - Last.FM - - - - - - - 256 - {{10, 33}, {542, 367}} - - Shortcuts - - - - - - - 0 - YES - YES - - - - - - {588, 429} - - - - _NS:21 - - {{0, 0}, {1440, 878}} - {10000000000000, 10000000000000} - YES - - - - - - - window - - - - 30 - - - - showInfo - - - - 31 - - - - changeShowInfo: - - - - 32 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 1 - - - - - - - - 2 - - - - - 6 - 0 - - 6 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 5 - 0 - - 5 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 4 - 0 - - 4 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 3 - 0 - - 3 - 1 - - 12 - - 1000 - - 8 - 29 - 3 - - - - - - - 3 - - - - - - - - - - 4 - - - - - - - - 5 - - - - - - - - 6 - - - - - - 3 - 0 - - 3 - 1 - - 3 - - 1000 - - 8 - 29 - 3 - - - - 5 - 0 - - 5 - 1 - - 17 - - 1000 - - 8 - 29 - 3 - - - - - - 7 - - - - - - 5 - 0 - - 5 - 1 - - 17 - - 1000 - - 8 - 29 - 3 - - - - 3 - 0 - - 3 - 1 - - 3 - - 1000 - - 8 - 29 - 3 - - - - - - 10 - - - - - 13 - - - - - 14 - - - - - 15 - - - - - 16 - - - - - - - - 17 - - - - - 18 - - - - - - - - 7 - 0 - - 0 - 1 - - 203 - - 1000 - - 3 - 9 - 1 - - - - - - 19 - - - - - 20 - - - - - 21 - - - - - 23 - - - - - 24 - - - - - 25 - - - - - 26 - - - - - - - - 27 - - - - - 28 - - - - - 29 - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - 32 - - - - - NSLayoutConstraint - NSObject - - IBProjectSource - ./Classes/NSLayoutConstraint.h - - - - PreferencesWindowController - NSWindowController - - changeShowInfo: - id - - - changeShowInfo: - - changeShowInfo: - id - - - - showInfo - NSButton - - - showInfo - - showInfo - NSButton - - - - IBProjectSource - ./Classes/PreferencesWindowController.h - - - - - 0 - IBCocoaFramework - YES - 3 - - NSSwitch - {15, 15} - - YES - - diff --git a/pTunes/pTunes/PreferencesWindowController.h b/pTunes/pTunes/PreferencesWindowController.h deleted file mode 100644 index c4c7075..0000000 --- a/pTunes/pTunes/PreferencesWindowController.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// PreferencesWindowController.h -// pTunes -// -// Created by mindworm on 12/23/12. -// Copyright (c) 2012 aquaxp. All rights reserved. -// - -#import - -extern NSString *const PTshowInfoKey; - -@interface PreferencesWindowController : NSWindowController{ - IBOutlet NSButton* showInfo; -} - --(IBAction)changeShowInfo:(id)sender; - -@end diff --git a/pTunes/pTunes/PreferencesWindowController.m b/pTunes/pTunes/PreferencesWindowController.m deleted file mode 100644 index a49c17f..0000000 --- a/pTunes/pTunes/PreferencesWindowController.m +++ /dev/null @@ -1,39 +0,0 @@ -// -// PreferencesWindowController.m -// pTunes -// -// Created by mindworm on 12/23/12. -// Copyright (c) 2012 aquaxp. All rights reserved. -// - -#import "PreferencesWindowController.h" - -@interface PreferencesWindowController () - -@end - -@implementation PreferencesWindowController - --(id)init{ - return [super initWithWindowNibName:@"Preferences"]; -} - -- (id)initWithWindow:(NSWindow *)window -{ - self = [super initWithWindow:window]; - if (self) { - // Initialization code here. - } - - return self; -} - -- (void)windowDidLoad -{ - [super windowDidLoad]; -} - --(IBAction)changeShowInfo:(id)sender{ -} - -@end diff --git a/pTunes/pTunes/en.lproj/MainMenu.xib b/pTunes/pTunes/en.lproj/MainMenu.xib deleted file mode 100644 index d631830..0000000 --- a/pTunes/pTunes/en.lproj/MainMenu.xib +++ /dev/null @@ -1,827 +0,0 @@ - - - - 1080 - 12C60 - 2844 - 1187.34 - 625.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 2844 - - - NSCustomObject - NSMenu - NSMenuItem - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - NSApplication - - - FirstResponder - - - NSApplication - - - AppDelegate - - - NSFontManager - - - - - - - YES - YES - Name - - 2147483647 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - - - - YES - YES - Artist - - 2147483647 - - - - - - YES - YES - Album - - 2147483647 - - - - - - YES - YES - Composer - - 2147483647 - - - - - - YES - YES - Genre - - 2147483647 - - - - - - YES - YES - Rating - - 2147483647 - - - - - - Play - - 2147483647 - - - - - - Previous - - 2147483647 - - - - - - Next - - 2147483647 - - - - - - Shuffle - - 2147483647 - - - - - - Lyrics - - 2147483647 - - - - - - Preferences... - - 2147483647 - - - - - - Quit - - 2147483647 - - - - - - - AppController - - - PreferencesWindowController - - - LyricsWindowController - - - - - - - YES - iTunes not running - - 2147483647 - - - - - - Run iTunes - - 2147483647 - - - - - - Preferences - - 2147483647 - - - - - - Quit - - 2147483647 - - - - - - - - - - - terminate: - - - - 688 - - - - terminate: - - - - 784 - - - - delegate - - - - 495 - - - - menu - - - - 557 - - - - shuffle: - - - - 664 - - - - playItemName - - - - 772 - - - - shuffleItemName - - - - 773 - - - - lyricsItemName - - - - 774 - - - - men - - - - 783 - - - - menuWithITunes - - - - 787 - - - - menuWithoutITunes - - - - 788 - - - - iTunesOpenMenu - - - - 789 - - - - iTunesClosedMenu - - - - 790 - - - - menuTrackName - - - - 791 - - - - menuArtistName - - - - 792 - - - - menuAlbumName - - - - 793 - - - - menuComposerName - - - - 794 - - - - menuGenreName - - - - 795 - - - - menuRatingName - - - - 796 - - - - playPauseSong: - - - - 797 - - - - nextSong: - - - - 798 - - - - prevSong: - - - - 799 - - - - openItunes: - - - - 800 - - - - showWindow: - - - - 808 - - - - showWindow: - - - - 809 - - - - showWindow: - - - - 771 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 420 - - - - - 494 - - - - - 543 - - - - - - - - - - - - - - - - - - - - 545 - - - - - 546 - - - - - 556 - - - - - 649 - - - - - 650 - - - - - 652 - - - - - 653 - - - - - 654 - - - - - 655 - - - - - 667 - - - - - 764 - - - - - 767 - - - - - 769 - - - - - 775 - - - - - 776 - - - - - 778 - - - - - 779 - - - - - - - - - - - 780 - - - - - 781 - - - - - 782 - - - - - 786 - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - 809 - - - - - AppController - NSObject - - id - id - - - - showLyricsWindow: - id - - - showPreferencesPanel: - id - - - - IBProjectSource - ./Classes/AppController.h - - - - AppDelegate - NSObject - - id - id - id - id - id - id - id - id - - - - begSong: - id - - - nextSong: - id - - - openItunes: - id - - - playPauseSong: - id - - - prevSong: - id - - - quitItunes: - id - - - showWindow: - id - - - shuffle: - id - - - - NSMenu - NSMenu - NSMenuItem - NSMenuItem - NSMenuItem - NSMenuItem - NSMenuItem - NSMenuItem - NSMenuItem - NSMenuItem - NSMenuItem - - - - iTunesClosedMenu - NSMenu - - - iTunesOpenMenu - NSMenu - - - lyricsItemName - NSMenuItem - - - menuAlbumName - NSMenuItem - - - menuArtistName - NSMenuItem - - - menuComposerName - NSMenuItem - - - menuGenreName - NSMenuItem - - - menuRatingName - NSMenuItem - - - menuTrackName - NSMenuItem - - - playItemName - NSMenuItem - - - shuffleItemName - NSMenuItem - - - - IBProjectSource - ./Classes/AppDelegate.h - - - - LyricsWindowController - NSWindowController - - lyricsText - NSTextView - - - lyricsText - - lyricsText - NSTextView - - - - IBProjectSource - ./Classes/LyricsWindowController.h - - - - PreferencesWindowController - NSWindowController - - changeShowInfo: - id - - - changeShowInfo: - - changeShowInfo: - id - - - - showInfo - NSButton - - - showInfo - - showInfo - NSButton - - - - IBProjectSource - ./Classes/PreferencesWindowController.h - - - - - 0 - IBCocoaFramework - YES - 3 - - {11, 11} - {10, 3} - - YES - - diff --git a/pTunes/pTunes/pTunes-Prefix.pch b/pTunes/pTunes/pTunes-Prefix.pch deleted file mode 100644 index a4344f1..0000000 --- a/pTunes/pTunes/pTunes-Prefix.pch +++ /dev/null @@ -1,7 +0,0 @@ -// -// Prefix header for all source files of the 'pTunes' target in the 'pTunes' project -// - -#ifdef __OBJC__ - #import -#endif diff --git a/piTunes/piTunes.xcodeproj/project.pbxproj b/piTunes/piTunes.xcodeproj/project.pbxproj new file mode 100644 index 0000000..eac050f --- /dev/null +++ b/piTunes/piTunes.xcodeproj/project.pbxproj @@ -0,0 +1,347 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + E10D46ED16982DD300E9266C /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E10D46EC16982DD300E9266C /* Cocoa.framework */; }; + E10D46F716982DD300E9266C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E10D46F516982DD300E9266C /* InfoPlist.strings */; }; + E10D46F916982DD300E9266C /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E10D46F816982DD300E9266C /* main.m */; }; + E10D46FD16982DD300E9266C /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = E10D46FB16982DD300E9266C /* Credits.rtf */; }; + E10D470016982DD300E9266C /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E10D46FF16982DD300E9266C /* AppDelegate.m */; }; + E10D470316982DD300E9266C /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = E10D470116982DD300E9266C /* MainMenu.xib */; }; + E10D470E16983DF800E9266C /* LyricsController.m in Sources */ = {isa = PBXBuildFile; fileRef = E10D470D16983DF800E9266C /* LyricsController.m */; }; + E10D471116983E1E00E9266C /* PreferencesController.m in Sources */ = {isa = PBXBuildFile; fileRef = E10D471016983E1E00E9266C /* PreferencesController.m */; }; + E10D471316983FAF00E9266C /* Lyrics.xib in Resources */ = {isa = PBXBuildFile; fileRef = E10D471216983FAF00E9266C /* Lyrics.xib */; }; + E19A2F9516984AE60044B4CA /* ScriptingBridge.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E19A2F9416984AE60044B4CA /* ScriptingBridge.framework */; }; + E19A2FBE169A66050044B4CA /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = E19A2FBD169A66050044B4CA /* README.md */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + E10D46E816982DD300E9266C /* piTunes.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = piTunes.app; sourceTree = BUILT_PRODUCTS_DIR; }; + E10D46EC16982DD300E9266C /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + E10D46EF16982DD300E9266C /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; + E10D46F016982DD300E9266C /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; + E10D46F116982DD300E9266C /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + E10D46F416982DD300E9266C /* piTunes-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "piTunes-Info.plist"; sourceTree = ""; }; + E10D46F616982DD300E9266C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + E10D46F816982DD300E9266C /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + E10D46FA16982DD300E9266C /* piTunes-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "piTunes-Prefix.pch"; sourceTree = ""; }; + E10D46FC16982DD300E9266C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; + E10D46FE16982DD300E9266C /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + E10D46FF16982DD300E9266C /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + E10D470216982DD300E9266C /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; + E10D470916983AD200E9266C /* iTunes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = iTunes.h; sourceTree = ""; }; + E10D470C16983DF800E9266C /* LyricsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LyricsController.h; sourceTree = ""; }; + E10D470D16983DF800E9266C /* LyricsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LyricsController.m; sourceTree = ""; }; + E10D470F16983E1E00E9266C /* PreferencesController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PreferencesController.h; sourceTree = ""; }; + E10D471016983E1E00E9266C /* PreferencesController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PreferencesController.m; sourceTree = ""; }; + E10D471216983FAF00E9266C /* Lyrics.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = Lyrics.xib; sourceTree = ""; }; + E19A2F9416984AE60044B4CA /* ScriptingBridge.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ScriptingBridge.framework; path = System/Library/Frameworks/ScriptingBridge.framework; sourceTree = SDKROOT; }; + E19A2FBD169A66050044B4CA /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = README.md; path = ../README.md; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + E10D46E516982DD300E9266C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + E19A2F9516984AE60044B4CA /* ScriptingBridge.framework in Frameworks */, + E10D46ED16982DD300E9266C /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + E10D46DD16982DD300E9266C = { + isa = PBXGroup; + children = ( + E19A2FBD169A66050044B4CA /* README.md */, + E10D46F216982DD300E9266C /* piTunes */, + E10D46EB16982DD300E9266C /* Frameworks */, + E10D46E916982DD300E9266C /* Products */, + ); + sourceTree = ""; + }; + E10D46E916982DD300E9266C /* Products */ = { + isa = PBXGroup; + children = ( + E10D46E816982DD300E9266C /* piTunes.app */, + ); + name = Products; + sourceTree = ""; + }; + E10D46EB16982DD300E9266C /* Frameworks */ = { + isa = PBXGroup; + children = ( + E19A2F9416984AE60044B4CA /* ScriptingBridge.framework */, + E10D46EC16982DD300E9266C /* Cocoa.framework */, + E10D46EE16982DD300E9266C /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + E10D46EE16982DD300E9266C /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + E10D46EF16982DD300E9266C /* AppKit.framework */, + E10D46F016982DD300E9266C /* CoreData.framework */, + E10D46F116982DD300E9266C /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + E10D46F216982DD300E9266C /* piTunes */ = { + isa = PBXGroup; + children = ( + E10D470B16983BFD00E9266C /* Lyrics */, + E10D470A16983BEE00E9266C /* Preferences */, + E10D46FE16982DD300E9266C /* AppDelegate.h */, + E10D46FF16982DD300E9266C /* AppDelegate.m */, + E10D470116982DD300E9266C /* MainMenu.xib */, + E10D46F316982DD300E9266C /* Supporting Files */, + ); + path = piTunes; + sourceTree = ""; + }; + E10D46F316982DD300E9266C /* Supporting Files */ = { + isa = PBXGroup; + children = ( + E10D470916983AD200E9266C /* iTunes.h */, + E10D46F416982DD300E9266C /* piTunes-Info.plist */, + E10D46F516982DD300E9266C /* InfoPlist.strings */, + E10D46F816982DD300E9266C /* main.m */, + E10D46FA16982DD300E9266C /* piTunes-Prefix.pch */, + E10D46FB16982DD300E9266C /* Credits.rtf */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + E10D470A16983BEE00E9266C /* Preferences */ = { + isa = PBXGroup; + children = ( + E10D470F16983E1E00E9266C /* PreferencesController.h */, + E10D471016983E1E00E9266C /* PreferencesController.m */, + ); + name = Preferences; + sourceTree = ""; + }; + E10D470B16983BFD00E9266C /* Lyrics */ = { + isa = PBXGroup; + children = ( + E10D470C16983DF800E9266C /* LyricsController.h */, + E10D470D16983DF800E9266C /* LyricsController.m */, + E10D471216983FAF00E9266C /* Lyrics.xib */, + ); + name = Lyrics; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + E10D46E716982DD300E9266C /* piTunes */ = { + isa = PBXNativeTarget; + buildConfigurationList = E10D470616982DD300E9266C /* Build configuration list for PBXNativeTarget "piTunes" */; + buildPhases = ( + E10D46E416982DD300E9266C /* Sources */, + E10D46E516982DD300E9266C /* Frameworks */, + E10D46E616982DD300E9266C /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = piTunes; + productName = piTunes; + productReference = E10D46E816982DD300E9266C /* piTunes.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + E10D46DF16982DD300E9266C /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0450; + ORGANIZATIONNAME = aquaxp; + }; + buildConfigurationList = E10D46E216982DD300E9266C /* Build configuration list for PBXProject "piTunes" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = E10D46DD16982DD300E9266C; + productRefGroup = E10D46E916982DD300E9266C /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + E10D46E716982DD300E9266C /* piTunes */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + E10D46E616982DD300E9266C /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E10D46F716982DD300E9266C /* InfoPlist.strings in Resources */, + E10D46FD16982DD300E9266C /* Credits.rtf in Resources */, + E10D470316982DD300E9266C /* MainMenu.xib in Resources */, + E10D471316983FAF00E9266C /* Lyrics.xib in Resources */, + E19A2FBE169A66050044B4CA /* README.md in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + E10D46E416982DD300E9266C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E10D46F916982DD300E9266C /* main.m in Sources */, + E10D470016982DD300E9266C /* AppDelegate.m in Sources */, + E10D470E16983DF800E9266C /* LyricsController.m in Sources */, + E10D471116983E1E00E9266C /* PreferencesController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + E10D46F516982DD300E9266C /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + E10D46F616982DD300E9266C /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + E10D46FB16982DD300E9266C /* Credits.rtf */ = { + isa = PBXVariantGroup; + children = ( + E10D46FC16982DD300E9266C /* en */, + ); + name = Credits.rtf; + sourceTree = ""; + }; + E10D470116982DD300E9266C /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + E10D470216982DD300E9266C /* en */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + E10D470416982DD300E9266C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.8; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + E10D470516982DD300E9266C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.8; + SDKROOT = macosx; + }; + name = Release; + }; + E10D470716982DD300E9266C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "piTunes/piTunes-Prefix.pch"; + INFOPLIST_FILE = "piTunes/piTunes-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + E10D470816982DD300E9266C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "piTunes/piTunes-Prefix.pch"; + INFOPLIST_FILE = "piTunes/piTunes-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + E10D46E216982DD300E9266C /* Build configuration list for PBXProject "piTunes" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E10D470416982DD300E9266C /* Debug */, + E10D470516982DD300E9266C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E10D470616982DD300E9266C /* Build configuration list for PBXNativeTarget "piTunes" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E10D470716982DD300E9266C /* Debug */, + E10D470816982DD300E9266C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = E10D46DF16982DD300E9266C /* Project object */; +} diff --git a/pTunes/pTunes.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/piTunes/piTunes.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 71% rename from pTunes/pTunes.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to piTunes/piTunes.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 6816af7..10dc22c 100644 --- a/pTunes/pTunes.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/piTunes/piTunes.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:piTunes.xcodeproj"> diff --git a/piTunes/piTunes.xcodeproj/project.xcworkspace/xcuserdata/mindworm.xcuserdatad/UserInterfaceState.xcuserstate b/piTunes/piTunes.xcodeproj/project.xcworkspace/xcuserdata/mindworm.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..e794f8de40cec6c07268097f729ebf0072714f8f GIT binary patch literal 26588 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 F{{sdg@{j-k literal 0 HcmV?d00001 diff --git a/piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist new file mode 100644 index 0000000..41bbc92 --- /dev/null +++ b/piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -0,0 +1,59 @@ + + + + + + + + + + + + + diff --git a/pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/pTunes.xcscheme b/piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/piTunes.xcscheme similarity index 73% rename from pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/pTunes.xcscheme rename to piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/piTunes.xcscheme index 49b15a3..5ac8f32 100644 --- a/pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/pTunes.xcscheme +++ b/piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/piTunes.xcscheme @@ -14,10 +14,10 @@ buildForAnalyzing = "YES"> + BlueprintIdentifier = "E10D46E716982DD300E9266C" + BuildableName = "piTunes.app" + BlueprintName = "piTunes" + ReferencedContainer = "container:piTunes.xcodeproj"> @@ -32,10 +32,10 @@ + BlueprintIdentifier = "E10D46E716982DD300E9266C" + BuildableName = "piTunes.app" + BlueprintName = "piTunes" + ReferencedContainer = "container:piTunes.xcodeproj"> @@ -51,10 +51,10 @@ + BlueprintIdentifier = "E10D46E716982DD300E9266C" + BuildableName = "piTunes.app" + BlueprintName = "piTunes" + ReferencedContainer = "container:piTunes.xcodeproj"> @@ -69,10 +69,10 @@ + BlueprintIdentifier = "E10D46E716982DD300E9266C" + BuildableName = "piTunes.app" + BlueprintName = "piTunes" + ReferencedContainer = "container:piTunes.xcodeproj"> diff --git a/pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/xcschememanagement.plist b/piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/xcschememanagement.plist similarity index 85% rename from pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/xcschememanagement.plist rename to piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/xcschememanagement.plist index 06f0bcf..c27f7fe 100644 --- a/pTunes/pTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcschemes/xcschememanagement.plist @@ -4,7 +4,7 @@ SchemeUserState - pTunes.xcscheme + piTunes.xcscheme orderHint 0 @@ -12,7 +12,7 @@ SuppressBuildableAutocreation - E1100CCD165EAB77001EE8FF + E10D46E716982DD300E9266C primary diff --git a/piTunes/piTunes/AppDelegate.h b/piTunes/piTunes/AppDelegate.h new file mode 100644 index 0000000..b56db50 --- /dev/null +++ b/piTunes/piTunes/AppDelegate.h @@ -0,0 +1,55 @@ +// +// AppDelegate.h +// piTunes +// +// Created by mindworm on 1/5/13. +// Copyright (c) 2013 aquaxp. All rights reserved. +// + +#import +#import "iTunes.h" + +@class LyricsController; + +@interface AppDelegate : NSObject { + NSStatusItem *statusItem; + IBOutlet NSMenu *playingMenu; + IBOutlet NSMenu *closedMenu; + iTunesApplication* iTunes; + NSUserNotificationCenter *notificationCenter; + LyricsController *lyricsWindow; + + //temporary + NSImage* image; +} + +//iTunes playing menu items +@property (weak) IBOutlet NSMenuItem *menuItemName; +@property (weak) IBOutlet NSMenuItem *menuItemArtist; +@property (weak) IBOutlet NSMenuItem *menuItemAlbum; +@property (weak) IBOutlet NSMenuItem *menuItemSeparator0; +@property (weak) IBOutlet NSMenuItem *menuItemPlay; +@property (weak) IBOutlet NSMenuItem *menuItemShuffleOn; +@property (weak) IBOutlet NSMenuItem *menuItemOff; +@property (weak) IBOutlet NSMenuItem *menuItemRepeatOn; +@property (weak) IBOutlet NSMenuItem *menuItemRepeatOff; + +- (IBAction)menuItemPlay:(id)sender; +- (IBAction)menuItemNext:(id)sender; +- (IBAction)menuItemPrevious:(id)sender; +- (IBAction)menuItemShuffleOn:(id)sender; +- (IBAction)menuItemShuffleOff:(id)sender; +- (IBAction)menuItemRepeatOn:(id)sender; +- (IBAction)menuItemRepeatOff:(id)sender; +- (IBAction)menuItemLyrics:(id)sender; + +//iTunes shared items +- (IBAction)menuItemPreferences:(id)sender; + +//iTunes closed menu items +@property (weak) IBOutlet NSMenuItem *menuItemStatus; +@property (weak) IBOutlet NSMenuItem *menuItemRun; + +- (IBAction)menuItemRun:(id)sender; + +@end diff --git a/piTunes/piTunes/AppDelegate.m b/piTunes/piTunes/AppDelegate.m new file mode 100644 index 0000000..9f9651f --- /dev/null +++ b/piTunes/piTunes/AppDelegate.m @@ -0,0 +1,232 @@ +// +// AppDelegate.m +// piTunes +// +// Created by mindworm on 1/5/13. +// Copyright (c) 2013 aquaxp. All rights reserved. +// + +#import "AppDelegate.h" +#import "LyricsController.h" + +@implementation AppDelegate + +- (void)applicationDidFinishLaunching:(NSNotification *)aNotification +{ + [self startWatching]; + statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength]; + iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"]; + notificationCenter = [NSUserNotificationCenter defaultUserNotificationCenter]; + notificationCenter.delegate = self; + [statusItem setTitle:@"π"]; + + if (![iTunes isRunning]){ + [statusItem setMenu:closedMenu]; + [statusItem setHighlightMode:YES]; + [statusItem setEnabled:YES]; + + } + else{ + [statusItem setMenu:playingMenu]; + [statusItem setHighlightMode:YES]; + [statusItem setEnabled:YES]; + } + + [self updateData]; + + +} + +//core func +- (void)startWatching{ + [[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(updateData) name:@"com.apple.iTunes.playerInfo" object:nil]; +} + +- (void)stopWatching{ + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + +- (void)updateData{ + if (![iTunes isRunning]) { + [self changeToITC]; + } + else{ + switch ([iTunes playerState]) { + case iTunesEPlSStopped: + [_menuItemPlay setTitle:@"Play"]; + break; + case iTunesEPlSPaused: + [_menuItemPlay setTitle:@"Play"]; + break; + case iTunesEPlSPlaying: + [_menuItemPlay setTitle:@"Pause"]; + break; + default: + [_menuItemPlay setTitle:@"Play/Pause"]; + break; + } + [lyricsWindow updateLyrics:[[iTunes currentTrack] lyrics]]; + [self updateMenu]; + } + [self showNotification]; +} + +- (void)updateMenu{ + [_menuItemName setTitle:[[iTunes currentTrack] name]]; + [_menuItemArtist setTitle:[[iTunes currentTrack] artist]]; + [_menuItemAlbum setTitle:[[iTunes currentTrack] album]]; + //hide? + //[_menuItemSeparator0 setHidden:YES]]; + switch ([[iTunes currentPlaylist] songRepeat]) { + case iTunesERptAll: + NSLog(@"1"); + //[_menuItemRepeat setTitle:@"Repeat: On"]; + [_menuItemRepeatOn setState:NSOnState]; + [_menuItemRepeatOff setState:NSOffState]; + break; + case iTunesERptOff: + NSLog(@"2"); + //[_menuItemRepeat setTitle:@"Repeat: Off"]; + [_menuItemRepeatOn setState:NSOffState]; + [_menuItemRepeatOff setState:NSOnState]; + break; + case iTunesERptOne: + NSLog(@"3"); + //[_menuItemRepeat setTitle:@"Repeat: One"]; + [_menuItemRepeatOn setState:NSOffState]; + [_menuItemRepeatOff setState:NSOffState]; + break; + } + if([[iTunes currentPlaylist] shuffle] == YES){ + //[_menuItemShuffle setTitle:@"Shuffle: On"]; + [_menuItemShuffleOn setState:NSOnState]; + [_menuItemOff setState:NSOffState]; + + } + else if ([[iTunes currentPlaylist] shuffle] == NO){ + //[_menuItemShuffle setTitle:@"Shuffle: Off"]; + [_menuItemShuffleOn setState:NSOffState]; + [_menuItemOff setState:NSOnState]; + + } + else{ + //iTUNES doesn't support shuffle(11) + //[_menuItemShuffle setTitle:@"Shuffle: N/A"]; + } +} + +//NotificationCenter func +-(BOOL)userNotificationCenter:(NSUserNotificationCenter *)center shouldPresentNotification:(NSUserNotification *)notification{ + return YES; +} + +-(void)userNotificationCenter:(NSUserNotificationCenter *)center didActivateNotification:(NSUserNotification *)notification{ + if ([notification activationType] == NSUserNotificationActivationTypeContentsClicked && [iTunes isRunning]){ + [iTunes activate]; + } + else if(![iTunes isRunning]){ + [iTunes run]; + [iTunes activate]; + [self changeToITO]; + } +} + +-(void)showNotification{ + NSUserNotification *notification = [[NSUserNotification alloc] init]; + if([iTunes isRunning]){ + switch ([iTunes playerState]) { + case iTunesEPlSPaused: + [notification setTitle:@"Paused"]; + [notification setSubtitle:[[iTunes currentTrack] name]]; + [notification setInformativeText:[[iTunes currentTrack] artist]]; + [notification setActionButtonTitle:@"Show iTunes"]; + [notification setOtherButtonTitle:@"Hide"]; + [notificationCenter deliverNotification: notification]; + break; + case iTunesEPlSPlaying: + [notification setTitle:@"Now Playing"]; + [notification setSubtitle:[[iTunes currentTrack] name]]; + [notification setInformativeText:[[iTunes currentTrack] artist]]; + [notification setActionButtonTitle:@"Show iTunes"]; + [notification setOtherButtonTitle:@"Hide"]; + [notificationCenter deliverNotification: notification]; + + break; + default: + break; + } + } + else{ + [notification setTitle:@"iTunes is not running"]; + [notification setSubtitle:@"Please run iTunes"]; + [notification setActionButtonTitle:@"Run iTunes"]; + [notification setOtherButtonTitle:@"Hide"]; + [notificationCenter deliverNotification: notification]; + } +} + +//menu change +- (void)changeToITC{ + [statusItem setMenu:closedMenu]; +} + +- (void)changeToITO{ + [statusItem setMenu:playingMenu]; +} + +//menu action +- (IBAction)menuItemPlay:(id)sender { + [iTunes playpause]; +} + +- (IBAction)menuItemNext:(id)sender { + [iTunes nextTrack]; +} + +- (IBAction)menuItemPrevious:(id)sender { + [iTunes previousTrack]; +} + +- (IBAction)menuItemShuffleOn:(id)sender { + +} + +- (IBAction)menuItemShuffleOff:(id)sender { + +} + +- (IBAction)menuItemRepeatOn:(id)sender { + //[_menuItemRepeatOn setState:NSOnState]; + //[_menuItemRepeatOff setState:NSOffState]; + [[iTunes currentPlaylist] setSongRepeat:iTunesERptAll]; +} + +- (IBAction)menuItemRepeatOff:(id)sender { + //[_menuItemRepeatOn setState:NSOffState]; + //[_menuItemRepeatOff setState:NSOnState]; + [[iTunes currentPlaylist] setSongRepeat:iTunesERptOff]; +} + +- (IBAction)menuItemLyrics:(id)sender { + if(!lyricsWindow){ + lyricsWindow = [[LyricsController alloc] init]; + } + [lyricsWindow showWindow:self]; + [lyricsWindow updateLyrics:[[iTunes currentTrack] lyrics]]; +} + +- (IBAction)menuItemPreferences:(id)sender { + NSLog(@"run preferences"); +} + + +- (IBAction)menuItemRun:(id)sender { + [iTunes run]; + [self changeToITO]; +} + + +- (void)dealloc{ + [self stopWatching]; +} +@end diff --git a/piTunes/piTunes/Lyrics.xib b/piTunes/piTunes/Lyrics.xib new file mode 100644 index 0000000..ed652d5 --- /dev/null +++ b/piTunes/piTunes/Lyrics.xib @@ -0,0 +1,921 @@ + + + + 1080 + 12C60 + 2844 + 1187.34 + 625.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2844 + + + IBNSLayoutConstraint + NSButton + NSButtonCell + NSCustomObject + NSScrollView + NSScroller + NSTextView + NSView + NSWindowTemplate + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + LyricsController + + + FirstResponder + + + NSApplication + + + 8223 + 2 + {{139, 81}, {276, 432}} + 611845120 + Window + NSPanel + + + + + 256 + + + + 256 + + + + 2304 + + + + 2322 + {236, 368} + + + _NS:13 + + + + + + + + + + + + 182 + + + + 236 + 1 + + + 11365 + 0 + + + 3 + MQA + + + + 6 + System + selectedTextBackgroundColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + selectedTextColor + + 3 + MAA + + + + + + + 1 + MCAwIDEAA + + + {8, -8} + 13 + + + + + + 1 + + 6 + {463, 10000000} + + + + {236, 368} + + + _NS:11 + + + + {4, 5} + + 12582912 + + + + + + TU0AKgAAEAj///8A////qwAAAP8AAAD/AwMD/BYWFtIFBQVuAAAABv///wD///8E6+vrTGhoaLYtLS3p +BAQE/QAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///+rAAAA/wAAAP8AAAD/AAAA/wAAAP8EBATSX19fK9HR0ZciIiLv +AAAA/wAAAP8AAAD/AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////CsPDw0CRkZG1FxcX9AAAAP8bGxvr +ICAg8AAAAP8ICAjlFRUVVQAAAA////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wrm5uab +FxcX9AAAAP8AAAD/AQEB3wAAAA////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///zaXl5fGAAAA/wAAAP8AAABR////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////CO7u7q8AAAD/AAAA/wAAAAz///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/ +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r +AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///6sAAAD/AAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/AAAA/wAAAP8AAAD/ +AAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+rAAAA/wAAAP8AAAD/ +AAAA/wAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/ +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r +AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////CO7u7q8AAAD/AAAA/wAAAAz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///80mpqaxQAAAP8AAAD/AAAATv///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////CuXl5ZYeHh7xAAAA/wAAAP8CAgLXAAAAD////wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////EKurq0mOjo63FxcX9AAAAP8bGxvrICAg8AAAAP8ICAjlHh4eXAAAABj///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////qwAAAP8AAAD/AAAA/wAAAP8AAAD/BAQE1V9fXyvS0tKZICAg8AAAAP8AAAD/ +AAAA/wAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///+rAAAA/wAAAP8AAAD/FBQU1AUFBXEAAAAG////AP///wTr6+tO +ZWVluC4uLuoAAAD/AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8AABABAAADAAAAAQAgAAABAQADAAAAAQAgAAABAgADAAAABAAA +EM4BAwADAAAAAQABAAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAE +AAABFgADAAAAAQAgAAABFwAEAAAAAQAAEAABGgAFAAAAAQAAENYBGwAFAAAAAQAAEN4BHAADAAAAAQAB +AAABKAADAAAAAQACAAABUgADAAAAAQACAAABUwADAAAABAAAEOYAAAAAAAgACAAIAAgSAAAAACAAABIA +AAAAIAAAAAEAAQABAAE + + + + + + + + TU0AKgAABAj///9VQ0ND/wAAAP////8A////AP///6pDQ0P/AAAA/////wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///+qAAAA/////6oAAAD/////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///6oAAAD/////AP///wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///+qAAAA/////wD///8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////qgAAAP////8A////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6oAAAD/////AP///wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+qAAAA/////wD///8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qgAAAP////8A +////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qgAAAP8AAAD/ +AAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q +AAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////qgAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///6oAAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///+qAAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////qgAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///8A////qgAAAP////+qAAAA/////wD///8A////AP///wD///8A////AP///wD///8A +////AP///wD///9VQ0ND/wAAAP////8A////AP///6pDQ0P/AAAA/////wD///8A////AP///wD///8A +////AP///wD///8AAA4BAAADAAAAAQAQAAABAQADAAAAAQAQAAABAgADAAAABAAABLYBAwADAAAAAQAB +AAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAEAAABFgADAAAAAQAQ +AAABFwAEAAAAAQAABAABHAADAAAAAQABAAABUgADAAAAAQACAAABUwADAAAABAAABL6HcwAHAAAHqAAA +BMYAAAAAAAgACAAIAAgAAQABAAEAAQAAB6hhcHBsAiAAAG1udHJSR0IgWFlaIAfZAAIAGQALABoAC2Fj +c3BBUFBMAAAAAGFwcGwAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2Rlc2MAAAEIAAAAb2RzY20AAAF4AAAFbGNw +cnQAAAbkAAAAOHd0cHQAAAccAAAAFHJYWVoAAAcwAAAAFGdYWVoAAAdEAAAAFGJYWVoAAAdYAAAAFHJU +UkMAAAdsAAAADmNoYWQAAAd8AAAALGJUUkMAAAdsAAAADmdUUkMAAAdsAAAADmRlc2MAAAAAAAAAFEdl +bmVyaWMgUkdCIFByb2ZpbGUAAAAAAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAAB4AAAAMc2tTSwAA +ACgAAAF4aHJIUgAAACgAAAGgY2FFUwAAACQAAAHIcHRCUgAAACYAAAHsdWtVQQAAACoAAAISZnJGVQAA +ACgAAAI8emhUVwAAABYAAAJkaXRJVAAAACgAAAJ6bmJOTwAAACYAAAKia29LUgAAABYAAALIY3NDWgAA +ACIAAALeaGVJTAAAAB4AAAMAZGVERQAAACwAAAMeaHVIVQAAACgAAANKc3ZTRQAAACYAAAKiemhDTgAA +ABYAAANyamFKUAAAABoAAAOIcm9STwAAACQAAAOiZWxHUgAAACIAAAPGcHRQTwAAACYAAAPobmxOTAAA +ACgAAAQOZXNFUwAAACYAAAPodGhUSAAAACQAAAQ2dHJUUgAAACIAAARaZmlGSQAAACgAAAR8cGxQTAAA +ACwAAASkcnVSVQAAACIAAATQYXJFRwAAACYAAATyZW5VUwAAACYAAAUYZGFESwAAAC4AAAU+AFYBYQBl +AG8AYgBlAGMAbgD9ACAAUgBHAEIAIABwAHIAbwBmAGkAbABHAGUAbgBlAHIAaQENAGsAaQAgAFIARwBC +ACAAcAByAG8AZgBpAGwAUABlAHIAZgBpAGwAIABSAEcAQgAgAGcAZQBuAOgAcgBpAGMAUABlAHIAZgBp +AGwAIABSAEcAQgAgAEcAZQBuAOkAcgBpAGMAbwQXBDAEMwQwBDsETAQ9BDgEOQAgBD8EQAQ+BEQEMAQ5 +BDsAIABSAEcAQgBQAHIAbwBmAGkAbAAgAGcA6QBuAOkAcgBpAHEAdQBlACAAUgBWAEKQGnUoACAAUgBH +AEIAIIJyX2ljz4/wAFAAcgBvAGYAaQBsAG8AIABSAEcAQgAgAGcAZQBuAGUAcgBpAGMAbwBHAGUAbgBl +AHIAaQBzAGsAIABSAEcAQgAtAHAAcgBvAGYAaQBsx3y8GAAgAFIARwBCACDVBLhc0wzHfABPAGIAZQBj +AG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwF5AXoBdUF5AXZBdwAIABSAEcAQgAgBdsF3AXcBdkAQQBs +AGwAZwBlAG0AZQBpAG4AZQBzACAAUgBHAEIALQBQAHIAbwBmAGkAbADBAGwAdABhAGwA4QBuAG8AcwAg +AFIARwBCACAAcAByAG8AZgBpAGxmbpAaACAAUgBHAEIAIGPPj/Blh072TgCCLAAgAFIARwBCACAw1zDt +MNUwoTCkMOsAUAByAG8AZgBpAGwAIABSAEcAQgAgAGcAZQBuAGUAcgBpAGMDkwO1A70DuQO6A8wAIAPA +A8EDvwPGA68DuwAgAFIARwBCAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDpAHIAaQBjAG8AQQBs +AGcAZQBtAGUAZQBuACAAUgBHAEIALQBwAHIAbwBmAGkAZQBsDkIOGw4jDkQOHw4lDkwAIABSAEcAQgAg +DhcOMQ5IDicORA4bAEcAZQBuAGUAbAAgAFIARwBCACAAUAByAG8AZgBpAGwAaQBZAGwAZQBpAG4AZQBu +ACAAUgBHAEIALQBwAHIAbwBmAGkAaQBsAGkAVQBuAGkAdwBlAHIAcwBhAGwAbgB5ACAAcAByAG8AZgBp +AGwAIABSAEcAQgQeBDEESQQ4BDkAIAQ/BEAEPgREBDgEOwRMACAAUgBHAEIGRQZEBkEAIAYqBjkGMQZK +BkEAIABSAEcAQgAgBicGRAY5BicGRQBHAGUAbgBlAHIAaQBjACAAUgBHAEIAIABQAHIAbwBmAGkAbABl +AEcAZQBuAGUAcgBlAGwAIABSAEcAQgAtAGIAZQBzAGsAcgBpAHYAZQBsAHMAZXRleHQAAAAAQ29weXJp +Z2h0IDIwMDcgQXBwbGUgSW5jLiwgYWxsIHJpZ2h0cyByZXNlcnZlZC4AWFlaIAAAAAAAAPNSAAEAAAAB +Fs9YWVogAAAAAAAAdE0AAD3uAAAD0FhZWiAAAAAAAABadQAArHMAABc0WFlaIAAAAAAAACgaAAAVnwAA +uDZjdXJ2AAAAAAAAAAEBzQAAc2YzMgAAAAAAAQxCAAAF3v//8yYAAAeSAAD9kf//+6L///2jAAAD3AAA +wGw + + + + + + 3 + MCAwAA + + + + 2 + + + + 256 + {{220, 0}, {16, 368}} + + + _NS:83 + NO + + _doScroller: + 1 + 0.85256409645080566 + 2 + + + + -2147483392 + {{-100, -100}, {87, 18}} + + + _NS:33 + NO + 1 + + _doScroller: + 1 + 0.94565218687057495 + 2 + + + {{20, 20}, {236, 368}} + + + _NS:9 + 133136 + + + + 2 + 0.25 + 4 + 1 + + + + 268 + {{20, 395}, {62, 17}} + + + _NS:9 + YES + + -2080374784 + 134217728 + Edit + + LucidaGrande-Bold + 11 + 3357 + + _NS:9 + + -2030288896 + 39 + + 549650432 + {1, 1} + + + + + + TU0AKgAAAAoAAAAOAQAAAwAAAAEAAQAAAQEAAwAAAAEAAQAAAQIAAwAAAAIACAAIAQMAAwAAAAEAAQAA +AQYAAwAAAAEAAQAAAREABAAAAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEAAgAAARYAAwAAAAEAAQAA +ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABh3MABwAAB7gAAAC4 +AAAAAAAAB7hhcHBsAiAAAG1udHJHUkFZWFlaIAfQAAIADgAMAAAAAGFjc3BBUFBMAAAAAG5vbmUAAAAA +AAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAABWRlc2MAAADAAAAAb2RzY20AAAEwAAAGLGNwcnQAAAdcAAAAOHd0cHQAAAeU +AAAAFGtUUkMAAAeoAAAADmRlc2MAAAAAAAAAFUdlbmVyaWMgR3JheSBQcm9maWxlAAAAAAAAAAAAAAAV +R2VuZXJpYyBHcmF5IFByb2ZpbGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAABtbHVjAAAAAAAAAB4AAAAMc2tTSwAAACoAAAF4aHJIUgAAADoAAAGiY2FFUwAAACwAAAHc +cHRCUgAAACoAAAIIdWtVQQAAACwAAAIyZnJGVQAAACoAAAJeemhUVwAAABAAAAKIaXRJVAAAAC4AAAKY +bmJOTwAAACwAAALGa29LUgAAABgAAALyY3NDWgAAACQAAAMKaGVJTAAAACAAAAMuZGVERQAAADoAAANO +aHVIVQAAAC4AAAOIc3ZTRQAAAC4AAAO2emhDTgAAABAAAAPkamFKUAAAABYAAAP0cm9STwAAACIAAAQK +ZWxHUgAAACQAAAQscHRQTwAAADgAAARQbmxOTAAAACoAAASIZXNFUwAAACgAAASydGhUSAAAACQAAATa +dHJUUgAAACIAAAT+ZmlGSQAAACwAAAUgcGxQTAAAADYAAAVMcnVSVQAAACYAAAWCYXJFRwAAACgAAAWo +ZW5VUwAAACgAAAXQZGFESwAAADQAAAX4AFYBYQBlAG8AYgBlAGMAbgD9ACAAcwBpAHYA/QAgAHAAcgBv +AGYAaQBsAEcAZQBuAGUAcgBpAQ0AawBpACAAcAByAG8AZgBpAGwAIABzAGkAdgBpAGgAIAB0AG8AbgBv +AHYAYQBQAGUAcgBmAGkAbAAgAGQAZQAgAGcAcgBpAHMAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBs +ACAAQwBpAG4AegBhACAARwBlAG4A6QByAGkAYwBvBBcEMAQzBDAEOwRMBD0EOAQ5ACAEPwRABD4ERAQw +BDkEOwAgAEcAcgBhAHkAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAGcAcgBpAHOQGnUo +cHCWjoJyX2ljz4/wAFAAcgBvAGYAaQBsAG8AIABnAHIAaQBnAGkAbwAgAGcAZQBuAGUAcgBpAGMAbwBH +AGUAbgBlAHIAaQBzAGsAIABnAHIA5QB0AG8AbgBlAHAAcgBvAGYAaQBsx3y8GAAgAEcAcgBhAHkAINUE +uFzTDMd8AE8AYgBlAGMAbgD9ACABYQBlAGQA/QAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAARwBy +AGEAeQAgBdsF3AXcBdkAQQBsAGwAZwBlAG0AZQBpAG4AZQBzACAARwByAGEAdQBzAHQAdQBmAGUAbgAt +AFAAcgBvAGYAaQBsAMEAbAB0AGEAbADhAG4AbwBzACAAcwB6APwAcgBrAGUAIABwAHIAbwBmAGkAbABH +AGUAbgBlAHIAaQBzAGsAIABnAHIA5QBzAGsAYQBsAGUAcAByAG8AZgBpAGxmbpAacHBepmPPj/Blh072 +TgCCLDCwMOwwpDDXMO0w1TChMKQw6wBQAHIAbwBmAGkAbAAgAGcAcgBpACAAZwBlAG4AZQByAGkDkwO1 +A70DuQO6A8wAIAPAA8EDvwPGA68DuwAgA7MDugPBA7kAUABlAHIAZgBpAGwAIABnAGUAbgDpAHIAaQBj +AG8AIABkAGUAIABjAGkAbgB6AGUAbgB0AG8AcwBBAGwAZwBlAG0AZQBlAG4AIABnAHIAaQBqAHMAcABy +AG8AZgBpAGUAbABQAGUAcgBmAGkAbAAgAGcAcgBpAHMAIABnAGUAbgDpAHIAaQBjAG8OQg4bDiMORA4f +DiUOTA4qDjUOQA4XDjIOFw4xDkgOJw5EDhsARwBlAG4AZQBsACAARwByAGkAIABQAHIAbwBmAGkAbABp +AFkAbABlAGkAbgBlAG4AIABoAGEAcgBtAGEAYQBwAHIAbwBmAGkAaQBsAGkAVQBuAGkAdwBlAHIAcwBh +AGwAbgB5ACAAcAByAG8AZgBpAGwAIABzAHoAYQByAG8BWwBjAGkEHgQxBEkEOAQ5ACAEQQQ1BEAESwQ5 +ACAEPwRABD4ERAQ4BDsETAZFBkQGQQAgBioGOQYxBkoGQQAgAEcAcgBhAHkAIAYnBkQGOQYnBkUARwBl +AG4AZQByAGkAYwAgAEcAcgBhAHkAIABQAHIAbwBmAGkAbABlAEcAZQBuAGUAcgBlAGwAIABnAHIA5QB0 +AG8AbgBlAGIAZQBzAGsAcgBpAHYAZQBsAHMAZXRleHQAAAAAQ29weXJpZ2h0IDIwMDcgQXBwbGUgSW5j +LiwgYWxsIHJpZ2h0cyByZXNlcnZlZC4AWFlaIAAAAAAAAPNRAAEAAAABFsxjdXJ2AAAAAAAAAAEBzQAA +A + + + + + + + + + 200 + 25 + + NO + + + + -2147483380 + {{194, 395}, {62, 17}} + + + _NS:9 + YES + + -2080374784 + 134217728 + Done + + _NS:9 + + 922501120 + 39 + + 549650432 + {1, 1} + + + + + + TU0AKgAAAAoAAAAOAQAAAwAAAAEAAQAAAQEAAwAAAAEAAQAAAQIAAwAAAAIACAAIAQMAAwAAAAEAAQAA +AQYAAwAAAAEAAQAAAREABAAAAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEAAgAAARYAAwAAAAEAAQAA +ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABh3MABwAAB7gAAAC4 +AAAAAAAAB7hhcHBsAiAAAG1udHJHUkFZWFlaIAfQAAIADgAMAAAAAGFjc3BBUFBMAAAAAG5vbmUAAAAA +AAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAABWRlc2MAAADAAAAAb2RzY20AAAEwAAAGLGNwcnQAAAdcAAAAOHd0cHQAAAeU +AAAAFGtUUkMAAAeoAAAADmRlc2MAAAAAAAAAFUdlbmVyaWMgR3JheSBQcm9maWxlAAAAAAAAAAAAAAAV +R2VuZXJpYyBHcmF5IFByb2ZpbGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAABtbHVjAAAAAAAAAB4AAAAMc2tTSwAAACoAAAF4aHJIUgAAADoAAAGiY2FFUwAAACwAAAHc +cHRCUgAAACoAAAIIdWtVQQAAACwAAAIyZnJGVQAAACoAAAJeemhUVwAAABAAAAKIaXRJVAAAAC4AAAKY +bmJOTwAAACwAAALGa29LUgAAABgAAALyY3NDWgAAACQAAAMKaGVJTAAAACAAAAMuZGVERQAAADoAAANO +aHVIVQAAAC4AAAOIc3ZTRQAAAC4AAAO2emhDTgAAABAAAAPkamFKUAAAABYAAAP0cm9STwAAACIAAAQK +ZWxHUgAAACQAAAQscHRQTwAAADgAAARQbmxOTAAAACoAAASIZXNFUwAAACgAAASydGhUSAAAACQAAATa +dHJUUgAAACIAAAT+ZmlGSQAAACwAAAUgcGxQTAAAADYAAAVMcnVSVQAAACYAAAWCYXJFRwAAACgAAAWo +ZW5VUwAAACgAAAXQZGFESwAAADQAAAX4AFYBYQBlAG8AYgBlAGMAbgD9ACAAcwBpAHYA/QAgAHAAcgBv +AGYAaQBsAEcAZQBuAGUAcgBpAQ0AawBpACAAcAByAG8AZgBpAGwAIABzAGkAdgBpAGgAIAB0AG8AbgBv +AHYAYQBQAGUAcgBmAGkAbAAgAGQAZQAgAGcAcgBpAHMAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBs +ACAAQwBpAG4AegBhACAARwBlAG4A6QByAGkAYwBvBBcEMAQzBDAEOwRMBD0EOAQ5ACAEPwRABD4ERAQw +BDkEOwAgAEcAcgBhAHkAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAGcAcgBpAHOQGnUo +cHCWjoJyX2ljz4/wAFAAcgBvAGYAaQBsAG8AIABnAHIAaQBnAGkAbwAgAGcAZQBuAGUAcgBpAGMAbwBH +AGUAbgBlAHIAaQBzAGsAIABnAHIA5QB0AG8AbgBlAHAAcgBvAGYAaQBsx3y8GAAgAEcAcgBhAHkAINUE +uFzTDMd8AE8AYgBlAGMAbgD9ACABYQBlAGQA/QAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAARwBy +AGEAeQAgBdsF3AXcBdkAQQBsAGwAZwBlAG0AZQBpAG4AZQBzACAARwByAGEAdQBzAHQAdQBmAGUAbgAt +AFAAcgBvAGYAaQBsAMEAbAB0AGEAbADhAG4AbwBzACAAcwB6APwAcgBrAGUAIABwAHIAbwBmAGkAbABH +AGUAbgBlAHIAaQBzAGsAIABnAHIA5QBzAGsAYQBsAGUAcAByAG8AZgBpAGxmbpAacHBepmPPj/Blh072 +TgCCLDCwMOwwpDDXMO0w1TChMKQw6wBQAHIAbwBmAGkAbAAgAGcAcgBpACAAZwBlAG4AZQByAGkDkwO1 +A70DuQO6A8wAIAPAA8EDvwPGA68DuwAgA7MDugPBA7kAUABlAHIAZgBpAGwAIABnAGUAbgDpAHIAaQBj +AG8AIABkAGUAIABjAGkAbgB6AGUAbgB0AG8AcwBBAGwAZwBlAG0AZQBlAG4AIABnAHIAaQBqAHMAcABy +AG8AZgBpAGUAbABQAGUAcgBmAGkAbAAgAGcAcgBpAHMAIABnAGUAbgDpAHIAaQBjAG8OQg4bDiMORA4f +DiUOTA4qDjUOQA4XDjIOFw4xDkgOJw5EDhsARwBlAG4AZQBsACAARwByAGkAIABQAHIAbwBmAGkAbABp +AFkAbABlAGkAbgBlAG4AIABoAGEAcgBtAGEAYQBwAHIAbwBmAGkAaQBsAGkAVQBuAGkAdwBlAHIAcwBh +AGwAbgB5ACAAcAByAG8AZgBpAGwAIABzAHoAYQByAG8BWwBjAGkEHgQxBEkEOAQ5ACAEQQQ1BEAESwQ5 +ACAEPwRABD4ERAQ4BDsETAZFBkQGQQAgBioGOQYxBkoGQQAgAEcAcgBhAHkAIAYnBkQGOQYnBkUARwBl +AG4AZQByAGkAYwAgAEcAcgBhAHkAIABQAHIAbwBmAGkAbABlAEcAZQBuAGUAcgBlAGwAIABnAHIA5QB0 +AG8AbgBlAGIAZQBzAGsAcgBpAHYAZQBsAHMAZXRleHQAAAAAQ29weXJpZ2h0IDIwMDcgQXBwbGUgSW5j +LiwgYWxsIHJpZ2h0cyByZXNlcnZlZC4AWFlaIAAAAAAAAPNRAAEAAAABFsxjdXJ2AAAAAAAAAAEBzQAA +A + + + + + + + + + 200 + 25 + + NO + + + {276, 432} + + + _NS:21 + + {{0, 0}, {1440, 878}} + {10000000000000, 10000000000000} + YES + + + + + + + lyricsTextView + + + + 14 + + + + window + + + + 62 + + + + buttonEdit + + + + 112 + + + + buttonDone + + + + 113 + + + + editLyrics: + + + + 114 + + + + commitLyrics: + + + + 115 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 1 + + + + + + + + 2 + + + + + + 3 + 0 + + 3 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 6 + 0 + + 6 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 3 + 0 + + 4 + 1 + + 8 + + 1000 + + 6 + 24 + 3 + + + + 4 + 0 + + 4 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 6 + 0 + + 6 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 5 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 5 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 3 + 0 + + 3 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + + + + + 3 + + + + + + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 10 + + + + + 11 + + + + + 64 + + + + + 67 + + + + + + 7 + 0 + + 0 + 1 + + 62 + + 1000 + + 3 + 9 + 1 + + + + + + 68 + + + + + 99 + + + + + 100 + + + + + 7 + 0 + + 0 + 1 + + 62 + + 1000 + + 3 + 9 + 1 + + + + + + + 102 + + + + + 103 + + + + + 106 + + + + + 107 + + + + + 109 + + + + + 110 + + + + + 111 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 115 + + + 0 + IBCocoaFramework + YES + 3 + YES + + diff --git a/piTunes/piTunes/LyricsController.h b/piTunes/piTunes/LyricsController.h new file mode 100644 index 0000000..5766cc1 --- /dev/null +++ b/piTunes/piTunes/LyricsController.h @@ -0,0 +1,23 @@ +// +// LyricsController.h +// piTunes +// +// Created by mindworm on 1/5/13. +// Copyright (c) 2013 aquaxp. All rights reserved. +// + +#import + +@interface LyricsController : NSWindowController{ + NSString* lyrics; +} + +@property (unsafe_unretained) IBOutlet NSTextView *lyricsTextView; +@property (weak) IBOutlet NSButton *buttonEdit; +@property (weak) IBOutlet NSButton *buttonDone; + +- (void)updateLyrics:(NSString *)text; +- (IBAction)editLyrics:(id)sender; +- (IBAction)commitLyrics:(id)sender; + +@end diff --git a/piTunes/piTunes/LyricsController.m b/piTunes/piTunes/LyricsController.m new file mode 100644 index 0000000..68f1c40 --- /dev/null +++ b/piTunes/piTunes/LyricsController.m @@ -0,0 +1,56 @@ +// +// LyricsController.m +// piTunes +// +// Created by mindworm on 1/5/13. +// Copyright (c) 2013 aquaxp. All rights reserved. +// + +#import "LyricsController.h" + +@interface LyricsController () + +@end + +@implementation LyricsController + +- (id)init{ + lyrics = @"no lyrics"; + return [super initWithWindowNibName:@"Lyrics"]; +} + +- (void)updateLyrics:(NSString *)text{ + lyrics = text; + //if (lyrics == @""){ lyrics = @"No lyrics";} + [_lyricsTextView setTextColor:[NSColor whiteColor]]; + [_lyricsTextView setString:lyrics]; +} + +- (IBAction)editLyrics:(id)sender { + if([_buttonEdit title] == @"Edit"){ + [_buttonEdit setTitle:@"Cancel"]; + [_lyricsTextView setEditable:YES]; + [_buttonDone setHidden:NO]; + } + else{ + [_buttonEdit setTitle:@"Edit"]; + [_lyricsTextView setEditable:NO]; + [self updateLyrics:lyrics]; + [_buttonDone setHidden:YES]; + } +} + +- (IBAction)commitLyrics:(id)sender { + [_buttonEdit setTitle:@"Edit"]; + [_lyricsTextView setEditable:NO]; + [_buttonDone setHidden:YES]; + + [self updateLyrics:lyrics]; + + +} +-(void)showWindow:(id)sender{ + [super showWindow:sender]; +} + +@end diff --git a/piTunes/piTunes/PreferencesController.h b/piTunes/piTunes/PreferencesController.h new file mode 100644 index 0000000..f513d6a --- /dev/null +++ b/piTunes/piTunes/PreferencesController.h @@ -0,0 +1,13 @@ +// +// PreferencesController.h +// piTunes +// +// Created by mindworm on 1/5/13. +// Copyright (c) 2013 aquaxp. All rights reserved. +// + +#import + +@interface PreferencesController : NSWindowController + +@end diff --git a/piTunes/piTunes/PreferencesController.m b/piTunes/piTunes/PreferencesController.m new file mode 100644 index 0000000..b57cade --- /dev/null +++ b/piTunes/piTunes/PreferencesController.m @@ -0,0 +1,34 @@ +// +// PreferencesController.m +// piTunes +// +// Created by mindworm on 1/5/13. +// Copyright (c) 2013 aquaxp. All rights reserved. +// + +#import "PreferencesController.h" + +@interface PreferencesController () + +@end + +@implementation PreferencesController + +- (id)initWithWindow:(NSWindow *)window +{ + self = [super initWithWindow:window]; + if (self) { + // Initialization code here. + } + + return self; +} + +- (void)windowDidLoad +{ + [super windowDidLoad]; + + // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file. +} + +@end diff --git a/pTunes/pTunes/en.lproj/Credits.rtf b/piTunes/piTunes/en.lproj/Credits.rtf similarity index 100% rename from pTunes/pTunes/en.lproj/Credits.rtf rename to piTunes/piTunes/en.lproj/Credits.rtf diff --git a/pTunes/pTunes/en.lproj/InfoPlist.strings b/piTunes/piTunes/en.lproj/InfoPlist.strings similarity index 100% rename from pTunes/pTunes/en.lproj/InfoPlist.strings rename to piTunes/piTunes/en.lproj/InfoPlist.strings diff --git a/piTunes/piTunes/en.lproj/MainMenu.xib b/piTunes/piTunes/en.lproj/MainMenu.xib new file mode 100644 index 0000000..12e2db0 --- /dev/null +++ b/piTunes/piTunes/en.lproj/MainMenu.xib @@ -0,0 +1,692 @@ + + + + 1080 + 12C60 + 2844 + 1187.34 + 625.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2844 + + + NSCustomObject + NSMenu + NSMenuItem + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + NSApplication + + + FirstResponder + + + NSApplication + + + AppDelegate + + + NSFontManager + + + + + + + Name + + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + + + + Artist + + 2147483647 + + + + + + Album + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Play/Pause + + 2147483647 + + + + + + Next + + 2147483647 + + + + + + Previous + + 2147483647 + + + + + + Shuffle + S + 2147483647 + + + submenuAction: + + Shuffle + + + + On + + 2147483647 + + + + + + Off + + 2147483647 + + + + + + + + + Repeat + Gw + 2147483647 + + + submenuAction: + + Repeat + + + + On + + 2147483647 + + + + + + Off + + 2147483647 + + + + + + + + + Lyrics... + + 2147483647 + + + + + + Preferences... + + 2147483647 + + + + + + Quit + + 2147483647 + + + + + + + + + + + YES + iTunes is not running + + 2147483647 + + + + + + Run iTunes + + 2147483647 + + + + + + Preferences... + + 2147483647 + + + + + + Quit + + 2147483647 + + + + + + + + + + + terminate: + + + + 598 + + + + terminate: + + + + 599 + + + + delegate + + + + 495 + + + + menuItemName + + + + 565 + + + + menuItemArtist + + + + 566 + + + + menuItemAlbum + + + + 567 + + + + menuItemSeparator0 + + + + 568 + + + + menuItemPlay + + + + 569 + + + + menuItemPlay: + + + + 570 + + + + menuItemNext: + + + + 571 + + + + menuItemPrevious: + + + + 572 + + + + menuItemShuffleOn: + + + + 574 + + + + menuItemShuffleOff: + + + + 575 + + + + menuItemRepeatOn: + + + + 582 + + + + menuItemRepeatOff: + + + + 584 + + + + menuItemLyrics: + + + + 585 + + + + menuItemPreferences: + + + + 586 + + + + menuItemStatus + + + + 588 + + + + menuItemRun + + + + 589 + + + + menuItemRun: + + + + 590 + + + + menuItemPreferences: + + + + 591 + + + + closedMenu + + + + 593 + + + + playingMenu + + + + 594 + + + + menuItemRepeatOff + + + + 603 + + + + menuItemRepeatOn + + + + 604 + + + + menuItemShuffle + + + + 606 + + + + menuItemShuffleOn + + + + 607 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 420 + + + + + 494 + + + + + 536 + + + + + + + + + + + + + + + + + + + 537 + + + + + 538 + + + + + 539 + + + + + 540 + + + + + + + + + + + 541 + + + + + 542 + + + + + 543 + + + + + 544 + + + + + 545 + + + + + 546 + + + + + 548 + + + + + 549 + + + + + 551 + + + + + 552 + + + + + + + + 553 + + + + + + + + + 554 + + + + + 556 + + + + + 558 + + + + + 559 + + + + + 560 + + + + + + + + 561 + + + + + + + + + 562 + + + + + 564 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 609 + + + 0 + IBCocoaFramework + YES + 3 + + {11, 11} + {10, 3} + + YES + + diff --git a/pTunes/pTunes/iTunes.h b/piTunes/piTunes/iTunes.h similarity index 100% rename from pTunes/pTunes/iTunes.h rename to piTunes/piTunes/iTunes.h diff --git a/pTunes/pTunes/main.m b/piTunes/piTunes/main.m similarity index 58% rename from pTunes/pTunes/main.m rename to piTunes/piTunes/main.m index 9c626bb..814fd1a 100644 --- a/pTunes/pTunes/main.m +++ b/piTunes/piTunes/main.m @@ -1,9 +1,9 @@ // // main.m -// pTunes +// piTunes // -// Created by mindworm on 11/23/12. -// Copyright (c) 2012 aquaxp. All rights reserved. +// Created by mindworm on 1/5/13. +// Copyright (c) 2013 aquaxp. All rights reserved. // #import diff --git a/pTunes/pTunes/pTunes-Info.plist b/piTunes/piTunes/piTunes-Info.plist similarity index 94% rename from pTunes/pTunes/pTunes-Info.plist rename to piTunes/piTunes/piTunes-Info.plist index 2947288..e69c2be 100644 --- a/pTunes/pTunes/pTunes-Info.plist +++ b/piTunes/piTunes/piTunes-Info.plist @@ -2,8 +2,6 @@ - LSUIElement - CFBundleDevelopmentRegion en CFBundleExecutable @@ -28,8 +26,10 @@ public.app-category.music LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} + LSUIElement + NSHumanReadableCopyright - Copyright © 2012 aquaxp. All rights reserved. + Copyright © 2013 aquaxp. All rights reserved. NSMainNibFile MainMenu NSPrincipalClass diff --git a/piTunes/piTunes/piTunes-Prefix.pch b/piTunes/piTunes/piTunes-Prefix.pch new file mode 100644 index 0000000..98a338a --- /dev/null +++ b/piTunes/piTunes/piTunes-Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'piTunes' target in the 'piTunes' project +// + +#ifdef __OBJC__ + #import +#endif diff --git a/piTunes/piTunes/piTunes.xcdatamodeld/.xccurrentversion b/piTunes/piTunes/piTunes.xcdatamodeld/.xccurrentversion new file mode 100644 index 0000000..f0acc96 --- /dev/null +++ b/piTunes/piTunes/piTunes.xcdatamodeld/.xccurrentversion @@ -0,0 +1,8 @@ + + + + + _XCCurrentVersionName + piTunes.xcdatamodel + + diff --git a/piTunes/piTunes/piTunes.xcdatamodeld/piTunes.xcdatamodel/contents b/piTunes/piTunes/piTunes.xcdatamodeld/piTunes.xcdatamodel/contents new file mode 100644 index 0000000..fd3d23f --- /dev/null +++ b/piTunes/piTunes/piTunes.xcdatamodeld/piTunes.xcdatamodel/contents @@ -0,0 +1,4 @@ + + + + \ No newline at end of file From 024fbcaedf19cfd5e1f18b24c9639271715caebb Mon Sep 17 00:00:00 2001 From: aquaxp Date: Mon, 7 Jan 2013 09:13:40 +0700 Subject: [PATCH 4/6] new --- piTunes/piTunes/piTunes.xcdatamodeld/.xccurrentversion | 8 -------- .../piTunes.xcdatamodeld/piTunes.xcdatamodel/contents | 4 ---- 2 files changed, 12 deletions(-) delete mode 100644 piTunes/piTunes/piTunes.xcdatamodeld/.xccurrentversion delete mode 100644 piTunes/piTunes/piTunes.xcdatamodeld/piTunes.xcdatamodel/contents diff --git a/piTunes/piTunes/piTunes.xcdatamodeld/.xccurrentversion b/piTunes/piTunes/piTunes.xcdatamodeld/.xccurrentversion deleted file mode 100644 index f0acc96..0000000 --- a/piTunes/piTunes/piTunes.xcdatamodeld/.xccurrentversion +++ /dev/null @@ -1,8 +0,0 @@ - - - - - _XCCurrentVersionName - piTunes.xcdatamodel - - diff --git a/piTunes/piTunes/piTunes.xcdatamodeld/piTunes.xcdatamodel/contents b/piTunes/piTunes/piTunes.xcdatamodeld/piTunes.xcdatamodel/contents deleted file mode 100644 index fd3d23f..0000000 --- a/piTunes/piTunes/piTunes.xcdatamodeld/piTunes.xcdatamodel/contents +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file From c98b8bbcc1422f8ad00fddb2d20da76c63389dff Mon Sep 17 00:00:00 2001 From: aquaxp Date: Mon, 7 Jan 2013 09:14:44 +0700 Subject: [PATCH 5/6] deleting breakpoints --- .../UserInterfaceState.xcuserstate | Bin 26588 -> 27103 bytes .../xcdebugger/Breakpoints.xcbkptlist | 54 ------------------ 2 files changed, 54 deletions(-) diff --git a/piTunes/piTunes.xcodeproj/project.xcworkspace/xcuserdata/mindworm.xcuserdatad/UserInterfaceState.xcuserstate b/piTunes/piTunes.xcodeproj/project.xcworkspace/xcuserdata/mindworm.xcuserdatad/UserInterfaceState.xcuserstate index e794f8de40cec6c07268097f729ebf0072714f8f..20b5b11bbb61492bbbc4cef69d92f73089e69df0 100644 GIT binary patch delta 14414 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 PcC02Wwf(k!SN8vZJ8U*u delta 14040 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 X*H62iaMijXbo~mWUB7MLT~GZ#mM=^C diff --git a/piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist index 41bbc92..05301bc 100644 --- a/piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist +++ b/piTunes/piTunes.xcodeproj/xcuserdata/mindworm.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -2,58 +2,4 @@ - - - - - - - - - - From 560abb0a69c17e3cf006ca9d47c4747b3ea2563d Mon Sep 17 00:00:00 2001 From: aquaxp Date: Mon, 7 Jan 2013 18:29:32 +0700 Subject: [PATCH 6/6] deleting debug NSLog outputs --- .../UserInterfaceState.xcuserstate | Bin 27103 -> 27147 bytes piTunes/piTunes/AppDelegate.m | 4 +--- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/piTunes/piTunes.xcodeproj/project.xcworkspace/xcuserdata/mindworm.xcuserdatad/UserInterfaceState.xcuserstate b/piTunes/piTunes.xcodeproj/project.xcworkspace/xcuserdata/mindworm.xcuserdatad/UserInterfaceState.xcuserstate index 20b5b11bbb61492bbbc4cef69d92f73089e69df0..b5a8c4a33ec4ac0f0ceeb8db8c1dbc7b26549ebd 100644 GIT binary patch delta 11020 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 Jo4-2_{6F77^l1P9 diff --git a/piTunes/piTunes/AppDelegate.m b/piTunes/piTunes/AppDelegate.m index 9f9651f..d8a3e70 100644 --- a/piTunes/piTunes/AppDelegate.m +++ b/piTunes/piTunes/AppDelegate.m @@ -79,19 +79,16 @@ - (void)updateMenu{ //[_menuItemSeparator0 setHidden:YES]]; switch ([[iTunes currentPlaylist] songRepeat]) { case iTunesERptAll: - NSLog(@"1"); //[_menuItemRepeat setTitle:@"Repeat: On"]; [_menuItemRepeatOn setState:NSOnState]; [_menuItemRepeatOff setState:NSOffState]; break; case iTunesERptOff: - NSLog(@"2"); //[_menuItemRepeat setTitle:@"Repeat: Off"]; [_menuItemRepeatOn setState:NSOffState]; [_menuItemRepeatOff setState:NSOnState]; break; case iTunesERptOne: - NSLog(@"3"); //[_menuItemRepeat setTitle:@"Repeat: One"]; [_menuItemRepeatOn setState:NSOffState]; [_menuItemRepeatOff setState:NSOffState]; @@ -112,6 +109,7 @@ - (void)updateMenu{ else{ //iTUNES doesn't support shuffle(11) //[_menuItemShuffle setTitle:@"Shuffle: N/A"]; + NSLog(@"shuff = NULL"); } }