bug fixes...last days

This commit is contained in:
Harsha Cuttari 2016-04-17 19:00:45 -07:00
parent d14b350ab5
commit 3cca20f639
6 changed files with 255 additions and 419 deletions

View File

@ -7,8 +7,6 @@
objects = {
/* Begin PBXBuildFile section */
3E0B78B91C6E3756001DF21E /* Pause-52.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E0B78B71C6E3756001DF21E /* Pause-52.png */; };
3E0B78BA1C6E3756001DF21E /* Play-52.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E0B78B81C6E3756001DF21E /* Play-52.png */; };
3E101F061C52E5FD00C895CA /* MultipeerConnectivity.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E101F051C52E5FD00C895CA /* MultipeerConnectivity.framework */; };
3E101F081C52E65300C895CA /* PartyServiceManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E101F071C52E65300C895CA /* PartyServiceManager.swift */; };
3E101F0A1C52F14A00C895CA /* InviteFriendsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E101F091C52F14A00C895CA /* InviteFriendsView.swift */; };
@ -24,13 +22,9 @@
3E1DE9A81C3837E800CA6CD4 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E1DE9A71C3837E800CA6CD4 /* AudioToolbox.framework */; };
3E1DE9AE1C38395F00CA6CD4 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E1DE9AD1C38395F00CA6CD4 /* SystemConfiguration.framework */; };
3E1EE6391C6D02EB00F5C5D7 /* InPartyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E1EE6381C6D02EB00F5C5D7 /* InPartyViewController.swift */; };
3E24F9FF1C5B51690091B9D9 /* Send@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E24F9FE1C5B51690091B9D9 /* Send@2x.png */; };
3E326BCC1C51C20000F785CF /* SettingsTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E326BCB1C51C20000F785CF /* SettingsTableViewController.swift */; };
3E326BCE1C51C77600F785CF /* SettingsCellWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E326BCD1C51C77600F785CF /* SettingsCellWrapper.swift */; };
3E330B1A1C38502F00276FE4 /* LoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E330B191C38502F00276FE4 /* LoginViewController.swift */; };
3E33EFDA1C5B56340011B9B5 /* Accept@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E33EFD71C5B56340011B9B5 /* Accept@2x.png */; };
3E33EFDB1C5B56340011B9B5 /* Cancel@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E33EFD81C5B56340011B9B5 /* Cancel@2x.png */; };
3E33EFDC1C5B56340011B9B5 /* No Friend Requests i5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E33EFD91C5B56340011B9B5 /* No Friend Requests i5@2x.png */; };
3E3412571C54C31F006226E0 /* SongSelectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E3412561C54C31F006226E0 /* SongSelectionViewController.swift */; };
3E3412591C54C6B7006226E0 /* SongCellWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E3412581C54C6B7006226E0 /* SongCellWrapper.swift */; };
3E34125B1C54C73A006226E0 /* PartySession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E34125A1C54C73A006226E0 /* PartySession.swift */; };
@ -47,20 +41,12 @@
3E379F051C3F982900F7BCCD /* FriendsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E379F041C3F982900F7BCCD /* FriendsCell.swift */; };
3E3B14DC1C5BBB3B001C437F /* PendingRequestViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E3B14DB1C5BBB3B001C437F /* PendingRequestViewController.swift */; };
3E3B14DE1C5BCC9B001C437F /* FriendRequestViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E3B14DD1C5BCC9B001C437F /* FriendRequestViewController.swift */; };
3E4169491C385F1000B193AF /* 1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E4169481C385F1000B193AF /* 1x.png */; };
3E4169551C398A5B00B193AF /* SignUpViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E4169541C398A5B00B193AF /* SignUpViewController.swift */; };
3E4169571C399C4D00B193AF /* Images-3.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3E4169561C399C4D00B193AF /* Images-3.xcassets */; };
3E416EEE1C97BE31001EA319 /* NextUpViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E416EED1C97BE31001EA319 /* NextUpViewController.swift */; };
3E41D74C1C8D17E100FFD846 /* icon-120.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E41D74B1C8D17E100FFD846 /* icon-120.png */; };
3E41D74E1C8D17F300FFD846 /* Icon-60.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E41D74D1C8D17F300FFD846 /* Icon-60.png */; };
3E438ADE1C572DFD0055C97A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3E438ADD1C572DFD0055C97A /* Main.storyboard */; };
3E438AE61C5738EF0055C97A /* Create@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E438AE11C5738EF0055C97A /* Create@2x.png */; };
3E438AE71C5738EF0055C97A /* Friends@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E438AE21C5738EF0055C97A /* Friends@2x.png */; };
3E438AE81C5738EF0055C97A /* Settings@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E438AE31C5738EF0055C97A /* Settings@2x.png */; };
3E438AE91C5738EF0055C97A /* Star@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E438AE41C5738EF0055C97A /* Star@2x.png */; };
3E438AEA1C5738EF0055C97A /* Turntable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E438AE51C5738EF0055C97A /* Turntable@2x.png */; };
3E43B8CF1C376F9F002F97A7 /* Logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E43B8CE1C376F9F002F97A7 /* Logo.png */; };
3E4AA5211C853E1A00746839 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E4AA5201C853E1A00746839 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png */; };
3E4B86B31C95DAE700ECDFFA /* Bolts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E4B86B21C95DAE700ECDFFA /* Bolts.framework */; };
3E4B86B51C95DE3300ECDFFA /* Parse.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E4B86B41C95DE3300ECDFFA /* Parse.framework */; };
3E4B86B71C95DE6300ECDFFA /* ParseFacebookUtilsV4.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E4B86B61C95DE6300ECDFFA /* ParseFacebookUtilsV4.framework */; };
@ -70,35 +56,8 @@
3E50E0401C74B97300EB9EA9 /* BackToHomeScreenViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E50E03F1C74B97300EB9EA9 /* BackToHomeScreenViewController.swift */; };
3E5485B31C69A7DA00E7D5AB /* LoadingPartyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E5485B21C69A7DA00E7D5AB /* LoadingPartyViewController.swift */; };
3E5485B51C69CE2F00E7D5AB /* InvitedCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E5485B41C69CE2F00E7D5AB /* InvitedCollectionViewCell.swift */; };
3E5952631C39DBC900C88C71 /* Friends.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E59525A1C39DBC900C88C71 /* Friends.png */; };
3E5952641C39DBC900C88C71 /* Friends@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E59525B1C39DBC900C88C71 /* Friends@2x.png */; };
3E5952651C39DBC900C88C71 /* Friends@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E59525C1C39DBC900C88C71 /* Friends@3x.png */; };
3E5952661C39DBC900C88C71 /* Settings.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E59525D1C39DBC900C88C71 /* Settings.png */; };
3E5952671C39DBC900C88C71 /* Settings@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E59525E1C39DBC900C88C71 /* Settings@2x.png */; };
3E5952681C39DBC900C88C71 /* Settings@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E59525F1C39DBC900C88C71 /* Settings@3x.png */; };
3E5952691C39DBC900C88C71 /* Star.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952601C39DBC900C88C71 /* Star.png */; };
3E59526A1C39DBC900C88C71 /* Star@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952611C39DBC900C88C71 /* Star@2x.png */; };
3E59526B1C39DBC900C88C71 /* Star@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952621C39DBC900C88C71 /* Star@3x.png */; };
3E59526F1C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E59526C1C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2.png */; };
3E5952701C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E59526D1C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png */; };
3E5952711C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E59526E1C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@3x.png */; };
3E59527B1C39DDA800C88C71 /* Create.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952721C39DDA800C88C71 /* Create.png */; };
3E59527C1C39DDA800C88C71 /* Create@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952731C39DDA800C88C71 /* Create@2x.png */; };
3E59527D1C39DDA800C88C71 /* Create@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952741C39DDA800C88C71 /* Create@3x.png */; };
3E59527E1C39DDA800C88C71 /* Group.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952751C39DDA800C88C71 /* Group.png */; };
3E59527F1C39DDA800C88C71 /* Group@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952761C39DDA800C88C71 /* Group@2x.png */; };
3E5952801C39DDA800C88C71 /* Group@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952771C39DDA800C88C71 /* Group@3x.png */; };
3E5952811C39DDA800C88C71 /* Settings.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952781C39DDA800C88C71 /* Settings.png */; };
3E5952821C39DDA800C88C71 /* Settings@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952791C39DDA800C88C71 /* Settings@2x.png */; };
3E5952831C39DDA800C88C71 /* Settings@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E59527A1C39DDA800C88C71 /* Settings@3x.png */; };
3E5952851C39E54A00C88C71 /* HomeScreenViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E5952841C39E54A00C88C71 /* HomeScreenViewController.swift */; };
3E5952891C39EB6100C88C71 /* Turntable.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952861C39EB6100C88C71 /* Turntable.png */; };
3E59528A1C39EB6100C88C71 /* Turntable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952871C39EB6100C88C71 /* Turntable@2x.png */; };
3E59528B1C39EB6100C88C71 /* Turntable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5952881C39EB6100C88C71 /* Turntable@3x.png */; };
3E5BD3111C6C424300266B16 /* CurrentlyPlayingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E5BD3101C6C424300266B16 /* CurrentlyPlayingViewController.swift */; };
3E5BD3151C6C45CE00266B16 /* Home Copy@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5BD3121C6C45CE00266B16 /* Home Copy@2x.png */; };
3E5BD3161C6C45CE00266B16 /* Party@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5BD3131C6C45CE00266B16 /* Party@2x.png */; };
3E5BD3171C6C45CE00266B16 /* StarPlayer@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E5BD3141C6C45CE00266B16 /* StarPlayer@2x.png */; };
3E627FC31C55978E005C0372 /* PartySessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E627FC21C55978E005C0372 /* PartySessionManager.swift */; };
3E631B3F1CB4D3150050808F /* NSMutableArray+QueueMethods.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E631B271CB4D3150050808F /* NSMutableArray+QueueMethods.m */; };
3E631B401CB4D3150050808F /* TDAudioFileStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E631B2A1CB4D3150050808F /* TDAudioFileStream.m */; };
@ -113,20 +72,10 @@
3E631B491CB4D3150050808F /* TDAudioStreamer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E631B3C1CB4D3150050808F /* TDAudioStreamer.m */; };
3E631B4A1CB4D3150050808F /* TDAudioStreamerConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E631B3E1CB4D3150050808F /* TDAudioStreamerConstants.m */; };
3E6738F51C6E9C7700B47C3E /* LoginController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E6738F41C6E9C7700B47C3E /* LoginController.swift */; };
3E6D43861C782E3200CA805F /* Decline@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6D43851C782E3200CA805F /* Decline@2x.png */; };
3E6D43891C7831B100CA805F /* InvitedToPartyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E6D43881C7831B100CA805F /* InvitedToPartyViewController.swift */; };
3E6D438B1C78968C00CA805F /* Joining@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6D438A1C78968C00CA805F /* Joining@2x.png */; };
3E6D438D1C78969A00CA805F /* CancelInvited@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6D438C1C78969A00CA805F /* CancelInvited@2x.png */; };
3E76CF2C1C38349D00193B58 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E76CF2B1C38349D00193B58 /* libsqlite3.dylib */; };
3E7BB8E21C5B4A350005B834 /* Change Song@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E7BB8E11C5B4A350005B834 /* Change Song@2x.png */; };
3EB6B39B1C87B8AE006B674D /* JoiningPartyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EB6B39A1C87B8AE006B674D /* JoiningPartyViewController.swift */; };
3EB8845D1C6C647700CCDCCE /* Add More@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3EB8845B1C6C647700CCDCCE /* Add More@2x.png */; };
3EB8845E1C6C647700CCDCCE /* Leave Party@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3EB8845C1C6C647700CCDCCE /* Leave Party@2x.png */; };
3EBE825A1CB06793004A2730 /* HomeTabController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EBE82591CB06793004A2730 /* HomeTabController.swift */; };
3EBE97661C53CEDA0079B54A /* Send Invites Button.png in Resources */ = {isa = PBXBuildFile; fileRef = 3EBE97651C53CEDA0079B54A /* Send Invites Button.png */; };
3EBE976A1C53E4290079B54A /* Blue Check.png in Resources */ = {isa = PBXBuildFile; fileRef = 3EBE97671C53E4290079B54A /* Blue Check.png */; };
3EBE976B1C53E4290079B54A /* cross.png in Resources */ = {isa = PBXBuildFile; fileRef = 3EBE97681C53E4290079B54A /* cross.png */; };
3EBE976C1C53E4290079B54A /* Tap Circle.png in Resources */ = {isa = PBXBuildFile; fileRef = 3EBE97691C53E4290079B54A /* Tap Circle.png */; };
3EBE976F1C53E6950079B54A /* InviteFriendCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EBE976E1C53E6950079B54A /* InviteFriendCell.swift */; };
3EBE97711C540BB80079B54A /* TestInviteFriendsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EBE97701C540BB80079B54A /* TestInviteFriendsController.swift */; };
3EBE97731C5413240079B54A /* TestInviteFriendsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EBE97721C5413240079B54A /* TestInviteFriendsCell.swift */; };
@ -146,8 +95,6 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
3E0B78B71C6E3756001DF21E /* Pause-52.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Pause-52.png"; path = "../../../Dropbox/Gethip/Screens/Song Playing/5 Play Screen/Assets/Pause-52.png"; sourceTree = "<group>"; };
3E0B78B81C6E3756001DF21E /* Play-52.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Play-52.png"; path = "../../../Dropbox/Gethip/Screens/Song Playing/5 Play Screen/Assets/Play-52.png"; sourceTree = "<group>"; };
3E101F051C52E5FD00C895CA /* MultipeerConnectivity.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MultipeerConnectivity.framework; path = System/Library/Frameworks/MultipeerConnectivity.framework; sourceTree = SDKROOT; };
3E101F071C52E65300C895CA /* PartyServiceManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PartyServiceManager.swift; sourceTree = "<group>"; };
3E101F091C52F14A00C895CA /* InviteFriendsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InviteFriendsView.swift; sourceTree = "<group>"; };
@ -169,13 +116,9 @@
3E1DE9AB1C3838A800CA6CD4 /* libsystem_network.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsystem_network.dylib; path = usr/lib/system/libsystem_network.dylib; sourceTree = SDKROOT; };
3E1DE9AD1C38395F00CA6CD4 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
3E1EE6381C6D02EB00F5C5D7 /* InPartyViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InPartyViewController.swift; sourceTree = "<group>"; };
3E24F9FE1C5B51690091B9D9 /* Send@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Send@2x.png"; path = "../../../Dropbox/Gethip/Screens/Friends + Invite Screens/i5/Friend Found/Send@2x.png"; sourceTree = "<group>"; };
3E326BCB1C51C20000F785CF /* SettingsTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsTableViewController.swift; sourceTree = "<group>"; };
3E326BCD1C51C77600F785CF /* SettingsCellWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsCellWrapper.swift; sourceTree = "<group>"; };
3E330B191C38502F00276FE4 /* LoginViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginViewController.swift; sourceTree = "<group>"; };
3E33EFD71C5B56340011B9B5 /* Accept@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Accept@2x.png"; path = "../../../Dropbox/Gethip/Screens/Friends + Invite Screens/i5/Friend Requests/Accept@2x.png"; sourceTree = "<group>"; };
3E33EFD81C5B56340011B9B5 /* Cancel@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Cancel@2x.png"; path = "../../../Dropbox/Gethip/Screens/Friends + Invite Screens/i5/Friend Requests/Cancel@2x.png"; sourceTree = "<group>"; };
3E33EFD91C5B56340011B9B5 /* No Friend Requests i5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "No Friend Requests i5@2x.png"; path = "../../../Dropbox/Gethip/Screens/Friends + Invite Screens/i5/Friend Requests/No Friend Requests i5@2x.png"; sourceTree = "<group>"; };
3E3412561C54C31F006226E0 /* SongSelectionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SongSelectionViewController.swift; sourceTree = "<group>"; };
3E3412581C54C6B7006226E0 /* SongCellWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SongCellWrapper.swift; sourceTree = "<group>"; };
3E34125A1C54C73A006226E0 /* PartySession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PartySession.swift; sourceTree = "<group>"; };
@ -192,21 +135,13 @@
3E3842E11C3E15DE005DD1FB /* ParseNetDebug.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ParseNetDebug.h; sourceTree = "<group>"; };
3E3B14DB1C5BBB3B001C437F /* PendingRequestViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PendingRequestViewController.swift; sourceTree = "<group>"; };
3E3B14DD1C5BCC9B001C437F /* FriendRequestViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FriendRequestViewController.swift; sourceTree = "<group>"; };
3E4169481C385F1000B193AF /* 1x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = 1x.png; path = "../../../Dropbox/Gethip/Screens/Logo Screen/6 Logo Screen/1x.png"; sourceTree = "<group>"; };
3E4169541C398A5B00B193AF /* SignUpViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SignUpViewController.swift; sourceTree = "<group>"; };
3E4169561C399C4D00B193AF /* Images-3.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Images-3.xcassets"; sourceTree = "<group>"; };
3E416EED1C97BE31001EA319 /* NextUpViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NextUpViewController.swift; sourceTree = "<group>"; };
3E41D74B1C8D17E100FFD846 /* icon-120.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-120.png"; sourceTree = "<group>"; };
3E41D74D1C8D17F300FFD846 /* Icon-60.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-60.png"; sourceTree = "<group>"; };
3E438ADD1C572DFD0055C97A /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
3E438AE11C5738EF0055C97A /* Create@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Create@2x.png"; path = "../../../Dropbox/Gethip/Screens/iPhone 5 Home/Icon Assets/Create@2x.png"; sourceTree = "<group>"; };
3E438AE21C5738EF0055C97A /* Friends@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Friends@2x.png"; path = "../../../Dropbox/Gethip/Screens/iPhone 5 Home/Icon Assets/Friends@2x.png"; sourceTree = "<group>"; };
3E438AE31C5738EF0055C97A /* Settings@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Settings@2x.png"; path = "../../../Dropbox/Gethip/Screens/iPhone 5 Home/Icon Assets/Settings@2x.png"; sourceTree = "<group>"; };
3E438AE41C5738EF0055C97A /* Star@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Star@2x.png"; path = "../../../Dropbox/Gethip/Screens/iPhone 5 Home/Icon Assets/Star@2x.png"; sourceTree = "<group>"; };
3E438AE51C5738EF0055C97A /* Turntable@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Turntable@2x.png"; path = "../../../Dropbox/Gethip/Screens/iPhone 5 Home/Icon Assets/Turntable@2x.png"; sourceTree = "<group>"; };
3E43B8C31C375ADE002F97A7 /* Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Bridging-Header.h"; sourceTree = "<group>"; };
3E43B8CE1C376F9F002F97A7 /* Logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Logo.png; path = "../../../Dropbox/gethip/Screens/6 Login/Assets/Logo.png"; sourceTree = "<group>"; };
3E4AA5201C853E1A00746839 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png"; path = "../../../Dropbox/gethip/Screens/6 Back to Party/6 Back to Party/Asset/Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png"; sourceTree = "<group>"; };
3E4B86B21C95DAE700ECDFFA /* Bolts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Bolts.framework; sourceTree = "<group>"; };
3E4B86B41C95DE3300ECDFFA /* Parse.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Parse.framework; sourceTree = "<group>"; };
3E4B86B61C95DE6300ECDFFA /* ParseFacebookUtilsV4.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ParseFacebookUtilsV4.framework; sourceTree = "<group>"; };
@ -216,35 +151,8 @@
3E50E03F1C74B97300EB9EA9 /* BackToHomeScreenViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BackToHomeScreenViewController.swift; sourceTree = "<group>"; };
3E5485B21C69A7DA00E7D5AB /* LoadingPartyViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadingPartyViewController.swift; sourceTree = "<group>"; };
3E5485B41C69CE2F00E7D5AB /* InvitedCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InvitedCollectionViewCell.swift; sourceTree = "<group>"; };
3E59525A1C39DBC900C88C71 /* Friends.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Friends.png; path = "../Get Hip/Get Hip/Assets/Friends.png"; sourceTree = "<group>"; };
3E59525B1C39DBC900C88C71 /* Friends@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Friends@2x.png"; path = "../Get Hip/Get Hip/Assets/Friends@2x.png"; sourceTree = "<group>"; };
3E59525C1C39DBC900C88C71 /* Friends@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Friends@3x.png"; path = "../Get Hip/Get Hip/Assets/Friends@3x.png"; sourceTree = "<group>"; };
3E59525D1C39DBC900C88C71 /* Settings.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Settings.png; path = "../Get Hip/Get Hip/Assets/Settings.png"; sourceTree = "<group>"; };
3E59525E1C39DBC900C88C71 /* Settings@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Settings@2x.png"; path = "../Get Hip/Get Hip/Assets/Settings@2x.png"; sourceTree = "<group>"; };
3E59525F1C39DBC900C88C71 /* Settings@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Settings@3x.png"; path = "../Get Hip/Get Hip/Assets/Settings@3x.png"; sourceTree = "<group>"; };
3E5952601C39DBC900C88C71 /* Star.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Star.png; path = "../Get Hip/Get Hip/Assets/Star.png"; sourceTree = "<group>"; };
3E5952611C39DBC900C88C71 /* Star@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Star@2x.png"; path = "../Get Hip/Get Hip/Assets/Star@2x.png"; sourceTree = "<group>"; };
3E5952621C39DBC900C88C71 /* Star@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Star@3x.png"; path = "../Get Hip/Get Hip/Assets/Star@3x.png"; sourceTree = "<group>"; };
3E59526C1C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2.png"; path = "../../../Dropbox/Gethip/Screens/6 Back to Party/6 Back to Party/Asset/Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2.png"; sourceTree = "<group>"; };
3E59526D1C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png"; path = "../../../Dropbox/Gethip/Screens/6 Back to Party/6 Back to Party/Asset/Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png"; sourceTree = "<group>"; };
3E59526E1C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@3x.png"; path = "../../../Dropbox/Gethip/Screens/6 Back to Party/6 Back to Party/Asset/Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@3x.png"; sourceTree = "<group>"; };
3E5952721C39DDA800C88C71 /* Create.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Create.png; path = "../../../Dropbox/Gethip/Screens/6 Home Screen/Assets/Create.png"; sourceTree = "<group>"; };
3E5952731C39DDA800C88C71 /* Create@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Create@2x.png"; path = "../../../Dropbox/Gethip/Screens/6 Home Screen/Assets/Create@2x.png"; sourceTree = "<group>"; };
3E5952741C39DDA800C88C71 /* Create@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Create@3x.png"; path = "../../../Dropbox/Gethip/Screens/6 Home Screen/Assets/Create@3x.png"; sourceTree = "<group>"; };
3E5952751C39DDA800C88C71 /* Group.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Group.png; path = "../../../Dropbox/Gethip/Screens/6 Home Screen/Assets/Group.png"; sourceTree = "<group>"; };
3E5952761C39DDA800C88C71 /* Group@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Group@2x.png"; path = "../../../Dropbox/Gethip/Screens/6 Home Screen/Assets/Group@2x.png"; sourceTree = "<group>"; };
3E5952771C39DDA800C88C71 /* Group@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Group@3x.png"; path = "../../../Dropbox/Gethip/Screens/6 Home Screen/Assets/Group@3x.png"; sourceTree = "<group>"; };
3E5952781C39DDA800C88C71 /* Settings.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Settings.png; path = "../../../Dropbox/Gethip/Screens/6 Home Screen/Assets/Settings.png"; sourceTree = "<group>"; };
3E5952791C39DDA800C88C71 /* Settings@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Settings@2x.png"; path = "../../../Dropbox/Gethip/Screens/6 Home Screen/Assets/Settings@2x.png"; sourceTree = "<group>"; };
3E59527A1C39DDA800C88C71 /* Settings@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Settings@3x.png"; path = "../../../Dropbox/Gethip/Screens/6 Home Screen/Assets/Settings@3x.png"; sourceTree = "<group>"; };
3E5952841C39E54A00C88C71 /* HomeScreenViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HomeScreenViewController.swift; sourceTree = "<group>"; };
3E5952861C39EB6100C88C71 /* Turntable.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Turntable.png; path = "../Get Hip/Get Hip/Assets/Turntable.png"; sourceTree = "<group>"; };
3E5952871C39EB6100C88C71 /* Turntable@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Turntable@2x.png"; path = "../Get Hip/Get Hip/Assets/Turntable@2x.png"; sourceTree = "<group>"; };
3E5952881C39EB6100C88C71 /* Turntable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Turntable@3x.png"; path = "../Get Hip/Get Hip/Assets/Turntable@3x.png"; sourceTree = "<group>"; };
3E5BD3101C6C424300266B16 /* CurrentlyPlayingViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CurrentlyPlayingViewController.swift; sourceTree = "<group>"; };
3E5BD3121C6C45CE00266B16 /* Home Copy@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Home Copy@2x.png"; path = "../../../Dropbox/Gethip/Screens/Song Playing/5 Play Screen/Assets/Home Copy@2x.png"; sourceTree = "<group>"; };
3E5BD3131C6C45CE00266B16 /* Party@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Party@2x.png"; path = "../../../Dropbox/Gethip/Screens/Song Playing/5 Play Screen/Assets/Party@2x.png"; sourceTree = "<group>"; };
3E5BD3141C6C45CE00266B16 /* StarPlayer@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "StarPlayer@2x.png"; path = "../../../Dropbox/Gethip/Screens/Song Playing/5 Play Screen/Assets/StarPlayer@2x.png"; sourceTree = "<group>"; };
3E627FC21C55978E005C0372 /* PartySessionManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PartySessionManager.swift; sourceTree = "<group>"; };
3E631B261CB4D3150050808F /* NSMutableArray+QueueMethods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableArray+QueueMethods.h"; sourceTree = "<group>"; };
3E631B271CB4D3150050808F /* NSMutableArray+QueueMethods.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableArray+QueueMethods.m"; sourceTree = "<group>"; };
@ -271,22 +179,12 @@
3E631B3D1CB4D3150050808F /* TDAudioStreamerConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TDAudioStreamerConstants.h; sourceTree = "<group>"; };
3E631B3E1CB4D3150050808F /* TDAudioStreamerConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TDAudioStreamerConstants.m; sourceTree = "<group>"; };
3E6738F41C6E9C7700B47C3E /* LoginController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginController.swift; sourceTree = "<group>"; };
3E6D43851C782E3200CA805F /* Decline@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Decline@2x.png"; path = "../../../Dropbox/gethip/Screens/Invited To Join Party/5 When Invited/When Invited/Assets/Decline@2x.png"; sourceTree = "<group>"; };
3E6D43881C7831B100CA805F /* InvitedToPartyViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InvitedToPartyViewController.swift; sourceTree = "<group>"; };
3E6D438A1C78968C00CA805F /* Joining@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Joining@2x.png"; path = "../../../Dropbox/gethip/Screens/Invited To Join Party/5 When Invited/When Invited/Joining/Assets/Joining@2x.png"; sourceTree = "<group>"; };
3E6D438C1C78969A00CA805F /* CancelInvited@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "CancelInvited@2x.png"; path = "../../../Dropbox/gethip/Screens/Invited To Join Party/5 When Invited/When Invited/Joining/Assets/CancelInvited@2x.png"; sourceTree = "<group>"; };
3E76CF2B1C38349D00193B58 /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
3E76CF2D1C3835C500193B58 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
3E76CF2F1C3835E300193B58 /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; };
3E7BB8E11C5B4A350005B834 /* Change Song@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Change Song@2x.png"; path = "../../../Dropbox/Gethip/Screens/Song Selected/5 Song Selected/Assets/Change Song@2x.png"; sourceTree = "<group>"; };
3EB6B39A1C87B8AE006B674D /* JoiningPartyViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JoiningPartyViewController.swift; sourceTree = "<group>"; };
3EB8845B1C6C647700CCDCCE /* Add More@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Add More@2x.png"; path = "../../../Dropbox/Gethip/Screens/iPhone 5 Party Screens/Party Screen/Assets/Add More@2x.png"; sourceTree = "<group>"; };
3EB8845C1C6C647700CCDCCE /* Leave Party@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Leave Party@2x.png"; path = "../../../Dropbox/Gethip/Screens/iPhone 5 Party Screens/Party Screen/Assets/Leave Party@2x.png"; sourceTree = "<group>"; };
3EBE82591CB06793004A2730 /* HomeTabController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HomeTabController.swift; sourceTree = "<group>"; };
3EBE97651C53CEDA0079B54A /* Send Invites Button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Send Invites Button.png"; path = "../../../Dropbox/Gethip/Screens/Friends + Invite Screens/i6/Invite Friends/Send Invites Button.png"; sourceTree = "<group>"; };
3EBE97671C53E4290079B54A /* Blue Check.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Blue Check.png"; path = "../../../Dropbox/Gethip/Screens/Friends + Invite Screens/i6/Invite Friends/Blue Check.png"; sourceTree = "<group>"; };
3EBE97681C53E4290079B54A /* cross.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = cross.png; path = "../../../Dropbox/Gethip/Screens/Friends + Invite Screens/i6/Invite Friends/cross.png"; sourceTree = "<group>"; };
3EBE97691C53E4290079B54A /* Tap Circle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Tap Circle.png"; path = "../../../Dropbox/Gethip/Screens/Friends + Invite Screens/i6/Invite Friends/Tap Circle.png"; sourceTree = "<group>"; };
3EBE976E1C53E6950079B54A /* InviteFriendCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InviteFriendCell.swift; sourceTree = "<group>"; };
3EBE97701C540BB80079B54A /* TestInviteFriendsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestInviteFriendsController.swift; sourceTree = "<group>"; };
3EBE97721C5413240079B54A /* TestInviteFriendsCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestInviteFriendsCell.swift; sourceTree = "<group>"; };
@ -494,62 +392,13 @@
name = NextUpInParty;
sourceTree = "<group>";
};
3E438AE01C57387B0055C97A /* iPhone5 */ = {
isa = PBXGroup;
children = (
3E6D438C1C78969A00CA805F /* CancelInvited@2x.png */,
3E6D438A1C78968C00CA805F /* Joining@2x.png */,
3E6D43851C782E3200CA805F /* Decline@2x.png */,
3E4AA5201C853E1A00746839 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png */,
3E0B78B71C6E3756001DF21E /* Pause-52.png */,
3E0B78B81C6E3756001DF21E /* Play-52.png */,
3EB8845B1C6C647700CCDCCE /* Add More@2x.png */,
3EB8845C1C6C647700CCDCCE /* Leave Party@2x.png */,
3E5BD3121C6C45CE00266B16 /* Home Copy@2x.png */,
3E5BD3131C6C45CE00266B16 /* Party@2x.png */,
3E5BD3141C6C45CE00266B16 /* StarPlayer@2x.png */,
3E33EFD71C5B56340011B9B5 /* Accept@2x.png */,
3E33EFD81C5B56340011B9B5 /* Cancel@2x.png */,
3E33EFD91C5B56340011B9B5 /* No Friend Requests i5@2x.png */,
3E24F9FE1C5B51690091B9D9 /* Send@2x.png */,
3E7BB8E11C5B4A350005B834 /* Change Song@2x.png */,
3E438AE11C5738EF0055C97A /* Create@2x.png */,
3E438AE21C5738EF0055C97A /* Friends@2x.png */,
3E438AE31C5738EF0055C97A /* Settings@2x.png */,
3E438AE41C5738EF0055C97A /* Star@2x.png */,
3E438AE51C5738EF0055C97A /* Turntable@2x.png */,
);
name = iPhone5;
sourceTree = "<group>";
};
3E43B8CB1C376BBE002F97A7 /* Assets */ = {
isa = PBXGroup;
children = (
3E438AE01C57387B0055C97A /* iPhone5 */,
3E43B8CD1C376F70002F97A7 /* IPhone6 */,
);
name = Assets;
sourceTree = "<group>";
};
3E43B8CC1C376C31002F97A7 /* LoginScreen */ = {
isa = PBXGroup;
children = (
3E4169481C385F1000B193AF /* 1x.png */,
3E43B8CE1C376F9F002F97A7 /* Logo.png */,
);
name = LoginScreen;
sourceTree = "<group>";
};
3E43B8CD1C376F70002F97A7 /* IPhone6 */ = {
isa = PBXGroup;
children = (
3EBE97641C53CE950079B54A /* InviteFriends */,
3E5952591C39DB2800C88C71 /* CreateJoinOrReturnToPartyScreen */,
3E43B8CC1C376C31002F97A7 /* LoginScreen */,
);
name = IPhone6;
sourceTree = "<group>";
};
3E5485B11C69A77B00E7D5AB /* LoadingParty */ = {
isa = PBXGroup;
children = (
@ -559,37 +408,6 @@
name = LoadingParty;
sourceTree = "<group>";
};
3E5952591C39DB2800C88C71 /* CreateJoinOrReturnToPartyScreen */ = {
isa = PBXGroup;
children = (
3E5952861C39EB6100C88C71 /* Turntable.png */,
3E5952871C39EB6100C88C71 /* Turntable@2x.png */,
3E5952881C39EB6100C88C71 /* Turntable@3x.png */,
3E5952721C39DDA800C88C71 /* Create.png */,
3E5952731C39DDA800C88C71 /* Create@2x.png */,
3E5952741C39DDA800C88C71 /* Create@3x.png */,
3E5952751C39DDA800C88C71 /* Group.png */,
3E5952761C39DDA800C88C71 /* Group@2x.png */,
3E5952771C39DDA800C88C71 /* Group@3x.png */,
3E5952781C39DDA800C88C71 /* Settings.png */,
3E5952791C39DDA800C88C71 /* Settings@2x.png */,
3E59527A1C39DDA800C88C71 /* Settings@3x.png */,
3E59526C1C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2.png */,
3E59526D1C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png */,
3E59526E1C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@3x.png */,
3E59525A1C39DBC900C88C71 /* Friends.png */,
3E59525B1C39DBC900C88C71 /* Friends@2x.png */,
3E59525C1C39DBC900C88C71 /* Friends@3x.png */,
3E59525D1C39DBC900C88C71 /* Settings.png */,
3E59525E1C39DBC900C88C71 /* Settings@2x.png */,
3E59525F1C39DBC900C88C71 /* Settings@3x.png */,
3E5952601C39DBC900C88C71 /* Star.png */,
3E5952611C39DBC900C88C71 /* Star@2x.png */,
3E5952621C39DBC900C88C71 /* Star@3x.png */,
);
name = CreateJoinOrReturnToPartyScreen;
sourceTree = "<group>";
};
3E5BD30F1C6C41F300266B16 /* CurrentlyPlaying */ = {
isa = PBXGroup;
children = (
@ -686,17 +504,6 @@
name = InvitedToParty;
sourceTree = "<group>";
};
3EBE97641C53CE950079B54A /* InviteFriends */ = {
isa = PBXGroup;
children = (
3EBE97671C53E4290079B54A /* Blue Check.png */,
3EBE97681C53E4290079B54A /* cross.png */,
3EBE97691C53E4290079B54A /* Tap Circle.png */,
3EBE97651C53CEDA0079B54A /* Send Invites Button.png */,
);
name = InviteFriends;
sourceTree = "<group>";
};
3EBE976D1C53E5CF0079B54A /* InviteFriends */ = {
isa = PBXGroup;
children = (
@ -794,62 +601,11 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
3E5BD3171C6C45CE00266B16 /* StarPlayer@2x.png in Resources */,
3E5BD3161C6C45CE00266B16 /* Party@2x.png in Resources */,
3E4169491C385F1000B193AF /* 1x.png in Resources */,
3E4AA5211C853E1A00746839 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png in Resources */,
3E5952641C39DBC900C88C71 /* Friends@2x.png in Resources */,
3E59528B1C39EB6100C88C71 /* Turntable@3x.png in Resources */,
3E5952661C39DBC900C88C71 /* Settings.png in Resources */,
3E5952891C39EB6100C88C71 /* Turntable.png in Resources */,
3E59527D1C39DDA800C88C71 /* Create@3x.png in Resources */,
3E33EFDB1C5B56340011B9B5 /* Cancel@2x.png in Resources */,
3EBE976B1C53E4290079B54A /* cross.png in Resources */,
3E43B8CF1C376F9F002F97A7 /* Logo.png in Resources */,
3E4169571C399C4D00B193AF /* Images-3.xcassets in Resources */,
3EB8845E1C6C647700CCDCCE /* Leave Party@2x.png in Resources */,
3EBE97661C53CEDA0079B54A /* Send Invites Button.png in Resources */,
3E24F9FF1C5B51690091B9D9 /* Send@2x.png in Resources */,
3E438AEA1C5738EF0055C97A /* Turntable@2x.png in Resources */,
3E5952801C39DDA800C88C71 /* Group@3x.png in Resources */,
3E5952631C39DBC900C88C71 /* Friends.png in Resources */,
3E0B78B91C6E3756001DF21E /* Pause-52.png in Resources */,
3E5952811C39DDA800C88C71 /* Settings.png in Resources */,
3E59527E1C39DDA800C88C71 /* Group.png in Resources */,
3E6D438D1C78969A00CA805F /* CancelInvited@2x.png in Resources */,
3E5952711C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@3x.png in Resources */,
3E6D438B1C78968C00CA805F /* Joining@2x.png in Resources */,
3E33EFDC1C5B56340011B9B5 /* No Friend Requests i5@2x.png in Resources */,
3E33EFDA1C5B56340011B9B5 /* Accept@2x.png in Resources */,
3E438AE91C5738EF0055C97A /* Star@2x.png in Resources */,
3E5BD3151C6C45CE00266B16 /* Home Copy@2x.png in Resources */,
3E5952831C39DDA800C88C71 /* Settings@3x.png in Resources */,
3E41D74C1C8D17E100FFD846 /* icon-120.png in Resources */,
3E7BB8E21C5B4A350005B834 /* Change Song@2x.png in Resources */,
3E59526B1C39DBC900C88C71 /* Star@3x.png in Resources */,
3E59527B1C39DDA800C88C71 /* Create.png in Resources */,
3E5952701C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png in Resources */,
3EBE976C1C53E4290079B54A /* Tap Circle.png in Resources */,
3E5952671C39DBC900C88C71 /* Settings@2x.png in Resources */,
3EBE976A1C53E4290079B54A /* Blue Check.png in Resources */,
3E438AE71C5738EF0055C97A /* Friends@2x.png in Resources */,
3E59528A1C39EB6100C88C71 /* Turntable@2x.png in Resources */,
3E0B78BA1C6E3756001DF21E /* Play-52.png in Resources */,
3E438ADE1C572DFD0055C97A /* Main.storyboard in Resources */,
3E438AE81C5738EF0055C97A /* Settings@2x.png in Resources */,
3E5952681C39DBC900C88C71 /* Settings@3x.png in Resources */,
3E59526F1C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2.png in Resources */,
3E59527F1C39DDA800C88C71 /* Group@2x.png in Resources */,
3E5952691C39DBC900C88C71 /* Star.png in Resources */,
3E41D74E1C8D17F300FFD846 /* Icon-60.png in Resources */,
3E59527C1C39DDA800C88C71 /* Create@2x.png in Resources */,
3E59526A1C39DBC900C88C71 /* Star@2x.png in Resources */,
3E5952821C39DDA800C88C71 /* Settings@2x.png in Resources */,
3EB8845D1C6C647700CCDCCE /* Add More@2x.png in Resources */,
3E1BDA5F1C37111D00EE3B84 /* LaunchScreen.xib in Resources */,
3E438AE61C5738EF0055C97A /* Create@2x.png in Resources */,
3E5952651C39DBC900C88C71 /* Friends@3x.png in Resources */,
3E6D43861C782E3200CA805F /* Decline@2x.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@ -11,7 +11,7 @@ import MediaPlayer
import AVFoundation
import MultipeerConnectivity
class CurrentlyPlayingViewController: UIViewController, PartyServiceManagerDelegate, UICollectionViewDataSource, UICollectionViewDelegate{
class CurrentlyPlayingViewController: UIViewController, PartyServiceManagerDelegate, UICollectionViewDataSource, UICollectionViewDelegate, UIAlertViewDelegate{
//persistant data
var party: PartyServiceManager!
var usr: [UserParseData] = []
@ -22,9 +22,12 @@ class CurrentlyPlayingViewController: UIViewController, PartyServiceManagerDeleg
var timer = NSTimer()
var nextHost: String!
var messageOutputStream: Dictionary<String, NSOutputStream>!
var messageInputStream: Dictionary<String, NSInputStresm>!
var messageInputStream: Dictionary<String, NSInputStream>!
@IBOutlet var segmentControl: UISegmentedControl!
//class variable for responding to peer who has just sent a message
private var curr_fromPeer: MCPeerID!
@IBAction func switchViews(segCtrl: UISegmentedControl){
if(segCtrl.selectedSegmentIndex == 0){
@ -159,6 +162,7 @@ class CurrentlyPlayingViewController: UIViewController, PartyServiceManagerDeleg
self.leaveOrEnd.enabled = false
//Set up for CurrentlyPlayingView
self.progressBar.setProgress(0, animated: true)
self.volCtrl.hidden = true
@ -176,21 +180,45 @@ class CurrentlyPlayingViewController: UIViewController, PartyServiceManagerDeleg
self.audioPlayer.volume = self.volCtrl.value
self.maxLabel.text = String(stringInterpolationSegment: self.audioPlayer.currentItem.duration.value)
self.party.delegate = self
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
dispatch_async(dispatch_get_global_queue(priority, 0)) {
// Put the calculations here
for peer in self.party.session.connectedPeers {
self.party.outputStreamers[peer.displayName]?.start()
}
self.audioPlayer.play()
self.timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("updateLabels"), userInfo: nil, repeats: true)
dispatch_async(dispatch_get_main_queue()) {
// any updates of the UI need to be here to do them in the main thread after your background task. For example adding subviews
if (self.party.role == PeerType.Guest_Creator){
self.leaveOrEnd.titleLabel!.text = "Leave Party"
}
}
}
//sets the next host of the party once the party starts
self.party.chooseNextHost()
print(self.party.currentHost)
//used to notify for end of song and initiate next host loop
//NSNotificationCenter.defaultCenter().addObserver(self, selector: "songDidEnd:", name: "AVPlayerItemDidPlayToEndTimeNotification", object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "songDidEnd:", name: "AVPlayerItemDidPlayToEndTimeNotification", object: nil)
}else if (self.party.role == PeerType.Guest_Invited || self.party.role == PeerType.Host_Invited){
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
dispatch_async(dispatch_get_global_queue(priority, 0)) {
// Put the calculations here
dispatch_async(dispatch_get_main_queue()) {
// any updates of the UI need to be here to do them in the main thread after your background task. For example adding subviews
self.volCtrl.hidden = true
self.volCtrl.enabled = false
@ -202,6 +230,14 @@ class CurrentlyPlayingViewController: UIViewController, PartyServiceManagerDeleg
self.party.delegate = self
self.ppfButton.hidden = true
if(self.party.role == PeerType.Guest_Invited){
self.leaveOrEnd.titleLabel!.text = "Leave Party"
}
}
}
}
@ -220,19 +256,26 @@ class CurrentlyPlayingViewController: UIViewController, PartyServiceManagerDeleg
self.party.role == PeerType.Guest_Invited
}
var didAnyoneBecomeHost: Bool = false
for peer in self.party.connectedPeers() as! [MCPeerID]{
if (peer.displayName == self.party.currentHost){
if ((self.party.currentHost != nil) && (peer.displayName == self.party.currentHost)){
var dictionary: [String: AnyObject] = ["sender": self.party.myPeerID, "instruction": "start_picking_a_song"]
self.party.sendInstruction(dictionary, toPeer: peer)
didAnyoneBecomeHost = true
}else{
var dictionary: [String: AnyObject] = ["sender": self.party.myPeerID, "instruction": "wait_in_nextUp_Scene"]
self.party.sendInstruction(dictionary, toPeer: peer)
}
}
if(didAnyoneBecomeHost){
self.performSegueWithIdentifier("NextSongSelectionSegue", sender: self)
}else{
self.performSegueWithIdentifier("NextUpSegue", sender: self)
}
}
func timeFormat(value: Float) -> String{
var minutes: Float = floor(roundf((value)/60))
println(minutes)
@ -332,38 +375,61 @@ extension CurrentlyPlayingViewController {
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
var cell: InvitedCollectionViewCell!
var cell: InvitedCollectionViewCell! = self.friendsInParty.dequeueReusableCellWithReuseIdentifier("InvitedCollectionCell", forIndexPath: indexPath) as! InvitedCollectionViewCell
if(indexPath.row == 0){
cell.friendImage.image = self.usr[0].profileImg.image!
}
else if((indexPath.row > 0) && (indexPath.row < self.party.invitedFriends.count)){
let friend = self.party.invitedFriends[indexPath.row]
cell = self.friendsInParty.dequeueReusableCellWithReuseIdentifier("InvitedCollectionCell", forIndexPath: indexPath) as! InvitedCollectionViewCell
if friend.profileImg == nil {
cell.friendImage.backgroundColor = UIColor.grayColor()
cell.friendImage.backgroundColor = UIColor.lightGrayColor()
}
else{
cell.friendImage.image = friend.profileImg.image!
}
}else{
cell.friendImage.backgroundColor = UIColor.grayColor()
}
//rounds uiimage and configures UIImageView
cell.friendImage.layer.cornerRadius = cell.friendImage.frame.size.width/2
cell.friendImage.clipsToBounds = true
return cell
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return self.party.invitedFriends.count
return 8
}
}
extension CurrentlyPlayingViewController: UIAlertViewDelegate {
func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {
if(buttonIndex == 0){
var dictionary: [String: AnyObject] = ["sender": self.party.myPeerID, "instruction": "does_accept"]
self.party.sendInstruction(dictionary, toPeer: curr_fromPeer)
self.party.currentHost = self.party.myPeerID.displayName
print(self.party.currentHost)
alertView.dismissWithClickedButtonIndex(0, animated: true)
}
if(buttonIndex == 1){
var dictionary: [String: AnyObject] = ["sender": self.party.myPeerID, "instruction": "does_not_accept"]
self.party.sendInstruction(dictionary, toPeer: curr_fromPeer)
alertView.dismissWithClickedButtonIndex(1, animated: true)
}
}
}
extension CurrentlyPlayingViewController: PartyServiceManagerDelegate {
func foundPeer() {
@ -401,12 +467,19 @@ extension CurrentlyPlayingViewController: PartyServiceManagerDelegate {
}else if(instruction == "want_to_be_host"){
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
dispatch_async(dispatch_get_global_queue(priority, 0)) {
// Put the calculations here
dispatch_async(dispatch_get_main_queue()) {
// any updates of the UI need to be here to do them in the main thread after your background task. For example adding subviews
if objc_getClass("UIAlertController") != nil {
let alert = UIAlertController(title: "Hosting Request", message: "Would you like to be the next host for the party and pick a song?", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "Accept", style: .Default, handler:{
(action: UIAlertAction!) -> Void in
var dictionary: [String: AnyObject] = ["sender": self.party.myPeerID, "instruction": "does_accept"]
self.party.sendInstruction(dictionary, toPeer: fromPeer)
self.party.currentHost = self.party.myPeerID.displayName
alert.dismissViewControllerAnimated(true, completion: nil)
@ -424,13 +497,21 @@ extension CurrentlyPlayingViewController: PartyServiceManagerDelegate {
}else{
let alert = UIAlertView()
alert.title = "Password Changed"
alert.message = "Your password has been updated."
alert.addButtonWithTitle("Yes")
alert.addButtonWithTitle("No")
alert.title = "Hosting Rrequest"
alert.message = "Would you like to be the next host for the party and pick a song?"
alert.addButtonWithTitle("Accept")
alert.addButtonWithTitle("Decline")
alert.show()
}
}
}
}else if(instruction == "start_picking_a_song"){
if(self.party.role == PeerType.Host_Invited){
self.party.role == PeerType.Host_Creator

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14A389" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="MML-b6-w6u">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14B25" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="MML-b6-w6u">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
@ -1298,15 +1298,6 @@
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Fh8-OZ-AqN" id="uSi-Wb-bLf">
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="78a-BT-21T">
<rect key="frame" x="265" y="16" width="33" height="33"/>
<constraints>
<constraint firstAttribute="width" secondItem="78a-BT-21T" secondAttribute="height" multiplier="1:1" id="X0J-gS-Vod"/>
</constraints>
<state key="normal" backgroundImage="SendInvitesTapCircle">
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
</button>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="4k6-G5-geO">
<rect key="frame" x="14" y="7" width="50" height="50"/>
<constraints>
@ -1322,6 +1313,15 @@
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="78a-BT-21T">
<rect key="frame" x="265" y="15" width="33" height="33"/>
<constraints>
<constraint firstAttribute="width" secondItem="78a-BT-21T" secondAttribute="height" multiplier="1:1" id="X0J-gS-Vod"/>
</constraints>
<state key="normal" backgroundImage="SendInvitesTapCircle">
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
</button>
</subviews>
<constraints>
<constraint firstItem="xqN-Id-qka" firstAttribute="leading" secondItem="4k6-G5-geO" secondAttribute="trailing" constant="8" id="9gp-Ti-73M"/>
@ -2021,7 +2021,7 @@
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" misplaced="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="iAI-5U-c8e">
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="iAI-5U-c8e">
<rect key="frame" x="0.0" y="64" width="320" height="504"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
@ -2036,28 +2036,6 @@
</connections>
</searchBar>
<prototypes>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="FilterCell" rowHeight="37" id="Nxt-BH-brs" customClass="FilterCell" customModule="GetHip" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Nxt-BH-brs" id="WHc-ZI-xRk">
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4zc-Nu-ws0">
<rect key="frame" x="0.0" y="0.0" width="320" height="36"/>
<state key="normal" title="Songs">
<color key="titleColor" red="0.097259112270000003" green="0.60830058499999995" blue="1" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="selectFilter:" destination="VGZ-6j-3c9" eventType="touchUpInside" id="1kg-On-GjA"/>
</connections>
</button>
</subviews>
</tableViewCellContentView>
<connections>
<outlet property="filterBtn" destination="4zc-Nu-ws0" id="zUN-8G-5qr"/>
</connections>
</tableViewCell>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="AlbumCell" textLabel="xKd-Jm-m43" detailTextLabel="tJ8-Wy-do9" style="IBUITableViewCellStyleSubtitle" id="mBY-XW-8T6" customClass="AlbumCell" customModule="GetHip" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<autoresizingMask key="autoresizingMask"/>
@ -2127,6 +2105,19 @@
</constraints>
</view>
<navigationItem key="navigationItem" id="jFE-GF-LuN">
<nil key="title"/>
<segmentedControl key="titleView" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="bar" selectedSegmentIndex="0" id="YHD-Jf-mAS">
<rect key="frame" x="53" y="7" width="215" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<segments>
<segment title="Songs"/>
<segment title="Albums"/>
<segment title="Artists"/>
</segments>
<connections>
<action selector="switchViews:" destination="VGZ-6j-3c9" eventType="valueChanged" id="XHo-I5-ZMh"/>
</connections>
</segmentedControl>
<barButtonItem key="rightBarButtonItem" systemItem="stop" id="jhr-4N-WL1">
<color key="tintColor" red="1" green="0.18659413420000001" blue="0.1031019395" alpha="1" colorSpace="calibratedRGB"/>
<connections>
@ -2134,9 +2125,11 @@
</connections>
</barButtonItem>
</navigationItem>
<simulatedNavigationBarMetrics key="simulatedTopBarMetrics" prompted="NO"/>
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/>
<connections>
<outlet property="searchDisplayController" destination="Le1-SR-p7g" id="B5Z-qo-0DN"/>
<outlet property="segCtrl" destination="YHD-Jf-mAS" id="QEg-w9-eWS"/>
<outlet property="table" destination="iAI-5U-c8e" id="hcz-UQ-Mmg"/>
<segue destination="C6s-vA-8F4" kind="presentation" identifier="LoadingPartySegue" id="zDR-tX-KYY"/>
<segue destination="5Fd-vs-lX1" kind="presentation" identifier="NextSongCurrentlyPlayingSegue" id="Imp-mG-tFc"/>
@ -2433,7 +2426,7 @@
<segue reference="bZG-mB-VR5"/>
<segue reference="4Cw-Wg-nXy"/>
<segue reference="hjX-RT-64R"/>
<segue reference="OpG-wQ-NAH"/>
<segue reference="Imp-mG-tFc"/>
<segue reference="45l-um-hHv"/>
</inferredMetricsTieBreakers>
</document>

View File

@ -87,14 +87,15 @@ class PartyServiceManager: NSObject, AnyObject {
func chooseNextHost(){
var numPeers = self.connectedPeers().count
var nextHostIndex: Int = Int(arc4random_uniform(UInt32(numPeers)))
println(nextHostIndex)
println(self.connectedPeers().count)
println("")
println(self.currentHost)
println(self.connectedPeers()[nextHostIndex].displayName)
if (self.currentHost != nil && self.connectedPeers()[nextHostIndex].displayName == self.currentHost){
chooseNextHost()
}else{
self.currentHost = self.connectedPeers()[nextHostIndex].displayName
var dictionary: [String: AnyObject] = ["sender": self.myPeerID, "instruction": "want_to_be_host"]
self.sendInstruction(dictionary, toPeer: self.connectedPeersDictionary[self.currentHost] as! MCPeerID)
self.sendInstruction(dictionary, toPeer: self.connectedPeersDictionary[self.connectedPeers()[nextHostIndex].displayName] as! MCPeerID)
}
}
@ -181,6 +182,12 @@ class PartyServiceManager: NSObject, AnyObject {
self.chooseNextHost()
}
if(instruction == "does_accept"){
self.currentHost == fromPeer.displayName
}
return (instruction!, fromPeer)

View File

@ -16,57 +16,47 @@ class SongSelectionViewController: UIViewController, UITableViewDelegate, UITabl
var frnds: [FriendData] = []
var requestData: [FriendData] = []
@IBOutlet weak var table: UITableView!
@IBOutlet weak var segCtrl: UISegmentedControl!
@IBAction func switchViews(segCtrl: UISegmentedControl){
switch self.segCtrl.selectedSegmentIndex {
@IBAction func selectFilter(sender: AnyObject) {
let filterMenu = UIAlertController(title: nil, message:nil, preferredStyle: .ActionSheet)
let cell: FilterCell = self.table.cellForRowAtIndexPath(NSIndexPath(forRow: 0, inSection: 0)) as! FilterCell
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: {
(alert: UIAlertAction!) -> Void in
})
let songFilterAction = UIAlertAction(title: "Songs", style: .Default, handler: {
(alert: UIAlertAction!) -> Void in
case 0:
self.filter = "Songs"
self.table.reloadData()
cell.filterBtn.titleLabel?.text = self.filter
})
let albumFilterAction = UIAlertAction(title: "Albums", style: .Default, handler: {
(alert: UIAlertAction!) -> Void in
break
case 1:
self.filter = "Albums"
self.table.reloadData()
cell.filterBtn.titleLabel?.text = self.filter
})
let artistFilterAction = UIAlertAction(title: "Artists", style: .Default, handler: {
(alert: UIAlertAction!) -> Void in
self.filter = "Artists"
self.table.reloadData()
cell.filterBtn.titleLabel?.text = self.filter
})
switch self.filter {
case "Artists":
filterMenu.addAction(songFilterAction)
filterMenu.addAction(albumFilterAction)
case "Albums":
filterMenu.addAction(songFilterAction)
filterMenu.addAction(artistFilterAction)
break
default:
filterMenu.addAction(artistFilterAction)
filterMenu.addAction(albumFilterAction)
self.filter = "Artists"
break
}
filterMenu.addAction(cancelAction)
self.presentViewController(filterMenu, animated: true, completion: nil)
switch self.filter {
case "Albums":
self.table.reloadData()
break
case "Artists":
self.table.reloadData()
break
default:
self.table.reloadData()
break
}
if(segCtrl.selectedSegmentIndex == 0){
}
}
var filter: String! = "Songs"
@IBAction func cancelInvites(sender: UIBarButtonItem) {
@ -110,32 +100,29 @@ class SongSelectionViewController: UIViewController, UITableViewDelegate, UITabl
//return number of rows for albums
case "Albums":
var albumsQuery = MPMediaQuery.albumsQuery()
albumsQuery.groupingType = MPMediaGrouping.Album
var albums = albumsQuery.collections
return albums.count + 1
return albums.count
//return number of rows for artists
case "Artists":
var artistsQuery = MPMediaQuery.artistsQuery()
//artistsQuery
var artists = artistsQuery.items
return artists.count + 1
artistsQuery.groupingType = MPMediaGrouping.Artist
var artists = artistsQuery.collections
return artists.count
//return number of rows for song
default:
var songsQuery = MPMediaQuery.songsQuery()
var songs = songsQuery.items
return songs.count + 1
return songs.count
}
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if( indexPath.row == 0){
}
else{
switch self.filter{
//return albums cell
@ -145,7 +132,7 @@ class SongSelectionViewController: UIViewController, UITableViewDelegate, UITabl
var albumsQuery = MPMediaQuery.albumsQuery()
var albums = albumsQuery.items
var rowItem: MPMediaItem = albums[indexPath.row - 1] as! MPMediaItem
var rowItem: MPMediaItem = albums[indexPath.row ] as! MPMediaItem
//segue to song selection from album selection
@ -156,7 +143,7 @@ class SongSelectionViewController: UIViewController, UITableViewDelegate, UITabl
var artistsQuery = MPMediaQuery.artistsQuery()
var artists = artistsQuery.items
var rowItem: MPMediaItem = artists[indexPath.row - 1] as! MPMediaItem
var rowItem: MPMediaItem = artists[indexPath.row ] as! MPMediaItem
//segue to song selction from artist
//return song cell
@ -166,7 +153,7 @@ class SongSelectionViewController: UIViewController, UITableViewDelegate, UITabl
var songsQuery = MPMediaQuery.songsQuery()
var songs = songsQuery.items
var rowItem: MPMediaItem = songs[indexPath.row - 1] as! MPMediaItem
var rowItem: MPMediaItem = songs[indexPath.row ] as! MPMediaItem
self.party.setSong(rowItem)
if(self.party.role == PeerType.Host_Creator){
self.performSegueWithIdentifier("LoadingPartySegue", sender: self)
@ -176,19 +163,13 @@ class SongSelectionViewController: UIViewController, UITableViewDelegate, UITabl
}
}
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if( indexPath.row == 0){
let cell = self.table.dequeueReusableCellWithIdentifier("FilterCell", forIndexPath: indexPath) as? FilterCell
return cell!
}
else{
switch self.filter{
//return albums cell
@ -197,13 +178,23 @@ class SongSelectionViewController: UIViewController, UITableViewDelegate, UITabl
var albumsQuery = MPMediaQuery.albumsQuery()
var albums = albumsQuery.items
var rowItem: MPMediaItem = albums[indexPath.row - 1] as! MPMediaItem
albumsQuery.groupingType = MPMediaGrouping.Album
var albums = albumsQuery.collections
var rowItem: MPMediaItemCollection = albums[indexPath.row] as! MPMediaItemCollection
var representative = rowItem.representativeItem
cell?.textLabel?.text = rowItem.valueForProperty(MPMediaItemPropertyAlbumTitle) as? String!
cell?.detailTextLabel?.text = rowItem.valueForProperty(MPMediaItemPropertyAlbumArtist) as? String!
cell?.textLabel?.text = representative.albumTitle //rowItem.valueForProperty(MPMediaItemPropertyAlbumTitle) as? String!
cell?.detailTextLabel?.text = representative.albumArtist //rowItem.valueForProperty(MPMediaItemPropertyArtist) as? String!
var artwork: MPMediaItemArtwork = rowItem.valueForProperty(MPMediaItemPropertyArtwork) as! MPMediaItemArtwork
if (representative.albumArtist == nil) {
cell?.detailTextLabel?.text = "Unknown Artist"
}
if (representative.albumTitle == nil) {
cell?.textLabel?.text = "Unknown Album"
}
var artwork: MPMediaItemArtwork = representative.artwork //rowItem.valueForProperty(MPMediaItemPropertyArtwork) as! MPMediaItemArtwork
var artworkImage = artwork.imageWithSize(CGSize(width: 44,height: 44))
@ -223,12 +214,19 @@ class SongSelectionViewController: UIViewController, UITableViewDelegate, UITabl
var artistsQuery = MPMediaQuery.artistsQuery()
var artists = artistsQuery.items
var rowItem: MPMediaItem = artists[indexPath.row - 1] as! MPMediaItem
artistsQuery.groupingType = MPMediaGrouping.Artist
var artists = artistsQuery.collections
println(artists.count)
println(indexPath.row)
var rowItem: MPMediaItemCollection = artists[indexPath.row] as! MPMediaItemCollection
var representative = rowItem.representativeItem
cell?.textLabel?.text = representative.artist //rowItem.valueForProperty(MPMediaItemPropertyArtist) as? String!
cell?.textLabel?.text = rowItem.valueForProperty(MPMediaItemPropertyArtist) as? String!
if (representative.artist == nil) {
cell?.detailTextLabel?.text = "Unknown Artist"
}
var artwork: MPMediaItemArtwork = rowItem.valueForProperty(MPMediaItemPropertyArtwork) as! MPMediaItemArtwork
var artwork: MPMediaItemArtwork = representative.artwork//rowItem.valueForProperty(MPMediaItemPropertyArtwork) as! MPMediaItemArtwork
var artworkImage = artwork.imageWithSize(CGSize(width: 44,height: 44))
@ -249,7 +247,7 @@ class SongSelectionViewController: UIViewController, UITableViewDelegate, UITabl
var songsQuery = MPMediaQuery.songsQuery()
var songs = songsQuery.items
var rowItem: MPMediaItem = songs[indexPath.row - 1] as! MPMediaItem
var rowItem: MPMediaItem = songs[indexPath.row] as! MPMediaItem
cell?.textLabel?.text = rowItem.valueForProperty(MPMediaItemPropertyTitle) as? String!
cell?.detailTextLabel?.text = rowItem.valueForProperty(MPMediaItemPropertyArtist) as? String!
@ -268,7 +266,7 @@ class SongSelectionViewController: UIViewController, UITableViewDelegate, UITabl
return cell!
}
}
}
@ -284,8 +282,8 @@ class SongSelectionViewController: UIViewController, UITableViewDelegate, UITabl
for i_peer in self.party.invitedFriends{
for peer in self.party.foundPeers {
if (peer.displayName == i_peer.displayName){
self.party.serviceBrowser.invitePeer(peer, toSession: self.party.session, withContext: nil, timeout: 70.0)
if (peer.displayName == i_peer.displayName && self.party.myPeerID.hash > peer.hash){
self.party.serviceBrowser.invitePeer(peer, toSession: self.party.session, withContext: nil, timeout: 30.0)
break
}

View File

@ -213,6 +213,7 @@ class TestInviteFriendsController: UIViewController, UITableViewDelegate, UITabl
for var i = 0; i < self.isFriendSelected.count; i++ {
if (self.isFriendSelected[i] == true) {
invited.append(self.frnds[i])
}
}
self.partyData.invitedFriends = invited