From 341bfebd17001549baa196665ab0bf62eb660b4c Mon Sep 17 00:00:00 2001 From: Sukh Kalsi Date: Wed, 3 Aug 2016 22:52:46 +0100 Subject: [PATCH] Initial commit. This is the project submitted for review which passed back in June 2015. --- .gitignore | 2 + Pitch Perfect.xcodeproj/project.pbxproj | 439 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + Pitch Perfect/AppDelegate.swift | 46 ++ Pitch Perfect/Base.lproj/LaunchScreen.xib | 41 ++ Pitch Perfect/Base.lproj/Main.storyboard | 279 +++++++++++ .../AppIcon.appiconset/Contents.json | 44 ++ .../icon-settings@2x-iphone.png | Bin 0 -> 1958 bytes .../icon-settings@3x-iphone.png | Bin 0 -> 2389 bytes .../icon-spotlight@2x-iphone.png | Bin 0 -> 2209 bytes .../icon-spotlight@3x-iphone.png | Bin 0 -> 2768 bytes .../AppIcon.appiconset/icon@2x-iphone.png | Bin 0 -> 2768 bytes .../AppIcon.appiconset/icon@3x-iphone.png | Bin 0 -> 3768 bytes .../chipmunk.imageset/Contents.json | 21 + .../chipmunk.imageset/chipmunk2x-iphone.png | Bin 0 -> 6191 bytes .../darthvader.imageset/Contents.json | 21 + .../darthvader2x-iphone.png | Bin 0 -> 5407 bytes .../echo.imageset/Contents.json | 21 + .../Images.xcassets/echo.imageset/echo-1.png | Bin 0 -> 4630 bytes .../fast.imageset/Contents.json | 21 + .../fast.imageset/fast2x-iphone.png | Bin 0 -> 6181 bytes .../microphone.imageset/Contents.json | 22 + .../microphone.imageset/microphone-iphone.png | Bin 0 -> 993 bytes .../microphone2x-iphone.png | Bin 0 -> 1891 bytes .../slow.imageset/Contents.json | 22 + .../Images.xcassets/slow.imageset/slow.png | Bin 0 -> 4577 bytes .../slow.imageset/slow@2x-iphone.png | Bin 0 -> 5811 bytes .../stop.imageset/Contents.json | 22 + .../stop.imageset/stop-iphone.png | Bin 0 -> 1938 bytes .../stop.imageset/stop2x-iphone.png | Bin 0 -> 1785 bytes Pitch Perfect/Info.plist | 40 ++ Pitch Perfect/PlaySoundsViewController.swift | 166 +++++++ .../RecordSoundsViewController.swift | 101 ++++ Pitch Perfect/RecordedAudio.swift | 20 + Pitch Perfect/movie_quote.mp3 | Bin 0 -> 87770 bytes Pitch PerfectTests/Info.plist | 24 + Pitch PerfectTests/Pitch_PerfectTests.swift | 36 ++ 37 files changed, 1395 insertions(+) create mode 100644 Pitch Perfect.xcodeproj/project.pbxproj create mode 100644 Pitch Perfect.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Pitch Perfect/AppDelegate.swift create mode 100644 Pitch Perfect/Base.lproj/LaunchScreen.xib create mode 100644 Pitch Perfect/Base.lproj/Main.storyboard create mode 100644 Pitch Perfect/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Pitch Perfect/Images.xcassets/AppIcon.appiconset/icon-settings@2x-iphone.png create mode 100644 Pitch Perfect/Images.xcassets/AppIcon.appiconset/icon-settings@3x-iphone.png create mode 100644 Pitch Perfect/Images.xcassets/AppIcon.appiconset/icon-spotlight@2x-iphone.png create mode 100644 Pitch Perfect/Images.xcassets/AppIcon.appiconset/icon-spotlight@3x-iphone.png create mode 100644 Pitch Perfect/Images.xcassets/AppIcon.appiconset/icon@2x-iphone.png create mode 100644 Pitch Perfect/Images.xcassets/AppIcon.appiconset/icon@3x-iphone.png create mode 100644 Pitch Perfect/Images.xcassets/chipmunk.imageset/Contents.json create mode 100644 Pitch Perfect/Images.xcassets/chipmunk.imageset/chipmunk2x-iphone.png create mode 100644 Pitch Perfect/Images.xcassets/darthvader.imageset/Contents.json create mode 100644 Pitch Perfect/Images.xcassets/darthvader.imageset/darthvader2x-iphone.png create mode 100644 Pitch Perfect/Images.xcassets/echo.imageset/Contents.json create mode 100644 Pitch Perfect/Images.xcassets/echo.imageset/echo-1.png create mode 100644 Pitch Perfect/Images.xcassets/fast.imageset/Contents.json create mode 100644 Pitch Perfect/Images.xcassets/fast.imageset/fast2x-iphone.png create mode 100644 Pitch Perfect/Images.xcassets/microphone.imageset/Contents.json create mode 100644 Pitch Perfect/Images.xcassets/microphone.imageset/microphone-iphone.png create mode 100644 Pitch Perfect/Images.xcassets/microphone.imageset/microphone2x-iphone.png create mode 100644 Pitch Perfect/Images.xcassets/slow.imageset/Contents.json create mode 100644 Pitch Perfect/Images.xcassets/slow.imageset/slow.png create mode 100644 Pitch Perfect/Images.xcassets/slow.imageset/slow@2x-iphone.png create mode 100644 Pitch Perfect/Images.xcassets/stop.imageset/Contents.json create mode 100644 Pitch Perfect/Images.xcassets/stop.imageset/stop-iphone.png create mode 100644 Pitch Perfect/Images.xcassets/stop.imageset/stop2x-iphone.png create mode 100644 Pitch Perfect/Info.plist create mode 100644 Pitch Perfect/PlaySoundsViewController.swift create mode 100644 Pitch Perfect/RecordSoundsViewController.swift create mode 100644 Pitch Perfect/RecordedAudio.swift create mode 100644 Pitch Perfect/movie_quote.mp3 create mode 100644 Pitch PerfectTests/Info.plist create mode 100644 Pitch PerfectTests/Pitch_PerfectTests.swift diff --git a/.gitignore b/.gitignore index 2c22487..2b8aed9 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,5 @@ fastlane/report.xml fastlane/Preview.html fastlane/screenshots fastlane/test_output + +.DS_Store \ No newline at end of file diff --git a/Pitch Perfect.xcodeproj/project.pbxproj b/Pitch Perfect.xcodeproj/project.pbxproj new file mode 100644 index 0000000..fa3f682 --- /dev/null +++ b/Pitch Perfect.xcodeproj/project.pbxproj @@ -0,0 +1,439 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 3B0319581B2C30DB00BC930F /* RecordedAudio.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B0319571B2C30DB00BC930F /* RecordedAudio.swift */; }; + 3B61D3B11B28EF77005F7DD9 /* movie_quote.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 3B61D3B01B28EF77005F7DD9 /* movie_quote.mp3 */; }; + 3BC7A21A1B28EBAB00633550 /* PlaySoundsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BC7A2191B28EBAB00633550 /* PlaySoundsViewController.swift */; }; + 3BEB63FE1B26324600F3C215 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BEB63FD1B26324600F3C215 /* AppDelegate.swift */; }; + 3BEB64001B26324600F3C215 /* RecordSoundsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BEB63FF1B26324600F3C215 /* RecordSoundsViewController.swift */; }; + 3BEB64031B26324600F3C215 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3BEB64011B26324600F3C215 /* Main.storyboard */; }; + 3BEB64051B26324600F3C215 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3BEB64041B26324600F3C215 /* Images.xcassets */; }; + 3BEB64081B26324600F3C215 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3BEB64061B26324600F3C215 /* LaunchScreen.xib */; }; + 3BEB64141B26324600F3C215 /* Pitch_PerfectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BEB64131B26324600F3C215 /* Pitch_PerfectTests.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 3BEB640E1B26324600F3C215 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 3BEB63F01B26324600F3C215 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 3BEB63F71B26324600F3C215; + remoteInfo = "Pitch Perfect"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 3B0319571B2C30DB00BC930F /* RecordedAudio.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecordedAudio.swift; sourceTree = ""; }; + 3B61D3B01B28EF77005F7DD9 /* movie_quote.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = movie_quote.mp3; sourceTree = ""; }; + 3BC7A2191B28EBAB00633550 /* PlaySoundsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PlaySoundsViewController.swift; sourceTree = ""; }; + 3BEB63F81B26324600F3C215 /* Pitch Perfect.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Pitch Perfect.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 3BEB63FC1B26324600F3C215 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3BEB63FD1B26324600F3C215 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 3BEB63FF1B26324600F3C215 /* RecordSoundsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordSoundsViewController.swift; sourceTree = ""; }; + 3BEB64021B26324600F3C215 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 3BEB64041B26324600F3C215 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 3BEB64071B26324600F3C215 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + 3BEB640D1B26324600F3C215 /* Pitch PerfectTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Pitch PerfectTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 3BEB64121B26324600F3C215 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3BEB64131B26324600F3C215 /* Pitch_PerfectTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Pitch_PerfectTests.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 3BEB63F51B26324600F3C215 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3BEB640A1B26324600F3C215 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 3BEB63EF1B26324600F3C215 = { + isa = PBXGroup; + children = ( + 3BEB63FA1B26324600F3C215 /* Pitch Perfect */, + 3BEB64101B26324600F3C215 /* Pitch PerfectTests */, + 3BEB63F91B26324600F3C215 /* Products */, + ); + sourceTree = ""; + }; + 3BEB63F91B26324600F3C215 /* Products */ = { + isa = PBXGroup; + children = ( + 3BEB63F81B26324600F3C215 /* Pitch Perfect.app */, + 3BEB640D1B26324600F3C215 /* Pitch PerfectTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 3BEB63FA1B26324600F3C215 /* Pitch Perfect */ = { + isa = PBXGroup; + children = ( + 3BEB63FD1B26324600F3C215 /* AppDelegate.swift */, + 3BEB63FF1B26324600F3C215 /* RecordSoundsViewController.swift */, + 3BEB64011B26324600F3C215 /* Main.storyboard */, + 3BEB64041B26324600F3C215 /* Images.xcassets */, + 3BEB64061B26324600F3C215 /* LaunchScreen.xib */, + 3BEB63FB1B26324600F3C215 /* Supporting Files */, + 3BC7A2191B28EBAB00633550 /* PlaySoundsViewController.swift */, + 3B0319571B2C30DB00BC930F /* RecordedAudio.swift */, + ); + path = "Pitch Perfect"; + sourceTree = ""; + }; + 3BEB63FB1B26324600F3C215 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 3B61D3B01B28EF77005F7DD9 /* movie_quote.mp3 */, + 3BEB63FC1B26324600F3C215 /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 3BEB64101B26324600F3C215 /* Pitch PerfectTests */ = { + isa = PBXGroup; + children = ( + 3BEB64131B26324600F3C215 /* Pitch_PerfectTests.swift */, + 3BEB64111B26324600F3C215 /* Supporting Files */, + ); + path = "Pitch PerfectTests"; + sourceTree = ""; + }; + 3BEB64111B26324600F3C215 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 3BEB64121B26324600F3C215 /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 3BEB63F71B26324600F3C215 /* Pitch Perfect */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3BEB64171B26324600F3C215 /* Build configuration list for PBXNativeTarget "Pitch Perfect" */; + buildPhases = ( + 3BEB63F41B26324600F3C215 /* Sources */, + 3BEB63F51B26324600F3C215 /* Frameworks */, + 3BEB63F61B26324600F3C215 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Pitch Perfect"; + productName = "Pitch Perfect"; + productReference = 3BEB63F81B26324600F3C215 /* Pitch Perfect.app */; + productType = "com.apple.product-type.application"; + }; + 3BEB640C1B26324600F3C215 /* Pitch PerfectTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3BEB641A1B26324600F3C215 /* Build configuration list for PBXNativeTarget "Pitch PerfectTests" */; + buildPhases = ( + 3BEB64091B26324600F3C215 /* Sources */, + 3BEB640A1B26324600F3C215 /* Frameworks */, + 3BEB640B1B26324600F3C215 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 3BEB640F1B26324600F3C215 /* PBXTargetDependency */, + ); + name = "Pitch PerfectTests"; + productName = "Pitch PerfectTests"; + productReference = 3BEB640D1B26324600F3C215 /* Pitch PerfectTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 3BEB63F01B26324600F3C215 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0730; + LastUpgradeCheck = 0630; + ORGANIZATIONNAME = "Sukh Kalsi"; + TargetAttributes = { + 3BEB63F71B26324600F3C215 = { + CreatedOnToolsVersion = 6.3.2; + }; + 3BEB640C1B26324600F3C215 = { + CreatedOnToolsVersion = 6.3.2; + TestTargetID = 3BEB63F71B26324600F3C215; + }; + }; + }; + buildConfigurationList = 3BEB63F31B26324600F3C215 /* Build configuration list for PBXProject "Pitch Perfect" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 3BEB63EF1B26324600F3C215; + productRefGroup = 3BEB63F91B26324600F3C215 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 3BEB63F71B26324600F3C215 /* Pitch Perfect */, + 3BEB640C1B26324600F3C215 /* Pitch PerfectTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 3BEB63F61B26324600F3C215 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3BEB64031B26324600F3C215 /* Main.storyboard in Resources */, + 3BEB64081B26324600F3C215 /* LaunchScreen.xib in Resources */, + 3B61D3B11B28EF77005F7DD9 /* movie_quote.mp3 in Resources */, + 3BEB64051B26324600F3C215 /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3BEB640B1B26324600F3C215 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 3BEB63F41B26324600F3C215 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3B0319581B2C30DB00BC930F /* RecordedAudio.swift in Sources */, + 3BEB64001B26324600F3C215 /* RecordSoundsViewController.swift in Sources */, + 3BC7A21A1B28EBAB00633550 /* PlaySoundsViewController.swift in Sources */, + 3BEB63FE1B26324600F3C215 /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3BEB64091B26324600F3C215 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3BEB64141B26324600F3C215 /* Pitch_PerfectTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 3BEB640F1B26324600F3C215 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 3BEB63F71B26324600F3C215 /* Pitch Perfect */; + targetProxy = 3BEB640E1B26324600F3C215 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 3BEB64011B26324600F3C215 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 3BEB64021B26324600F3C215 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 3BEB64061B26324600F3C215 /* LaunchScreen.xib */ = { + isa = PBXVariantGroup; + children = ( + 3BEB64071B26324600F3C215 /* Base */, + ); + name = LaunchScreen.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3BEB64151B26324600F3C215 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + 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_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = 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_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 3BEB64161B26324600F3C215 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + 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_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = 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_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 3BEB64181B26324600F3C215 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + INFOPLIST_FILE = "Pitch Perfect/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 3BEB64191B26324600F3C215 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + INFOPLIST_FILE = "Pitch Perfect/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 3BEB641B1B26324600F3C215 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = "Pitch PerfectTests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Pitch Perfect.app/Pitch Perfect"; + }; + name = Debug; + }; + 3BEB641C1B26324600F3C215 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + INFOPLIST_FILE = "Pitch PerfectTests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Pitch Perfect.app/Pitch Perfect"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3BEB63F31B26324600F3C215 /* Build configuration list for PBXProject "Pitch Perfect" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3BEB64151B26324600F3C215 /* Debug */, + 3BEB64161B26324600F3C215 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3BEB64171B26324600F3C215 /* Build configuration list for PBXNativeTarget "Pitch Perfect" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3BEB64181B26324600F3C215 /* Debug */, + 3BEB64191B26324600F3C215 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3BEB641A1B26324600F3C215 /* Build configuration list for PBXNativeTarget "Pitch PerfectTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3BEB641B1B26324600F3C215 /* Debug */, + 3BEB641C1B26324600F3C215 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 3BEB63F01B26324600F3C215 /* Project object */; +} diff --git a/Pitch Perfect.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Pitch Perfect.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..814b1f7 --- /dev/null +++ b/Pitch Perfect.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Pitch Perfect/AppDelegate.swift b/Pitch Perfect/AppDelegate.swift new file mode 100644 index 0000000..512c4ea --- /dev/null +++ b/Pitch Perfect/AppDelegate.swift @@ -0,0 +1,46 @@ +// +// AppDelegate.swift +// Pitch Perfect +// +// Created by Sukh on 08/06/2015. +// Copyright (c) 2015 Sukh Kalsi. All rights reserved. +// + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + // Override point for customization after application launch. + return true + } + + func applicationWillResignActive(application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + } + + func applicationWillEnterForeground(application: UIApplication) { + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + func applicationWillTerminate(application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + } + + +} + diff --git a/Pitch Perfect/Base.lproj/LaunchScreen.xib b/Pitch Perfect/Base.lproj/LaunchScreen.xib new file mode 100644 index 0000000..1513901 --- /dev/null +++ b/Pitch Perfect/Base.lproj/LaunchScreen.xib @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pitch Perfect/Base.lproj/Main.storyboard b/Pitch Perfect/Base.lproj/Main.storyboard new file mode 100644 index 0000000..589a1da --- /dev/null +++ b/Pitch Perfect/Base.lproj/Main.storyboard @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pitch Perfect/Images.xcassets/AppIcon.appiconset/Contents.json b/Pitch Perfect/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..5334ff8 --- /dev/null +++ b/Pitch Perfect/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,44 @@ +{ + "images" : [ + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "icon-settings@2x-iphone.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "icon-settings@3x-iphone.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "icon-spotlight@2x-iphone.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "icon-spotlight@3x-iphone.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "icon@2x-iphone.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "icon@3x-iphone.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Pitch Perfect/Images.xcassets/AppIcon.appiconset/icon-settings@2x-iphone.png b/Pitch Perfect/Images.xcassets/AppIcon.appiconset/icon-settings@2x-iphone.png new file mode 100644 index 0000000000000000000000000000000000000000..fb4bcfdef67652a963a2be6b7881bd5943d23732 GIT binary patch literal 1958 zcmaJ?dsGu=77rpKAgjoug)KA$)xJ0o(u-VTahSBr&q-JE?-7}hdVY#(n}zfkWFQfTFQc&2!;eFH3Uy2`7l}9q!?jeW&Ze@J$p}X3*{D;8ZPgoTG=mYh-fBd#%>>2N5CuAenDwxu zi^bI8VpbNUbDroh*iv*vy0Gs zrx;{0=TxZ8V%9vVY^91RB~1hqVhaF_!;NJMVKx^M2w`CilSiLHjtJy&01k{me1yYe zE<7ySn+ew<=`#6(FZv{A6;hND0YQt!!nW|)q^SVp!Y~YScp#4l&>Dc*W}r|jU@(U* zT96TD%%n3?I?}*&T0}MER!YpGna+oxH!79S4I9i0iK0^mT2Uj&WphBi-Wk`NwwX#N zexvb1ZL`{DB*1jSOl~z{bUn0Ti(oo;f9%MqNV7pwO**b! z!x26g#YKEr1jK4l42Xq<8~{f7JU}GGQI3d*;Q~~!Xy-+E2`3hkOC&N5oB(sV2@ot4 z!J-7YKrV}wOGI+fB35BAQ>XzW7Jchz-wRmjA7T-yi9jjRq$bHNi(Q~9Bq`EdNE(?^ z>0H&BkxCTP8Jxl>XQAffmJuf1HUgKMNIi2d(}?Z`ECe{DiPefQfFQ6~AeP`mfJRHF z0fXrq7{Wvl&SNd$@!w@|zEf!l9f@&~5W>}HFjSyL0f+~20WMc40z?F)1#lSRVjR9e zglQobNK*uz&GWlvS`^V8>fAmb4f^nWxCjG1Q6_qHe(_nel%B{Ig-oKh4vZd_r20zy z&i~pmSXc7imGpR*s14Abvg*Q$mwbJpw3Uw9@bDuQ?(26&tnS*$4Ik>PcYkPCbyizf zz3Y=4vnN07kSD7uAhK@Ma7~!O?Ay=Vm*&unkx8J?Im9fO zr^;mpoY3Efm%Tj}+Io=Pc(&1ge58Cz^tV?l`^ix+q)XK6m9e7i$bTPsq}oFr{?Z$} z8#iVSYs!xt{p@1vhOSTrZ`?L`_L#x4Us^PvDSoEdnM~w|44Z7DUiT-Pueh}zxO6GN zyZyVwkfB0>+b3SzLj6P+u#az*-4%qX?|#_QIJN5IkyDdDoy!|6#f$ckS@xE*L2Utt z8y>$@bV|B>YV!J@tDZE*WaWqYo^NXZA*bn@YI{|8N`$-5idRnU`0|T@cZ=$?utz6< z&V<5lQrr5G5DPHS{r>)H`=tl}a+qXVKi%gQ$rBL{U+|RW8yj^d?@n=Rn!5CYGL`!N zcCCK)eA1cNqb+Orr||<96Pj*ZEe>|=>xdisQhD$4D&*^{)@5H!e3p|~cQRzGEGXvQ z!KqcB|9$3`4>DG5j<3nwo^yH7=G%?!<5bSRwmGNt&B;KQiqCefDOo?CnkH3v4TG{CZQ|zavWy8FhKLqi?)PMxVZ(S3gnGv;DQA z{ZE6Ya~o2l!-wXJx-PzFiTXYNjV_zkx;Mx0HE>hSHMpv+(ew0Qm6BOr*4nhny?kqL zk6-+RpI1^~uv<{DZD-qbT2qj5x;PWR6&XH>asD|K2`RFs4f(tO4`w_A+5i9m literal 0 HcmV?d00001 diff --git a/Pitch Perfect/Images.xcassets/AppIcon.appiconset/icon-settings@3x-iphone.png b/Pitch Perfect/Images.xcassets/AppIcon.appiconset/icon-settings@3x-iphone.png new file mode 100644 index 0000000000000000000000000000000000000000..36f69b034494adbddc51b2f5cacaefeb2a9856cb GIT binary patch literal 2389 zcmaJ@dpJ~iAD^^~EQ^YwrDL}IN5QQJCm<_v>5GtHbBm$r?H=q99# zhLlQDNZX{u(#0jKyh$k}(G)e^C6)J#(z}23?0KGZe&_f7eJ`Ky<#V31CBT1)iIKGt z4u>=G@#Y3%Yl!YP)W@D{8t%kkixuj%0$nZ@p>d!b#(4;(0vPWj0VCi*7!<~@X@nQy zaFaKS`76*Be#_X9R6+uEIwYk;hFRlqi`ITya0|6BOHSEd<_9F7IFw73_psW z%oC0jdnd@@ViF+=)dlYgkf;o%E8yykr(t_Cg+-=Oh!lX$ptC77{FjS>MUx9f z>_9H>ODt^1Aw;66j7=uT#l?~0=p?B;f=mSffJ~v0X*43HK~%&eD5xYN3cCppTv!3g z#WGYZMesV0pg_77DMYU~(X=kgk*Hq&{_$Mpgvp<0XrcH#X>fn z3JO_tfJJl>fe_J!;YuL_Ae}~Jxe7rFiv|gqAalacx9mMAE)1TB2S5S504mjs0l2aN zmKTr7yF|%kV{QA)(w*GdcNedT@>zInDG2xt2cFJ1NCzPSE1{ zLFV4x0hu$}(hp0#Z6emR*>4|S7xV0#|6+?>%x#>PYPT^>=Zgl_ix1BZC|awB^UCG@ zQSp|w1x`TOK8N#8zho&5GakUUez|w>wo|WpOmi?iS@)AmrXXCub4xF6)#hfleO7l( zczJehY?6PhseVc*QgYm3&$8Ip?;{GFc$*W$irUPF><2(IGZXzR6uB8??s&-N$CWt$ zB|CfFPG{{2yVUfaXx}zg5L{wAqEgCjtGnnkHR}z6Gj{Z8cry zTv)wi-dl}nd~tqo<7>~}(0iadHK_RE&L*z4*3iqKL1tPX^vWqG&_sJQU@QHeU3>P( zIqP~(`iZuUrw(Z}+2}xe`}0Lx<{~pm^)MC7SQcuWi=}Q^537xHFUzbZ#8#8)CBA3u zgJT$Pf7tcdLCNVed|Q3+&YImFNI}4|+DAaf>apenlX3|&`x?JrQB~P;eQ87pJbk+d zwemY8`daehNk&H3M5#wo%VS4`#-X7taobyp4A*#79+3kjPhqjV;r431dsJDAxF+K4+vQpg7Mm zytMAmg$oT%-USSIB=S{BC!a@3qy0WHj$3~!Igxy9QN?-wUYp4sqNf|K0)(;Ffm?42 zu6w=`Tuv{te|gzP{gVgl>0f_u@I4119Xrvh54LQovayUUZyrLFJ);+2{azH`)u)H7 zk1$!^IFPWaUVfMtZ=7BE$nw;zoU4ra`GYw}(mL!68aLQ5&YBtJ<>qSrA4o^4+|t?W zzN>7e{&7(i@;LXulR__Abq)2Naeux;f zdO>@jT9}xcteunFQ`dEgucxhVL{!AcvEokP6 zsy6uUGg_a1Zj;n&ME}3j@(MYTiL7Htb#f8Ne(Nk zE%K+?+|HMe-hMt;qg`iG1dsh-KrbPVjnf%}imY_#`*ixEF7` p@Gw1d`0pB3r?BJKY)y@xF^=b4d%AzPY)JQ`bwT~W;YIT3_Fh(ruR1PaP)l1v~%GTCH+Kx73KEhu22 zYV1KPl&--CBC8;{f?LH^T*9K@qKAiwOREM^ir9z9P7rMW@N~|Z`R={nec#_bX9^?2 zH#$2mcf{dv&Z1C(1Un1rKM?@yfZ%fo1^m_h_* zRM0ek;`^jx#SuU-qJ;q#nN5;WX-t3vl4&e92jr{+=on9-aw&8wi3;*q3?7vZ%sxac znpUphNd&^#SQzI|Ohr)*k3z}H$|7em$cQ$DLIXjNLZwsabP}dP(q*erNKaDhyyrX! zV4X~>)Sya44Ol%wQX~WQCt{htFF~adi$6G4>t-8;wTz;NG!z<{N>Qn-bkNSp@P+@NZ?PzZpd<_ zoX4O+axMepl9&oeMq;u!R1yd==p-&j4pF&unVb!==lp!ko=;`6gnT}W3Wk6*S_li| za6xW}kS!E2g?z4%J7+6W>rhB7gXdx^vDmY=%-^-;1#4jlMYK@}l0Jumh*Shcbg762 z2o9c^I^ZLQWJzoj7YR|4j$qBNdZim1yP?;?bm18N^mVBo>`TBhhFaE{O}X6eKyw zqRFTXHdm%#5h+-T6f1as1Ex6IjM+q~UOO7eoSnl>VXR z_#MO}+Vy5D!C<+OY3a=vD6&=dFCB2*v}EC`RmpqoJTm7$bhgB0_Ut-&CMGE8?4jP^ zf;{{A3-Xg)*6=GuUdC?oFGJjtq*rPC47Dpbs;%96X)$BNSLi6g;5Yepq|adPGj#T5 zKi!eN^qSEJjC8GA8M4nOG4gTvtHo|@lugDa&p2|lU$rs#-lm#(l~@#cEFYu=I^4o- zxmYp!8(#ja?^Lhv-`pQ1(h3XOkkYqJoBmX~K5US7?e#fP)MPN(wlIoZPpT1B7JvD6ZNJMT2E_QC%(%)Qi`1PP=A@yidNK2j9SwX;L zZaMtj!n9i>M=c8@qCGVxvd^3S9ZXFu<8uzdU3)}TF)6=y0U z1J*P>6y3F%wC^2WQ8384k2CocDNED4@h=QX=d*gv;Wvr{JGqjltsculN2>@;%w5jO z>II3NbzIRBLsI)|2XnhoWk_jgcoA@KqUF|ehpEV>ioRpzcedq9n^pL`{4z#d{8U`+ zn}QSjx9;V1n5Mh4_099@j<=Bf4W_Ir2G8ZDa3F~1;sWCnUM#-pJ;sjAFlcz=CGjO~ zNYPXU9qw4|_$YbsPSw@rOXt0d&YiNUD!saYU6u>j*e%WvYIe~O<)$nI-N#O+1-+xE~T=h0CDH~E(by||nxfh3anG!aBlIp8e zPfS>xyG}T0hMIgI=Z2+wL2CjfJF-?X8UxDjlpff@?VEl!t?-K6cB8crv3na((00P@ zQ9$~`1rKb1Li(Y1g}aKY^McqLFH~*0__;c3@uHq$3FzHe`Nh7SP=Y$RBsKksIQFby zdv#7^><>{B^%u$Q`@a?h*Vjq1KaELw27Irz|7Ms#*y(IL^v83j>qmzLi(CqbpAT_x zYlFVfU;f9WuQ_0<&}sX_NR_`y5F<>CWgTfZ%^Il$-iSDGdNYZY)?rP~klx&oP-d%!nD7EIw+*xWat#Ta_N}0Ro2M7^}oe)Fn8U$Rxb3*LIyJOs? zG$2&)O%w?DM0xmfqr$jk9>V!+xML&*QXm54YuSByL-WD5)gpnQ3NCxgLQxt$tWzIKqM3G;5g`v#*olB3=%`8;O!|G9DM#kK-NGW zpTeRu=WRhJCq$@RE~TK+5fKrn2z!(S3_)YbWHK6qL*sBrhyy88iskG`q*!LPpn(p^ zxS&8P7f8hLS&eLtL?L%VK%RaKK_qo||D;$fn+FPl3?0dqqOm9pS|pl{YmQqcX953n z<8QfTzDg;8W&tvZ0^~yZ;9D&SL)iVZp;<=A8;U0=fRe%%(j{Dl2oTF%=}rjf2E`Nb zDE3%3k7Q3KAszT^F46%{#30FRdmNHPnfJX*X2l3c>*%6O@SHb4XJJf8zy#hvzu(Nn9iVa2=2i zfIS|`;X^QR$?@tJRtW<~sMIv2rh=S#CxNHKSjl|>dSR@upBq2!v zo{!{_@mMa#o!{tYUZ4BEve9G$99w+UXK%`xb>eSwWt?*G~?fwn3(m9#R?rch&X+FU;_7*-2Y zEz(=8zr<)6yfUNY%w$uap`hBlhI!^OmAAuU;>KRqXfGJ<9TJ=*^dst-C$I|PeLVry zzMl&fJ)_R`tmN*i;!=N;bxPeWvqgGD%S{YU$VOc3S-&>fO5Knz1%dwTLVn8B;rP(e zycwhJD_8htf|2%}CY~R(4=(f_d(rvJDU*Qrhr^G5X&O*&xY_SoM#ZTO&Ihckw71hL zLVull?Q7I^ShN1yrnaw$$;V0wd3VR(BdWkr!!yrlQe%vnleWg^T~wyA4@X_IMf&pE zD^qXr`S#cUIpb_ov9fkK@Ar3lfNcLcRk@A#ze?5v2}NI!O-}R5E@^&U=Gc}v+mPw7O1~M23^gAH_v3$om8;zWMaKA z&0>2YXtzl(jA0!f*An#MC}+Ewd5oRx;odj8+YQ$%qfJ$19CA!h_@fhU_X#@x)VC+1 z-(;(Ise+Fee0`}uT)gl7Pox16*ki|tb5+@GuhNC7z}BMl=^GB)whH1Bzn4|f>r!gp zE`ukwuTkIkY56=WrzVMoU0QoK>1wbpZ*6Ci?AmB|l9zZ6L0dL>r*` z`nvt@?tuFn)+U!HYI22Rq1KbpRbjMCV@4AFT2#mevgKeYv14o>m%9Fk@T|s$#kFf* zgey)yu}r^zq+h+vPjQu8sGw@9C4`FIvx@9V)Un8@UT~A;o?@5hYbxtmyF7|fjVrb( zvzJyhLJYLd=&oL!SjT*JcV{DeqJP(iuK&6gzHL@zPdnc1{dbjtUf9N`)Nc|w`M2*~ zcXQnl-4hcu(LXxgo~e8e)E>X#luQrrrsHyzPlElOVcK1G6$af&i`>8|SY>0Ke2X+F50M=B4{_y1(7(&k({n0@1X zj;-M(lU>zbyPTg+-)O#7wqjt(fxQJc&)3L2TGZ4DZ*9X${r0I~Q*-TvMQYQdi^kw} z(>v&Uug}#f4;WUJSr8FZp>ib_tm47nULYG0O^j!;n`bDc}{H=_py2Hh5z$2`> z2B{*EBRl~@tWX~iNW#hfh!ZXET_Y-!bU-{XJ3p67g;)$ypX@>PX?irrk z=$-Fzr8|!f23~1uoTyyKZD@be_DX&+c3E+3 z%B45K6OX{g2rE2acPjYNaac=XW`0t^h7F8+y(VY3eFyyJ7V-+XSJo9>+R3e$ZhYB; zU@5%_nZvDz_;p8UH%`6C>V5LuHuk`~BiRr#sft&AIrZmJzF);Y&YZl1w5g1mzCTsE zTIC*BZ?VYa|7XXi!8nD7EIw+*xWat#Ta_N}0Ro2M7^}oe)Fn8U$Rxb3*LIyJOs? zG$2&)O%w?DM0xmfqr$jk9>V!+xML&*QXm54YuSByL-WD5)gpnQ3NCxgLQxt$tWzIKqM3G;5g`v#*olB3=%`8;O!|G9DM#kK-NGW zpTeRu=WRhJCq$@RE~TK+5fKrn2z!(S3_)YbWHK6qL*sBrhyy88iskG`q*!LPpn(p^ zxS&8P7f8hLS&eLtL?L%VK%RaKK_qo||D;$fn+FPl3?0dqqOm9pS|pl{YmQqcX953n z<8QfTzDg;8W&tvZ0^~yZ;9D&SL)iVZp;<=A8;U0=fRe%%(j{Dl2oTF%=}rjf2E`Nb zDE3%3k7Q3KAszT^F46%{#30FRdmNHPnfJX*X2l3c>*%6O@SHb4XJJf8zy#hvzu(Nn9iVa2=2i zfIS|`;X^QR$?@tJRtW<~sMIv2rh=S#CxNHKSjl|>dSR@upBq2!v zo{!{_@mMa#o!{tYUZ4BEve9G$99w+UXK%`xb>eSwWt?*G~?fwn3(m9#R?rch&X+FU;_7*-2Y zEz(=8zr<)6yfUNY%w$uap`hBlhI!^OmAAuU;>KRqXfGJ<9TJ=*^dst-C$I|PeLVry zzMl&fJ)_R`tmN*i;!=N;bxPeWvqgGD%S{YU$VOc3S-&>fO5Knz1%dwTLVn8B;rP(e zycwhJD_8htf|2%}CY~R(4=(f_d(rvJDU*Qrhr^G5X&O*&xY_SoM#ZTO&Ihckw71hL zLVull?Q7I^ShN1yrnaw$$;V0wd3VR(BdWkr!!yrlQe%vnleWg^T~wyA4@X_IMf&pE zD^qXr`S#cUIpb_ov9fkK@Ar3lfNcLcRk@A#ze?5v2}NI!O-}R5E@^&U=Gc}v+mPw7O1~M23^gAH_v3$om8;zWMaKA z&0>2YXtzl(jA0!f*An#MC}+Ewd5oRx;odj8+YQ$%qfJ$19CA!h_@fhU_X#@x)VC+1 z-(;(Ise+Fee0`}uT)gl7Pox16*ki|tb5+@GuhNC7z}BMl=^GB)whH1Bzn4|f>r!gp zE`ukwuTkIkY56=WrzVMoU0QoK>1wbpZ*6Ci?AmB|l9zZ6L0dL>r*` z`nvt@?tuFn)+U!HYI22Rq1KbpRbjMCV@4AFT2#mevgKeYv14o>m%9Fk@T|s$#kFf* zgey)yu}r^zq+h+vPjQu8sGw@9C4`FIvx@9V)Un8@UT~A;o?@5hYbxtmyF7|fjVrb( zvzJyhLJYLd=&oL!SjT*JcV{DeqJP(iuK&6gzHL@zPdnc1{dbjtUf9N`)Nc|w`M2*~ zcXQnl-4hcu(LXxgo~e8e)E>X#luQrrrsHyzPlElOVcK1G6$af&i`>8|SY>0Ke2X+F50M=B4{_y1(7(&k({n0@1X zj;-M(lU>zbyPTg+-)O#7wqjt(fxQJc&)3L2TGZ4DZ*9X${r0I~Q*-TvMQYQdi^kw} z(>v&Uug}#f4;WUJSr8FZp>ib_tm47nULYG0O^j!;n`bDc}{H=_py2Hh5z$2`> z2B{*EBRl~@tWX~iNW#hfh!ZXET_Y-!bU-{XJ3p67g;)$ypX@>PX?irrk z=$-Fzr8|!f23~1uoTyyKZD@be_DX&+c3E+3 z%B45K6OX{g2rE2acPjYNaac=XW`0t^h7F8+y(VY3eFyyJ7V-+XSJo9>+R3e$ZhYB; zU@5%_nZvDz_;p8UH%`6C>V5LuHuk`~BiRr#sft&AIrZmJzF);Y&YZl1w5g1mzCTsE zTIC*BZ?VYa|7XXi!8w2H(e(vYq@B4Y)`;BvTwgpP7N&^4@ zpuL@yn`AEAe5H0sMzhu(Fv+CCwm!)|!KARm@GLUm7>P+BgY4;eD%p*UCqTD2pJbnOI*uhW>4x}C8pCjUkc1lmIAReVgeL}&*&qU$N@JLTr>g6~AR5UG?16ML zatgwc{b+WPEb@s+XLn*`01-n1TbP56gkvQF=wvn?6iyFh1Y^U^z@Oz}CGaL13I=^9 zVF#Fj|2FERlPd_vWRXEgLlX$m$QS`aVGNCtCMXQb00fh)p+;yZ%m`wH!6M;UBN*t* z1D0rGktkRKA4;4guagbW&v4}uyS8bRsw zO}{=<2eaMC|6|5KQU|+71d*X`WOacsLA#Mv?GFXc&=Xf;agp=b!iy zC`+`pwGqMyV~sI3wnk!5Xbjrg#>B=7VRH;^gZ|2E&j@DY8AS3|-86~rFTC)7%ZtUa z$aprB<<4XVeysvmKPHUqU-(J?62ZSKRf3Ut67B}od%quY zlCL>DxX5|n)gfcIr~G5u`5~(KF=*zJgB?iAj`rjBvb~7CmmY{yD`@ePUE|}zzUqaB zh_+A8e9y*5os~XqvsQz><(V^oaH+3qM$M=r;in_Y(fVNi*7mjB)sdEqp4sX$=pBpv z5y!YeKqDtPjRUXkXgNwyRc_x(C%&jW!w^pIMFNjJx9WabDl1}sjY-xAC((CK7Yn{g)j(1Oc(E#Gds*XV{t{9 zCnpDl=2JEd^aC`z?}l1**|~I+&kkF_B1f*+Ocbj7am>S$$18`fZ>;s%@uNZGZKTnm zKSg!Mk9Vc-I~Thxv3+Nwuz|ibblumnfNL>bhlFo<6u3LWFv~ri4TG+ibIJmP6%BKYiuTQS3Gd$w9mDgT)6R0B!( ze&4jdF7C;w(2|zoQ{B=%Ga}GJeJi&Sr44&LNW6dCMzPxPQO|8Ry{I8kw&*6DCkJAS z0+mpSHKBb~kiwTqdV4qwO^q}jIK+7o?!*I$`#7HtB2o=gVS9F4Rw`RiXRm80Z`~^$ zut(OiGOz4*^V38jxHpTX?IHlNtHZI=&BqEr;u1mkf&FsBKeu0O2S@?G4F5m;ja0() zAHh+)!~aF_Y94-G(w*a`M@@ZL7&BiT(&*92d@1g&JgBOY8YiG?4>18k^Sd^ z!C60%SQDP5zV{1wy;g*os=(a)B>YnBLwa=I+)8Q9vahGlN*DLRz2;`2E=Qe_L;W zbH00F`C1cGM?u)??u7ew1($dSc+a1eCNDgvBL2IO2( zut1fC;LL|dOHG=ru3ueTeOI+x?}Ve|i&m1T{;*Q^;2zbZew7N-3wDSj6CI4Ft8N}s zEunMaR96bpTA^MADRzqoX{IO{ z4e7V4uIb){jN%uF;;rX2ln;OSEybH5$e)}rw{{6z>qSZR>IlQH-Bo>bQ`?SA@$w(d z8cRYC&UQiJwKipz`KXM&eIAu7 ztZvL(_#Vv8T<_b-MPpL3QXf8zW@>+LuC;b5*Fw11t$%sO(W&1tqtKzKc%tLg&E>s2 zc|Pj4avj=&XmPX9wzd380r1MQ=BKOlH`BU(qG*;j$~-JmY9+GK38Hb#&qEXN*f;h{ z?O^ojlgl10XYzQLn4-JO4^%L7Yf;Y=_IieVnx5})IU;9SZ9Xv;^?O8OO#bhww=_-G zyiE@`yjowht2|r0p%whzOei)xS7Dcf%Y%mY)vr)}d{d=-+SIw2C7;pRp6AsNVy;W( z6aUo4MAFK0o|cNm0{g_E`|PW@yzx^NQziLAHJ;C_xM%u0Hjmx}eVE`H7}Q;0-a2j= zzt$0}c_l71*?V79ZQi_(cP(C(6E?YWl3mYHll$SSRImC^5+zS&BhJrMwMHUZ_TId% z2yKePC3{T`)gorHF>!a*@`O$nm5WLFLd?F29C?K*6}q~K8(THQxwW?MwMJ304>wwX zXwO2oJ4Qbo0H_EzzHyk|k(o#o5}u8@`)Qp=S8B&O>^x4HUR+FU-VbXSIU_oUBI)q2*|kvqCh z1{+Q1PHsh4ZFI>q#RHh;KdBtiH!K6am5&=^CN{Iq zt}2^EzYVe!{9$QQcZSe&zcPWjpr-LX)@&j55AD8?*ekKP%PiVo+AET4KdM0Ybn)W^ z=iPiU^|!j@cZweL{6SFt>wTUs+1>Rb=c1=d{YlN22Q4a9-aCZf9h)1F(+iD`1ga3+CJ&^3Ac5#nVzHw zUL(9g@{0FRfsJvC6Sth}V3DPFOn^1Q-QM#%I_dkZm1KcUM^}I2nyzi@Ogh__(9Zp< zIze#!QK43>q5jJx5@zWVP>y|wdSK(>whUneAh%z+La*l1qO~Z~=|z&wJ6^Vie$`O? zALZ3PN)y>(H^#V^<`pVO?ln9|cAJ?5K8OLEi{J&wCvSfjmSm&U>Q{6E@X{dh54_$t zRS4Cv$kFT4J_sI1;F(V;>Q)O{(|Nn!VnK0qW>RCwC#T|HMM%aP6M8DnLspSRu= z#dV--XXrAC-{(V{iD5p^&faqof{`DC^5E|CR48ZbId?my< z1dy=-aRRImO~49cvJD5yQvsMAjVb}84HI~oB-l4TWkRw^M+EyctErOOcUvt!?WMm{@etRcFFdt0b6j# zcyKw23heo%0ay|M%8mfyrZX&oF+!g~F#uS&#Jnu}CnkXS0gMdvc1+3XJNdbUye#w? zD1pbo@KQ32AW5ADO5o^#UR3}i_BrY7ncS~{SyVvTxE62%#|H4KBGSbW=}1QPmtWfo zpd)m5O~5b;DA&;MIRQkkoVsQ5c?=%O&IuTk0OeM}+&PTFjsP+}Yw$ri zQE1_FTD>~?m_#rpvfOV6W0Dg<^sz<`lzvU_s&#zUAid@;ut{K1$Il@NUn(NhhUAn{ zvg=C0@G*>4P5>FM!+C}3UP9m2Yh1^HqGEd<$WCpjbj>X2WX>4R5^!)(91u9nH5i)% z7%S2ESU$tp5`zpZsdAv`m|W0_+{9?f6&MVTN4CFdDFsPIv*31uWC4;(Hm=7ef@EfB zC%#HLF@{bgaM&xk-hcpODcakZ!`KspbV%yXNm4n-CQBG=ET4@kx&#(<7_o-ilIzjr zfH*Uxqt+5|a8Mi)IGmSUhwPWrUP`+KpCAS)I)VdZX-m>ZHi{3ZiZXl?+qt&@QGi2x zr;w39l=gu-gUl4mfBNy^yYGJp5tA(VYy3TL07Bp(vjrp{G=PIAUwaPS+D4r%DgTKLg3ViFFLgR$qzW)pw|Ge@~#jf|{~9kcf{?r**Y zK4vFC*w6bpFzQcfhMcUefzOpklSeQGoW1ll1^eCQ%>DF?S{gBY}e> z`x(7VOV-JT48C}A>nICbXCpM8Yr=c&jV!`_@3O{6rvV6PzDRf}qswcovlBrcM?)pHnnA*S zPz=(&o~sXoTuCYkWOfJtCAp=0hg71|{rqUl!@YAQ*|4 zsxS(`VIMam#`N(Bo7HKt;F4?Fu$jKy7Wx)07QbXpn8hB9l;Oze@y!3W} zhGLT&1K`|2o|#(sy!b?vRtso98p0k4+uujB6&|vb0epZsb$*4WeaX74K*8^E-?B{SpCW%l0>0^=A;tT9-l3wW_#GrOq+{&XcWCP9uBp0COO` zueydnW_(%4jSbaH35zsdE7&FnS;->LfJs#fTDYz8K|cWo;#Uj*AMX$@2OX*D4{6J) zG2{#T;Jh*pnsbP>s>Oc1&-t-CuNGYAd{g7g{TM`|PkE$19trI@&tZbJnxpDV6XTKM z&i4hBl2zA@SG$6G_`=@LyvvyU+*C#>p5YPs&OsBI*pxv=We*g^Vu?oNEWy`#@$I`D z)Q7+}m+bw7kSfyML!?`K%qnZ-+&4{^g7e@4a=K)eRKet&Q63Fl_;^#3i*;iVN#uE_ zTSr9vJ=@=erHpt`+y4SlqDn*O;2amk9^Lm!K!0x)jGjY4yEd#JUWGzXqdsWDAedI~ zCVCzmsVa|}o<5@X+?Hr6g; zYyuFxBq5&SN%|Z$$+abqUI3OuMVm`WaOE;G(318ta$XNOP9jjSrjOVJ=jXPtxW>2J z0R*(97-c7|e^(qedC}r`q=J5y0fpx!&kpA%+o9P*1r!KI7<>y;Kmz_G7Hguqe5sB> zFayARsg{iw9|zA zSTe9zUA9vKP>$LD*5GoY(j~+4@n(vX^`WGG%qBjGy`k;e$gEjS^jRQzrR~}Rh)j4> ze&_R8p~A8k>DtIQ!`UN3(J>p7JrvA;Dv`%pcP)Ys@6ecsT^K~WypkBMY=wQIK14d1 zdR$HvofqtViSoo^a4eX4J3etxTk4#HlE|!f3?k8qPbN7* z1$Fm11L@r)l8uvyio02~AH@U?xiO5TpCmb3V+O&LlbGfVK;1EVxz8mkn06P;KHIyS z#grvAP>B@%DAF8+uup$!0}!#{nZbK3WS6LHI}RXzMyuvT;P_BcW}0|_xG}jNjCZE+ z`C5Q1OlA*6-MCb{cBBf`1{_OC;=3^|ut|>NF^NSMjQ}EP@QcaLp*U`Gqm%2P;RwJ*BW)PH*lG@pHC+g|jV| z_5A$827mzYtp$gI@x#9Nc=WIowc}m&@?(vYyfA-Eocqa4Sveq)f%i6p103)~!q{h; zg3^lw14&bWWF7$|GMPPuGppvPog0flQJ#zSPdB3ofKSJO*9=iMv5kHjttyI=8z-kNl`6JeR?#UET zr~u+DgLEoSL*g5n$R3h2Ww{Nygan@ds)>UmDbmJF1cfROSyTZ;w67LRtTy1rqkd-y zIF=G{oDaE#q{o5bO&pHruMd_S`Kt8wk4Qgu)$k^0->yma36fW-A>f!|ebxOy;K4tU|R}KZch$+-L+wxmSBRHaNiWrnpn==%~!^)9Lu%urO04 zC$=Q%LN%q;Knjyr-=c`FNC=VoaYAtH6*WA+sVh_UjZ$J+)L~sG`Ib7_0}|wj{W5RB zCIrVGKs*M=o3E=XbRQjfzOIve_(12~h+rr${yAd5%pFwO`NSKZzA`fR03wk|yM{L= zMJPcXygm(vC7uSn_U%V^QvtENQXS)p@CE5l5nTwTmg=^6Xz|OTnz~zZUaP= zS9!xF)p%jzO$Tr+*|f_+#$sO)AWsAXwasj6aE}d6z3y9d=(rt9(1!qs!3RLMp5*I$ zowefL4I9BBGw&1hsx!G}6_LbLfON?t`rfyAh2&Z42sjwCdz-^peUQokl3RlGF7j%H za+bKIv|6HmI(2#YBK~ z**|{PRbBymL`Yg)JKzxbKE@?Utam{qX~H0%9FbQMl2>gQ1hdD+5r@DM^U8p`%XQkP zCP_L@)JY}8Gd`sBt zwjWpJASSU$q!{!%C!e>;Sq743rWqd7H2~!T7-dsanDB``YI6`%0dj=oPBsRpD*j$# zu>;6XESUokULn^K`!iJJEUwz;#sGmm6`4xIYqUiNNB@kTt&NjM9f4&7gUHx2tmtpo z?cLrOysv0h)1lgP5Rd_)RBC!}V%Wk-ury;G{+=xWNm>1}qRb&Ib!$A${LDho=T#2S%C3ziLgR8$)01=TCYR*H#iSvP|r<}7PQTHAo zlF8tt4M3i1w3;vW;>dI41d!VNzC}1dk`JoFyFsgKI?tkeh zl~QtuN>=sRurDXA0RmAtH9%(NlIlZifKX|ZB&R}NRbF6Pce3K00WvGCsXnL-)8^81 zP&`r5Lh8enJ4NdNqFrW5W;c%-er|`@=d8n@|IEl-msh*a00HVrkj&B{Rg#WUPki{W z;cmHvBCWIXDrEb&l4X4uL`Fe6qzaZxO;6ysMBg{rE!VngW~sCIn1?KD{HhZ`hL9?K zEoL1~;DG3WS>&STWACbF4khhnyf<`FdIBJbY8sYdR6l| zToj-Zu^WtucTP6CJF@BhAozHgm4;;fT9O~!*X1L?BG>qHEdX*v?&XB7YUFo!fWRIM z(K#bc8upa!PXN9)XbbNQF&SIHRcb0gi9Z{WZ#j`~iR0M#I_@?%OqswUoDz=_Nai57 zqMFa)`#hEvRjmYp$%Q<`XQ{ZV@#X#ifq8`tIap{ING>Wqmq=*!Rsj-R-EiR;9OVh- zjoz9ytM}(v57v%0TkDPL^8>^Vq~`3woC5O2_SIVg?1Jx zK~j7jN*ta`t!GuG4X#d0Bp|`((&EaU?YYRiz4jinM?4xpOkxq_@aJgIr3W@wB>UXf z#m|aWu^W?~v!|oXQ4ZqE$tAtmqZ2?(ViDA)LndF?_>6Ot3idgHTxOxD+}X+^Ym|dL zxQ>h=*rO|h$dGueyF+-{4xIi{lAQ9~eddX5~}FLRtdxHSH)r~-;-{$tnQ7xZilAAn~x z2!|#PLXGU=?dDahYo5SEiTIXPuXr_5YJt4CM{UnR0;i6HBLsgGpZ&1UbN7*0q;S~%4-66 zZgR%tI~lcsL}>rkRPavN52FO>*$@qchU}1Jxi!6GVZ!hN7`U-Asb!@GuE|kUR+dr|4ehxE=Eyw)$3jw+7&QM4MrbsryQM2y z7#x!`O4QxrruZEt0OC*Y7xgvPLZh?xwKIcVc>%!X?ikO&-g+3+Ks;HCPKfgUTuA4 ztEDvH^6SWO36?^hlN;85GO0ev{8}*KL*hw9uRuaJ7&y31wix!qR1XRptiH1Mwf#l$ zT3EdIK(0X65FEUS@RzCD@L|daE`X5oU5CYge?uT4>i`bEV&KnHw&TOp4-VU4LzHk4 zNXY8I5%<|TYYjjEBo71x(UsCb$lkKlJej9dRNhfm_xo7gTsLpMACp8u@woHA} zW00|=54Th{DEcJ35U+(~Rt?jhOc z!QrR@D7?RR!CQbxqG;1=)-s5uFE#*10K{kbH*D~+1oE<-@2jP~2Z)4KO0X z3ZTh!Epvh89wC5X!P?!cm@NiQ zQ(l%cHru2i-<|{+m(o^b0*H-_Q(DyV*L-6EVgxcWGBPqUlkMLE3;>GOcmAv6$#MVy N002ovPDHLkV1n*FhCl!S literal 0 HcmV?d00001 diff --git a/Pitch Perfect/Images.xcassets/darthvader.imageset/Contents.json b/Pitch Perfect/Images.xcassets/darthvader.imageset/Contents.json new file mode 100644 index 0000000..cff25a7 --- /dev/null +++ b/Pitch Perfect/Images.xcassets/darthvader.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "darthvader2x-iphone.png" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Pitch Perfect/Images.xcassets/darthvader.imageset/darthvader2x-iphone.png b/Pitch Perfect/Images.xcassets/darthvader.imageset/darthvader2x-iphone.png new file mode 100644 index 0000000000000000000000000000000000000000..369fde2bd27c68c707abcb770dd835eb0fd7b9c1 GIT binary patch literal 5407 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 M07*qoM6N<$f)FRbLI3~& literal 0 HcmV?d00001 diff --git a/Pitch Perfect/Images.xcassets/fast.imageset/Contents.json b/Pitch Perfect/Images.xcassets/fast.imageset/Contents.json new file mode 100644 index 0000000..20fd0f5 --- /dev/null +++ b/Pitch Perfect/Images.xcassets/fast.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "fast2x-iphone.png" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Pitch Perfect/Images.xcassets/fast.imageset/fast2x-iphone.png b/Pitch Perfect/Images.xcassets/fast.imageset/fast2x-iphone.png new file mode 100644 index 0000000000000000000000000000000000000000..5591b7ca9d7a28dde41653a49b1f15eeb8f12c8a GIT binary patch literal 6181 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 DRxNZ0 literal 0 HcmV?d00001 diff --git a/Pitch Perfect/Images.xcassets/microphone.imageset/Contents.json b/Pitch Perfect/Images.xcassets/microphone.imageset/Contents.json new file mode 100644 index 0000000..8affb09 --- /dev/null +++ b/Pitch Perfect/Images.xcassets/microphone.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x", + "filename" : "microphone-iphone.png" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "microphone2x-iphone.png" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Pitch Perfect/Images.xcassets/microphone.imageset/microphone-iphone.png b/Pitch Perfect/Images.xcassets/microphone.imageset/microphone-iphone.png new file mode 100644 index 0000000000000000000000000000000000000000..fddf2ee7b5838d3e4248ce2141af44404d670c61 GIT binary patch literal 993 zcmeAS@N?(olHy`uVBq!ia0vp^DImO^0v|i5j&Nz9g_eyD%{KJ>exG_sAPxvZQyMN|f(GyXff4}Yh zoBTFUKq0s)@OZnOU2m08>AVliyN};K$)xbqA;Z&Tl7MGMZegZYqSC{l2TK@k^7jNR zTG{fA@1%;*IhIqGKIPl4VC-ph`7E2rQuR0HuB=#)fSY^bmTxoG6i3Ido|bgiX<2of zU`ADPOqgN#RZY#G7goLAl%pu`<+q=I!rLpWD}Vjx7s!2P7rvNLq3sG22NQ>bfCEDl z1Cs!YK!XAhGO#eRC~zn+I5IE-C9z2_d1kfd)3f8tFZwKc^0BNauGH$@dN&*;D#TVCsIpu3hVoF>c%=;Iq8YVU0f1<&5d61yx12 zG87s&zC0Nkm4DSiOlteaAZdpnZHF}xnO7a;OzP5Cq;AbHnvi<+tdGCD*sRB4uO>`m zl)rZ}GWT;s#(Rs+lkQ2K*8Kf%Uo}@@r1ss6JNFq@<&;bQSbaKl@45A?3We7$o#M5K zn_6?fvwY6lxbnL{=Ixqt;z+UZUzrt~v~H-Ju95Y4^K{MDi(-$W4?7sGc)N3LqUU$( z?{4Mpx7aXIE3@mTkXzgy~B*^?_KvOm3Jy?u4t zq5g41MG8}ye<56f6`f4|!LxcNKISWf&9*O&if_x!4N_iCpdHh0{ZC>HL%v-JM{ z3fF7v-WcDF3gSCseBHC?BdvTp8{t=>)9?3=zHc{t5FyfWWIIr`9@x%QhUu|K<3 zcirpn?B`x>Gtb`-{&mji*sOm+3zsweEMK-$$ma8%;5pfnqFe3QlOB}v?7sF*#BjHD zQ`&HK)=a1X~vaN zQ8{0~UrTMDyT)9W^=R9x>9>CNtj(_u+3kDq3hT~E|F1O*KQpoq)vme_79zADy|qN~ z;q>m;|Dr331rdn_l9J$Q37V3iY3bJbHD~!xKC8>oHV;?f348zZUT)>vtxLD==Ia%m zQ260{_QKm*It6>1Z?c}K^5vTHA$IG5z(u{kbPq73`!dhd(=vDn%(D!hu6{1-oD!M< Da7nm2 literal 0 HcmV?d00001 diff --git a/Pitch Perfect/Images.xcassets/microphone.imageset/microphone2x-iphone.png b/Pitch Perfect/Images.xcassets/microphone.imageset/microphone2x-iphone.png new file mode 100644 index 0000000000000000000000000000000000000000..bef331e4a9217e41fe5d9eb6951a4a264dbefa1e GIT binary patch literal 1891 zcmbuAc{JPU8pmU8q*rSRDyUzru~dzARM2WnA|gaZ+={8S!C*=)v2=tsr4<(mgBlGf zQtcSaRV`Z7puKjrB+=ScEK$p~RVOX3-nqA@_uTn!{&?T#d*0{$KJR(YdCupdpT}cl zAutFC1d_$tqX_%44?>c|{QLpzW#2%5g1;|0 zF1*v<8U#8Zg+(EWu_H_4&4f{R=(X@!=W0*ZX;btf(?kPbM+`3n`V=j!#r`SztKt;V z>f2;uw#9g9>*h}_aT51OE267%-+D5PJI#GAk($HiGD^#F+k#{?} z0Hd%yt+nLZp7})0`7bR^9Ru_r-qV4E-8Wl|f$cB}3>`RZ&@P0nYGJv+VLgl$U)^mg zJwFNfC0o09qiUElmsfXXGJ=B3d}fF@(rK^1Vnca_V!ELie~pNIQI=}|7{$C-6E=yK z6JQvd31!`>F*9x{T9v_c09Vu?MvYxHRUnfdZCwZ8_$ruMe@;N-=n=^$7d%9^a?qhy zcb}yIl22ly%^#dNp@FB}JvzVyKu8b`Bq;_Kmy-m*U&wQE*M83d;Lq~E*Urg(c6^ch zLjGRu-v?jF&o4dyL%(Uu(9`Jnkh%|F#V;kj6N)|xdWd;2w%z*$E;a4wuzN;H|40$_ z(CBdo$7;4}i5_yX4Igj^82VnVLR;`&pR1fq}RMMFM6^a51gO@@#aVBpZLDu>dby;(aV&zV5ag3{9tesWGPuz7^voS=Q%?r(9iKG)uIJxkp-ayjpu*KRNs=uY-QqTZXWD>aDSU@1ill z)nh>+L)}lCfAf+gS@(7+mN}%ga#oe%mzS+GZvtC0IyD7ey^Gl#lD-;uc;DYc2fV?w zHC}m(xQn2^*oAy#`wU}A#@BW6IL%ntGh!%uVfj^R`~x4&Z3mOr0nXq+%CklsQ;40! zm0sxD4uozuK`7N1h*#R99wM9#?U+|1^AypR{(%AxEJR!A=S_OvT?iJ%F?1DC(9U!% zbX`k3RM4A`GfVl92SqV%uol9boRPjh&a?*17e^g3?|1ZukFAy z8NOzZ=b7Y!N)aokQy$?|8s-Q+qZdmCN4zW#;@0;#7Dg2}zneN-Cy(Am}$Vl@7; z?eFaNlkaL2r8;+Edzn|Mt1}UY7Fm^lIW^@4XtqSDsA5>i=3r@&DKk?Au{)G@Ivy{wP#o6|_LA039jojNLtRNrNv!LWe3 zOtKZe%nmRAvB>b3Ufl>zh)$KdF#h6;e5Ca^&DeFebz|OI%F0vhSzQd_p`AEw%q=Ub z)ic*q+)Dy6A{CKV1{J&K&coO7O=eRKctKfvX*;IMv!VLOItV%lr}Y!l8Ehp)0^Fte zh|t5a?wnwdN0B4H4xF!sH<9~rRYnTh^be0PhiK(y%{ES5!xo|t&_-TiLn4)23z8=gO2dTw&fcov?{qgRxPOC5k`B5I(i?2< z!{gpS(YHq@9%iM+F7#cbm6yP~pEYreb6}IvZy-uYLzj}qbm93(I)US&MU|k>cgPS( zq}oemn`Q~2lV+`(mn@@mVo&7)U&{v?ccJIH_r|4*a{(|Zx*^dy^nign`@lb%-2Vq? z|6$T6w*4QT{xs}<_1tf;)Yl`+(XE)sWSa<^8fra_jc7b;BSefyl86~MSTYSit4m`K zsZ$L2T1yK?U_#c_1*1Y3&Gwyb1EivQdPhCERN7!lQ%o9E_G-sTVu`Z0KQ%#EG#*uH H>qGk&v#&AB literal 0 HcmV?d00001 diff --git a/Pitch Perfect/Images.xcassets/slow.imageset/Contents.json b/Pitch Perfect/Images.xcassets/slow.imageset/Contents.json new file mode 100644 index 0000000..8e0b4bf --- /dev/null +++ b/Pitch Perfect/Images.xcassets/slow.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x", + "filename" : "slow.png" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "slow@2x-iphone.png" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Pitch Perfect/Images.xcassets/slow.imageset/slow.png b/Pitch Perfect/Images.xcassets/slow.imageset/slow.png new file mode 100644 index 0000000000000000000000000000000000000000..f5a726d82b217c04aedadbfddf4d3d16ead8ce8e GIT binary patch literal 4577 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 NmAS21or!n+{{TaP5)uFa literal 0 HcmV?d00001 diff --git a/Pitch Perfect/Images.xcassets/slow.imageset/slow@2x-iphone.png b/Pitch Perfect/Images.xcassets/slow.imageset/slow@2x-iphone.png new file mode 100644 index 0000000000000000000000000000000000000000..69aacca4ae7ef431521fc348b3f6f4a93cc166ca GIT binary patch literal 5811 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 literal 0 HcmV?d00001 diff --git a/Pitch Perfect/Images.xcassets/stop.imageset/stop2x-iphone.png b/Pitch Perfect/Images.xcassets/stop.imageset/stop2x-iphone.png new file mode 100644 index 0000000000000000000000000000000000000000..19dbcbb67009eb7e1ff0e4c47dd32a38d2fbd67b GIT binary patch literal 1785 zcmVf0D{yo_|@TOo$od%VQ{xfjIgt zzj7~*OdLB&l&>U(9uW|U-(qpx)KEZMNK&@qNCZJIXHSSAp${ZXK?QXTnPW$OHbkH6 z5G&QQ0&@0eMF^;224wU#M#|mHOH(%k?k_^_Z=i8)i8vN6R1-QPVyrR7&gPwplsVMg z6q~Mz2|IL6%Mv0a30pDnjU&a5A$G+j#N2n`%EAr?dk3oME7Twdy7DEUf`X@T=;O9S~Eb_5{YY_l}T~ijm@Z+AIpo+sfi2uA1TJ7r1Gl*7NpJ=b<6kQR{-jMk^~Nw6 z@?sXjnPC6>=k2@qSAUQsCYI;K&$7-GQV=sHt}1O0ltORL#xW&iGW;UtP0jzbugEaY zo(ynb8F624#c?Ih{Vaa=kF6|=))^Zn<5dQ>f!T;014W!QqY#)5xx=ZgxPb4O24$d^ zM0|i#AH<*k7UzF6rVxl5OH%Yr*!+ceIZuMl{g`Akw=CZw54=$zL@(PQf}h0I9RdC#V8jC-)5%C>riDAZx} zA(Qz2e~%X}TWb|U-{f1d zIgMdOGOoA^Ayf3(o43MGL?zOeNr9~o34vga=UldIM&rOX9e~XX6@n$S=c#ooD%p_W z9+wevgWVOI&l-{fn;#G|LZ5eRH*44x*!+J&(1J=#hFBHQRcUX^aisJ3k(O2JTUJQt3fYzs@~Ul}iI#PYgZLqB+ApyA zYeHZ_2~K}+*o4M`ZJN;qQL3pEyzDBb3rZNR)DaPPb+BAeMMy%b_9>gv7^b8;Pqc)< zo7wm;j=3f=R(s%>tlW;HXto!37R?*eGuq*f1aoEg*0NqFxIc%siw#4o4%}6#uy0J+ z^AM_%C7ZS}mQ~bIN(iK58xl)+(y_ie1|)WD%GUnto*2?DHfuI zv+v$teGwnOg;TOkT`10{Z0Abqn2X;&qEkQW*4~5_zZkcvlQ_wp4=lKcc2 z&y4SY>0zBgcQoBYdfUov^Tv|R#_I3JlBjUJCMmJJ;3t^RITbSIFdY(+)b`q|tyeWt z{+f^T=ENNnf(F3bcl$($=C0xm?p+W<)G|{HEboQB@}+w=yf-xkMX0WKVM7(25>i3> zxi8+js`MdszX^)pXYS0^h7Rt)SqU-uJ7IDGOJd6aXa|U4aJcyZC1TN~f2)UWI&+zxi{iVKkUiFrc5|Zk;q7 + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + com.sukhkalsi.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Pitch Perfect/PlaySoundsViewController.swift b/Pitch Perfect/PlaySoundsViewController.swift new file mode 100644 index 0000000..9363951 --- /dev/null +++ b/Pitch Perfect/PlaySoundsViewController.swift @@ -0,0 +1,166 @@ +// +// PlaySoundsViewController.swift +// Pitch Perfect +// +// Created by Sukh on 10/06/2015. +// Copyright (c) 2015 Sukh Kalsi. All rights reserved. +// + +import UIKit +import AVFoundation + +class PlaySoundsViewController: UIViewController, AVAudioPlayerDelegate { + + var audioPlayer:AVAudioPlayer! + var audioPlayer2:AVAudioPlayer! + var audioEngine:AVAudioEngine! + var audioFile:AVAudioFile! + var receivedAudio:RecordedAudio! + var audioPlayerCount:Int = 0 + + @IBOutlet weak var stopButton: UIButton! + + @IBAction func stopAudio(sender: UIButton) { + // call generic reset and hide the stop button + resetAudio() + stopButton.hidden = true + } + + @IBAction func playSlow(sender: UIButton) { + // call generic reset and call play audio at half the rate. Show stop button + resetAudio() + playAudio(0.5) + stopButton.hidden = false + } + + @IBAction func playFast(sender: UIButton) { + // call generic reset and call play audio at faster rate, at one and half speed. Show stop button + resetAudio() + playAudio(1.5) + stopButton.hidden = false + } + + @IBAction func playChipmunkAudio(sender: UIButton) { + // call generic reset and call generic pitched audio at pitch value at higher pitch. Show stop button + resetAudio() + playAudioWithVariablePitch(1000) + stopButton.hidden = false + } + + @IBAction func playDarthvaderAudio(sender: UIButton) { + // call generic reset and call generic pitched audio at pitch value at deeper pitch. Show stop button + resetAudio() + playAudioWithVariablePitch(-1000) + stopButton.hidden = false + } + + @IBAction func playEchoAudio(sender: UIButton) { + // call generic reset and call echo function. Show stop button + resetAudio() + playAudioWithEcho(1.0, delay: 1.2, volume: 0.6) + stopButton.hidden = false + } + + func resetAudio() { + // reset player count and stop / reset audio players and audio engines + audioPlayerCount = 0 + audioPlayer.stop() + audioPlayer2.stop() + audioEngine.stop() + audioEngine.reset() + } + + func playAudio(rate: Float) { + // play the audio at the rate passed through. Also set the play time to zero, and increase the audio player count + audioPlayer.currentTime = 0.0; + audioPlayer.rate = rate + audioPlayer.play() + audioPlayerCount++; + } + + func playAudioWithEcho(rate: Float, delay: NSTimeInterval, volume: Float) { + // call play audio as normal + playAudio(rate) + + // increment for echo straight away + audioPlayerCount++; + + // now setup a delay for the 2nd sound so it simulates an echo + var playtime:NSTimeInterval + playtime = audioPlayer2.deviceCurrentTime + delay + + // play the 2nd audio after the delay (using playAtTime) + audioPlayer2.currentTime = 0.0 + audioPlayer2.volume = volume; + audioPlayer2.playAtTime(playtime) + } + + func playAudioWithVariablePitch(pitch: Float) { + // Initiate Audio Player Node and attach this to our Audio Engine + var audioPlayerNode = AVAudioPlayerNode() + audioEngine.attachNode(audioPlayerNode) + + // Initiate Audio Time Pitch and set the pitch value to parameter value passed through. Attach this to the Audio Engine. + var changePitchEffect = AVAudioUnitTimePitch() + changePitchEffect.pitch = pitch + audioEngine.attachNode(changePitchEffect) + + // within the Audio Engine, connect the Player Node to the Pitch Effect. Finally attach the Pitch Effect to the Output Node. + audioEngine.connect(audioPlayerNode, to: changePitchEffect, format: nil) + audioEngine.connect(changePitchEffect, to: audioEngine.outputNode, format: nil) + + // Schedule the file to play immediately, with a completion handler to hide the stop button. + audioPlayerNode.scheduleFile(audioFile, atTime: nil, completionHandler: { + /** + iOS 8 Bug + + Documentation states: "Called after the buffer has completely played or the player is stopped. May be nil." + + For some reason this completion handler is called immediately. + In addition there appears to be a delay (about 2 seconds) somewhere when hiding the button + */ + self.stopButton.hidden = true + }) + + // Play the audio + audioEngine.startAndReturnError(nil) + audioPlayerNode.play() + } + + func audioPlayerDidFinishPlaying(player: AVAudioPlayer!, successfully flag: Bool) { + // Delegate provided by AVAudioPlayerDelegate. This detects when the AV Audio Player instance has finished playing the file. + // Decrease the player counter and cross check we come to last file (due to echo having multiple instances). If so, hide the stop button. + --audioPlayerCount; + if (audioPlayerCount == 0) { + stopButton.hidden = true + } + } + + override func viewDidLoad() { + super.viewDidLoad() + + // Main audio + audioPlayer = AVAudioPlayer(contentsOfURL: receivedAudio.filePathUrl, error: nil) + audioPlayer.enableRate = true + audioPlayer.delegate = self + + // Echoed Audio + audioPlayer2 = AVAudioPlayer(contentsOfURL: receivedAudio.filePathUrl, error: nil) + audioPlayer2.enableRate = true + audioPlayer2.delegate = self + + // Engine for pitching + audioEngine = AVAudioEngine() + + audioFile = AVAudioFile(forReading: receivedAudio.filePathUrl, error: nil) + + // hide the stop button as its redundant unless we playing audio + stopButton.hidden = true + } + + override func didReceiveMemoryWarning() { + super.didReceiveMemoryWarning() + // Dispose of any resources that can be recreated. + } + +} diff --git a/Pitch Perfect/RecordSoundsViewController.swift b/Pitch Perfect/RecordSoundsViewController.swift new file mode 100644 index 0000000..fe907f7 --- /dev/null +++ b/Pitch Perfect/RecordSoundsViewController.swift @@ -0,0 +1,101 @@ +// +// RecordSoundsViewController.swift +// Pitch Perfect +// +// Created by Sukh on 08/06/2015. +// Copyright (c) 2015 Sukh Kalsi. All rights reserved. +// + +import UIKit +import AVFoundation + +class RecordSoundsViewController: UIViewController, AVAudioRecorderDelegate { + + var audioRecorder:AVAudioRecorder! + var recordedAudio:RecordedAudio! + + @IBOutlet weak var recordingInProgress: UILabel! + @IBOutlet weak var stopButton: UIButton! + @IBOutlet weak var recordButton: UIButton! + @IBOutlet weak var introText: UILabel! + + @IBAction func recordAudio(sender: UIButton) { + // show and hide UI elements + introText.hidden = true + recordingInProgress.hidden = false + stopButton.hidden = false + recordButton.enabled = false + + // setup file to save recording to + let dirPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! String + let recordingName = "my_audio.wav" + let pathArray = [dirPath, recordingName] + let filePath = NSURL.fileURLWithPathComponents(pathArray) + + // setup session + var session = AVAudioSession.sharedInstance() + session.setCategory(AVAudioSessionCategoryPlayAndRecord, error: nil) + + // assign properties and begin recording - N.B. delegate for record is set here too. + audioRecorder = AVAudioRecorder(URL: filePath, settings: nil, error: nil) + audioRecorder.delegate = self + audioRecorder.meteringEnabled = true + audioRecorder.prepareToRecord() + audioRecorder.record() + } + + @IBAction func stopAudio(sender: UIButton) { + // show relevant UI elements + recordingInProgress.hidden = true + recordButton.enabled = true + stopButton.hidden = true + + // stop the recording instance + audioRecorder.stop() + + // end session + var audioSession = AVAudioSession.sharedInstance() + audioSession.setActive(false, error: nil) + } + + func audioRecorderDidFinishRecording(recorder: AVAudioRecorder!, successfully flag: Bool) { + // detect is we finished recording successfully and if so create Recording Audio object to contain the relevant recording information + // initiate a segue so we can transision to the playback screen + if (flag) { + recordedAudio = RecordedAudio(filePathUrl: recorder.url, title: recorder.url.lastPathComponent!) + self.performSegueWithIdentifier("stopRecording", sender: recordedAudio) + } else { + println("Recording was not successful.") + recordButton.enabled = true + stopButton.hidden = true + } + } + + override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { + // identify valid segues + if (segue.identifier == "stopRecording") { + // assign destination View Controller property to object passed through to this segue - its so we know what to playback on the other View Controller + let data = sender as! RecordedAudio + let playSoundVC:PlaySoundsViewController = segue.destinationViewController as! PlaySoundsViewController + playSoundVC.receivedAudio = data + } + } + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view, typically from a nib. + } + + override func viewWillAppear(animated: Bool) { + // show and hide UI elements + stopButton.hidden = true + recordButton.enabled = true + introText.hidden = false + } + + override func didReceiveMemoryWarning() { + super.didReceiveMemoryWarning() + // Dispose of any resources that can be recreated. + } + +} diff --git a/Pitch Perfect/RecordedAudio.swift b/Pitch Perfect/RecordedAudio.swift new file mode 100644 index 0000000..af858b0 --- /dev/null +++ b/Pitch Perfect/RecordedAudio.swift @@ -0,0 +1,20 @@ +// +// RecordedAudio.swift +// Pitch Perfect +// +// Created by Sukh on 13/06/2015. +// Copyright (c) 2015 Sukh Kalsi. All rights reserved. +// + +import Foundation + +final class RecordedAudio: NSObject{ + + let filePathUrl: NSURL + let title: String + + init(filePathUrl: NSURL, title: String) { + self.filePathUrl = filePathUrl + self.title = title + } +} diff --git a/Pitch Perfect/movie_quote.mp3 b/Pitch Perfect/movie_quote.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..062b163fbaabf5c439cc4d1788f98a8af424a1ef GIT binary patch literal 87770 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 iVVD$Q%8& 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 + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + com.sukhkalsi.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/Pitch PerfectTests/Pitch_PerfectTests.swift b/Pitch PerfectTests/Pitch_PerfectTests.swift new file mode 100644 index 0000000..145fa29 --- /dev/null +++ b/Pitch PerfectTests/Pitch_PerfectTests.swift @@ -0,0 +1,36 @@ +// +// Pitch_PerfectTests.swift +// Pitch PerfectTests +// +// Created by Sukh on 08/06/2015. +// Copyright (c) 2015 Sukh Kalsi. All rights reserved. +// + +import UIKit +import XCTest + +class Pitch_PerfectTests: XCTestCase { + + override func setUp() { + super.setUp() + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + super.tearDown() + } + + func testExample() { + // This is an example of a functional test case. + XCTAssert(true, "Pass") + } + + func testPerformanceExample() { + // This is an example of a performance test case. + self.measureBlock() { + // Put the code you want to measure the time of here. + } + } + +}