diff --git a/TapeDeck.xcodeproj/project.pbxproj b/TapeDeck.xcodeproj/project.pbxproj index 6c17c75..89d05f5 100644 --- a/TapeDeck.xcodeproj/project.pbxproj +++ b/TapeDeck.xcodeproj/project.pbxproj @@ -92,7 +92,7 @@ BD7A5E38251034D7003E992C /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; }; BD7D35D52510042D00A61B6B /* night.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = night.gif; sourceTree = ""; }; BD8D804625188B2200389258 /* hssceneExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = hssceneExtension.entitlements; sourceTree = ""; }; - BDA060F62447F3E6009C72CE /* Nook Music.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Nook Music.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + BDA060F62447F3E6009C72CE /* AC Tape Deck.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "AC Tape Deck.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 = ""; }; @@ -204,7 +204,7 @@ BDA060F72447F3E6009C72CE /* Products */ = { isa = PBXGroup; children = ( - BDA060F62447F3E6009C72CE /* Nook Music.app */, + BDA060F62447F3E6009C72CE /* AC Tape Deck.app */, BDA0610E2447F3F3009C72CE /* grandfatherrockTests.xctest */, BDA061192447F3F3009C72CE /* grandfatherrockUITests.xctest */, BDE56CB825186B0500A47239 /* hssceneExtension.appex */, @@ -293,7 +293,7 @@ BDF748A32616C11500877F21 /* Zip */, ); productName = grandfatherrock; - productReference = BDA060F62447F3E6009C72CE /* Nook Music.app */; + productReference = BDA060F62447F3E6009C72CE /* AC Tape Deck.app */; productType = "com.apple.product-type.application"; }; BDA0610D2447F3F3009C72CE /* grandfatherrockTests */ = { @@ -649,7 +649,7 @@ CODE_SIGN_ENTITLEMENTS = grandfatherrock/grandfatherrock.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = PRBH2T6668; INFOPLIST_FILE = grandfatherrock/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; @@ -657,10 +657,10 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.3; + MARKETING_VERSION = 1.3.1; PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrock; - PRODUCT_NAME = "Nook Music"; - SUPPORTS_MACCATALYST = NO; + PRODUCT_NAME = "AC Tape Deck"; + SUPPORTS_MACCATALYST = YES; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -675,7 +675,7 @@ CODE_SIGN_ENTITLEMENTS = grandfatherrock/grandfatherrock.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = PRBH2T6668; INFOPLIST_FILE = grandfatherrock/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; @@ -683,10 +683,10 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.3; + MARKETING_VERSION = 1.3.1; PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrock; - PRODUCT_NAME = "Nook Music"; - SUPPORTS_MACCATALYST = NO; + PRODUCT_NAME = "AC Tape Deck"; + SUPPORTS_MACCATALYST = YES; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -785,7 +785,7 @@ CODE_SIGN_ENTITLEMENTS = hssceneExtension.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = PRBH2T6668; INFOPLIST_FILE = hsscene/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; @@ -794,11 +794,11 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.3; + MARKETING_VERSION = 1.3.1; PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrock.hsscene; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = NO; + SUPPORTS_MACCATALYST = YES; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -813,7 +813,7 @@ CODE_SIGN_ENTITLEMENTS = hssceneExtension.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = PRBH2T6668; INFOPLIST_FILE = hsscene/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; @@ -822,11 +822,11 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.3; + MARKETING_VERSION = 1.3.1; PRODUCT_BUNDLE_IDENTIFIER = dev.mpg13.grandfatherrock.hsscene; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = NO; + SUPPORTS_MACCATALYST = YES; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/TapeDeck.xcodeproj/project.xcworkspace/xcuserdata/micahgomez.xcuserdatad/UserInterfaceState.xcuserstate b/TapeDeck.xcodeproj/project.xcworkspace/xcuserdata/micahgomez.xcuserdatad/UserInterfaceState.xcuserstate index 2f0446f..f048283 100644 Binary files a/TapeDeck.xcodeproj/project.xcworkspace/xcuserdata/micahgomez.xcuserdatad/UserInterfaceState.xcuserstate and b/TapeDeck.xcodeproj/project.xcworkspace/xcuserdata/micahgomez.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/TapeDeck.xcodeproj/xcuserdata/micahgomez.xcuserdatad/xcschemes/xcschememanagement.plist b/TapeDeck.xcodeproj/xcuserdata/micahgomez.xcuserdatad/xcschemes/xcschememanagement.plist index 92396fa..a49472b 100644 --- a/TapeDeck.xcodeproj/xcuserdata/micahgomez.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/TapeDeck.xcodeproj/xcuserdata/micahgomez.xcuserdatad/xcschemes/xcschememanagement.plist @@ -49,12 +49,12 @@ grandfatherrock.xcscheme_^#shared#^_ orderHint - 0 + 1 hssceneExtension.xcscheme_^#shared#^_ orderHint - 1 + 0 hswidgetExtension.xcscheme_^#shared#^_ diff --git a/grandfatherrock/Base.lproj/Main.storyboard b/grandfatherrock/Base.lproj/Main.storyboard index ad3b64a..e9554a0 100644 --- a/grandfatherrock/Base.lproj/Main.storyboard +++ b/grandfatherrock/Base.lproj/Main.storyboard @@ -22,8 +22,8 @@ - - + + @@ -84,6 +84,7 @@ + @@ -382,7 +383,7 @@ - - + + + + diff --git a/grandfatherrock/FirstViewController.swift b/grandfatherrock/FirstViewController.swift index 55e2015..b833418 100644 --- a/grandfatherrock/FirstViewController.swift +++ b/grandfatherrock/FirstViewController.swift @@ -49,6 +49,20 @@ extension UserDefaults: ObjectSavable { } } +extension UIView { + func fitLayers() { + layer.fit(rect: bounds) + } +} + +extension CALayer { + func fit(rect: CGRect) { + frame = rect + + sublayers?.forEach { $0.fit(rect: rect) } + } +} + extension UIViewController { func addSnowflakes() { @@ -534,6 +548,12 @@ class FirstViewController: UIViewController{ } + override func viewWillLayoutSubviews() { + super.viewWillLayoutSubviews() + + view.fitLayers() + } + @IBOutlet var sceneryImageView: UIImageView! @IBOutlet var gradientView: UIView! @@ -1225,7 +1245,9 @@ class FirstViewController: UIViewController{ gradient.locations = [0.00, 1.00] gradientView.layer.sublayers?.forEach { $0.removeFromSuperlayer() } + gradientView.translatesAutoresizingMaskIntoConstraints = false gradientView.layer.addSublayer(gradient) + } diff --git a/grandfatherrock/FourthViewController.swift b/grandfatherrock/FourthViewController.swift index d027f13..07d1c09 100644 --- a/grandfatherrock/FourthViewController.swift +++ b/grandfatherrock/FourthViewController.swift @@ -205,6 +205,7 @@ class FourthViewController: UIViewController, UITableViewDelegate, UITableViewDa musicHandler.updateMusic() } + /* // create the gradient layer let gradient = CAGradientLayer() gradient.frame = self.view.bounds @@ -270,7 +271,8 @@ class FourthViewController: UIViewController, UITableViewDelegate, UITableViewDa default: //print(GlobalVars.musicSelectionID0) print(GlobalVars.musicSelection0) - }*/ + }*/*/ + updateGradientAndView() } override func viewDidDisappear(_ animated: Bool) { @@ -366,6 +368,12 @@ class FourthViewController: UIViewController, UITableViewDelegate, UITableViewDa } + override func viewWillLayoutSubviews() { + super.viewWillLayoutSubviews() + + view.fitLayers() + } + @IBAction func close(_ sender: Any) { dismiss(animated: true) } @@ -447,5 +455,95 @@ class FourthViewController: UIViewController, UITableViewDelegate, UITableViewDa task.resume() } + func updateGradientAndView(){ + let gradient = CAGradientLayer() + gradient.frame = self.view.bounds + //print("time: ", GlobalVars.hour) + if((GlobalVars.hour >= 8) && (GlobalVars.hour <= 19)){ //Daytime + do{ + var gif = try UIImage(gifName: "day.gif") + var gradColors:[CGColor] = [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] + //63b0ff + //1273de + if GlobalVars.weatherList == 2 { + gif = try UIImage(gifName: "day snow.gif") + gradColors = [UIColor(red: 0.91, green: 0.98, blue: 1.00, alpha: 1.00).cgColor,UIColor(red: 0.36, green: 0.60, blue: 0.87, alpha: 1.00).cgColor] + //e8faff + //5b99de + } else if GlobalVars.weatherList == 1 { + //7da3ca + //416594 + gradColors = [UIColor(red: 0.49, green: 0.64, blue: 0.79, alpha: 1.00).cgColor, UIColor(red: 0.25, green: 0.40, blue: 0.58, alpha: 1.00).cgColor] + } + //sceneryImageView.setGifImage(gif, loopCount: -1) + gradient.colors = gradColors + }catch{print(error)} + } else if((GlobalVars.hour >= 20) && (GlobalVars.hour <= 21)){//Sunset + do{ + var gif = try UIImage(gifName: "day.gif") + var gradColors:[CGColor] = [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] + //004f96 + //ffc7e0 + if GlobalVars.weatherList == 2 { + gif = try UIImage(gifName: "day snow.gif") + gradColors = [UIColor(red: 0.46, green: 0.61, blue: 0.71, alpha: 1.00).cgColor,UIColor(red: 1.00, green: 0.89, blue: 0.94, alpha: 1.00).cgColor] + //769cb6 + //ffe4f0 + } else if GlobalVars.weatherList == 1 { + gradColors = [UIColor(red: 0.27, green: 0.44, blue: 0.59, alpha: 1.00).cgColor,UIColor(red: 0.64, green: 0.48, blue: 0.55, alpha: 1.00).cgColor] + //446f96 + //a27b8c + } + //sceneryImageView.setGifImage(gif, loopCount: -1) + gradient.colors = gradColors + }catch{print(error)} + } else if((GlobalVars.hour >= 22) || (GlobalVars.hour <= 5)){//Night + do{ + var gif = try UIImage(gifName: "night.gif") + var gradColors:[CGColor] = [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] + //144596 + //00334a + if GlobalVars.weatherList == 2 { + gif = try UIImage(gifName: "night snow.gif") + gradColors = [UIColor(red: 0.55, green: 0.59, blue: 0.60, alpha: 1.00).cgColor,UIColor(red: 0.18, green: 0.30, blue: 0.44, alpha: 1.00).cgColor] + //8B9699 + //2E4D70 + } else if GlobalVars.weatherList == 1 { + gradColors = [UIColor(red: 0.00, green: 0.12, blue: 0.17, alpha: 1.00).cgColor,UIColor(red: 0.05, green: 0.18, blue: 0.39, alpha: 1.00).cgColor] + //0D2E63 + //001E2B + } + //sceneryImageView.setGifImage(gif, loopCount: -1) + gradient.colors = gradColors + }catch{print(error)} + } else if((GlobalVars.hour >= 6) && (GlobalVars.hour <= 7)){//Sunrise + do{ + var gif = try UIImage(gifName: "day.gif") + var gradColors:[CGColor] = [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] + //05427D + //e3ad99 + if GlobalVars.weatherList == 2 { + gif = try UIImage(gifName: "day snow.gif") + gradColors = [UIColor(red: 0.50, green: 0.61, blue: 0.72, alpha: 1.00).cgColor,UIColor(red: 0.94, green: 0.87, blue: 0.84, alpha: 1.00).cgColor] + //809CB7 + //EFDDD7 + } else if GlobalVars.weatherList == 1 { + gradColors = [UIColor(red: 0.14, green: 0.25, blue: 0.36, alpha: 1.00).cgColor,UIColor(red: 0.54, green: 0.41, blue: 0.36, alpha: 1.00).cgColor] + //23405C + //8A685C + } + //sceneryImageView.setGifImage(gif, loopCount: -1) + gradient.colors = gradColors + }catch{print(error)} + } + + gradient.locations = [0.00, 1.00] + + gradientView.layer.sublayers?.forEach { $0.removeFromSuperlayer() } + gradientView.translatesAutoresizingMaskIntoConstraints = false + gradientView.layer.addSublayer(gradient) + + } + } diff --git a/grandfatherrock/SecondViewController.swift b/grandfatherrock/SecondViewController.swift index 92967bb..d01f9dc 100644 --- a/grandfatherrock/SecondViewController.swift +++ b/grandfatherrock/SecondViewController.swift @@ -212,10 +212,18 @@ class SecondViewController: UIViewController, UITableViewDelegate, UITableViewDa //shareMenu.popoverPresentationController.sourceView = self.view //shareMenu.popoverPresentationController.sourceRect = CGRectMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0, 1.0, 1.0) + + + #if targetEnvironment(macCatalyst) + + #else alert.addAction(UIAlertAction(title: "From Music App", style: .default, handler: {_ in self.tableHour = indexPath.row self.present(self.mediaPicker, animated: true, completion: nil) })) + #endif + + alert.addAction(UIAlertAction(title: "From File", style: .default, handler: {_ in let NotificationVC = self.storyboard?.instantiateViewController(withIdentifier: "FourthViewController") as! UIViewController GlobalVars.selectedCell = indexPath.row @@ -558,7 +566,14 @@ class SecondViewController: UIViewController, UITableViewDelegate, UITableViewDa gradient.locations = [0.00, 1.00] gradientView.layer.sublayers?.forEach { $0.removeFromSuperlayer() } + gradientView.translatesAutoresizingMaskIntoConstraints = false gradientView.layer.addSublayer(gradient) } + + override func viewWillLayoutSubviews() { + super.viewWillLayoutSubviews() + + view.fitLayers() + } } diff --git a/grandfatherrock/ThirdViewController.swift b/grandfatherrock/ThirdViewController.swift index bb9183e..a6936a4 100644 --- a/grandfatherrock/ThirdViewController.swift +++ b/grandfatherrock/ThirdViewController.swift @@ -41,6 +41,10 @@ class ThirdViewController: UIViewController { IAPHandler.shared.purchaseMyProduct(index: 0) } + @IBAction func dismiss(_ sender: Any) { + dismiss(animated: true) + } + let defaults = UserDefaults.standard override func viewDidLoad() {