diff --git a/Gemfile b/Gemfile index ca57cbb..1904217 100644 --- a/Gemfile +++ b/Gemfile @@ -5,4 +5,8 @@ gem "motion-cocoapods", "~> 1.4.0" gem "motion-sparkle", "~> 0.0.3" gem "bubble-wrap", "~> 1.4.0" gem "motion-stump", "~> 0.3.0" -gem "kyan_jukebox", :path => "/Users/duncan/_dev/kyan/gems/kyan_jukebox" \ No newline at end of file +gem 'sugarcube', "~> 1.3.7", :require => [ + 'sugarcube-attributedstring', +] +#gem "kyan_jukebox", :path => "/Users/duncan/_dev/kyan/gems/kyan_jukebox" +gem "kyan_jukebox", :git => 'git@github.com:kyan/kyan_jukebox.git' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index c25c620..aa4b36d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,12 +1,13 @@ -PATH - remote: /Users/duncan/_dev/kyan/gems/kyan_jukebox +GIT + remote: git@github.com:kyan/kyan_jukebox.git + revision: 2785b19d4b662a73a7fd20a91fbb6352a973d7dd specs: - kyan_jukebox (0.0.1) + kyan_jukebox (0.1.2) GEM remote: https://rubygems.org/ specs: - activesupport (3.2.15) + activesupport (3.2.16) i18n (~> 0.6, >= 0.6.4) multi_json (~> 1.0) bubble-wrap (1.4.0) @@ -30,7 +31,7 @@ GEM colored (1.2) escape (0.0.4) fuzzy_match (2.0.4) - i18n (0.6.5) + i18n (0.6.9) json (1.8.1) json_pure (1.8.1) motion-cocoapods (1.4.0) @@ -38,9 +39,10 @@ GEM motion-sparkle (0.0.3) motion-stump (0.3.0) multi_json (1.8.2) - nap (0.5.1) + nap (0.6.0) open4 (1.3.0) rake (10.1.0) + sugarcube (1.3.7) xcodeproj (0.14.1) activesupport (~> 3.0) colored (~> 1.2) @@ -56,3 +58,4 @@ DEPENDENCIES motion-sparkle (~> 0.0.3) motion-stump (~> 0.3.0) rake + sugarcube (~> 1.3.7) diff --git a/Rakefile b/Rakefile index 5052a56..a220736 100644 --- a/Rakefile +++ b/Rakefile @@ -24,7 +24,7 @@ Motion::Project::App.setup do |app| app.sparkle do release :base_url, 'https://raw.github.com/kyan/kyan_bar/master' - release :version, '1.0.4' + release :version, '1.0.5' # Optional settings release :feed_filename, 'releases.xml' diff --git a/app/app_delegate.rb b/app/app_delegate.rb index 81c96b9..2ca5cfc 100644 --- a/app/app_delegate.rb +++ b/app/app_delegate.rb @@ -4,14 +4,14 @@ class AppDelegate def applicationDidFinishLaunching(notification) build_jukebox - buildStatus + build_status handle_notifications @reconn_interval = 0.0 connect_to_websocket_server end - def buildStatus + def build_status @status_bar_image = NSImage.imageNamed("k_logo_col_18x18") @status_bar_image_alt = NSImage.imageNamed("k_logo_bw_18x18") @@ -32,7 +32,7 @@ def build_preferences(sender) end def build_jukebox - @jukebox ||= KyanJukebox::Notify.new([:track]) + @jukebox ||= KyanJukebox::Notify.new([:track, :playlist]) @jukebox.json_parser = BW::JSON end diff --git a/app/config/constants.rb b/app/config/constants.rb index 060c599..3dd85f0 100644 --- a/app/config/constants.rb +++ b/app/config/constants.rb @@ -1 +1,6 @@ -WEBSOCKET_URL = 'ws://jukebox.local:8080' \ No newline at end of file +WEBSOCKET_URL = 'ws://jukebox.local:8080' + +TRACK_TITLE=1 +TRACK_ARTIST=2 +TRACK_ARTWORK_URL=3 +TRACK_ALBUM=4 \ No newline at end of file diff --git a/app/controllers/jukebox_view_controller.rb b/app/controllers/jukebox_view_controller.rb deleted file mode 100644 index 7ec06eb..0000000 --- a/app/controllers/jukebox_view_controller.rb +++ /dev/null @@ -1,7 +0,0 @@ -class JukeboxViewController < NSViewController - - def track - "duncan" - end - -end \ No newline at end of file diff --git a/app/lib/SRWebSocketDelegate.rb b/app/lib/SRWebSocketDelegate.rb index 99d692c..a8298f6 100644 --- a/app/lib/SRWebSocketDelegate.rb +++ b/app/lib/SRWebSocketDelegate.rb @@ -1,7 +1,6 @@ class SRWebSocketDelegate def self.webSocket(webSocket, didReceiveMessage:msg) - puts "Message: #{msg}" jukebox = App.shared.delegate.jukebox jukebox.update!(msg.dataUsingEncoding(NSUTF8StringEncoding)) jukebox.notifications.each do |message| @@ -15,13 +14,10 @@ def self.webSocket(webSocket, didReceiveMessage:msg) end def self.webSocketDidOpen(webSocket) - puts "Socket connection opened!" App.shared.delegate.reconn_interval = 0.0 end def self.webSocket(webSocket, didFailWithError:error) - puts "Lost Connection!!" - NSTimer.scheduledTimerWithTimeInterval(App.shared.delegate.reconn_interval, target:App.shared.delegate, selector:'reconnect_to_websocket_server', @@ -31,6 +27,6 @@ def self.webSocket(webSocket, didFailWithError:error) end def self.webSocket(webSocket, didCloseWithCode:code, reason:reason, wasClean:wasClean) - puts "Bang again!!" + # Bang! end end \ No newline at end of file diff --git a/app/menu.rb b/app/menu.rb index 3b832db..ff157c6 100644 --- a/app/menu.rb +++ b/app/menu.rb @@ -1,15 +1,15 @@ class AppDelegate def setupMenu - menu = NSMenu.new - menu.initWithTitle App.name + @menu = NSMenu.new + @menu.initWithTitle App.name + @jukebox = App.shared.delegate.jukebox - # mi = NSMenuItem.new - # @jukebox_menu = JukeboxViewController.alloc.initWithNibName("Jukebox", bundle:nil) - # @jukebox_menu.setRepresentedObject(App.shared.delegate.jukebox) - # mi.view = @jukebox_menu.view - # menu.addItem mi + build_now_playing + add_seperator - # add_seperator(menu) + unless jukebox.playlist.empty? + build_upcoming_tracks + end links.each_with_index do |data, i| m = NSMenuItem.new @@ -17,28 +17,108 @@ def setupMenu m.tag = i m.setImage( NSImage.imageNamed(data.first.downcase) ) m.action = 'open_link:' - menu.addItem m + @menu.addItem m end - add_seperator(menu) + build_submenu + + @menu + end + private + + def build_submenu + sub_menu = NSMenu.new mi = NSMenuItem.new mi.title = 'Preferences...' mi.action = 'build_preferences:' - menu.addItem mi + sub_menu.addItem mi mi = NSMenuItem.new mi.title = 'Check for updates...' mi.action = 'checkForUpdates:' mi.target = SUUpdater.new - menu.addItem mi + sub_menu.addItem mi mi = NSMenuItem.new mi.title = 'Quit' mi.action = 'terminate:' - menu.addItem mi + sub_menu.addItem mi + + add_seperator + + mi = NSMenuItem.new + mi.title = 'Settings' + mi.setSubmenu(sub_menu) + @menu.addItem mi + end - menu + def build_now_playing + @jukebox_menu = NSViewController.alloc.initWithNibName("Jukebox", bundle:nil) + @jukebox_view = @jukebox_menu.view + @jukebox_view.jukebox = @jukebox + + mi = NSMenuItem.new + mi.view = @jukebox_view + @menu.addItem mi + end + + def build_upcoming_tracks + @jukebox.playlist.take(3).each do |track| + m = NSMenuItem.new + m.setAttributedTitle( + track.title.attrd({ + 'NSFont' => NSFont.fontWithName("Lucida Grande", size:12), + 'NSColor' => NSColor.blackColor + }) + "\n" + + track.artist.attrd({ + 'NSFont' => NSFont.fontWithName("Lucida Grande", size:10), + 'NSColor' => NSColor.darkGrayColor + }) + " - " + + track.album.attrd({ + 'NSFont' => NSFont.fontWithName("Lucida Grande", size:10), + 'NSColor' => NSColor.lightGrayColor + }) + ) + m.tag = track.dbid + add_menu_icon_for(m, track.artwork_url) + + @menu.addItem m + end + + add_seperator if @jukebox.playlist.any? + end + + def add_menu_icon_for(menu, img_url) + image_url = if img_url.nil? + "http://www.appledystopia.com/wp-content/uploads/2013/03/missing-itunes-album-art-icon.png" + else + img_url + end + + Dispatch::Queue.concurrent.async do + new_size = NSMakeSize(32, 32) + url = NSURL.URLWithString(image_url) + image_data = NSData.alloc.initWithContentsOfURL(url) + image = NSImage.alloc.initWithData(image_data) + image.setScalesWhenResized(true) + + resized_img = NSImage.alloc.initWithSize(new_size) + originalSize = image.size + + resized_img.lockFocus + image.setSize(new_size) + NSGraphicsContext.currentContext.setImageInterpolation(NSImageInterpolationHigh) + image.drawAtPoint( + NSZeroPoint, + fromRect: CGRectMake(0, 0, new_size.width, new_size.height), + operation: NSCompositeCopy, + fraction:1.0 + ) + resized_img.unlockFocus + + menu.setImage(resized_img) + end end def open_link(sender) @@ -46,10 +126,8 @@ def open_link(sender) NSWorkspace.sharedWorkspace.openURL(url) end - private - - def add_seperator(menu) - menu.addItem NSMenuItem.separatorItem + def add_seperator + @menu.addItem NSMenuItem.separatorItem end def links diff --git a/app/views/jukebox_view.rb b/app/views/jukebox_view.rb index e69de29..9a4617b 100644 --- a/app/views/jukebox_view.rb +++ b/app/views/jukebox_view.rb @@ -0,0 +1,48 @@ +class JukeBoxView < NSView + + attr_accessor :jukebox + + def viewWillDraw + update_title + update_artist + update_album + update_image + + super + end + + def track + jukebox.track unless jukebox.nil? + end + + private + + def update_title + txt = track.title.nil? ? '-' : track.title + viewWithTag(TRACK_TITLE).setStringValue(txt) + end + + def update_artist + txt = track.artist.nil? ? '-' : track.artist + viewWithTag(TRACK_ARTIST).setStringValue(txt) + end + + def update_album + txt = track.album.nil? ? '-' : track.album + viewWithTag(TRACK_ALBUM).setStringValue(txt) + end + + def update_image + image_url = if jukebox.track.artwork_url.nil? + "http://www.appledystopia.com/wp-content/uploads/2013/03/missing-itunes-album-art-icon.png" + else + jukebox.track.artwork_url + end + + Dispatch::Queue.concurrent.async do + url = NSURL.URLWithString(image_url) + image = NSImage.alloc.initWithContentsOfURL(url) + viewWithTag(TRACK_ARTWORK_URL).setImage(image) + end + end +end \ No newline at end of file diff --git a/release_notes.html b/release_notes.html index 922de0f..08297e8 100644 --- a/release_notes.html +++ b/release_notes.html @@ -1,7 +1,7 @@ -KyanBar - version 1.0.4 +KyanBar - version 1.0.5 ----------------------- Updates: -* Preferences have their own Window -* You can choose whether to recieve updates, and when +* Current Playing Track in dropdown +* Move Settings in dropdown diff --git a/releases.xml b/releases.xml index 6bef8c7..0612524 100644 --- a/releases.xml +++ b/releases.xml @@ -14,24 +14,25 @@ en - Sun, 24 Nov 2013 18:49:13 +0000 + Mon, 09 Dec 2013 13:15:03 +0000 - KyanBar 1.0.4 + KyanBar 1.0.5 - Sun, 24 Nov 2013 18:49:13 +0000 + Mon, 09 Dec 2013 13:15:03 +0000 - KyanBar-1.0.4 + KyanBar-1.0.5 https://raw.github.com/kyan/kyan_bar/master/release_notes.html - + + diff --git a/resources/Jukebox.xib b/resources/Jukebox.xib index 66ebf4d..87961e0 100644 --- a/resources/Jukebox.xib +++ b/resources/Jukebox.xib @@ -4,60 +4,48 @@ - + - - + + - - + + - - - - + - - + + - + - - + + - - - - - + + - + - + - - - - - + + - - - + + + - - - diff --git a/resources/xcode/Dummy/Dummy.xcodeproj/project.pbxproj b/resources/xcode/Dummy/Dummy.xcodeproj/project.pbxproj deleted file mode 100644 index 99ecee5..0000000 --- a/resources/xcode/Dummy/Dummy.xcodeproj/project.pbxproj +++ /dev/null @@ -1,386 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - AE1FAC861843EFDF001CDEB9 /* Jukebox.xib in Resources */ = {isa = PBXBuildFile; fileRef = AE1FAC851843EFDE001CDEB9 /* Jukebox.xib */; }; - AE1FAC891843F017001CDEB9 /* JukeboxViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AE1FAC881843F017001CDEB9 /* JukeboxViewController.m */; }; - AE6856BE184003490096F02D /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE6856BD184003490096F02D /* Cocoa.framework */; }; - AE6856DD184003490096F02D /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE6856DC184003490096F02D /* XCTest.framework */; }; - AE6856DE184003490096F02D /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE6856BD184003490096F02D /* Cocoa.framework */; }; - AE6856F21840036F0096F02D /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = AE6856F11840036F0096F02D /* Preferences.xib */; }; - AE6856F5184003A40096F02D /* PreferencesController.m in Sources */ = {isa = PBXBuildFile; fileRef = AE6856F4184003A40096F02D /* PreferencesController.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - AE6856DF184003490096F02D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE6856B2184003490096F02D /* Project object */; - proxyType = 1; - remoteGlobalIDString = AE6856B9184003490096F02D; - remoteInfo = Dummy; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - AE1FAC831843EF8E001CDEB9 /* Dummy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Dummy.app; sourceTree = BUILT_PRODUCTS_DIR; }; - AE1FAC841843EF8E001CDEB9 /* DummyTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DummyTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - AE1FAC851843EFDE001CDEB9 /* Jukebox.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = Jukebox.xib; path = ../../Jukebox.xib; sourceTree = ""; }; - AE1FAC871843F017001CDEB9 /* JukeboxViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JukeboxViewController.h; sourceTree = ""; }; - AE1FAC881843F017001CDEB9 /* JukeboxViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JukeboxViewController.m; sourceTree = ""; }; - AE6856BD184003490096F02D /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; - AE6856C0184003490096F02D /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; - AE6856C1184003490096F02D /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; - AE6856C2184003490096F02D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - AE6856DC184003490096F02D /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - AE6856F11840036F0096F02D /* Preferences.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = Preferences.xib; path = ../../Preferences.xib; sourceTree = ""; }; - AE6856F3184003A40096F02D /* PreferencesController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PreferencesController.h; sourceTree = ""; }; - AE6856F4184003A40096F02D /* PreferencesController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PreferencesController.m; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - AE6856B7184003490096F02D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - AE6856BE184003490096F02D /* Cocoa.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - AE6856D8184003490096F02D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - AE6856DE184003490096F02D /* Cocoa.framework in Frameworks */, - AE6856DD184003490096F02D /* XCTest.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - AE6856B1184003490096F02D = { - isa = PBXGroup; - children = ( - AE1FAC871843F017001CDEB9 /* JukeboxViewController.h */, - AE1FAC881843F017001CDEB9 /* JukeboxViewController.m */, - AE6856F3184003A40096F02D /* PreferencesController.h */, - AE6856F4184003A40096F02D /* PreferencesController.m */, - AE6856F11840036F0096F02D /* Preferences.xib */, - AE1FAC851843EFDE001CDEB9 /* Jukebox.xib */, - AE6856BC184003490096F02D /* Frameworks */, - AE1FAC831843EF8E001CDEB9 /* Dummy.app */, - AE1FAC841843EF8E001CDEB9 /* DummyTests.xctest */, - ); - sourceTree = ""; - }; - AE6856BC184003490096F02D /* Frameworks */ = { - isa = PBXGroup; - children = ( - AE6856BD184003490096F02D /* Cocoa.framework */, - AE6856DC184003490096F02D /* XCTest.framework */, - AE6856BF184003490096F02D /* Other Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; - AE6856BF184003490096F02D /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - AE6856C0184003490096F02D /* AppKit.framework */, - AE6856C1184003490096F02D /* CoreData.framework */, - AE6856C2184003490096F02D /* Foundation.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - AE6856B9184003490096F02D /* Dummy */ = { - isa = PBXNativeTarget; - buildConfigurationList = AE6856EB184003490096F02D /* Build configuration list for PBXNativeTarget "Dummy" */; - buildPhases = ( - AE6856B6184003490096F02D /* Sources */, - AE6856B7184003490096F02D /* Frameworks */, - AE6856B8184003490096F02D /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Dummy; - productName = Dummy; - productReference = AE1FAC831843EF8E001CDEB9 /* Dummy.app */; - productType = "com.apple.product-type.application"; - }; - AE6856DA184003490096F02D /* DummyTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = AE6856EE184003490096F02D /* Build configuration list for PBXNativeTarget "DummyTests" */; - buildPhases = ( - AE6856D7184003490096F02D /* Sources */, - AE6856D8184003490096F02D /* Frameworks */, - AE6856D9184003490096F02D /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - AE6856E0184003490096F02D /* PBXTargetDependency */, - ); - name = DummyTests; - productName = DummyTests; - productReference = AE1FAC841843EF8E001CDEB9 /* DummyTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - AE6856B2184003490096F02D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0500; - ORGANIZATIONNAME = Kyan.com; - TargetAttributes = { - AE6856DA184003490096F02D = { - TestTargetID = AE6856B9184003490096F02D; - }; - }; - }; - buildConfigurationList = AE6856B5184003490096F02D /* Build configuration list for PBXProject "Dummy" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = AE6856B1184003490096F02D; - productRefGroup = AE6856B1184003490096F02D; - projectDirPath = ""; - projectRoot = ""; - targets = ( - AE6856B9184003490096F02D /* Dummy */, - AE6856DA184003490096F02D /* DummyTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - AE6856B8184003490096F02D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - AE1FAC861843EFDF001CDEB9 /* Jukebox.xib in Resources */, - AE6856F21840036F0096F02D /* Preferences.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - AE6856D9184003490096F02D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - AE6856B6184003490096F02D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - AE6856F5184003A40096F02D /* PreferencesController.m in Sources */, - AE1FAC891843F017001CDEB9 /* JukeboxViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - AE6856D7184003490096F02D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - AE6856E0184003490096F02D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = AE6856B9184003490096F02D /* Dummy */; - targetProxy = AE6856DF184003490096F02D /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - AE6856E9184003490096F02D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - 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_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.9; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - }; - name = Debug; - }; - AE6856EA184003490096F02D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.9; - SDKROOT = macosx; - }; - name = Release; - }; - AE6856EC184003490096F02D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COMBINE_HIDPI_IMAGES = YES; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Dummy/Dummy-Prefix.pch"; - INFOPLIST_FILE = "Dummy/Dummy-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - AE6856ED184003490096F02D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COMBINE_HIDPI_IMAGES = YES; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Dummy/Dummy-Prefix.pch"; - INFOPLIST_FILE = "Dummy/Dummy-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; - AE6856EF184003490096F02D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Dummy.app/Contents/MacOS/Dummy"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Dummy/Dummy-Prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "DummyTests/DummyTests-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = xctest; - }; - name = Debug; - }; - AE6856F0184003490096F02D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Dummy.app/Contents/MacOS/Dummy"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Dummy/Dummy-Prefix.pch"; - INFOPLIST_FILE = "DummyTests/DummyTests-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = xctest; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - AE6856B5184003490096F02D /* Build configuration list for PBXProject "Dummy" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - AE6856E9184003490096F02D /* Debug */, - AE6856EA184003490096F02D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - AE6856EB184003490096F02D /* Build configuration list for PBXNativeTarget "Dummy" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - AE6856EC184003490096F02D /* Debug */, - AE6856ED184003490096F02D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - AE6856EE184003490096F02D /* Build configuration list for PBXNativeTarget "DummyTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - AE6856EF184003490096F02D /* Debug */, - AE6856F0184003490096F02D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = AE6856B2184003490096F02D /* Project object */; -} diff --git a/resources/xcode/Dummy/Dummy.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/resources/xcode/Dummy/Dummy.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 336b2bc..0000000 --- a/resources/xcode/Dummy/Dummy.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/resources/xcode/Dummy/Dummy.xcodeproj/project.xcworkspace/xcshareddata/Dummy.xccheckout b/resources/xcode/Dummy/Dummy.xcodeproj/project.xcworkspace/xcshareddata/Dummy.xccheckout deleted file mode 100644 index 81d7384..0000000 --- a/resources/xcode/Dummy/Dummy.xcodeproj/project.xcworkspace/xcshareddata/Dummy.xccheckout +++ /dev/null @@ -1,41 +0,0 @@ - - - - - IDESourceControlProjectFavoriteDictionaryKey - - IDESourceControlProjectIdentifier - EC8BEE02-CD78-42B1-A265-242D56E21554 - IDESourceControlProjectName - Dummy - IDESourceControlProjectOriginsDictionary - - E39FA110-A2D0-4E9C-A35E-80D8569A3484 - ssh://github.com/kyan/kyan_bar.git - - IDESourceControlProjectPath - resources/xcode/Dummy/Dummy.xcodeproj/project.xcworkspace - IDESourceControlProjectRelativeInstallPathDictionary - - E39FA110-A2D0-4E9C-A35E-80D8569A3484 - ../../../../.. - - IDESourceControlProjectURL - ssh://github.com/kyan/kyan_bar.git - IDESourceControlProjectVersion - 110 - IDESourceControlProjectWCCIdentifier - E39FA110-A2D0-4E9C-A35E-80D8569A3484 - IDESourceControlProjectWCConfigurations - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - E39FA110-A2D0-4E9C-A35E-80D8569A3484 - IDESourceControlWCCName - KyanBar - - - - diff --git a/resources/xcode/Dummy/Dummy.xcodeproj/project.xcworkspace/xcuserdata/duncan.xcuserdatad/UserInterfaceState.xcuserstate b/resources/xcode/Dummy/Dummy.xcodeproj/project.xcworkspace/xcuserdata/duncan.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index b819772..0000000 Binary files a/resources/xcode/Dummy/Dummy.xcodeproj/project.xcworkspace/xcuserdata/duncan.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/resources/xcode/Dummy/Dummy.xcodeproj/xcuserdata/duncan.xcuserdatad/xcschemes/Dummy.xcscheme b/resources/xcode/Dummy/Dummy.xcodeproj/xcuserdata/duncan.xcuserdatad/xcschemes/Dummy.xcscheme deleted file mode 100644 index 9803cd7..0000000 --- a/resources/xcode/Dummy/Dummy.xcodeproj/xcuserdata/duncan.xcuserdatad/xcschemes/Dummy.xcscheme +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/resources/xcode/Dummy/Dummy.xcodeproj/xcuserdata/duncan.xcuserdatad/xcschemes/xcschememanagement.plist b/resources/xcode/Dummy/Dummy.xcodeproj/xcuserdata/duncan.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 822f042..0000000 --- a/resources/xcode/Dummy/Dummy.xcodeproj/xcuserdata/duncan.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - SchemeUserState - - Dummy.xcscheme - - orderHint - 0 - - - SuppressBuildableAutocreation - - AE6856B9184003490096F02D - - primary - - - AE6856DA184003490096F02D - - primary - - - - - diff --git a/resources/xcode/Dummy/JukeboxViewController.h b/resources/xcode/Dummy/JukeboxViewController.h deleted file mode 100644 index 2ee68cd..0000000 --- a/resources/xcode/Dummy/JukeboxViewController.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// JukeboxViewController.h -// Dummy -// -// Created by Duncan Robertson on 25/11/2013. -// Copyright (c) 2013 Kyan.com. All rights reserved. -// - -#import - -@interface JukeboxViewController : NSViewController - -IBAction artist; -IBAction title; - -@end diff --git a/resources/xcode/Dummy/JukeboxViewController.m b/resources/xcode/Dummy/JukeboxViewController.m deleted file mode 100644 index cb87a35..0000000 --- a/resources/xcode/Dummy/JukeboxViewController.m +++ /dev/null @@ -1,26 +0,0 @@ -// -// JukeboxViewController.m -// Dummy -// -// Created by Duncan Robertson on 25/11/2013. -// Copyright (c) 2013 Kyan.com. All rights reserved. -// - -#import "JukeboxViewController.h" - -@interface JukeboxViewController () - -@end - -@implementation JukeboxViewController - -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil -{ - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if (self) { - // Initialization code here. - } - return self; -} - -@end diff --git a/resources/xcode/Dummy/PreferencesController.h b/resources/xcode/Dummy/PreferencesController.h deleted file mode 100644 index 0871f26..0000000 --- a/resources/xcode/Dummy/PreferencesController.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// PreferencesController.h -// Dummy -// -// Created by Duncan Robertson on 22/11/2013. -// Copyright (c) 2013 Kyan.com. All rights reserved. -// - -#import - -@interface PreferencesController : NSWindowController - -@end diff --git a/resources/xcode/Dummy/PreferencesController.m b/resources/xcode/Dummy/PreferencesController.m deleted file mode 100644 index 8591be2..0000000 --- a/resources/xcode/Dummy/PreferencesController.m +++ /dev/null @@ -1,33 +0,0 @@ -// -// PreferencesController.m -// Dummy -// -// Created by Duncan Robertson on 22/11/2013. -// Copyright (c) 2013 Kyan.com. 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