diff --git a/TapeDeck.xcodeproj/project.pbxproj b/TapeDeck.xcodeproj/project.pbxproj new file mode 100644 index 0000000..b8bb547 --- /dev/null +++ b/TapeDeck.xcodeproj/project.pbxproj @@ -0,0 +1,631 @@ +// !$*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 new file mode 100644 index 0000000..5d26556 --- /dev/null +++ b/TapeDeck.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/grandfatherrock.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/TapeDeck.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from grandfatherrock.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to TapeDeck.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/grandfatherrock.xcodeproj/xcuserdata/micahgomez.xcuserdatad/xcschemes/xcschememanagement.plist b/TapeDeck.xcodeproj/xcuserdata/micahgomez.xcuserdatad/xcschemes/xcschememanagement.plist similarity index 100% rename from grandfatherrock.xcodeproj/xcuserdata/micahgomez.xcuserdatad/xcschemes/xcschememanagement.plist rename to TapeDeck.xcodeproj/xcuserdata/micahgomez.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/grandfatherrock.xcodeproj/project.pbxproj b/grandfatherrock.xcodeproj/project.pbxproj deleted file mode 100644 index b0e5e88..0000000 --- a/grandfatherrock.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1027 +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 */; }; - 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 deleted file mode 100644 index 81d60ac..0000000 --- a/grandfatherrock.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/grandfatherrock/Assets.xcassets/Header.imageset/Animal_Crossing_Logo.png b/grandfatherrock/Assets.xcassets/Header.imageset/Animal_Crossing_Logo.png deleted file mode 100644 index 34782c9..0000000 Binary files a/grandfatherrock/Assets.xcassets/Header.imageset/Animal_Crossing_Logo.png and /dev/null differ diff --git a/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280-1.jpg b/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280-1.jpg deleted file mode 100644 index 2ff7397..0000000 Binary files a/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280-1.jpg and /dev/null 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 deleted file mode 100644 index 2ff7397..0000000 Binary files a/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280-2.jpg and /dev/null differ diff --git a/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280.jpg b/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280.jpg deleted file mode 100644 index 2ff7397..0000000 Binary files a/grandfatherrock/Assets.xcassets/bg.imageset/tumblr_nw9ifvY4vK1s1lku3o2_1280.jpg and /dev/null differ diff --git a/grandfatherrock/Assets.xcassets/first.imageset/Contents.json b/grandfatherrock/Assets.xcassets/first.imageset/Contents.json deleted file mode 100644 index 33a7451..0000000 --- a/grandfatherrock/Assets.xcassets/first.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "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 deleted file mode 100644 index 47d911d..0000000 Binary files a/grandfatherrock/Assets.xcassets/first.imageset/first.pdf and /dev/null differ diff --git a/grandfatherrock/Assets.xcassets/bg.imageset/Contents.json b/grandfatherrock/Assets.xcassets/pause.imageset/Contents.json similarity index 60% rename from grandfatherrock/Assets.xcassets/bg.imageset/Contents.json rename to grandfatherrock/Assets.xcassets/pause.imageset/Contents.json index 608dfa4..f9710cc 100644 --- a/grandfatherrock/Assets.xcassets/bg.imageset/Contents.json +++ b/grandfatherrock/Assets.xcassets/pause.imageset/Contents.json @@ -1,17 +1,17 @@ { "images" : [ { - "filename" : "tumblr_nw9ifvY4vK1s1lku3o2_1280.jpg", + "filename" : "woodpause-2.png", "idiom" : "universal", "scale" : "1x" }, { - "filename" : "tumblr_nw9ifvY4vK1s1lku3o2_1280-1.jpg", + "filename" : "woodpause-1.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "tumblr_nw9ifvY4vK1s1lku3o2_1280-2.jpg", + "filename" : "woodpause.png", "idiom" : "universal", "scale" : "3x" } diff --git a/grandfatherrock/Assets.xcassets/pause.imageset/woodpause-1.png b/grandfatherrock/Assets.xcassets/pause.imageset/woodpause-1.png new file mode 100644 index 0000000..ecccb93 Binary files /dev/null and b/grandfatherrock/Assets.xcassets/pause.imageset/woodpause-1.png differ diff --git a/grandfatherrock/Assets.xcassets/pause.imageset/woodpause-2.png b/grandfatherrock/Assets.xcassets/pause.imageset/woodpause-2.png new file mode 100644 index 0000000..ecccb93 Binary files /dev/null and b/grandfatherrock/Assets.xcassets/pause.imageset/woodpause-2.png differ diff --git a/grandfatherrock/Assets.xcassets/pause.imageset/woodpause.png b/grandfatherrock/Assets.xcassets/pause.imageset/woodpause.png new file mode 100644 index 0000000..ecccb93 Binary files /dev/null and b/grandfatherrock/Assets.xcassets/pause.imageset/woodpause.png differ diff --git a/grandfatherrock/Assets.xcassets/Header.imageset/Contents.json b/grandfatherrock/Assets.xcassets/play.imageset/Contents.json similarity index 71% rename from grandfatherrock/Assets.xcassets/Header.imageset/Contents.json rename to grandfatherrock/Assets.xcassets/play.imageset/Contents.json index 6f9b581..0bb2db1 100644 --- a/grandfatherrock/Assets.xcassets/Header.imageset/Contents.json +++ b/grandfatherrock/Assets.xcassets/play.imageset/Contents.json @@ -1,15 +1,17 @@ { "images" : [ { - "filename" : "Animal_Crossing_Logo.png", + "filename" : "woodplay-2.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/play.imageset/woodplay-1.png b/grandfatherrock/Assets.xcassets/play.imageset/woodplay-1.png new file mode 100644 index 0000000..09c0b54 Binary files /dev/null and b/grandfatherrock/Assets.xcassets/play.imageset/woodplay-1.png differ diff --git a/grandfatherrock/Assets.xcassets/play.imageset/woodplay-2.png b/grandfatherrock/Assets.xcassets/play.imageset/woodplay-2.png new file mode 100644 index 0000000..09c0b54 Binary files /dev/null and b/grandfatherrock/Assets.xcassets/play.imageset/woodplay-2.png differ diff --git a/grandfatherrock/Assets.xcassets/play.imageset/woodplay.png b/grandfatherrock/Assets.xcassets/play.imageset/woodplay.png new file mode 100644 index 0000000..09c0b54 Binary files /dev/null and b/grandfatherrock/Assets.xcassets/play.imageset/woodplay.png differ diff --git a/grandfatherrock/Assets.xcassets/second.imageset/Contents.json b/grandfatherrock/Assets.xcassets/second.imageset/Contents.json deleted file mode 100644 index 03bd9c9..0000000 --- a/grandfatherrock/Assets.xcassets/second.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "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 deleted file mode 100644 index 401614e..0000000 Binary files a/grandfatherrock/Assets.xcassets/second.imageset/second.pdf and /dev/null differ diff --git a/grandfatherrock/Base.lproj/Main.storyboard b/grandfatherrock/Base.lproj/Main.storyboard index eec5873..2af62ad 100644 --- a/grandfatherrock/Base.lproj/Main.storyboard +++ b/grandfatherrock/Base.lproj/Main.storyboard @@ -1,138 +1,177 @@ - - + + - + + + + + + FinkHeavy + + - + - + - + - - - - - + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + - + + + + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - - + + + - + - + @@ -146,12 +185,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + - + + + + + + + diff --git a/grandfatherrock/FirstViewController.swift b/grandfatherrock/FirstViewController.swift index 82b5672..66e97cf 100644 --- a/grandfatherrock/FirstViewController.swift +++ b/grandfatherrock/FirstViewController.swift @@ -8,74 +8,237 @@ 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 = "" - } - 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) + //song = GlobalVars.titleCode + hourPadding + String(GlobalVars.hour) + //print(song) + let musicPlayer = MPMusicPlayerController.applicationMusicPlayer 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 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() } - catch{ - print(error) + if(MPMusicPlayerController.applicationMusicPlayer.playbackState == MPMusicPlaybackState.playing){ + musicPlayer.play() } - if(GlobalVars.musicStarted){ - audioPlayer.play() - } - audioPlayer.setVolume(Float(prevVol), fadeDuration: 1) if(Calendar.current.component(.minute, from: Date()) == 0){ - date = Date().addingTimeInterval(3600) - } - else{ + 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) @@ -83,21 +246,24 @@ public class musicHandler{ } struct GlobalVars { - static var selectedGame = "" - static var selectedGameNo = 0 + 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 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()) @@ -105,63 +271,198 @@ 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{ 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") + //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") } - GlobalVars.selectedGame = defaults.string(forKey: "selectedTitle")! - GlobalVars.selectedGameNo = defaults.integer(forKey: "titleNo") - print(currentSeconds) print(currentMinute) print(timeTillTopOfTheHour) + //print(GlobalVars.selectedSong) + 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) + //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{ + /*do{ audioPlayer = try AVAudioPlayer(contentsOf: URL.init(fileURLWithPath: Bundle.main.path(forResource: song, ofType: "mp3")!)) audioPlayer.prepareToPlay() @@ -177,31 +478,243 @@ class FirstViewController: UIViewController{ } catch{ print(error) + }*/ + + } + + @IBOutlet var gradientView: UIView! + + override func viewDidAppear(_ animated: Bool) { + + 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) + + defaults.set(true, forKey: "didRun") + } + 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 + } + } + } + + 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 - - audioPlayer.play() + musicHandler.updateMusic() + let musicPlayer = MPMusicPlayerController.applicationMusicPlayer + musicPlayer.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{ - audioPlayer.pause() + let musicPlayer = MPMusicPlayerController.applicationMusicPlayer + musicPlayer.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() @@ -252,3 +765,115 @@ 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 c90fcb4..0e23024 100644 --- a/grandfatherrock/Info.plist +++ b/grandfatherrock/Info.plist @@ -4,6 +4,8 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + AC Tape Deck CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -18,8 +20,16 @@ $(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 b85b45c..edf55cc 100644 --- a/grandfatherrock/SceneDelegate.swift +++ b/grandfatherrock/SceneDelegate.swift @@ -30,13 +30,11 @@ 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) { @@ -50,21 +48,6 @@ 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 new file mode 100644 index 0000000..efbea3c Binary files /dev/null and b/grandfatherrock/fonts/FinkHeavy.ttf differ