diff --git a/TapeDeck.xcodeproj/project.pbxproj b/TapeDeck.xcodeproj/project.pbxproj deleted file mode 100644 index b8bb547..0000000 --- a/TapeDeck.xcodeproj/project.pbxproj +++ /dev/null @@ -1,631 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - BDA060FA2447F3E6009C72CE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDA060F92447F3E6009C72CE /* AppDelegate.swift */; }; - BDA060FC2447F3E6009C72CE /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDA060FB2447F3E6009C72CE /* SceneDelegate.swift */; }; - BDA060FE2447F3E6009C72CE /* FirstViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDA060FD2447F3E6009C72CE /* FirstViewController.swift */; }; - BDA061002447F3E6009C72CE /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDA060FF2447F3E6009C72CE /* SecondViewController.swift */; }; - BDA061032447F3E6009C72CE /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BDA061012447F3E6009C72CE /* Main.storyboard */; }; - BDA061052447F3F2009C72CE /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BDA061042447F3F2009C72CE /* Assets.xcassets */; }; - BDA061082447F3F2009C72CE /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BDA061062447F3F2009C72CE /* LaunchScreen.storyboard */; }; - BDA061132447F3F3009C72CE /* grandfatherrockTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDA061122447F3F3009C72CE /* grandfatherrockTests.swift */; }; - BDA0611E2447F3F3009C72CE /* grandfatherrockUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDA0611D2447F3F3009C72CE /* grandfatherrockUITests.swift */; }; - BDB53FCE250765A2004E9788 /* FinkHeavy.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BDB53FCC250765A1004E9788 /* FinkHeavy.ttf */; }; - BDE8138F2507422100371570 /* ThirdViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE8138E2507422100371570 /* ThirdViewController.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - BDA0610F2447F3F3009C72CE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BDA060EE2447F3E5009C72CE /* Project object */; - proxyType = 1; - remoteGlobalIDString = BDA060F52447F3E6009C72CE; - remoteInfo = grandfatherrock; - }; - BDA0611A2447F3F3009C72CE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BDA060EE2447F3E5009C72CE /* Project object */; - proxyType = 1; - remoteGlobalIDString = BDA060F52447F3E6009C72CE; - remoteInfo = grandfatherrock; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - BDA060F62447F3E6009C72CE /* Nook Music.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Nook Music.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - BDA060F92447F3E6009C72CE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - BDA060FB2447F3E6009C72CE /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - BDA060FD2447F3E6009C72CE /* FirstViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirstViewController.swift; sourceTree = ""; }; - BDA060FF2447F3E6009C72CE /* SecondViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondViewController.swift; sourceTree = ""; }; - BDA061022447F3E6009C72CE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - BDA061042447F3F2009C72CE /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - BDA061072447F3F2009C72CE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - BDA061092447F3F2009C72CE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BDA0610E2447F3F3009C72CE /* grandfatherrockTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = grandfatherrockTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - BDA061122447F3F3009C72CE /* grandfatherrockTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = grandfatherrockTests.swift; sourceTree = ""; }; - BDA061142447F3F3009C72CE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BDA061192447F3F3009C72CE /* grandfatherrockUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = grandfatherrockUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - BDA0611D2447F3F3009C72CE /* grandfatherrockUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = grandfatherrockUITests.swift; sourceTree = ""; }; - BDA0611F2447F3F3009C72CE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BDA0618A244826DB009C72CE /* grandfatherrock.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = grandfatherrock.entitlements; sourceTree = ""; }; - BDB53FCC250765A1004E9788 /* FinkHeavy.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = FinkHeavy.ttf; sourceTree = ""; }; - BDE8138E2507422100371570 /* ThirdViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThirdViewController.swift; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - BDA060F32447F3E6009C72CE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BDA0610B2447F3F3009C72CE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BDA061162447F3F3009C72CE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - BDA060ED2447F3E5009C72CE = { - isa = PBXGroup; - children = ( - BDA060F82447F3E6009C72CE /* grandfatherrock */, - BDA061112447F3F3009C72CE /* grandfatherrockTests */, - BDA0611C2447F3F3009C72CE /* grandfatherrockUITests */, - BDA060F72447F3E6009C72CE /* Products */, - ); - sourceTree = ""; - }; - BDA060F72447F3E6009C72CE /* Products */ = { - isa = PBXGroup; - children = ( - BDA060F62447F3E6009C72CE /* Nook Music.app */, - BDA0610E2447F3F3009C72CE /* grandfatherrockTests.xctest */, - BDA061192447F3F3009C72CE /* grandfatherrockUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - BDA060F82447F3E6009C72CE /* grandfatherrock */ = { - isa = PBXGroup; - children = ( - BDA0618A244826DB009C72CE /* grandfatherrock.entitlements */, - BDA060F92447F3E6009C72CE /* AppDelegate.swift */, - BDA060FB2447F3E6009C72CE /* SceneDelegate.swift */, - BDA060FD2447F3E6009C72CE /* FirstViewController.swift */, - BDA060FF2447F3E6009C72CE /* SecondViewController.swift */, - BDE8138E2507422100371570 /* ThirdViewController.swift */, - BDA061012447F3E6009C72CE /* Main.storyboard */, - BDA061042447F3F2009C72CE /* Assets.xcassets */, - BDB53FCA250765A1004E9788 /* fonts */, - BDA061062447F3F2009C72CE /* LaunchScreen.storyboard */, - BDA061092447F3F2009C72CE /* Info.plist */, - ); - path = grandfatherrock; - sourceTree = ""; - }; - BDA061112447F3F3009C72CE /* grandfatherrockTests */ = { - isa = PBXGroup; - children = ( - BDA061122447F3F3009C72CE /* grandfatherrockTests.swift */, - BDA061142447F3F3009C72CE /* Info.plist */, - ); - path = grandfatherrockTests; - sourceTree = ""; - }; - BDA0611C2447F3F3009C72CE /* grandfatherrockUITests */ = { - isa = PBXGroup; - children = ( - BDA0611D2447F3F3009C72CE /* grandfatherrockUITests.swift */, - BDA0611F2447F3F3009C72CE /* Info.plist */, - ); - path = grandfatherrockUITests; - sourceTree = ""; - }; - BDB53FCA250765A1004E9788 /* fonts */ = { - isa = PBXGroup; - children = ( - BDB53FCC250765A1004E9788 /* FinkHeavy.ttf */, - ); - path = fonts; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - BDA060F52447F3E6009C72CE /* grandfatherrock */ = { - isa = PBXNativeTarget; - buildConfigurationList = BDA061222447F3F3009C72CE /* Build configuration list for PBXNativeTarget "grandfatherrock" */; - buildPhases = ( - BDA060F22447F3E6009C72CE /* Sources */, - BDA060F32447F3E6009C72CE /* Frameworks */, - BDA060F42447F3E6009C72CE /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = grandfatherrock; - productName = grandfatherrock; - productReference = BDA060F62447F3E6009C72CE /* Nook Music.app */; - productType = "com.apple.product-type.application"; - }; - BDA0610D2447F3F3009C72CE /* grandfatherrockTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = BDA061252447F3F3009C72CE /* Build configuration list for PBXNativeTarget "grandfatherrockTests" */; - buildPhases = ( - BDA0610A2447F3F3009C72CE /* Sources */, - BDA0610B2447F3F3009C72CE /* Frameworks */, - BDA0610C2447F3F3009C72CE /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - BDA061102447F3F3009C72CE /* PBXTargetDependency */, - ); - name = grandfatherrockTests; - productName = grandfatherrockTests; - productReference = BDA0610E2447F3F3009C72CE /* grandfatherrockTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - BDA061182447F3F3009C72CE /* grandfatherrockUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = BDA061282447F3F3009C72CE /* Build configuration list for PBXNativeTarget "grandfatherrockUITests" */; - buildPhases = ( - BDA061152447F3F3009C72CE /* Sources */, - BDA061162447F3F3009C72CE /* Frameworks */, - BDA061172447F3F3009C72CE /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - BDA0611B2447F3F3009C72CE /* PBXTargetDependency */, - ); - name = grandfatherrockUITests; - productName = grandfatherrockUITests; - productReference = BDA061192447F3F3009C72CE /* grandfatherrockUITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - BDA060EE2447F3E5009C72CE /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1140; - LastUpgradeCheck = 1200; - ORGANIZATIONNAME = "Micah Gomez"; - TargetAttributes = { - BDA060F52447F3E6009C72CE = { - CreatedOnToolsVersion = 11.4.1; - }; - BDA0610D2447F3F3009C72CE = { - CreatedOnToolsVersion = 11.4.1; - TestTargetID = BDA060F52447F3E6009C72CE; - }; - BDA061182447F3F3009C72CE = { - CreatedOnToolsVersion = 11.4.1; - TestTargetID = BDA060F52447F3E6009C72CE; - }; - }; - }; - buildConfigurationList = BDA060F12447F3E5009C72CE /* Build configuration list for PBXProject "TapeDeck" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = BDA060ED2447F3E5009C72CE; - productRefGroup = BDA060F72447F3E6009C72CE /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - BDA060F52447F3E6009C72CE /* grandfatherrock */, - BDA0610D2447F3F3009C72CE /* grandfatherrockTests */, - BDA061182447F3F3009C72CE /* grandfatherrockUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - BDA060F42447F3E6009C72CE /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BDA061082447F3F2009C72CE /* LaunchScreen.storyboard in Resources */, - BDA061052447F3F2009C72CE /* Assets.xcassets in Resources */, - BDA061032447F3E6009C72CE /* Main.storyboard in Resources */, - BDB53FCE250765A2004E9788 /* FinkHeavy.ttf in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BDA0610C2447F3F3009C72CE /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BDA061172447F3F3009C72CE /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - BDA060F22447F3E6009C72CE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BDA061002447F3E6009C72CE /* SecondViewController.swift in Sources */, - BDA060FE2447F3E6009C72CE /* FirstViewController.swift in Sources */, - BDE8138F2507422100371570 /* ThirdViewController.swift in Sources */, - BDA060FA2447F3E6009C72CE /* AppDelegate.swift in Sources */, - BDA060FC2447F3E6009C72CE /* SceneDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BDA0610A2447F3F3009C72CE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BDA061132447F3F3009C72CE /* grandfatherrockTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BDA061152447F3F3009C72CE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BDA0611E2447F3F3009C72CE /* grandfatherrockUITests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - BDA061102447F3F3009C72CE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = BDA060F52447F3E6009C72CE /* grandfatherrock */; - targetProxy = BDA0610F2447F3F3009C72CE /* PBXContainerItemProxy */; - }; - BDA0611B2447F3F3009C72CE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = BDA060F52447F3E6009C72CE /* grandfatherrock */; - targetProxy = BDA0611A2447F3F3009C72CE /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - BDA061012447F3E6009C72CE /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - BDA061022447F3E6009C72CE /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - BDA061062447F3F2009C72CE /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - BDA061072447F3F2009C72CE /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - BDA061202447F3F3009C72CE /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - 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 = 13.4; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - BDA061212447F3F3009C72CE /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - 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 = 13.4; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - BDA061232447F3F3009C72CE /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = grandfatherrock/grandfatherrock.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = PRBH2T6668; - INFOPLIST_FILE = grandfatherrock/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrock; - PRODUCT_NAME = "Nook Music"; - SUPPORTS_MACCATALYST = NO; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - BDA061242447F3F3009C72CE /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = grandfatherrock/grandfatherrock.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = PRBH2T6668; - INFOPLIST_FILE = grandfatherrock/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrock; - PRODUCT_NAME = "Nook Music"; - SUPPORTS_MACCATALYST = NO; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - BDA061262447F3F3009C72CE /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = PRBH2T6668; - INFOPLIST_FILE = grandfatherrockTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrockTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/grandfatherrock.app/grandfatherrock"; - }; - name = Debug; - }; - BDA061272447F3F3009C72CE /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = PRBH2T6668; - INFOPLIST_FILE = grandfatherrockTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrockTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/grandfatherrock.app/grandfatherrock"; - }; - name = Release; - }; - BDA061292447F3F3009C72CE /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = PRBH2T6668; - INFOPLIST_FILE = grandfatherrockUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrockUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = grandfatherrock; - }; - name = Debug; - }; - BDA0612A2447F3F3009C72CE /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = PRBH2T6668; - INFOPLIST_FILE = grandfatherrockUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrockUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = grandfatherrock; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - BDA060F12447F3E5009C72CE /* Build configuration list for PBXProject "TapeDeck" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BDA061202447F3F3009C72CE /* Debug */, - BDA061212447F3F3009C72CE /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - BDA061222447F3F3009C72CE /* Build configuration list for PBXNativeTarget "grandfatherrock" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BDA061232447F3F3009C72CE /* Debug */, - BDA061242447F3F3009C72CE /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - BDA061252447F3F3009C72CE /* Build configuration list for PBXNativeTarget "grandfatherrockTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BDA061262447F3F3009C72CE /* Debug */, - BDA061272447F3F3009C72CE /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - BDA061282447F3F3009C72CE /* Build configuration list for PBXNativeTarget "grandfatherrockUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BDA061292447F3F3009C72CE /* Debug */, - BDA0612A2447F3F3009C72CE /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = BDA060EE2447F3E5009C72CE /* Project object */; -} diff --git a/TapeDeck.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/TapeDeck.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 5d26556..0000000 --- a/TapeDeck.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/grandfatherrock.xcodeproj/project.pbxproj b/grandfatherrock.xcodeproj/project.pbxproj new file mode 100644 index 0000000..b0e5e88 --- /dev/null +++ b/grandfatherrock.xcodeproj/project.pbxproj @@ -0,0 +1,1027 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + BDA060FA2447F3E6009C72CE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDA060F92447F3E6009C72CE /* AppDelegate.swift */; }; + BDA060FC2447F3E6009C72CE /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDA060FB2447F3E6009C72CE /* SceneDelegate.swift */; }; + BDA060FE2447F3E6009C72CE /* FirstViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDA060FD2447F3E6009C72CE /* FirstViewController.swift */; }; + BDA061002447F3E6009C72CE /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDA060FF2447F3E6009C72CE /* SecondViewController.swift */; }; + BDA061032447F3E6009C72CE /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BDA061012447F3E6009C72CE /* Main.storyboard */; }; + BDA061052447F3F2009C72CE /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BDA061042447F3F2009C72CE /* Assets.xcassets */; }; + BDA061082447F3F2009C72CE /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BDA061062447F3F2009C72CE /* LaunchScreen.storyboard */; }; + BDA061132447F3F3009C72CE /* grandfatherrockTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDA061122447F3F3009C72CE /* grandfatherrockTests.swift */; }; + BDA0611E2447F3F3009C72CE /* grandfatherrockUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDA0611D2447F3F3009C72CE /* grandfatherrockUITests.swift */; }; + BDE519C0244C453C0050665B /* acnl19.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5195D244C45250050665B /* acnl19.mp3 */; }; + BDE519C1244C453C0050665B /* acnl18.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5195E244C45250050665B /* acnl18.mp3 */; }; + BDE519C2244C453C0050665B /* acnl20.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5195F244C45250050665B /* acnl20.mp3 */; }; + BDE519C3244C453C0050665B /* acnl08.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51960244C45250050665B /* acnl08.mp3 */; }; + BDE519C4244C453C0050665B /* acnl09.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51961244C45250050665B /* acnl09.mp3 */; }; + BDE519C5244C453C0050665B /* acnl21.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51962244C45250050665B /* acnl21.mp3 */; }; + BDE519C6244C453C0050665B /* acnl23.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51963244C45250050665B /* acnl23.mp3 */; }; + BDE519C7244C453C0050665B /* acnl22.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51964244C45250050665B /* acnl22.mp3 */; }; + BDE519C8244C453C0050665B /* acnl07.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51965244C45250050665B /* acnl07.mp3 */; }; + BDE519C9244C453C0050665B /* acnl13.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51966244C45250050665B /* acnl13.mp3 */; }; + BDE519CA244C453C0050665B /* acnl12.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51967244C45250050665B /* acnl12.mp3 */; }; + BDE519CB244C453C0050665B /* acnl06.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51968244C45250050665B /* acnl06.mp3 */; }; + BDE519CC244C453C0050665B /* acnl10.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51969244C45250050665B /* acnl10.mp3 */; }; + BDE519CD244C453C0050665B /* acnl04.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5196A244C45250050665B /* acnl04.mp3 */; }; + BDE519CE244C453C0050665B /* acnl05.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5196B244C45250050665B /* acnl05.mp3 */; }; + BDE519CF244C453C0050665B /* acnl11.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5196C244C45250050665B /* acnl11.mp3 */; }; + BDE519D0244C453C0050665B /* acnl15.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5196D244C45250050665B /* acnl15.mp3 */; }; + BDE519D1244C453C0050665B /* acnl01.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5196E244C45250050665B /* acnl01.mp3 */; }; + BDE519D2244C453C0050665B /* acnl00.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5196F244C45250050665B /* acnl00.mp3 */; }; + BDE519D3244C453C0050665B /* acnl14.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51970244C45250050665B /* acnl14.mp3 */; }; + BDE519D4244C453C0050665B /* acnl02.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51971244C45250050665B /* acnl02.mp3 */; }; + BDE519D5244C453C0050665B /* acnl16.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51972244C45250050665B /* acnl16.mp3 */; }; + BDE519D6244C453C0050665B /* acnl17.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51973244C45250050665B /* acnl17.mp3 */; }; + BDE519D7244C453C0050665B /* acnl03.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51974244C45250050665B /* acnl03.mp3 */; }; + BDE519D8244C453C0050665B /* acpg11.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51976244C452E0050665B /* acpg11.mp3 */; }; + BDE519D9244C453C0050665B /* acpg05.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51977244C452E0050665B /* acpg05.mp3 */; }; + BDE519DA244C453C0050665B /* acpg04.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51978244C452E0050665B /* acpg04.mp3 */; }; + BDE519DB244C453C0050665B /* acpg10.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51979244C452E0050665B /* acpg10.mp3 */; }; + BDE519DC244C453C0050665B /* acpg06.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5197A244C452E0050665B /* acpg06.mp3 */; }; + BDE519DD244C453C0050665B /* acpg12.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5197B244C452E0050665B /* acpg12.mp3 */; }; + BDE519DE244C453C0050665B /* acpg13.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5197C244C452E0050665B /* acpg13.mp3 */; }; + BDE519DF244C453C0050665B /* acpg07.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5197D244C452E0050665B /* acpg07.mp3 */; }; + BDE519E0244C453C0050665B /* acpg03.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5197E244C452E0050665B /* acpg03.mp3 */; }; + BDE519E1244C453C0050665B /* acpg17.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5197F244C452E0050665B /* acpg17.mp3 */; }; + BDE519E2244C453C0050665B /* acpg16.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51980244C452E0050665B /* acpg16.mp3 */; }; + BDE519E3244C453C0050665B /* acpg02.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51981244C452E0050665B /* acpg02.mp3 */; }; + BDE519E4244C453C0050665B /* acpg14.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51982244C452E0050665B /* acpg14.mp3 */; }; + BDE519E5244C453C0050665B /* acpg00.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51983244C452E0050665B /* acpg00.mp3 */; }; + BDE519E6244C453C0050665B /* acpg01.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51984244C452E0050665B /* acpg01.mp3 */; }; + BDE519E7244C453C0050665B /* acpg15.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51985244C452E0050665B /* acpg15.mp3 */; }; + BDE519E8244C453C0050665B /* acpg18.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51986244C452E0050665B /* acpg18.mp3 */; }; + BDE519E9244C453C0050665B /* acpg19.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51987244C452E0050665B /* acpg19.mp3 */; }; + BDE519EA244C453C0050665B /* acpg22.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51988244C452E0050665B /* acpg22.mp3 */; }; + BDE519EB244C453C0050665B /* acpg23.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51989244C452E0050665B /* acpg23.mp3 */; }; + BDE519EC244C453C0050665B /* acpg09.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5198A244C452E0050665B /* acpg09.mp3 */; }; + BDE519ED244C453C0050665B /* acpg21.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5198B244C452E0050665B /* acpg21.mp3 */; }; + BDE519EE244C453C0050665B /* acpg20.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5198C244C452E0050665B /* acpg20.mp3 */; }; + BDE519EF244C453C0050665B /* acpg08.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5198D244C452E0050665B /* acpg08.mp3 */; }; + BDE519F0244C453C0050665B /* accf19.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5198F244C45340050665B /* accf19.mp3 */; }; + BDE519F1244C453C0050665B /* accf18.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51990244C45340050665B /* accf18.mp3 */; }; + BDE519F2244C453C0050665B /* accf08.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51991244C45340050665B /* accf08.mp3 */; }; + BDE519F3244C453C0050665B /* accf20.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51992244C45340050665B /* accf20.mp3 */; }; + BDE519F4244C453C0050665B /* accf21.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51993244C45340050665B /* accf21.mp3 */; }; + BDE519F5244C453C0050665B /* accf09.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51994244C45340050665B /* accf09.mp3 */; }; + BDE519F6244C453C0050665B /* accf23.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51995244C45340050665B /* accf23.mp3 */; }; + BDE519F7244C453C0050665B /* accf22.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51996244C45340050665B /* accf22.mp3 */; }; + BDE519F8244C453C0050665B /* accf13.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51997244C45340050665B /* accf13.mp3 */; }; + BDE519F9244C453C0050665B /* accf07.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51998244C45340050665B /* accf07.mp3 */; }; + BDE519FA244C453C0050665B /* accf06.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE51999244C45340050665B /* accf06.mp3 */; }; + BDE519FB244C453C0050665B /* accf12.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5199A244C45340050665B /* accf12.mp3 */; }; + BDE519FC244C453C0050665B /* accf04.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5199B244C45340050665B /* accf04.mp3 */; }; + BDE519FD244C453C0050665B /* accf10.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5199C244C45340050665B /* accf10.mp3 */; }; + BDE519FE244C453C0050665B /* accf11.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5199D244C45340050665B /* accf11.mp3 */; }; + BDE519FF244C453C0050665B /* accf05.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5199E244C45340050665B /* accf05.mp3 */; }; + BDE51A00244C453C0050665B /* accf01.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE5199F244C45340050665B /* accf01.mp3 */; }; + BDE51A01244C453C0050665B /* accf15.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519A0244C45340050665B /* accf15.mp3 */; }; + BDE51A02244C453C0050665B /* accf14.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519A1244C45340050665B /* accf14.mp3 */; }; + BDE51A03244C453C0050665B /* accf00.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519A2244C45340050665B /* accf00.mp3 */; }; + BDE51A04244C453C0050665B /* accf16.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519A3244C45340050665B /* accf16.mp3 */; }; + BDE51A05244C453C0050665B /* accf02.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519A4244C45340050665B /* accf02.mp3 */; }; + BDE51A06244C453C0050665B /* accf03.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519A5244C45340050665B /* accf03.mp3 */; }; + BDE51A07244C453C0050665B /* accf17.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519A6244C45340050665B /* accf17.mp3 */; }; + BDE51A08244C453C0050665B /* acnh22.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519A8244C453B0050665B /* acnh22.mp3 */; }; + BDE51A09244C453C0050665B /* acnh23.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519A9244C453B0050665B /* acnh23.mp3 */; }; + BDE51A0A244C453C0050665B /* acnh09.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519AA244C453B0050665B /* acnh09.mp3 */; }; + BDE51A0B244C453C0050665B /* acnh21.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519AB244C453B0050665B /* acnh21.mp3 */; }; + BDE51A0C244C453C0050665B /* acnh20.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519AC244C453B0050665B /* acnh20.mp3 */; }; + BDE51A0D244C453C0050665B /* acnh08.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519AD244C453B0050665B /* acnh08.mp3 */; }; + BDE51A0E244C453C0050665B /* acnh18.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519AE244C453B0050665B /* acnh18.mp3 */; }; + BDE51A0F244C453C0050665B /* acnh19.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519AF244C453B0050665B /* acnh19.mp3 */; }; + BDE51A10244C453C0050665B /* acnh17.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519B0244C453B0050665B /* acnh17.mp3 */; }; + BDE51A11244C453C0050665B /* acnh03.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519B1244C453B0050665B /* acnh03.mp3 */; }; + BDE51A12244C453C0050665B /* acnh02.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519B2244C453B0050665B /* acnh02.mp3 */; }; + BDE51A13244C453C0050665B /* acnh16.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519B3244C453B0050665B /* acnh16.mp3 */; }; + BDE51A14244C453C0050665B /* acnh00.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519B4244C453B0050665B /* acnh00.mp3 */; }; + BDE51A15244C453C0050665B /* acnh14.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519B5244C453B0050665B /* acnh14.mp3 */; }; + BDE51A16244C453C0050665B /* acnh15.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519B6244C453B0050665B /* acnh15.mp3 */; }; + BDE51A17244C453C0050665B /* acnh01.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519B7244C453B0050665B /* acnh01.mp3 */; }; + BDE51A18244C453C0050665B /* acnh05.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519B8244C453B0050665B /* acnh05.mp3 */; }; + BDE51A19244C453C0050665B /* acnh11.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519B9244C453B0050665B /* acnh11.mp3 */; }; + BDE51A1A244C453C0050665B /* acnh10.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519BA244C453B0050665B /* acnh10.mp3 */; }; + BDE51A1B244C453C0050665B /* acnh04.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519BB244C453B0050665B /* acnh04.mp3 */; }; + BDE51A1C244C453C0050665B /* acnh12.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519BC244C453B0050665B /* acnh12.mp3 */; }; + BDE51A1D244C453C0050665B /* acnh06.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519BD244C453C0050665B /* acnh06.mp3 */; }; + BDE51A1E244C453C0050665B /* acnh07.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519BE244C453C0050665B /* acnh07.mp3 */; }; + BDE51A1F244C453C0050665B /* acnh13.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = BDE519BF244C453C0050665B /* acnh13.mp3 */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + BDA0610F2447F3F3009C72CE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BDA060EE2447F3E5009C72CE /* Project object */; + proxyType = 1; + remoteGlobalIDString = BDA060F52447F3E6009C72CE; + remoteInfo = grandfatherrock; + }; + BDA0611A2447F3F3009C72CE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BDA060EE2447F3E5009C72CE /* Project object */; + proxyType = 1; + remoteGlobalIDString = BDA060F52447F3E6009C72CE; + remoteInfo = grandfatherrock; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + BDA060F62447F3E6009C72CE /* Nook Music.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Nook Music.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + BDA060F92447F3E6009C72CE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + BDA060FB2447F3E6009C72CE /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + BDA060FD2447F3E6009C72CE /* FirstViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirstViewController.swift; sourceTree = ""; }; + BDA060FF2447F3E6009C72CE /* SecondViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondViewController.swift; sourceTree = ""; }; + BDA061022447F3E6009C72CE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + BDA061042447F3F2009C72CE /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + BDA061072447F3F2009C72CE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + BDA061092447F3F2009C72CE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BDA0610E2447F3F3009C72CE /* grandfatherrockTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = grandfatherrockTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + BDA061122447F3F3009C72CE /* grandfatherrockTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = grandfatherrockTests.swift; sourceTree = ""; }; + BDA061142447F3F3009C72CE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BDA061192447F3F3009C72CE /* grandfatherrockUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = grandfatherrockUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + BDA0611D2447F3F3009C72CE /* grandfatherrockUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = grandfatherrockUITests.swift; sourceTree = ""; }; + BDA0611F2447F3F3009C72CE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BDA0618A244826DB009C72CE /* grandfatherrock.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = grandfatherrock.entitlements; sourceTree = ""; }; + BDE5195D244C45250050665B /* acnl19.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl19.mp3; sourceTree = ""; }; + BDE5195E244C45250050665B /* acnl18.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl18.mp3; sourceTree = ""; }; + BDE5195F244C45250050665B /* acnl20.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl20.mp3; sourceTree = ""; }; + BDE51960244C45250050665B /* acnl08.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl08.mp3; sourceTree = ""; }; + BDE51961244C45250050665B /* acnl09.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl09.mp3; sourceTree = ""; }; + BDE51962244C45250050665B /* acnl21.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl21.mp3; sourceTree = ""; }; + BDE51963244C45250050665B /* acnl23.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl23.mp3; sourceTree = ""; }; + BDE51964244C45250050665B /* acnl22.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl22.mp3; sourceTree = ""; }; + BDE51965244C45250050665B /* acnl07.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl07.mp3; sourceTree = ""; }; + BDE51966244C45250050665B /* acnl13.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl13.mp3; sourceTree = ""; }; + BDE51967244C45250050665B /* acnl12.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl12.mp3; sourceTree = ""; }; + BDE51968244C45250050665B /* acnl06.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl06.mp3; sourceTree = ""; }; + BDE51969244C45250050665B /* acnl10.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl10.mp3; sourceTree = ""; }; + BDE5196A244C45250050665B /* acnl04.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl04.mp3; sourceTree = ""; }; + BDE5196B244C45250050665B /* acnl05.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl05.mp3; sourceTree = ""; }; + BDE5196C244C45250050665B /* acnl11.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl11.mp3; sourceTree = ""; }; + BDE5196D244C45250050665B /* acnl15.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl15.mp3; sourceTree = ""; }; + BDE5196E244C45250050665B /* acnl01.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl01.mp3; sourceTree = ""; }; + BDE5196F244C45250050665B /* acnl00.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl00.mp3; sourceTree = ""; }; + BDE51970244C45250050665B /* acnl14.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl14.mp3; sourceTree = ""; }; + BDE51971244C45250050665B /* acnl02.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl02.mp3; sourceTree = ""; }; + BDE51972244C45250050665B /* acnl16.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl16.mp3; sourceTree = ""; }; + BDE51973244C45250050665B /* acnl17.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl17.mp3; sourceTree = ""; }; + BDE51974244C45250050665B /* acnl03.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnl03.mp3; sourceTree = ""; }; + BDE51976244C452E0050665B /* acpg11.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg11.mp3; sourceTree = ""; }; + BDE51977244C452E0050665B /* acpg05.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg05.mp3; sourceTree = ""; }; + BDE51978244C452E0050665B /* acpg04.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg04.mp3; sourceTree = ""; }; + BDE51979244C452E0050665B /* acpg10.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg10.mp3; sourceTree = ""; }; + BDE5197A244C452E0050665B /* acpg06.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg06.mp3; sourceTree = ""; }; + BDE5197B244C452E0050665B /* acpg12.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg12.mp3; sourceTree = ""; }; + BDE5197C244C452E0050665B /* acpg13.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg13.mp3; sourceTree = ""; }; + BDE5197D244C452E0050665B /* acpg07.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg07.mp3; sourceTree = ""; }; + BDE5197E244C452E0050665B /* acpg03.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg03.mp3; sourceTree = ""; }; + BDE5197F244C452E0050665B /* acpg17.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg17.mp3; sourceTree = ""; }; + BDE51980244C452E0050665B /* acpg16.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg16.mp3; sourceTree = ""; }; + BDE51981244C452E0050665B /* acpg02.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg02.mp3; sourceTree = ""; }; + BDE51982244C452E0050665B /* acpg14.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg14.mp3; sourceTree = ""; }; + BDE51983244C452E0050665B /* acpg00.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg00.mp3; sourceTree = ""; }; + BDE51984244C452E0050665B /* acpg01.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg01.mp3; sourceTree = ""; }; + BDE51985244C452E0050665B /* acpg15.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg15.mp3; sourceTree = ""; }; + BDE51986244C452E0050665B /* acpg18.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg18.mp3; sourceTree = ""; }; + BDE51987244C452E0050665B /* acpg19.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg19.mp3; sourceTree = ""; }; + BDE51988244C452E0050665B /* acpg22.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg22.mp3; sourceTree = ""; }; + BDE51989244C452E0050665B /* acpg23.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg23.mp3; sourceTree = ""; }; + BDE5198A244C452E0050665B /* acpg09.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg09.mp3; sourceTree = ""; }; + BDE5198B244C452E0050665B /* acpg21.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg21.mp3; sourceTree = ""; }; + BDE5198C244C452E0050665B /* acpg20.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg20.mp3; sourceTree = ""; }; + BDE5198D244C452E0050665B /* acpg08.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acpg08.mp3; sourceTree = ""; }; + BDE5198F244C45340050665B /* accf19.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf19.mp3; sourceTree = ""; }; + BDE51990244C45340050665B /* accf18.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf18.mp3; sourceTree = ""; }; + BDE51991244C45340050665B /* accf08.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf08.mp3; sourceTree = ""; }; + BDE51992244C45340050665B /* accf20.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf20.mp3; sourceTree = ""; }; + BDE51993244C45340050665B /* accf21.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf21.mp3; sourceTree = ""; }; + BDE51994244C45340050665B /* accf09.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf09.mp3; sourceTree = ""; }; + BDE51995244C45340050665B /* accf23.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf23.mp3; sourceTree = ""; }; + BDE51996244C45340050665B /* accf22.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf22.mp3; sourceTree = ""; }; + BDE51997244C45340050665B /* accf13.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf13.mp3; sourceTree = ""; }; + BDE51998244C45340050665B /* accf07.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf07.mp3; sourceTree = ""; }; + BDE51999244C45340050665B /* accf06.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf06.mp3; sourceTree = ""; }; + BDE5199A244C45340050665B /* accf12.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf12.mp3; sourceTree = ""; }; + BDE5199B244C45340050665B /* accf04.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf04.mp3; sourceTree = ""; }; + BDE5199C244C45340050665B /* accf10.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf10.mp3; sourceTree = ""; }; + BDE5199D244C45340050665B /* accf11.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf11.mp3; sourceTree = ""; }; + BDE5199E244C45340050665B /* accf05.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf05.mp3; sourceTree = ""; }; + BDE5199F244C45340050665B /* accf01.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf01.mp3; sourceTree = ""; }; + BDE519A0244C45340050665B /* accf15.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf15.mp3; sourceTree = ""; }; + BDE519A1244C45340050665B /* accf14.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf14.mp3; sourceTree = ""; }; + BDE519A2244C45340050665B /* accf00.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf00.mp3; sourceTree = ""; }; + BDE519A3244C45340050665B /* accf16.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf16.mp3; sourceTree = ""; }; + BDE519A4244C45340050665B /* accf02.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf02.mp3; sourceTree = ""; }; + BDE519A5244C45340050665B /* accf03.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf03.mp3; sourceTree = ""; }; + BDE519A6244C45340050665B /* accf17.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = accf17.mp3; sourceTree = ""; }; + BDE519A8244C453B0050665B /* acnh22.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh22.mp3; sourceTree = ""; }; + BDE519A9244C453B0050665B /* acnh23.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh23.mp3; sourceTree = ""; }; + BDE519AA244C453B0050665B /* acnh09.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh09.mp3; sourceTree = ""; }; + BDE519AB244C453B0050665B /* acnh21.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh21.mp3; sourceTree = ""; }; + BDE519AC244C453B0050665B /* acnh20.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh20.mp3; sourceTree = ""; }; + BDE519AD244C453B0050665B /* acnh08.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh08.mp3; sourceTree = ""; }; + BDE519AE244C453B0050665B /* acnh18.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh18.mp3; sourceTree = ""; }; + BDE519AF244C453B0050665B /* acnh19.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh19.mp3; sourceTree = ""; }; + BDE519B0244C453B0050665B /* acnh17.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh17.mp3; sourceTree = ""; }; + BDE519B1244C453B0050665B /* acnh03.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh03.mp3; sourceTree = ""; }; + BDE519B2244C453B0050665B /* acnh02.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh02.mp3; sourceTree = ""; }; + BDE519B3244C453B0050665B /* acnh16.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh16.mp3; sourceTree = ""; }; + BDE519B4244C453B0050665B /* acnh00.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh00.mp3; sourceTree = ""; }; + BDE519B5244C453B0050665B /* acnh14.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh14.mp3; sourceTree = ""; }; + BDE519B6244C453B0050665B /* acnh15.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh15.mp3; sourceTree = ""; }; + BDE519B7244C453B0050665B /* acnh01.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh01.mp3; sourceTree = ""; }; + BDE519B8244C453B0050665B /* acnh05.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh05.mp3; sourceTree = ""; }; + BDE519B9244C453B0050665B /* acnh11.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh11.mp3; sourceTree = ""; }; + BDE519BA244C453B0050665B /* acnh10.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh10.mp3; sourceTree = ""; }; + BDE519BB244C453B0050665B /* acnh04.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh04.mp3; sourceTree = ""; }; + BDE519BC244C453B0050665B /* acnh12.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh12.mp3; sourceTree = ""; }; + BDE519BD244C453C0050665B /* acnh06.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh06.mp3; sourceTree = ""; }; + BDE519BE244C453C0050665B /* acnh07.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh07.mp3; sourceTree = ""; }; + BDE519BF244C453C0050665B /* acnh13.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = acnh13.mp3; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + BDA060F32447F3E6009C72CE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BDA0610B2447F3F3009C72CE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BDA061162447F3F3009C72CE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + BDA060ED2447F3E5009C72CE = { + isa = PBXGroup; + children = ( + BDA060F82447F3E6009C72CE /* grandfatherrock */, + BDA061112447F3F3009C72CE /* grandfatherrockTests */, + BDA0611C2447F3F3009C72CE /* grandfatherrockUITests */, + BDA060F72447F3E6009C72CE /* Products */, + ); + sourceTree = ""; + }; + BDA060F72447F3E6009C72CE /* Products */ = { + isa = PBXGroup; + children = ( + BDA060F62447F3E6009C72CE /* Nook Music.app */, + BDA0610E2447F3F3009C72CE /* grandfatherrockTests.xctest */, + BDA061192447F3F3009C72CE /* grandfatherrockUITests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + BDA060F82447F3E6009C72CE /* grandfatherrock */ = { + isa = PBXGroup; + children = ( + BDA0618A244826DB009C72CE /* grandfatherrock.entitlements */, + BDA060F92447F3E6009C72CE /* AppDelegate.swift */, + BDA060FB2447F3E6009C72CE /* SceneDelegate.swift */, + BDA060FD2447F3E6009C72CE /* FirstViewController.swift */, + BDA060FF2447F3E6009C72CE /* SecondViewController.swift */, + BDA061012447F3E6009C72CE /* Main.storyboard */, + BDA061042447F3F2009C72CE /* Assets.xcassets */, + BDA061062447F3F2009C72CE /* LaunchScreen.storyboard */, + BDA061092447F3F2009C72CE /* Info.plist */, + BDE5198E244C45340050665B /* accf */, + BDE519A7244C453B0050665B /* acnh */, + BDE5195C244C45250050665B /* acnl */, + BDE51975244C452E0050665B /* acpg */, + ); + path = grandfatherrock; + sourceTree = ""; + }; + BDA061112447F3F3009C72CE /* grandfatherrockTests */ = { + isa = PBXGroup; + children = ( + BDA061122447F3F3009C72CE /* grandfatherrockTests.swift */, + BDA061142447F3F3009C72CE /* Info.plist */, + ); + path = grandfatherrockTests; + sourceTree = ""; + }; + BDA0611C2447F3F3009C72CE /* grandfatherrockUITests */ = { + isa = PBXGroup; + children = ( + BDA0611D2447F3F3009C72CE /* grandfatherrockUITests.swift */, + BDA0611F2447F3F3009C72CE /* Info.plist */, + ); + path = grandfatherrockUITests; + sourceTree = ""; + }; + BDE5195C244C45250050665B /* acnl */ = { + isa = PBXGroup; + children = ( + BDE5195D244C45250050665B /* acnl19.mp3 */, + BDE5195E244C45250050665B /* acnl18.mp3 */, + BDE5195F244C45250050665B /* acnl20.mp3 */, + BDE51960244C45250050665B /* acnl08.mp3 */, + BDE51961244C45250050665B /* acnl09.mp3 */, + BDE51962244C45250050665B /* acnl21.mp3 */, + BDE51963244C45250050665B /* acnl23.mp3 */, + BDE51964244C45250050665B /* acnl22.mp3 */, + BDE51965244C45250050665B /* acnl07.mp3 */, + BDE51966244C45250050665B /* acnl13.mp3 */, + BDE51967244C45250050665B /* acnl12.mp3 */, + BDE51968244C45250050665B /* acnl06.mp3 */, + BDE51969244C45250050665B /* acnl10.mp3 */, + BDE5196A244C45250050665B /* acnl04.mp3 */, + BDE5196B244C45250050665B /* acnl05.mp3 */, + BDE5196C244C45250050665B /* acnl11.mp3 */, + BDE5196D244C45250050665B /* acnl15.mp3 */, + BDE5196E244C45250050665B /* acnl01.mp3 */, + BDE5196F244C45250050665B /* acnl00.mp3 */, + BDE51970244C45250050665B /* acnl14.mp3 */, + BDE51971244C45250050665B /* acnl02.mp3 */, + BDE51972244C45250050665B /* acnl16.mp3 */, + BDE51973244C45250050665B /* acnl17.mp3 */, + BDE51974244C45250050665B /* acnl03.mp3 */, + ); + path = acnl; + sourceTree = ""; + }; + BDE51975244C452E0050665B /* acpg */ = { + isa = PBXGroup; + children = ( + BDE51976244C452E0050665B /* acpg11.mp3 */, + BDE51977244C452E0050665B /* acpg05.mp3 */, + BDE51978244C452E0050665B /* acpg04.mp3 */, + BDE51979244C452E0050665B /* acpg10.mp3 */, + BDE5197A244C452E0050665B /* acpg06.mp3 */, + BDE5197B244C452E0050665B /* acpg12.mp3 */, + BDE5197C244C452E0050665B /* acpg13.mp3 */, + BDE5197D244C452E0050665B /* acpg07.mp3 */, + BDE5197E244C452E0050665B /* acpg03.mp3 */, + BDE5197F244C452E0050665B /* acpg17.mp3 */, + BDE51980244C452E0050665B /* acpg16.mp3 */, + BDE51981244C452E0050665B /* acpg02.mp3 */, + BDE51982244C452E0050665B /* acpg14.mp3 */, + BDE51983244C452E0050665B /* acpg00.mp3 */, + BDE51984244C452E0050665B /* acpg01.mp3 */, + BDE51985244C452E0050665B /* acpg15.mp3 */, + BDE51986244C452E0050665B /* acpg18.mp3 */, + BDE51987244C452E0050665B /* acpg19.mp3 */, + BDE51988244C452E0050665B /* acpg22.mp3 */, + BDE51989244C452E0050665B /* acpg23.mp3 */, + BDE5198A244C452E0050665B /* acpg09.mp3 */, + BDE5198B244C452E0050665B /* acpg21.mp3 */, + BDE5198C244C452E0050665B /* acpg20.mp3 */, + BDE5198D244C452E0050665B /* acpg08.mp3 */, + ); + path = acpg; + sourceTree = ""; + }; + BDE5198E244C45340050665B /* accf */ = { + isa = PBXGroup; + children = ( + BDE5198F244C45340050665B /* accf19.mp3 */, + BDE51990244C45340050665B /* accf18.mp3 */, + BDE51991244C45340050665B /* accf08.mp3 */, + BDE51992244C45340050665B /* accf20.mp3 */, + BDE51993244C45340050665B /* accf21.mp3 */, + BDE51994244C45340050665B /* accf09.mp3 */, + BDE51995244C45340050665B /* accf23.mp3 */, + BDE51996244C45340050665B /* accf22.mp3 */, + BDE51997244C45340050665B /* accf13.mp3 */, + BDE51998244C45340050665B /* accf07.mp3 */, + BDE51999244C45340050665B /* accf06.mp3 */, + BDE5199A244C45340050665B /* accf12.mp3 */, + BDE5199B244C45340050665B /* accf04.mp3 */, + BDE5199C244C45340050665B /* accf10.mp3 */, + BDE5199D244C45340050665B /* accf11.mp3 */, + BDE5199E244C45340050665B /* accf05.mp3 */, + BDE5199F244C45340050665B /* accf01.mp3 */, + BDE519A0244C45340050665B /* accf15.mp3 */, + BDE519A1244C45340050665B /* accf14.mp3 */, + BDE519A2244C45340050665B /* accf00.mp3 */, + BDE519A3244C45340050665B /* accf16.mp3 */, + BDE519A4244C45340050665B /* accf02.mp3 */, + BDE519A5244C45340050665B /* accf03.mp3 */, + BDE519A6244C45340050665B /* accf17.mp3 */, + ); + path = accf; + sourceTree = ""; + }; + BDE519A7244C453B0050665B /* acnh */ = { + isa = PBXGroup; + children = ( + BDE519A8244C453B0050665B /* acnh22.mp3 */, + BDE519A9244C453B0050665B /* acnh23.mp3 */, + BDE519AA244C453B0050665B /* acnh09.mp3 */, + BDE519AB244C453B0050665B /* acnh21.mp3 */, + BDE519AC244C453B0050665B /* acnh20.mp3 */, + BDE519AD244C453B0050665B /* acnh08.mp3 */, + BDE519AE244C453B0050665B /* acnh18.mp3 */, + BDE519AF244C453B0050665B /* acnh19.mp3 */, + BDE519B0244C453B0050665B /* acnh17.mp3 */, + BDE519B1244C453B0050665B /* acnh03.mp3 */, + BDE519B2244C453B0050665B /* acnh02.mp3 */, + BDE519B3244C453B0050665B /* acnh16.mp3 */, + BDE519B4244C453B0050665B /* acnh00.mp3 */, + BDE519B5244C453B0050665B /* acnh14.mp3 */, + BDE519B6244C453B0050665B /* acnh15.mp3 */, + BDE519B7244C453B0050665B /* acnh01.mp3 */, + BDE519B8244C453B0050665B /* acnh05.mp3 */, + BDE519B9244C453B0050665B /* acnh11.mp3 */, + BDE519BA244C453B0050665B /* acnh10.mp3 */, + BDE519BB244C453B0050665B /* acnh04.mp3 */, + BDE519BC244C453B0050665B /* acnh12.mp3 */, + BDE519BD244C453C0050665B /* acnh06.mp3 */, + BDE519BE244C453C0050665B /* acnh07.mp3 */, + BDE519BF244C453C0050665B /* acnh13.mp3 */, + ); + path = acnh; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + BDA060F52447F3E6009C72CE /* grandfatherrock */ = { + isa = PBXNativeTarget; + buildConfigurationList = BDA061222447F3F3009C72CE /* Build configuration list for PBXNativeTarget "grandfatherrock" */; + buildPhases = ( + BDA060F22447F3E6009C72CE /* Sources */, + BDA060F32447F3E6009C72CE /* Frameworks */, + BDA060F42447F3E6009C72CE /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = grandfatherrock; + productName = grandfatherrock; + productReference = BDA060F62447F3E6009C72CE /* Nook Music.app */; + productType = "com.apple.product-type.application"; + }; + BDA0610D2447F3F3009C72CE /* grandfatherrockTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = BDA061252447F3F3009C72CE /* Build configuration list for PBXNativeTarget "grandfatherrockTests" */; + buildPhases = ( + BDA0610A2447F3F3009C72CE /* Sources */, + BDA0610B2447F3F3009C72CE /* Frameworks */, + BDA0610C2447F3F3009C72CE /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + BDA061102447F3F3009C72CE /* PBXTargetDependency */, + ); + name = grandfatherrockTests; + productName = grandfatherrockTests; + productReference = BDA0610E2447F3F3009C72CE /* grandfatherrockTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + BDA061182447F3F3009C72CE /* grandfatherrockUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = BDA061282447F3F3009C72CE /* Build configuration list for PBXNativeTarget "grandfatherrockUITests" */; + buildPhases = ( + BDA061152447F3F3009C72CE /* Sources */, + BDA061162447F3F3009C72CE /* Frameworks */, + BDA061172447F3F3009C72CE /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + BDA0611B2447F3F3009C72CE /* PBXTargetDependency */, + ); + name = grandfatherrockUITests; + productName = grandfatherrockUITests; + productReference = BDA061192447F3F3009C72CE /* grandfatherrockUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + BDA060EE2447F3E5009C72CE /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1140; + LastUpgradeCheck = 1140; + ORGANIZATIONNAME = "Micah Gomez"; + TargetAttributes = { + BDA060F52447F3E6009C72CE = { + CreatedOnToolsVersion = 11.4.1; + }; + BDA0610D2447F3F3009C72CE = { + CreatedOnToolsVersion = 11.4.1; + TestTargetID = BDA060F52447F3E6009C72CE; + }; + BDA061182447F3F3009C72CE = { + CreatedOnToolsVersion = 11.4.1; + TestTargetID = BDA060F52447F3E6009C72CE; + }; + }; + }; + buildConfigurationList = BDA060F12447F3E5009C72CE /* Build configuration list for PBXProject "grandfatherrock" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = BDA060ED2447F3E5009C72CE; + productRefGroup = BDA060F72447F3E6009C72CE /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + BDA060F52447F3E6009C72CE /* grandfatherrock */, + BDA0610D2447F3F3009C72CE /* grandfatherrockTests */, + BDA061182447F3F3009C72CE /* grandfatherrockUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + BDA060F42447F3E6009C72CE /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BDE519F4244C453C0050665B /* accf21.mp3 in Resources */, + BDE519C7244C453C0050665B /* acnl22.mp3 in Resources */, + BDE51A14244C453C0050665B /* acnh00.mp3 in Resources */, + BDE51A05244C453C0050665B /* accf02.mp3 in Resources */, + BDE51A02244C453C0050665B /* accf14.mp3 in Resources */, + BDE51A1C244C453C0050665B /* acnh12.mp3 in Resources */, + BDE519EF244C453C0050665B /* acpg08.mp3 in Resources */, + BDE519E9244C453C0050665B /* acpg19.mp3 in Resources */, + BDE519D8244C453C0050665B /* acpg11.mp3 in Resources */, + BDE51A0D244C453C0050665B /* acnh08.mp3 in Resources */, + BDE519CE244C453C0050665B /* acnl05.mp3 in Resources */, + BDE519F2244C453C0050665B /* accf08.mp3 in Resources */, + BDE519CA244C453C0050665B /* acnl12.mp3 in Resources */, + BDE519F9244C453C0050665B /* accf07.mp3 in Resources */, + BDE519E8244C453C0050665B /* acpg18.mp3 in Resources */, + BDE519C3244C453C0050665B /* acnl08.mp3 in Resources */, + BDE519F1244C453C0050665B /* accf18.mp3 in Resources */, + BDE519E7244C453C0050665B /* acpg15.mp3 in Resources */, + BDE519FE244C453C0050665B /* accf11.mp3 in Resources */, + BDE51A0E244C453C0050665B /* acnh18.mp3 in Resources */, + BDE519C6244C453C0050665B /* acnl23.mp3 in Resources */, + BDE519C0244C453C0050665B /* acnl19.mp3 in Resources */, + BDE519ED244C453C0050665B /* acpg21.mp3 in Resources */, + BDE519D6244C453C0050665B /* acnl17.mp3 in Resources */, + BDE519DB244C453C0050665B /* acpg10.mp3 in Resources */, + BDE51A04244C453C0050665B /* accf16.mp3 in Resources */, + BDE51A1A244C453C0050665B /* acnh10.mp3 in Resources */, + BDE519FB244C453C0050665B /* accf12.mp3 in Resources */, + BDE51A16244C453C0050665B /* acnh15.mp3 in Resources */, + BDE519F8244C453C0050665B /* accf13.mp3 in Resources */, + BDE519EC244C453C0050665B /* acpg09.mp3 in Resources */, + BDE519DC244C453C0050665B /* acpg06.mp3 in Resources */, + BDE51A13244C453C0050665B /* acnh16.mp3 in Resources */, + BDE519D2244C453C0050665B /* acnl00.mp3 in Resources */, + BDE519C9244C453C0050665B /* acnl13.mp3 in Resources */, + BDE519D7244C453C0050665B /* acnl03.mp3 in Resources */, + BDE51A15244C453C0050665B /* acnh14.mp3 in Resources */, + BDE519E3244C453C0050665B /* acpg02.mp3 in Resources */, + BDE519E1244C453C0050665B /* acpg17.mp3 in Resources */, + BDE519DA244C453C0050665B /* acpg04.mp3 in Resources */, + BDE519EE244C453C0050665B /* acpg20.mp3 in Resources */, + BDE519E4244C453C0050665B /* acpg14.mp3 in Resources */, + BDE51A1B244C453C0050665B /* acnh04.mp3 in Resources */, + BDE519FF244C453C0050665B /* accf05.mp3 in Resources */, + BDE51A09244C453C0050665B /* acnh23.mp3 in Resources */, + BDE51A0C244C453C0050665B /* acnh20.mp3 in Resources */, + BDE519E5244C453C0050665B /* acpg00.mp3 in Resources */, + BDE51A03244C453C0050665B /* accf00.mp3 in Resources */, + BDE51A07244C453C0050665B /* accf17.mp3 in Resources */, + BDE519F5244C453C0050665B /* accf09.mp3 in Resources */, + BDE51A18244C453C0050665B /* acnh05.mp3 in Resources */, + BDE51A17244C453C0050665B /* acnh01.mp3 in Resources */, + BDE519CB244C453C0050665B /* acnl06.mp3 in Resources */, + BDE519CC244C453C0050665B /* acnl10.mp3 in Resources */, + BDE519F0244C453C0050665B /* accf19.mp3 in Resources */, + BDE519E6244C453C0050665B /* acpg01.mp3 in Resources */, + BDE51A0F244C453C0050665B /* acnh19.mp3 in Resources */, + BDE519C1244C453C0050665B /* acnl18.mp3 in Resources */, + BDE519C8244C453C0050665B /* acnl07.mp3 in Resources */, + BDE519E0244C453C0050665B /* acpg03.mp3 in Resources */, + BDE519C2244C453C0050665B /* acnl20.mp3 in Resources */, + BDE519D9244C453C0050665B /* acpg05.mp3 in Resources */, + BDE519D3244C453C0050665B /* acnl14.mp3 in Resources */, + BDE519FD244C453C0050665B /* accf10.mp3 in Resources */, + BDE51A0A244C453C0050665B /* acnh09.mp3 in Resources */, + BDE519EB244C453C0050665B /* acpg23.mp3 in Resources */, + BDE51A00244C453C0050665B /* accf01.mp3 in Resources */, + BDE519DF244C453C0050665B /* acpg07.mp3 in Resources */, + BDE51A01244C453C0050665B /* accf15.mp3 in Resources */, + BDE51A1E244C453C0050665B /* acnh07.mp3 in Resources */, + BDE51A19244C453C0050665B /* acnh11.mp3 in Resources */, + BDE519C5244C453C0050665B /* acnl21.mp3 in Resources */, + BDE51A11244C453C0050665B /* acnh03.mp3 in Resources */, + BDA061082447F3F2009C72CE /* LaunchScreen.storyboard in Resources */, + BDE519E2244C453C0050665B /* acpg16.mp3 in Resources */, + BDE519F3244C453C0050665B /* accf20.mp3 in Resources */, + BDE519DD244C453C0050665B /* acpg12.mp3 in Resources */, + BDE519D4244C453C0050665B /* acnl02.mp3 in Resources */, + BDE519FA244C453C0050665B /* accf06.mp3 in Resources */, + BDE51A1D244C453C0050665B /* acnh06.mp3 in Resources */, + BDE51A06244C453C0050665B /* accf03.mp3 in Resources */, + BDE519D1244C453C0050665B /* acnl01.mp3 in Resources */, + BDE519F6244C453C0050665B /* accf23.mp3 in Resources */, + BDA061052447F3F2009C72CE /* Assets.xcassets in Resources */, + BDA061032447F3E6009C72CE /* Main.storyboard in Resources */, + BDE51A08244C453C0050665B /* acnh22.mp3 in Resources */, + BDE519D0244C453C0050665B /* acnl15.mp3 in Resources */, + BDE519D5244C453C0050665B /* acnl16.mp3 in Resources */, + BDE51A1F244C453C0050665B /* acnh13.mp3 in Resources */, + BDE51A12244C453C0050665B /* acnh02.mp3 in Resources */, + BDE519FC244C453C0050665B /* accf04.mp3 in Resources */, + BDE519F7244C453C0050665B /* accf22.mp3 in Resources */, + BDE519EA244C453C0050665B /* acpg22.mp3 in Resources */, + BDE51A10244C453C0050665B /* acnh17.mp3 in Resources */, + BDE51A0B244C453C0050665B /* acnh21.mp3 in Resources */, + BDE519CD244C453C0050665B /* acnl04.mp3 in Resources */, + BDE519C4244C453C0050665B /* acnl09.mp3 in Resources */, + BDE519CF244C453C0050665B /* acnl11.mp3 in Resources */, + BDE519DE244C453C0050665B /* acpg13.mp3 in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BDA0610C2447F3F3009C72CE /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BDA061172447F3F3009C72CE /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + BDA060F22447F3E6009C72CE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BDA061002447F3E6009C72CE /* SecondViewController.swift in Sources */, + BDA060FE2447F3E6009C72CE /* FirstViewController.swift in Sources */, + BDA060FA2447F3E6009C72CE /* AppDelegate.swift in Sources */, + BDA060FC2447F3E6009C72CE /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BDA0610A2447F3F3009C72CE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BDA061132447F3F3009C72CE /* grandfatherrockTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BDA061152447F3F3009C72CE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BDA0611E2447F3F3009C72CE /* grandfatherrockUITests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + BDA061102447F3F3009C72CE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = BDA060F52447F3E6009C72CE /* grandfatherrock */; + targetProxy = BDA0610F2447F3F3009C72CE /* PBXContainerItemProxy */; + }; + BDA0611B2447F3F3009C72CE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = BDA060F52447F3E6009C72CE /* grandfatherrock */; + targetProxy = BDA0611A2447F3F3009C72CE /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + BDA061012447F3E6009C72CE /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + BDA061022447F3E6009C72CE /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + BDA061062447F3F2009C72CE /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + BDA061072447F3F2009C72CE /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + BDA061202447F3F3009C72CE /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + 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 = 13.4; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + BDA061212447F3F3009C72CE /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + 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 = 13.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + BDA061232447F3F3009C72CE /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = grandfatherrock/grandfatherrock.entitlements; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = PRBH2T6668; + INFOPLIST_FILE = grandfatherrock/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.1; + PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrock; + PRODUCT_NAME = "Nook Music"; + SUPPORTS_MACCATALYST = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + BDA061242447F3F3009C72CE /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = grandfatherrock/grandfatherrock.entitlements; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = PRBH2T6668; + INFOPLIST_FILE = grandfatherrock/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.1; + PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrock; + PRODUCT_NAME = "Nook Music"; + SUPPORTS_MACCATALYST = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Release; + }; + BDA061262447F3F3009C72CE /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = PRBH2T6668; + INFOPLIST_FILE = grandfatherrockTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrockTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/grandfatherrock.app/grandfatherrock"; + }; + name = Debug; + }; + BDA061272447F3F3009C72CE /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = PRBH2T6668; + INFOPLIST_FILE = grandfatherrockTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrockTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/grandfatherrock.app/grandfatherrock"; + }; + name = Release; + }; + BDA061292447F3F3009C72CE /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = PRBH2T6668; + INFOPLIST_FILE = grandfatherrockUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrockUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = grandfatherrock; + }; + name = Debug; + }; + BDA0612A2447F3F3009C72CE /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = PRBH2T6668; + INFOPLIST_FILE = grandfatherrockUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrockUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = grandfatherrock; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + BDA060F12447F3E5009C72CE /* Build configuration list for PBXProject "grandfatherrock" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BDA061202447F3F3009C72CE /* Debug */, + BDA061212447F3F3009C72CE /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + BDA061222447F3F3009C72CE /* Build configuration list for PBXNativeTarget "grandfatherrock" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BDA061232447F3F3009C72CE /* Debug */, + BDA061242447F3F3009C72CE /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + BDA061252447F3F3009C72CE /* Build configuration list for PBXNativeTarget "grandfatherrockTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BDA061262447F3F3009C72CE /* Debug */, + BDA061272447F3F3009C72CE /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + BDA061282447F3F3009C72CE /* Build configuration list for PBXNativeTarget "grandfatherrockUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BDA061292447F3F3009C72CE /* Debug */, + BDA0612A2447F3F3009C72CE /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = BDA060EE2447F3E5009C72CE /* Project object */; +} diff --git a/grandfatherrock.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/grandfatherrock.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..81d60ac --- /dev/null +++ b/grandfatherrock.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/TapeDeck.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/grandfatherrock.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from TapeDeck.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to grandfatherrock.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/TapeDeck.xcodeproj/xcuserdata/micahgomez.xcuserdatad/xcschemes/xcschememanagement.plist b/grandfatherrock.xcodeproj/xcuserdata/micahgomez.xcuserdatad/xcschemes/xcschememanagement.plist similarity index 100% rename from TapeDeck.xcodeproj/xcuserdata/micahgomez.xcuserdatad/xcschemes/xcschememanagement.plist rename to grandfatherrock.xcodeproj/xcuserdata/micahgomez.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/grandfatherrock/Assets.xcassets/Header.imageset/Animal_Crossing_Logo.png b/grandfatherrock/Assets.xcassets/Header.imageset/Animal_Crossing_Logo.png new file mode 100644 index 0000000..34782c9 Binary files /dev/null and b/grandfatherrock/Assets.xcassets/Header.imageset/Animal_Crossing_Logo.png differ diff --git a/grandfatherrock/Assets.xcassets/play.imageset/Contents.json b/grandfatherrock/Assets.xcassets/Header.imageset/Contents.json similarity index 71% rename from grandfatherrock/Assets.xcassets/play.imageset/Contents.json rename to grandfatherrock/Assets.xcassets/Header.imageset/Contents.json index 0bb2db1..6f9b581 100644 --- a/grandfatherrock/Assets.xcassets/play.imageset/Contents.json +++ b/grandfatherrock/Assets.xcassets/Header.imageset/Contents.json @@ -1,17 +1,15 @@ { "images" : [ { - "filename" : "woodplay-2.png", + "filename" : "Animal_Crossing_Logo.png", "idiom" : "universal", "scale" : "1x" }, { - "filename" : "woodplay-1.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "woodplay.png", "idiom" : "universal", "scale" : "3x" } diff --git a/grandfatherrock/Assets.xcassets/pause.imageset/Contents.json b/grandfatherrock/Assets.xcassets/bg.imageset/Contents.json similarity index 60% rename from grandfatherrock/Assets.xcassets/pause.imageset/Contents.json rename to grandfatherrock/Assets.xcassets/bg.imageset/Contents.json index f9710cc..608dfa4 100644 --- a/grandfatherrock/Assets.xcassets/pause.imageset/Contents.json +++ b/grandfatherrock/Assets.xcassets/bg.imageset/Contents.json @@ -1,17 +1,17 @@ { "images" : [ { - "filename" : "woodpause-2.png", + "filename" : "tumblr_nw9ifvY4vK1s1lku3o2_1280.jpg", "idiom" : "universal", "scale" : "1x" }, { - "filename" : "woodpause-1.png", + "filename" : "tumblr_nw9ifvY4vK1s1lku3o2_1280-1.jpg", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "woodpause.png", + "filename" : "tumblr_nw9ifvY4vK1s1lku3o2_1280-2.jpg", "idiom" : "universal", "scale" : "3x" } diff --git a/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280-1.jpg b/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280-1.jpg new file mode 100644 index 0000000..2ff7397 Binary files /dev/null and b/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280-1.jpg differ diff --git a/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280-2.jpg b/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280-2.jpg new file mode 100644 index 0000000..2ff7397 Binary files /dev/null and b/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280-2.jpg differ diff --git a/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280.jpg b/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280.jpg new file mode 100644 index 0000000..2ff7397 Binary files /dev/null and b/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280.jpg differ diff --git a/grandfatherrock/Assets.xcassets/first.imageset/Contents.json b/grandfatherrock/Assets.xcassets/first.imageset/Contents.json new file mode 100644 index 0000000..33a7451 --- /dev/null +++ b/grandfatherrock/Assets.xcassets/first.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "first.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/grandfatherrock/Assets.xcassets/first.imageset/first.pdf b/grandfatherrock/Assets.xcassets/first.imageset/first.pdf new file mode 100644 index 0000000..47d911d Binary files /dev/null and b/grandfatherrock/Assets.xcassets/first.imageset/first.pdf differ diff --git a/grandfatherrock/Assets.xcassets/pause.imageset/woodpause-1.png b/grandfatherrock/Assets.xcassets/pause.imageset/woodpause-1.png deleted file mode 100644 index ecccb93..0000000 Binary files a/grandfatherrock/Assets.xcassets/pause.imageset/woodpause-1.png and /dev/null differ diff --git a/grandfatherrock/Assets.xcassets/pause.imageset/woodpause-2.png b/grandfatherrock/Assets.xcassets/pause.imageset/woodpause-2.png deleted file mode 100644 index ecccb93..0000000 Binary files a/grandfatherrock/Assets.xcassets/pause.imageset/woodpause-2.png and /dev/null differ diff --git a/grandfatherrock/Assets.xcassets/pause.imageset/woodpause.png b/grandfatherrock/Assets.xcassets/pause.imageset/woodpause.png deleted file mode 100644 index ecccb93..0000000 Binary files a/grandfatherrock/Assets.xcassets/pause.imageset/woodpause.png and /dev/null differ diff --git a/grandfatherrock/Assets.xcassets/play.imageset/woodplay-1.png b/grandfatherrock/Assets.xcassets/play.imageset/woodplay-1.png deleted file mode 100644 index 09c0b54..0000000 Binary files a/grandfatherrock/Assets.xcassets/play.imageset/woodplay-1.png and /dev/null differ diff --git a/grandfatherrock/Assets.xcassets/play.imageset/woodplay-2.png b/grandfatherrock/Assets.xcassets/play.imageset/woodplay-2.png deleted file mode 100644 index 09c0b54..0000000 Binary files a/grandfatherrock/Assets.xcassets/play.imageset/woodplay-2.png and /dev/null differ diff --git a/grandfatherrock/Assets.xcassets/play.imageset/woodplay.png b/grandfatherrock/Assets.xcassets/play.imageset/woodplay.png deleted file mode 100644 index 09c0b54..0000000 Binary files a/grandfatherrock/Assets.xcassets/play.imageset/woodplay.png and /dev/null differ diff --git a/grandfatherrock/Assets.xcassets/second.imageset/Contents.json b/grandfatherrock/Assets.xcassets/second.imageset/Contents.json new file mode 100644 index 0000000..03bd9c9 --- /dev/null +++ b/grandfatherrock/Assets.xcassets/second.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "second.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/grandfatherrock/Assets.xcassets/second.imageset/second.pdf b/grandfatherrock/Assets.xcassets/second.imageset/second.pdf new file mode 100644 index 0000000..401614e Binary files /dev/null and b/grandfatherrock/Assets.xcassets/second.imageset/second.pdf differ diff --git a/grandfatherrock/Base.lproj/Main.storyboard b/grandfatherrock/Base.lproj/Main.storyboard index 2af62ad..eec5873 100644 --- a/grandfatherrock/Base.lproj/Main.storyboard +++ b/grandfatherrock/Base.lproj/Main.storyboard @@ -1,177 +1,138 @@ - - + + - - + - - - - FinkHeavy - - - + - + - + - - - - - + - - + - - - - - - - - - - - + + + + + + + + + - + - - - - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - + + + + + + + + + + + + + + - + - - - + + + - + - + @@ -185,146 +146,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - + diff --git a/grandfatherrock/FirstViewController.swift b/grandfatherrock/FirstViewController.swift index 66e97cf..82b5672 100644 --- a/grandfatherrock/FirstViewController.swift +++ b/grandfatherrock/FirstViewController.swift @@ -8,462 +8,44 @@ import UIKit import AVFoundation -import MediaPlayer -import StoreKit - -protocol ObjectSavable { - func setObject(_ object: Object, forKey: String) throws where Object: Encodable - func getObject(forKey: String, castTo type: Object.Type) throws -> Object where Object: Decodable -} -enum ObjectSavableError: String, LocalizedError { - case unableToEncode = "Unable to encode object into data" - case noValue = "No data object found for the given key" - case unableToDecode = "Unable to decode object into given type" - - var errorDescription: String? { - rawValue - } -} - -extension UserDefaults: ObjectSavable { - func setObject(_ object: Object, forKey: String) throws where Object: Encodable { - let encoder = JSONEncoder() - do { - let data = try encoder.encode(object) - set(data, forKey: forKey) - } catch { - throw ObjectSavableError.unableToEncode - } - } - - func getObject(forKey: String, castTo type: Object.Type) throws -> Object where Object: Decodable { - guard let data = data(forKey: forKey) else { throw ObjectSavableError.noValue } - let decoder = JSONDecoder() - do { - let object = try decoder.decode(type, from: data) - return object - } catch { - throw ObjectSavableError.unableToDecode - } - } -} public class musicHandler{ @objc class func updateMusic(){ + let defaults = UserDefaults.standard + timer.invalidate() + prevVol = Double(audioPlayer.volume) + audioPlayer.setVolume(0, fadeDuration: 3) print("updating song") GlobalVars.hour = Calendar.current.component(.hour, from: Date()) + if(GlobalVars.hour<10){ + hourPadding = "0" + } + else{ + hourPadding = "" + } - //song = GlobalVars.titleCode + hourPadding + String(GlobalVars.hour) - //print(song) - let musicPlayer = MPMusicPlayerController.applicationMusicPlayer + switch defaults.integer(forKey: "titleNo") { + case 0: + GlobalVars.titleCode = "acnh" + case 1: + GlobalVars.titleCode = "acnl" + case 2: + GlobalVars.titleCode = "accf" + case 3: + GlobalVars.titleCode = "acpg" + default: + GlobalVars.titleCode = "acnh" + } + + song = GlobalVars.titleCode + hourPadding + String(GlobalVars.hour) + print(song) do{ - var mediaPredicate = MPMediaPredicate() - switch GlobalVars.selectedMusicList { - case 0: - if(GlobalVars.musicSelectionID0[GlobalVars.hour] != 0){ - mediaPredicate = MPMediaPropertyPredicate(value: GlobalVars.musicSelectionID0[GlobalVars.hour], forProperty: "persistentID") - } else { - var searchID:UInt64 = 0 - var searchHour:Int = GlobalVars.hour - while (searchID == 0) { - if(searchHour > 0){ - searchHour -= 1 - } else { - searchHour = 23 - } - if(searchHour == GlobalVars.hour){ - print("no songs found!") - break - } - print("searching ", searchHour) - searchID = GlobalVars.musicSelectionID0[searchHour] - - print(searchID) - } - print("Song Found!") - mediaPredicate = MPMediaPropertyPredicate(value: GlobalVars.musicSelectionID0[searchHour], forProperty: "persistentID") - } - case 1: - if(GlobalVars.musicSelectionID1[GlobalVars.hour] != 0){ - mediaPredicate = MPMediaPropertyPredicate(value: GlobalVars.musicSelectionID1[GlobalVars.hour], forProperty: "persistentID") - } else { - var searchID:UInt64 = 0 - var searchHour:Int = GlobalVars.hour - while (searchID == 0) { - if(searchHour > 0){ - searchHour -= 1 - } else { - searchHour = 23 - } - if(searchHour == GlobalVars.hour){ - print("no songs found!") - break - } - print("searching ", searchHour) - searchID = GlobalVars.musicSelectionID1[searchHour] - - print(searchID) - } - print("Song Found!") - mediaPredicate = MPMediaPropertyPredicate(value: GlobalVars.musicSelectionID1[searchHour], forProperty: "persistentID") - } - case 2: - if(GlobalVars.musicSelectionID2[GlobalVars.hour] != 0){ - mediaPredicate = MPMediaPropertyPredicate(value: GlobalVars.musicSelectionID2[GlobalVars.hour], forProperty: "persistentID") - } else { - var searchID:UInt64 = 0 - var searchHour:Int = GlobalVars.hour - while (searchID == 0) { - if(searchHour > 0){ - searchHour -= 1 - } else { - searchHour = 23 - } - if(searchHour == GlobalVars.hour){ - print("no songs found!") - break - } - print("searching ", searchHour) - searchID = GlobalVars.musicSelectionID2[searchHour] - - print(searchID) - } - print("Song Found!") - mediaPredicate = MPMediaPropertyPredicate(value: GlobalVars.musicSelectionID2[searchHour], forProperty: "persistentID") - } - case 3: - if(GlobalVars.musicSelectionID3[GlobalVars.hour] != 0){ - mediaPredicate = MPMediaPropertyPredicate(value: GlobalVars.musicSelectionID3[GlobalVars.hour], forProperty: "persistentID") - } else { - var searchID:UInt64 = 0 - var searchHour:Int = GlobalVars.hour - while (searchID == 0) { - if(searchHour > 0){ - searchHour -= 1 - } else { - searchHour = 23 - } - if(searchHour == GlobalVars.hour){ - print("no songs found!") - break - } - print("searching ", searchHour) - searchID = GlobalVars.musicSelectionID3[searchHour] - - print(searchID) - } - print("Song Found!") - mediaPredicate = MPMediaPropertyPredicate(value: GlobalVars.musicSelectionID3[searchHour], forProperty: "persistentID") - } - case 4: - if(GlobalVars.musicSelectionID4[GlobalVars.hour] != 0){ - mediaPredicate = MPMediaPropertyPredicate(value: GlobalVars.musicSelectionID4[GlobalVars.hour], forProperty: "persistentID") - } else { - var searchID:UInt64 = 0 - var searchHour:Int = GlobalVars.hour - while (searchID == 0) { - if(searchHour > 0){ - searchHour -= 1 - } else { - searchHour = 23 - } - if(searchHour == GlobalVars.hour){ - print("no songs found!") - break - } - print("searching ", searchHour) - searchID = GlobalVars.musicSelectionID4[searchHour] - - print(searchID) - } - print("Song Found!") - mediaPredicate = MPMediaPropertyPredicate(value: GlobalVars.musicSelectionID4[searchHour], forProperty: "persistentID") - } - default: - if(GlobalVars.musicSelectionID0[GlobalVars.hour] != 0){ - mediaPredicate = MPMediaPropertyPredicate(value: GlobalVars.musicSelectionID0[GlobalVars.hour], forProperty: "persistentID") - } else { - var searchID:UInt64 = 0 - var searchHour:Int = GlobalVars.hour - while (searchID == 0) { - if(searchHour > 0){ - searchHour -= 1 - } else { - searchHour = 23 - } - if(searchHour == GlobalVars.hour){ - print("no songs found!") - break - } - print("searching ", searchHour) - searchID = GlobalVars.musicSelectionID0[searchHour] - - print(searchID) - } - print("Song Found!") - mediaPredicate = MPMediaPropertyPredicate(value: GlobalVars.musicSelectionID0[searchHour], forProperty: "persistentID") - } - } - - //let mediaPredicate = MPMediaPropertyPredicate(value: GlobalVars.musicSelectionID1[GlobalVars.hour], forProperty: "persistentID") - - let mediaQuery = MPMediaQuery() - - mediaQuery.addFilterPredicate(mediaPredicate) - - - //let mediaItemCollection: MPMediaItemCollection = MPMediaItemCollection() - - musicPlayer.setQueue(with: mediaQuery) - print(mediaQuery) - //musicPlayer.play() - } - if(MPMusicPlayerController.applicationMusicPlayer.playbackState == MPMusicPlaybackState.playing){ - musicPlayer.play() - } - - if(Calendar.current.component(.minute, from: Date()) == 0){ - date = Date().addingTimeInterval(3600) - } else{ - let currentMinute = Calendar.current.component(.minute, from: Date()) - let currentSeconds = Calendar.current.component(.second, from: Date()) - let timeTillTopOfTheHour = 3600 - currentSeconds - (currentMinute * 60) - date = Date().addingTimeInterval(TimeInterval(timeTillTopOfTheHour)) - } - - print(date) - - timer = Timer(fireAt: date, interval: 0, target: self, selector: #selector(updateMusic), userInfo: nil, repeats: false) - RunLoop.main.add(timer, forMode: RunLoop.Mode.common) - - } -} - -struct GlobalVars { - static var musicSelectionID0:[UInt64] = [UInt64]() - static var musicSelection0:[String] = [String]() - static var musicSelectionID1:[UInt64] = [UInt64]() - static var musicSelection1:[String] = [String]() - static var musicSelectionID2:[UInt64] = [UInt64]() - static var musicSelection2:[String] = [String]() - static var musicSelectionID3:[UInt64] = [UInt64]() - static var musicSelection3:[String] = [String]() - static var musicSelectionID4:[UInt64] = [UInt64]() - static var musicSelection4:[String] = [String]() - static var selectedMusicList:Int = 0 - static var musicStarted = false - static var titleName = UserDefaults.standard.string(forKey: "selectedTitle") - static var hour = Calendar.current.component(.hour, from: Date()) -} - -var i = 0 - -var date = Date() -var timer = Timer() -let currentSeconds = Calendar.current.component(.second, from: Date()) -let currentMinute = Calendar.current.component(.minute, from: Date()) -let timeTillTopOfTheHour = 3600 - currentSeconds - (currentMinute * 60) -var hourPadding = "" -var prevVol = 0.0 - -class FirstViewController: UIViewController{ - - let defaults = UserDefaults.standard - let musicPlayer = MPMusicPlayerController.applicationMusicPlayer - - //@IBOutlet weak var dateLabel: UILabel! - @IBOutlet weak var timeLabel: UILabel! - - var labelTimer = Timer() - - @objc func tick() { - //dateLabel.text = DateFormatter.localizedString(from: Date(), dateStyle: .long, timeStyle: .none) - timeLabel.text = DateFormatter.localizedString(from: Date(), dateStyle: .none, timeStyle: .short) - } - - override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view. - - musicPlayer.stop() - GlobalVars.musicStarted = false - IAPHandler.shared.fetchAvailableProducts() - - IAPHandler.shared.purchaseStatusBlock = {[weak self] (type) in - guard let strongSelf = self else{ return } - if type == .purchased { - let alertView = UIAlertController(title: "", message: type.message(), preferredStyle: .alert) - let action = UIAlertAction(title: "OK", style: .default, handler: { (alert) in - - }) - alertView.addAction(action) - strongSelf.present(alertView, animated: true, completion: nil) - } - } - - - if(!defaults.bool(forKey: "didRun")){ - defaults.set("New Horizons", forKey: "selectedTitle") - defaults.set(0, forKey: "titleNo") - //defaults.set(true, forKey: "didRun") - GlobalVars.musicSelectionID0 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] - GlobalVars.musicSelection0 = ["","","","","","","","","","","","","","","","","","","","","","","",""] - GlobalVars.musicSelectionID1 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] - GlobalVars.musicSelection1 = ["","","","","","","","","","","","","","","","","","","","","","","",""] - GlobalVars.musicSelectionID2 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] - GlobalVars.musicSelection2 = ["","","","","","","","","","","","","","","","","","","","","","","",""] - GlobalVars.musicSelectionID3 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] - GlobalVars.musicSelection3 = ["","","","","","","","","","","","","","","","","","","","","","","",""] - GlobalVars.musicSelectionID4 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] - GlobalVars.musicSelection4 = ["","","","","","","","","","","","","","","","","","","","","","","",""] - do { - try defaults.setObject(GlobalVars.musicSelection0, forKey: "savedMusicSelection0") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelectionID0, forKey: "savedMusicSelectionID0") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelection1, forKey: "savedMusicSelection1") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelectionID1, forKey: "savedMusicSelectionID1") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelection2, forKey: "savedMusicSelection2") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelectionID2, forKey: "savedMusicSelectionID2") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelection3, forKey: "savedMusicSelection3") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelectionID3, forKey: "savedMusicSelectionID3") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelection4, forKey: "savedMusicSelection4") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelectionID4, forKey: "savedMusicSelectionID4") - } catch { - print(error.localizedDescription) - } - print("First App run") - } else { - do { - GlobalVars.musicSelection0 = try defaults.getObject(forKey: "savedMusicSelection0", castTo: [String].self) - print(GlobalVars.musicSelection0) - } catch { - print(error.localizedDescription) - } - do { - GlobalVars.musicSelectionID0 = try defaults.getObject(forKey: "savedMusicSelectionID0", castTo: [UInt64].self) - print(GlobalVars.musicSelectionID0) - } catch { - print(error.localizedDescription) - } - do { - GlobalVars.musicSelection1 = try defaults.getObject(forKey: "savedMusicSelection1", castTo: [String].self) - print(GlobalVars.musicSelection1) - } catch { - print(error.localizedDescription) - } - do { - GlobalVars.musicSelectionID1 = try defaults.getObject(forKey: "savedMusicSelectionID1", castTo: [UInt64].self) - print(GlobalVars.musicSelectionID1) - } catch { - print(error.localizedDescription) - } - do { - GlobalVars.musicSelection2 = try defaults.getObject(forKey: "savedMusicSelection2", castTo: [String].self) - print(GlobalVars.musicSelection2) - } catch { - print(error.localizedDescription) - } - do { - GlobalVars.musicSelectionID2 = try defaults.getObject(forKey: "savedMusicSelectionID2", castTo: [UInt64].self) - print(GlobalVars.musicSelectionID2) - } catch { - print(error.localizedDescription) - } - do { - GlobalVars.musicSelection3 = try defaults.getObject(forKey: "savedMusicSelection3", castTo: [String].self) - print(GlobalVars.musicSelection3) - } catch { - print(error.localizedDescription) - } - do { - GlobalVars.musicSelectionID3 = try defaults.getObject(forKey: "savedMusicSelectionID3", castTo: [UInt64].self) - print(GlobalVars.musicSelectionID3) - } catch { - print(error.localizedDescription) - } - do { - GlobalVars.musicSelection4 = try defaults.getObject(forKey: "savedMusicSelection4", castTo: [String].self) - print(GlobalVars.musicSelection4) - } catch { - print(error.localizedDescription) - } - do { - GlobalVars.musicSelectionID4 = try defaults.getObject(forKey: "savedMusicSelectionID4", castTo: [UInt64].self) - print(GlobalVars.musicSelectionID4) - } catch { - print(error.localizedDescription) - } - - do { - GlobalVars.selectedMusicList = try defaults.getObject(forKey: "savedSelectedMusicList", castTo: Int.self) - print(GlobalVars.selectedMusicList) - } catch { - print(error.localizedDescription) - } - print("App Ran Before") - } - - print(currentSeconds) - print(currentMinute) - - print(timeTillTopOfTheHour) - - //print(GlobalVars.selectedSong) - - GlobalVars.hour = Calendar.current.component(.hour, from: Date()) - date = Date().addingTimeInterval(TimeInterval(timeTillTopOfTheHour)) - print(date) - timer = Timer(fireAt: date, interval: 0, target: musicHandler.self, selector: #selector(musicHandler.updateMusic), userInfo: nil, repeats: false) - RunLoop.main.add(timer, forMode: .common) - - //dateLabel.text = DateFormatter.localizedString(from: Date(), dateStyle: .long, timeStyle: .none) - timeLabel.text = DateFormatter.localizedString(from: Date(), dateStyle: .none, timeStyle: .short) - labelTimer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector:#selector(self.tick) , userInfo: nil, repeats: true) - - - /*do{ - audioPlayer = try AVAudioPlayer(contentsOf: URL.init(fileURLWithPath: Bundle.main.path(forResource: song, ofType: "mp3")!)) audioPlayer.prepareToPlay() audioPlayer.numberOfLoops = -1 @@ -478,243 +60,148 @@ class FirstViewController: UIViewController{ } catch{ print(error) - }*/ + } + if(GlobalVars.musicStarted){ + audioPlayer.play() + } + audioPlayer.setVolume(Float(prevVol), fadeDuration: 1) + + if(Calendar.current.component(.minute, from: Date()) == 0){ + date = Date().addingTimeInterval(3600) + } + else{ + let currentMinute = Calendar.current.component(.minute, from: Date()) + let currentSeconds = Calendar.current.component(.second, from: Date()) + let timeTillTopOfTheHour = 3600 - currentSeconds - (currentMinute * 60) + date = Date().addingTimeInterval(TimeInterval(timeTillTopOfTheHour)) + } + print(date) + timer = Timer(fireAt: date, interval: 0, target: self, selector: #selector(updateMusic), userInfo: nil, repeats: false) + RunLoop.main.add(timer, forMode: RunLoop.Mode.common) } +} + +struct GlobalVars { + static var selectedGame = "" + static var selectedGameNo = 0 + static var musicStarted = false + static var titleCode = "acnh" + static var titleName = UserDefaults.standard.string(forKey: "selectedTitle") + static var hour = Calendar.current.component(.hour, from: Date()) +} + +var audioPlayer = AVAudioPlayer() + +var song = "acnh00" +//var hour = 0 +var i = 0 + +//var calendar = Calendar.current +var date = Date() +var timer = Timer() +let currentSeconds = Calendar.current.component(.second, from: Date()) +let currentMinute = Calendar.current.component(.minute, from: Date()) +let timeTillTopOfTheHour = 3600 - currentSeconds - (currentMinute * 60) +var hourPadding = "" +var prevVol = 0.0 +//var titleCode = "acnh" + +class FirstViewController: UIViewController{ - @IBOutlet var gradientView: UIView! - - override func viewDidAppear(_ animated: Bool) { + let defaults = UserDefaults.standard + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. - print("fuck!") - - if (!defaults.bool(forKey: "didRun")){ - let fuckAlert = UIAlertController(title: "Welcome!", message: "Please visit the 'Select Music' tab to set your hourly playlist, and come back here and hit play once it's ready!", preferredStyle: .alert) - - // Create OK button - let OKAction = UIAlertAction(title: "OK", style: .default) { (action:UIAlertAction!) in - print("Ok button tapped"); - - } - fuckAlert.addAction(OKAction) - - // Present Dialog message - self.present(fuckAlert, animated: true, completion:nil) - + if(!defaults.bool(forKey: "didRun")){ + defaults.set("New Horizons", forKey: "selectedTitle") + defaults.set(0, forKey: "titleNo") defaults.set(true, forKey: "didRun") + print("First App run") + } + + GlobalVars.selectedGame = defaults.string(forKey: "selectedTitle")! + GlobalVars.selectedGameNo = defaults.integer(forKey: "titleNo") + + print(currentSeconds) + print(currentMinute) + + print(timeTillTopOfTheHour) + + GlobalVars.hour = Calendar.current.component(.hour, from: Date()) + if(GlobalVars.hour<10){ + hourPadding = "0" + } + else{ + hourPadding = "" + } + + switch defaults.integer(forKey: "titleNo") { + case 0: + GlobalVars.titleCode = "acnh" + case 1: + GlobalVars.titleCode = "acnl" + case 2: + GlobalVars.titleCode = "accf" + case 3: + GlobalVars.titleCode = "acpg" + default: + GlobalVars.titleCode = "acnh" + } + + song = GlobalVars.titleCode + hourPadding + String(GlobalVars.hour) + print(song) + + date = Date().addingTimeInterval(TimeInterval(timeTillTopOfTheHour)) + print(date) + timer = Timer(fireAt: date, interval: 0, target: musicHandler.self, selector: #selector(musicHandler.updateMusic), userInfo: nil, repeats: false) + RunLoop.main.add(timer, forMode: .common) + + + + do{ + + audioPlayer = try AVAudioPlayer(contentsOf: URL.init(fileURLWithPath: Bundle.main.path(forResource: song, ofType: "mp3")!)) + audioPlayer.prepareToPlay() + audioPlayer.numberOfLoops = -1 + + let audioSession = AVAudioSession.sharedInstance() + do{ + try audioSession.setCategory(.playback, mode: .default) + try audioSession.setActive(true) + } + } - - var foundSong = false - - switch GlobalVars.selectedMusicList { - case 0: - for i in GlobalVars.musicSelectionID0 { - if (i != 0){ - foundSong = true - } - } - case 1: - for i in GlobalVars.musicSelectionID1 { - if (i != 0){ - foundSong = true - } - } - case 2: - for i in GlobalVars.musicSelectionID2 { - if (i != 0){ - foundSong = true - } - } - case 3: - for i in GlobalVars.musicSelectionID3 { - if (i != 0){ - foundSong = true - } - } - case 4: - for i in GlobalVars.musicSelectionID4 { - if (i != 0){ - foundSong = true - } - } - default: - for i in GlobalVars.musicSelectionID0 { - if (i != 0){ - foundSong = true - } - } + catch{ + print(error) } - if !foundSong && defaults.bool(forKey: "didRun") { - let errorAlert = UIAlertController(title: "Song Error", message: "No songs found in this track. Please visit the 'Select Music' tab to set a song and get started!", preferredStyle: .alert) - - // Create OK button - let OKAction = UIAlertAction(title: "OK", style: .default) { (action:UIAlertAction!) in - print("Ok button tapped"); - - } - errorAlert.addAction(OKAction) - - // Present Dialog message - self.present(errorAlert, animated: true, completion:nil) - print("Song is missing for at one hour") - controlButton.isEnabled = false - } else { - controlButton.isEnabled = true - } - self.view.layoutIfNeeded() - } - - override func viewWillAppear(_ animated: Bool) { - - // create the gradient layer - let gradient = CAGradientLayer() - gradient.frame = self.view.bounds - print("time: ", GlobalVars.hour) - if((GlobalVars.hour >= 8) && (GlobalVars.hour <= 19)){ //Daytime - print("day") - gradient.colors = [UIColor(red: 0.39, green: 0.69, blue: 1.00, alpha: 1).cgColor, UIColor(red: 0.07, green: 0.45, blue: 0.87, alpha: 1).cgColor] - } else if((GlobalVars.hour >= 20) && (GlobalVars.hour <= 21)){//Sunset - print("sunset") - gradient.colors = [UIColor(red: 0.00, green: 0.31, blue: 0.59, alpha: 1).cgColor, UIColor(red: 1.00, green: 0.78, blue: 0.88, alpha: 1).cgColor] - } else if((GlobalVars.hour >= 22) || (GlobalVars.hour <= 5)){//Night - print("night") - gradient.colors = [UIColor(red: 0.08, green: 0.27, blue: 0.59, alpha: 1).cgColor, UIColor(red: 0.00, green: 0.20, blue: 0.29, alpha: 1).cgColor] - } else if((GlobalVars.hour >= 6) && (GlobalVars.hour <= 7)){//Sunrise - print("sunrise") - gradient.colors = [UIColor(red: 0.02, green: 0.26, blue: 0.49, alpha: 1).cgColor, UIColor(red: 0.89, green: 0.68, blue: 0.60, alpha: 1).cgColor] - } - - gradient.locations = [0.00, 1.00] - - /*let gradientChangeAnimation = CABasicAnimation(keyPath: "colors") - gradientChangeAnimation.duration = 5.0 - if((GlobalVars.hour >= 8) && (GlobalVars.hour <= 19)){ //Daytime - print("day") - gradientChangeAnimation.toValue = [UIColor(red: 0.00, green: 0.31, blue: 0.59, alpha: 1).cgColor, UIColor(red: 0.07, green: 0.45, blue: 0.87, alpha: 1).cgColor] - } else if((GlobalVars.hour >= 20) && (GlobalVars.hour <= 21)){//Sunset - print("sunset") - gradientChangeAnimation.toValue = [UIColor(red: 0.00, green: 0.31, blue: 0.59, alpha: 1).cgColor, UIColor(red: 1.00, green: 0.61, blue: 0.43, alpha: 1).cgColor] - } else if((GlobalVars.hour >= 22) || (GlobalVars.hour <= 5)){//Night - print("night") - gradientChangeAnimation.toValue = [ - UIColor(red: 0.68, green: 0.67, blue: 1.0, alpha: 1).cgColor, - UIColor(red: 1.00, green: 0.00, blue: 0.09, alpha: 1).cgColor - ] - } else if((GlobalVars.hour >= 6) && (GlobalVars.hour <= 7)){//Sunrise - print("sunrise") - gradientChangeAnimation.toValue = [UIColor(red: 0.02, green: 0.26, blue: 0.49, alpha: 1).cgColor, UIColor(red: 0.89, green: 0.68, blue: 0.60, alpha: 1).cgColor] - } - gradientChangeAnimation.autoreverses = true - gradientChangeAnimation.fillMode = CAMediaTimingFillMode.forwards - gradientChangeAnimation.isRemovedOnCompletion = false - gradient.add(gradientChangeAnimation, forKey: "colorChange") - */ - // add the gradient to the view - gradientView.layer.addSublayer(gradient) - - if (MPMusicPlayerController.applicationMusicPlayer.playbackState == MPMusicPlaybackState.playing) { - GlobalVars.musicStarted = true - controlButton.setBackgroundImage(UIImage(systemName: "pause.circle"), for: UIControl.State.normal) - UIView.animate(withDuration: 0.4, delay: 0,usingSpringWithDamping: 0.5,initialSpringVelocity: 0){ - self.PlayButtonSize.constant = 130 - } - } else { - GlobalVars.musicStarted = false - controlButton.setBackgroundImage(UIImage(systemName: "play.circle"), for: UIControl.State.normal) - UIView.animate(withDuration: 0.4, delay: 0,usingSpringWithDamping: 0.5,initialSpringVelocity: 0){ - self.PlayButtonSize.constant = 90 - } - } - } - - override func viewWillDisappear(_ animated: Bool) { - gradientView.layer.sublayers?.forEach { $0.removeFromSuperlayer() } - do { - try defaults.setObject(GlobalVars.musicSelection0, forKey: "savedMusicSelection0") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelectionID0, forKey: "savedMusicSelectionID0") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelection1, forKey: "savedMusicSelection1") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelectionID1, forKey: "savedMusicSelectionID1") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelection2, forKey: "savedMusicSelection2") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelectionID2, forKey: "savedMusicSelectionID2") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelection3, forKey: "savedMusicSelection3") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelectionID3, forKey: "savedMusicSelectionID3") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelection4, forKey: "savedMusicSelection4") - } catch { - print(error.localizedDescription) - } - do { - try defaults.setObject(GlobalVars.musicSelectionID4, forKey: "savedMusicSelectionID4") - } catch { - print(error.localizedDescription) - } } @IBOutlet weak var controlButton: UIButton! - @IBOutlet var PlayButtonSize: NSLayoutConstraint! - - + @IBAction func play(_ sender: Any) { if(!GlobalVars.musicStarted){ - GlobalVars.musicStarted = true - musicHandler.updateMusic() - let musicPlayer = MPMusicPlayerController.applicationMusicPlayer - musicPlayer.play() + + audioPlayer.play() GlobalVars.musicStarted = true controlButton.setBackgroundImage(UIImage(systemName: "pause.circle"), for: UIControl.State.normal) - UIView.animate(withDuration: 0.4,delay:0,usingSpringWithDamping: 0.5,initialSpringVelocity: 0){ - self.PlayButtonSize.constant = 130 - self.view.layoutIfNeeded() - } } else{ - let musicPlayer = MPMusicPlayerController.applicationMusicPlayer - musicPlayer.pause() + audioPlayer.pause() GlobalVars.musicStarted = false controlButton.setBackgroundImage(UIImage(systemName: "play.circle"), for: UIControl.State.normal) - UIView.animate(withDuration: 0.4, delay: 0,usingSpringWithDamping: 0.5,initialSpringVelocity: 0){ - self.PlayButtonSize.constant = 90 - self.view.layoutIfNeeded() - } + } } + /*@objc func updateMusic(){ //timer.invalidate() @@ -765,115 +252,3 @@ class FirstViewController: UIViewController{ } - -enum IAPHandlerAlertType{ - case disabled - case restored - case purchased - - func message() -> String{ - switch self { - case .disabled: return "Purchases are disabled in your device!" - case .restored: return "You've successfully restored your purchase!" - case .purchased: return "You've successfully bought this purchase!" - } - } -} - -class IAPHandler: NSObject { - static let shared = IAPHandler() - - let SMALL_TIP_PRODUCT_ID = "smalltip" - let MEDIUM_TIP_PRODUCT_ID = "mediumtip" - let LARGE_TIP_PRODUCT_ID = "largetip" - - fileprivate var productID = "" - fileprivate var productsRequest = SKProductsRequest() - fileprivate var iapProducts = [SKProduct]() - - var purchaseStatusBlock: ((IAPHandlerAlertType) -> Void)? - - // MARK: - MAKE PURCHASE OF A PRODUCT - func canMakePurchases() -> Bool { return SKPaymentQueue.canMakePayments() } - - func purchaseMyProduct(index: Int){ - if iapProducts.count == 0 { return } - - if self.canMakePurchases() { - let product = iapProducts[index] - let payment = SKPayment(product: product) - SKPaymentQueue.default().add(self) - SKPaymentQueue.default().add(payment) - - print("PRODUCT TO PURCHASE: \(product.productIdentifier)") - productID = product.productIdentifier - } else { - purchaseStatusBlock?(.disabled) - } - } - - // MARK: - RESTORE PURCHASE - func restorePurchase(){ - SKPaymentQueue.default().add(self) - SKPaymentQueue.default().restoreCompletedTransactions() - } - - - // MARK: - FETCH AVAILABLE IAP PRODUCTS - func fetchAvailableProducts(){ - - // Put here your IAP Products ID's - let productIdentifiers = NSSet(objects: SMALL_TIP_PRODUCT_ID,MEDIUM_TIP_PRODUCT_ID,LARGE_TIP_PRODUCT_ID - ) - - productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers as! Set) - productsRequest.delegate = self - productsRequest.start() - } -} - -extension IAPHandler: SKProductsRequestDelegate, SKPaymentTransactionObserver{ - // MARK: - REQUEST IAP PRODUCTS - func productsRequest (_ request:SKProductsRequest, didReceive response:SKProductsResponse) { - - if (response.products.count > 0) { - iapProducts = response.products - for product in iapProducts{ - let numberFormatter = NumberFormatter() - numberFormatter.formatterBehavior = .behavior10_4 - numberFormatter.numberStyle = .currency - numberFormatter.locale = product.priceLocale - let price1Str = numberFormatter.string(from: product.price) - print(product.localizedDescription + "\nfor just \(price1Str!)") - } - } - } - - func paymentQueueRestoreCompletedTransactionsFinished(_ queue: SKPaymentQueue) { - purchaseStatusBlock?(.restored) - } - - // MARK:- IAP PAYMENT QUEUE - func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) { - for transaction:AnyObject in transactions { - if let trans = transaction as? SKPaymentTransaction { - switch trans.transactionState { - case .purchased: - print("purchased") - SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction) - purchaseStatusBlock?(.purchased) - break - - case .failed: - print("failed") - SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction) - break - case .restored: - print("restored") - SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction) - break - - default: break - }}} - } -} diff --git a/grandfatherrock/Info.plist b/grandfatherrock/Info.plist index 0e23024..c90fcb4 100644 --- a/grandfatherrock/Info.plist +++ b/grandfatherrock/Info.plist @@ -4,8 +4,6 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - AC Tape Deck CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -20,16 +18,8 @@ $(MARKETING_VERSION) CFBundleVersion 1 - LSApplicationCategoryType - public.app-category.music LSRequiresIPhoneOS - NSAppleMusicUsageDescription - To select songs for each hour - UIAppFonts - - FinkHeavyttf - UIApplicationSceneManifest UIApplicationSupportsMultipleScenes diff --git a/grandfatherrock/SceneDelegate.swift b/grandfatherrock/SceneDelegate.swift index edf55cc..b85b45c 100644 --- a/grandfatherrock/SceneDelegate.swift +++ b/grandfatherrock/SceneDelegate.swift @@ -30,11 +30,13 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { func sceneDidBecomeActive(_ scene: UIScene) { // Called when the scene has moved from an inactive state to an active state. // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. + activateProximitySensor(isOn: true) } func sceneWillResignActive(_ scene: UIScene) { // Called when the scene will move from an active state to an inactive state. // This may occur due to temporary interruptions (ex. an incoming phone call). + activateProximitySensor(isOn: false) } func sceneWillEnterForeground(_ scene: UIScene) { @@ -48,6 +50,21 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { // to restore the scene back to its current state. } + func activateProximitySensor(isOn: Bool) { + let device = UIDevice.current + device.isProximityMonitoringEnabled = isOn + if isOn { + NotificationCenter.default.addObserver(self, selector: #selector(proximityStateDidChange), name: UIDevice.proximityStateDidChangeNotification, object: device) + } else { + NotificationCenter.default.removeObserver(self, name: UIDevice.proximityStateDidChangeNotification, object: device) + } + } + + @objc func proximityStateDidChange(notification: NSNotification) { + if let device = notification.object as? UIDevice { + print(device) + } + } } diff --git a/grandfatherrock/fonts/FinkHeavy.ttf b/grandfatherrock/fonts/FinkHeavy.ttf deleted file mode 100644 index efbea3c..0000000 Binary files a/grandfatherrock/fonts/FinkHeavy.ttf and /dev/null differ