diff --git a/LeCountdown.xcodeproj/project.pbxproj b/LeCountdown.xcodeproj/project.pbxproj index 6675c34..ef34db8 100644 --- a/LeCountdown.xcodeproj/project.pbxproj +++ b/LeCountdown.xcodeproj/project.pbxproj @@ -30,6 +30,15 @@ C415D3DE29C0B2230037B215 /* FF_SH_flute_melody_ambient_stacked_profound_Dmin.wav in Resources */ = {isa = PBXBuildFile; fileRef = C415D3DD29C0B2230037B215 /* FF_SH_flute_melody_ambient_stacked_profound_Dmin.wav */; }; C415D3E029C0B22C0037B215 /* FF_SH_bowl_drone_tapping_C.wav in Resources */ = {isa = PBXBuildFile; fileRef = C415D3DF29C0B22C0037B215 /* FF_SH_bowl_drone_tapping_C.wav */; }; C415D3E229C0C0C20037B215 /* MailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C415D3E129C0C0C20037B215 /* MailView.swift */; }; + C415D3ED29C3765B0037B215 /* QP01 0011 Rain soft.wav in Resources */ = {isa = PBXBuildFile; fileRef = C415D3EC29C3765B0037B215 /* QP01 0011 Rain soft.wav */; }; + C415D3EF29C376DD0037B215 /* QP01 0017 Stream sparkling.wav in Resources */ = {isa = PBXBuildFile; fileRef = C415D3EE29C376DD0037B215 /* QP01 0017 Stream sparkling.wav */; }; + C415D3F129C377310037B215 /* QP01 0018 Stream moderate.wav in Resources */ = {isa = PBXBuildFile; fileRef = C415D3F029C377310037B215 /* QP01 0018 Stream moderate.wav */; }; + C415D3F329C377BC0037B215 /* QP01 0022 Surf mod small pebbled.wav in Resources */ = {isa = PBXBuildFile; fileRef = C415D3F229C377BC0037B215 /* QP01 0022 Surf mod small pebbled.wav */; }; + C415D3F529C378230037B215 /* QP01 0028 Insect crickets isolated.wav in Resources */ = {isa = PBXBuildFile; fileRef = C415D3F429C378230037B215 /* QP01 0028 Insect crickets isolated.wav */; }; + C415D3F729C378D10037B215 /* QP01 0037 Tropical forest morning.wav in Resources */ = {isa = PBXBuildFile; fileRef = C415D3F629C378D10037B215 /* QP01 0037 Tropical forest morning.wav */; }; + C415D3F929C379700037B215 /* QP01 0050 Deciduous forest morning songbirds robin.wav in Resources */ = {isa = PBXBuildFile; fileRef = C415D3F829C379700037B215 /* QP01 0050 Deciduous forest morning songbirds robin.wav */; }; + C415D3FB29C37A460037B215 /* QP01 0096 Wetland lake early morning.wav in Resources */ = {isa = PBXBuildFile; fileRef = C415D3FA29C37A460037B215 /* QP01 0096 Wetland lake early morning.wav */; }; + C415D3FD29C37AA40037B215 /* QP01 0118 Riparian Zone thrush.wav in Resources */ = {isa = PBXBuildFile; fileRef = C415D3FC29C37AA40037B215 /* QP01 0118 Riparian Zone thrush.wav */; }; C438C7C12980228B00BF3EF9 /* CountdownScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C438C7C02980228B00BF3EF9 /* CountdownScheduler.swift */; }; C438C7C5298024E900BF3EF9 /* NSManagedContext+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C438C7C4298024E900BF3EF9 /* NSManagedContext+Extensions.swift */; }; C438C7C929803CA000BF3EF9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C438C7C829803CA000BF3EF9 /* AppDelegate.swift */; }; @@ -64,7 +73,6 @@ C445FA882984487F0054D761 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C4060DC3297AE73D003FAB80 /* Assets.xcassets */; }; C445FA8F2987B83B0054D761 /* SoundPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C445FA8E2987B83B0054D761 /* SoundPlayer.swift */; }; C445FA922987CC8A0054D761 /* Sound.swift in Sources */ = {isa = PBXBuildFile; fileRef = C445FA912987CC8A0054D761 /* Sound.swift */; }; - C445FA952987D01C0054D761 /* train_horn.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = C445FA942987D01C0054D761 /* train_horn.mp3 */; }; C4636D9C29AF46BD00994E31 /* ActivityKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C4636D9B29AF46BD00994E31 /* ActivityKit.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; C4636D9D29AF46D900994E31 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C438C7D02981216200BF3EF9 /* WidgetKit.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; C473C2F029A8CFFC0056B38A /* TimerRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4F8B1D7298C0727005C86A5 /* TimerRouter.swift */; }; @@ -177,7 +185,6 @@ C4E5D68A29BB7953008E7465 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4E5D68929BB7953008E7465 /* SettingsView.swift */; }; C4F8B1532987FE6F005C86A5 /* LaunchWidgetLiveActivity.swift in Sources */ = {isa = PBXBuildFile; fileRef = C438C7D72981216200BF3EF9 /* LaunchWidgetLiveActivity.swift */; }; C4F8B15729891271005C86A5 /* Conductor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4F8B15629891271005C86A5 /* Conductor.swift */; }; - C4F8B15929891528005C86A5 /* forest_stream.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = C4F8B15829891528005C86A5 /* forest_stream.mp3 */; }; C4F8B15F298961A7005C86A5 /* ReorderableForEach.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4F8B15E298961A7005C86A5 /* ReorderableForEach.swift */; }; C4F8B162298A9A1F005C86A5 /* NewAlarmView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4F8B161298A9A1F005C86A5 /* NewAlarmView.swift */; }; C4F8B164298A9A92005C86A5 /* AlarmFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4F8B163298A9A92005C86A5 /* AlarmFormView.swift */; }; @@ -302,6 +309,15 @@ C415D3DD29C0B2230037B215 /* FF_SH_flute_melody_ambient_stacked_profound_Dmin.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = FF_SH_flute_melody_ambient_stacked_profound_Dmin.wav; sourceTree = ""; }; C415D3DF29C0B22C0037B215 /* FF_SH_bowl_drone_tapping_C.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = FF_SH_bowl_drone_tapping_C.wav; sourceTree = ""; }; C415D3E129C0C0C20037B215 /* MailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MailView.swift; sourceTree = ""; }; + C415D3EC29C3765B0037B215 /* QP01 0011 Rain soft.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = "QP01 0011 Rain soft.wav"; sourceTree = ""; }; + C415D3EE29C376DD0037B215 /* QP01 0017 Stream sparkling.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = "QP01 0017 Stream sparkling.wav"; sourceTree = ""; }; + C415D3F029C377310037B215 /* QP01 0018 Stream moderate.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = "QP01 0018 Stream moderate.wav"; sourceTree = ""; }; + C415D3F229C377BC0037B215 /* QP01 0022 Surf mod small pebbled.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = "QP01 0022 Surf mod small pebbled.wav"; sourceTree = ""; }; + C415D3F429C378230037B215 /* QP01 0028 Insect crickets isolated.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = "QP01 0028 Insect crickets isolated.wav"; sourceTree = ""; }; + C415D3F629C378D10037B215 /* QP01 0037 Tropical forest morning.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = "QP01 0037 Tropical forest morning.wav"; sourceTree = ""; }; + C415D3F829C379700037B215 /* QP01 0050 Deciduous forest morning songbirds robin.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = "QP01 0050 Deciduous forest morning songbirds robin.wav"; sourceTree = ""; }; + C415D3FA29C37A460037B215 /* QP01 0096 Wetland lake early morning.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = "QP01 0096 Wetland lake early morning.wav"; sourceTree = ""; }; + C415D3FC29C37AA40037B215 /* QP01 0118 Riparian Zone thrush.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = "QP01 0118 Riparian Zone thrush.wav"; sourceTree = ""; }; C418A14F298428CB00C22230 /* LeCountdown.0.1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = LeCountdown.0.1.xcdatamodel; sourceTree = ""; }; C438C7C02980228B00BF3EF9 /* CountdownScheduler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CountdownScheduler.swift; sourceTree = ""; }; C438C7C4298024E900BF3EF9 /* NSManagedContext+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSManagedContext+Extensions.swift"; sourceTree = ""; }; @@ -329,7 +345,6 @@ C445FA8E2987B83B0054D761 /* SoundPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoundPlayer.swift; sourceTree = ""; }; C445FA902987C0CF0054D761 /* LeCountdown.0.2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = LeCountdown.0.2.xcdatamodel; sourceTree = ""; }; C445FA912987CC8A0054D761 /* Sound.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sound.swift; sourceTree = ""; }; - C445FA942987D01C0054D761 /* train_horn.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = train_horn.mp3; sourceTree = ""; }; C4636D9B29AF46BD00994E31 /* ActivityKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ActivityKit.framework; path = System/Library/Frameworks/ActivityKit.framework; sourceTree = SDKROOT; }; C473C2F829A8DC0A0056B38A /* LaunchWidgetAttributes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchWidgetAttributes.swift; sourceTree = ""; }; C473C32729AA307D0056B38A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; name = Base; path = Base.lproj/LaunchWidget.intentdefinition; sourceTree = ""; }; @@ -405,7 +420,6 @@ C4E5D68729BB3FE1008E7465 /* SiriTimerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SiriTimerView.swift; sourceTree = ""; }; C4E5D68929BB7953008E7465 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = ""; }; C4F8B15629891271005C86A5 /* Conductor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Conductor.swift; sourceTree = ""; }; - C4F8B15829891528005C86A5 /* forest_stream.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = forest_stream.mp3; sourceTree = ""; }; C4F8B15E298961A7005C86A5 /* ReorderableForEach.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReorderableForEach.swift; sourceTree = ""; }; C4F8B160298A90E8005C86A5 /* LeCountdown.0.3.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = LeCountdown.0.3.xcdatamodel; sourceTree = ""; }; C4F8B161298A9A1F005C86A5 /* NewAlarmView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewAlarmView.swift; sourceTree = ""; }; @@ -570,6 +584,22 @@ path = Relax; sourceTree = ""; }; + C415D3EB29C376530037B215 /* Nature */ = { + isa = PBXGroup; + children = ( + C415D3EC29C3765B0037B215 /* QP01 0011 Rain soft.wav */, + C415D3EE29C376DD0037B215 /* QP01 0017 Stream sparkling.wav */, + C415D3F029C377310037B215 /* QP01 0018 Stream moderate.wav */, + C415D3F229C377BC0037B215 /* QP01 0022 Surf mod small pebbled.wav */, + C415D3F429C378230037B215 /* QP01 0028 Insect crickets isolated.wav */, + C415D3F629C378D10037B215 /* QP01 0037 Tropical forest morning.wav */, + C415D3F829C379700037B215 /* QP01 0050 Deciduous forest morning songbirds robin.wav */, + C415D3FA29C37A460037B215 /* QP01 0096 Wetland lake early morning.wav */, + C415D3FC29C37AA40037B215 /* QP01 0118 Riparian Zone thrush.wav */, + ); + path = Nature; + sourceTree = ""; + }; C438C7CF2981216200BF3EF9 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -684,10 +714,9 @@ C445FA962987D0CF0054D761 /* Sound_Assets */ = { isa = PBXGroup; children = ( + C415D3EB29C376530037B215 /* Nature */, C415D3CC29C0B13A0037B215 /* Relax */, C4BA2ADC2995AB7600CB4FBA /* Stephan_Bodzin */, - C4F8B15829891528005C86A5 /* forest_stream.mp3 */, - C445FA942987D01C0054D761 /* train_horn.mp3 */, C4E5D68129B93583008E7465 /* PVP_Stab_Oneshot_Bleep_Em.wav */, ); path = Sound_Assets; @@ -977,26 +1006,33 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + C415D3F329C377BC0037B215 /* QP01 0022 Surf mod small pebbled.wav in Resources */, C4060DC7297AE73D003FAB80 /* Preview Assets.xcassets in Resources */, + C415D3FD29C37AA40037B215 /* QP01 0118 Riparian Zone thrush.wav in Resources */, + C415D3F129C377310037B215 /* QP01 0018 Stream moderate.wav in Resources */, C415D3C829BF6D360037B215 /* InfoPlist.strings in Resources */, + C415D3F729C378D10037B215 /* QP01 0037 Tropical forest morning.wav in Resources */, C415D3D529C0B1AB0037B215 /* EX_ATSM_160_Metal_Tonal_Percussion_Sansula_Loop_Call_Am.wav in Resources */, C4BA2AEA2995AD1C00CB4FBA /* SEM_Synths_Loop4_Nothing_Like_You.wav in Resources */, C415D3CE29C0B1430037B215 /* EX_ATSM_20_Inch_Highwall_Bowl_Hit_Ring_Ab.wav in Resources */, + C415D3ED29C3765B0037B215 /* QP01 0011 Rain soft.wav in Resources */, C415D3D229C0B1620037B215 /* EX_ATSM_140_Koshi_Chimes_Aria_Tuning_Loop_Wondering_Am.wav in Resources */, + C415D3F929C379700037B215 /* QP01 0050 Deciduous forest morning songbirds robin.wav in Resources */, C415D3DE29C0B2230037B215 /* FF_SH_flute_melody_ambient_stacked_profound_Dmin.wav in Resources */, C473C32C29AA330E0056B38A /* Localizable.strings in Resources */, + C415D3FB29C37A460037B215 /* QP01 0096 Wetland lake early morning.wav in Resources */, C415D3D029C0B1510037B215 /* EX_ATSM_125_Metal_Percussion_Wing_Loop_Chimey_Dm.wav in Resources */, C415D3E029C0B22C0037B215 /* FF_SH_bowl_drone_tapping_C.wav in Resources */, + C415D3F529C378230037B215 /* QP01 0028 Insect crickets isolated.wav in Resources */, C4E5D68229B93583008E7465 /* PVP_Stab_Oneshot_Bleep_Em.wav in Resources */, C4BA2AE42995AC0D00CB4FBA /* Arpeggio_Loop_River.wav in Resources */, - C4F8B15929891528005C86A5 /* forest_stream.mp3 in Resources */, C4BA2AE22995ABE700CB4FBA /* SquareArp_Loop_River.wav in Resources */, C415D3D929C0B1CF0037B215 /* EX_ATSM_Koshi_Chimes_Aria_Tuning_Texture_Longer_Dm.wav in Resources */, C415D3D729C0B1BF0037B215 /* EX_ATSM_Bell_Binaural_Flam_Eb.wav in Resources */, C4BA2ADE2995ABA800CB4FBA /* MatriarchFxs_Loop2_Collider.wav in Resources */, + C415D3EF29C376DD0037B215 /* QP01 0017 Stream sparkling.wav in Resources */, C4BA2AE82995ACC200CB4FBA /* Clave_Loop_LLL.wav in Resources */, C4E5D67C29B8D4A5008E7465 /* Low_Tom_Disto_Earth.wav in Resources */, - C445FA952987D01C0054D761 /* train_horn.mp3 in Resources */, C4BA2AE02995ABD200CB4FBA /* HighChords_Loop_River.wav in Resources */, C4E5D66D29B753D7008E7465 /* AppShortcuts.strings in Resources */, C4060DC4297AE73D003FAB80 /* Assets.xcassets in Resources */, diff --git a/LeCountdown/Intent/TimerShortcuts.swift b/LeCountdown/Intent/TimerShortcuts.swift index dc1c39a..423de82 100644 --- a/LeCountdown/Intent/TimerShortcuts.swift +++ b/LeCountdown/Intent/TimerShortcuts.swift @@ -13,6 +13,7 @@ struct TimerShortcuts: AppShortcutsProvider { AppShortcut(intent: StartTimerIntent(), phrases: [ "\(.applicationName) \(\.$timer)", + "\(.applicationName) my \(\.$timer)", "Start \(\.$timer) with \(.applicationName)", "Launch \(\.$timer) with \(.applicationName)", "Start \(.applicationName)", diff --git a/LeCountdown/Sound/Sound.swift b/LeCountdown/Sound/Sound.swift index 374f610..0b8149a 100644 --- a/LeCountdown/Sound/Sound.swift +++ b/LeCountdown/Sound/Sound.swift @@ -34,7 +34,7 @@ enum Playlist: Int, CaseIterable, Identifiable, Localized { case custom case nature - case fun +// case fun case stephanBodzin case relax @@ -46,8 +46,8 @@ enum Playlist: Int, CaseIterable, Identifiable, Localized { switch self { case .nature: return NSLocalizedString("Nature", comment: "") - case .fun: - return NSLocalizedString("Fun", comment: "") +// case .fun: +// return NSLocalizedString("Fun", comment: "") case .stephanBodzin: return "Stephan Bodzin" case .custom: @@ -64,8 +64,6 @@ enum Sound: Int, CaseIterable, Identifiable, Localized { var id: Int { return self.rawValue } - case trainhorn = 1 // default - case forestStream // StephanBodzin case sbSEM_Synths_Loop4_Nothing_Like_You case sbClave_Loop_LLL @@ -76,7 +74,6 @@ enum Sound: Int, CaseIterable, Identifiable, Localized { case sbMatriarchFxs_Loop2_Collider // Relax case FF_SH_bowl_drone_tapping_C - case FF_SH_flute_melody_ambient_stacked_profound_Dmin case FF_SH_bowl_drone_tap_hold_E case EX_ATSM_Koshi_Chimes_Aria_Tuning_Texture_Longer_Dm case EX_ATSM_Bell_Binaural_Flam_Eb @@ -84,13 +81,21 @@ enum Sound: Int, CaseIterable, Identifiable, Localized { case EX_ATSM_125_Metal_Percussion_Wing_Loop_Chimey_Dm case EX_ATSM_140_Koshi_Chimes_Aria_Tuning_Loop_Wondering_Am case EX_ATSM_20_Inch_Highwall_Bowl_Hit_Ring_Ab + // Nature + case rain_soft + case stream1 + case stream2 + case surf1 + case crickets + case tropicalForestMorning + case deciduousForestMorning + case wetland + case riparianZone static var `default`: Sound { .sbSEM_Synths_Loop4_Nothing_Like_You } var localizedString: String { switch self { - case .trainhorn: return NSLocalizedString("Train horn", comment: "") - case .forestStream: return NSLocalizedString("Forest stream", comment: "") case .sbSEM_Synths_Loop4_Nothing_Like_You: return "Nothing Like You" case .sbClave_Loop_LLL: return "LLL" case .sbLoop_ToneSD_Boavista: return "Boavista" @@ -99,7 +104,6 @@ enum Sound: Int, CaseIterable, Identifiable, Localized { case .sbHighChords_Loop_River: return "River 3" case .sbMatriarchFxs_Loop2_Collider: return "Collider" case .FF_SH_bowl_drone_tapping_C: return "Bowl 1" - case .FF_SH_flute_melody_ambient_stacked_profound_Dmin: return "Flute" case .FF_SH_bowl_drone_tap_hold_E: return "Bowl 2" case .EX_ATSM_Koshi_Chimes_Aria_Tuning_Texture_Longer_Dm: return "Koshi Chimes 1" case .EX_ATSM_Bell_Binaural_Flam_Eb: return "Bell Binaural" @@ -107,13 +111,20 @@ enum Sound: Int, CaseIterable, Identifiable, Localized { case .EX_ATSM_125_Metal_Percussion_Wing_Loop_Chimey_Dm: return "Chimey percussion" case .EX_ATSM_140_Koshi_Chimes_Aria_Tuning_Loop_Wondering_Am: return "Koshi Chimes 2" case .EX_ATSM_20_Inch_Highwall_Bowl_Hit_Ring_Ab: return "Bowl 3" + case .rain_soft: return "Rain" + case .stream1: return "Stream 1" + case .stream2: return "Stream 2" + case .surf1: return "Surf 1" + case .crickets: return "Crickets" + case .tropicalForestMorning: return "Forest morning 1" + case .deciduousForestMorning: return "Forest morning 2" + case .wetland: return "Wetland" + case .riparianZone: return "Riparian Zone" } } var fileName: String { switch self { - case .trainhorn: return "train_horn.mp3" - case .forestStream: return "forest_stream.mp3" case .sbSEM_Synths_Loop4_Nothing_Like_You: return "SEM_Synths_Loop4_Nothing_Like_You.wav" case .sbClave_Loop_LLL: return "Clave_Loop_LLL.wav" case .sbLoop_ToneSD_Boavista: return "Loop_ToneSD_Boavista.wav" @@ -122,7 +133,6 @@ enum Sound: Int, CaseIterable, Identifiable, Localized { case .sbHighChords_Loop_River: return "HighChords_Loop_River.wav" case .sbMatriarchFxs_Loop2_Collider: return "MatriarchFxs_Loop2_Collider.wav" case .FF_SH_bowl_drone_tapping_C: return "FF_SH_bowl_drone_tapping_C.wav" - case .FF_SH_flute_melody_ambient_stacked_profound_Dmin: return "FF_SH_flute_melody_ambient_stacked_profound_Dmin.wav" case .FF_SH_bowl_drone_tap_hold_E: return "FF_SH_bowl_drone_tap_hold_E.wav" case .EX_ATSM_Koshi_Chimes_Aria_Tuning_Texture_Longer_Dm: return "EX_ATSM_Koshi_Chimes_Aria_Tuning_Texture_Longer_Dm.wav" case .EX_ATSM_Bell_Binaural_Flam_Eb: return "EX_ATSM_Bell_Binaural_Flam_Eb.wav" @@ -130,23 +140,32 @@ enum Sound: Int, CaseIterable, Identifiable, Localized { case .EX_ATSM_125_Metal_Percussion_Wing_Loop_Chimey_Dm: return "EX_ATSM_125_Metal_Percussion_Wing_Loop_Chimey_Dm.wav" case .EX_ATSM_140_Koshi_Chimes_Aria_Tuning_Loop_Wondering_Am: return "EX_ATSM_140_Koshi_Chimes_Aria_Tuning_Loop_Wondering_Am.wav" case .EX_ATSM_20_Inch_Highwall_Bowl_Hit_Ring_Ab: return "EX_ATSM_20_Inch_Highwall_Bowl_Hit_Ring_Ab.wav" + case .rain_soft: return "QP01 0011 Rain soft.wav" + case .stream1: return "QP01 0017 Stream sparkling.wav" + case .stream2: return "QP01 0018 Stream moderate.wav" + case .surf1: return "QP01 0022 Surf mod small pebbled.wav" + case .crickets: return "QP01 0028 Insect crickets isolated.wav" + case .tropicalForestMorning: return "QP01 0037 Tropical forest morning.wav" + case .deciduousForestMorning: return "QP01 0050 Deciduous forest morning songbirds robin.wav" + case .wetland: return "QP01 0096 Wetland lake early morning.wav" + case .riparianZone: return "QP01 0096 Wetland lake early morning.wav" } } var playlist: Playlist { switch self { - case .trainhorn: return .fun - case .forestStream: return .nature case .sbSEM_Synths_Loop4_Nothing_Like_You, .sbClave_Loop_LLL, .sbLoop_ToneSD_Boavista, .sbArpeggio_Loop_River, .sbSquareArp_Loop_River, .sbHighChords_Loop_River, .sbMatriarchFxs_Loop2_Collider: return .stephanBodzin - case .FF_SH_bowl_drone_tapping_C, .FF_SH_flute_melody_ambient_stacked_profound_Dmin, .FF_SH_bowl_drone_tap_hold_E, .EX_ATSM_Koshi_Chimes_Aria_Tuning_Texture_Longer_Dm, .EX_ATSM_Bell_Binaural_Flam_Eb, .EX_ATSM_160_Metal_Tonal_Percussion_Sansula_Loop_Call_Am, .EX_ATSM_125_Metal_Percussion_Wing_Loop_Chimey_Dm, .EX_ATSM_140_Koshi_Chimes_Aria_Tuning_Loop_Wondering_Am, .EX_ATSM_20_Inch_Highwall_Bowl_Hit_Ring_Ab: + case .FF_SH_bowl_drone_tapping_C, .FF_SH_bowl_drone_tap_hold_E, .EX_ATSM_Koshi_Chimes_Aria_Tuning_Texture_Longer_Dm, .EX_ATSM_Bell_Binaural_Flam_Eb, .EX_ATSM_160_Metal_Tonal_Percussion_Sansula_Loop_Call_Am, .EX_ATSM_125_Metal_Percussion_Wing_Loop_Chimey_Dm, .EX_ATSM_140_Koshi_Chimes_Aria_Tuning_Loop_Wondering_Am, .EX_ATSM_20_Inch_Highwall_Bowl_Hit_Ring_Ab: return .relax + case .rain_soft, .stream1, .stream2, .surf1, .crickets, .tropicalForestMorning, .deciduousForestMorning, .wetland, .riparianZone: + return .nature } } var isRestricted: Bool { switch self { - case .trainhorn, .forestStream, .sbSEM_Synths_Loop4_Nothing_Like_You: + case .sbSEM_Synths_Loop4_Nothing_Like_You: return false default: return true diff --git a/LeCountdown/Sound_Assets/Nature/QP01 0011 Rain soft.wav b/LeCountdown/Sound_Assets/Nature/QP01 0011 Rain soft.wav new file mode 100644 index 0000000..9db807b Binary files /dev/null and b/LeCountdown/Sound_Assets/Nature/QP01 0011 Rain soft.wav differ diff --git a/LeCountdown/Sound_Assets/Nature/QP01 0017 Stream sparkling.wav b/LeCountdown/Sound_Assets/Nature/QP01 0017 Stream sparkling.wav new file mode 100644 index 0000000..1c523c0 Binary files /dev/null and b/LeCountdown/Sound_Assets/Nature/QP01 0017 Stream sparkling.wav differ diff --git a/LeCountdown/Sound_Assets/Nature/QP01 0018 Stream moderate.wav b/LeCountdown/Sound_Assets/Nature/QP01 0018 Stream moderate.wav new file mode 100644 index 0000000..3c7485e Binary files /dev/null and b/LeCountdown/Sound_Assets/Nature/QP01 0018 Stream moderate.wav differ diff --git a/LeCountdown/Sound_Assets/Nature/QP01 0022 Surf mod small pebbled.wav b/LeCountdown/Sound_Assets/Nature/QP01 0022 Surf mod small pebbled.wav new file mode 100644 index 0000000..cce5830 Binary files /dev/null and b/LeCountdown/Sound_Assets/Nature/QP01 0022 Surf mod small pebbled.wav differ diff --git a/LeCountdown/Sound_Assets/Nature/QP01 0028 Insect crickets isolated.wav b/LeCountdown/Sound_Assets/Nature/QP01 0028 Insect crickets isolated.wav new file mode 100644 index 0000000..c72a70b Binary files /dev/null and b/LeCountdown/Sound_Assets/Nature/QP01 0028 Insect crickets isolated.wav differ diff --git a/LeCountdown/Sound_Assets/Nature/QP01 0037 Tropical forest morning.wav b/LeCountdown/Sound_Assets/Nature/QP01 0037 Tropical forest morning.wav new file mode 100644 index 0000000..b45d337 Binary files /dev/null and b/LeCountdown/Sound_Assets/Nature/QP01 0037 Tropical forest morning.wav differ diff --git a/LeCountdown/Sound_Assets/Nature/QP01 0050 Deciduous forest morning songbirds robin.wav b/LeCountdown/Sound_Assets/Nature/QP01 0050 Deciduous forest morning songbirds robin.wav new file mode 100644 index 0000000..f3ca9d3 Binary files /dev/null and b/LeCountdown/Sound_Assets/Nature/QP01 0050 Deciduous forest morning songbirds robin.wav differ diff --git a/LeCountdown/Sound_Assets/Nature/QP01 0096 Wetland lake early morning.wav b/LeCountdown/Sound_Assets/Nature/QP01 0096 Wetland lake early morning.wav new file mode 100644 index 0000000..79145dd Binary files /dev/null and b/LeCountdown/Sound_Assets/Nature/QP01 0096 Wetland lake early morning.wav differ diff --git a/LeCountdown/Sound_Assets/Nature/QP01 0118 Riparian Zone thrush.wav b/LeCountdown/Sound_Assets/Nature/QP01 0118 Riparian Zone thrush.wav new file mode 100644 index 0000000..a116cff Binary files /dev/null and b/LeCountdown/Sound_Assets/Nature/QP01 0118 Riparian Zone thrush.wav differ diff --git a/LeCountdown/Sound_Assets/forest_stream.mp3 b/LeCountdown/Sound_Assets/forest_stream.mp3 deleted file mode 100644 index b1bda28..0000000 Binary files a/LeCountdown/Sound_Assets/forest_stream.mp3 and /dev/null differ diff --git a/LeCountdown/Sound_Assets/train_horn.mp3 b/LeCountdown/Sound_Assets/train_horn.mp3 deleted file mode 100644 index 339dd10..0000000 Binary files a/LeCountdown/Sound_Assets/train_horn.mp3 and /dev/null differ diff --git a/LeCountdown/en.lproj/AppShortcuts.strings b/LeCountdown/en.lproj/AppShortcuts.strings index 48325fd..fbe7220 100644 --- a/LeCountdown/en.lproj/AppShortcuts.strings +++ b/LeCountdown/en.lproj/AppShortcuts.strings @@ -10,3 +10,4 @@ "Start ${timer} with ${applicationName}" = "Start ${timer} with ${applicationName}"; "Launch ${timer} with ${applicationName}" = "Launch ${timer} with ${applicationName}"; "${applicationName} ${timer}" = "${applicationName} ${timer}"; +"${applicationName} my ${timer}" = "${applicationName} my ${timer}"; diff --git a/LeCountdown/fr.lproj/AppShortcuts.strings b/LeCountdown/fr.lproj/AppShortcuts.strings index c62ca4d..889be0e 100644 --- a/LeCountdown/fr.lproj/AppShortcuts.strings +++ b/LeCountdown/fr.lproj/AppShortcuts.strings @@ -10,3 +10,4 @@ "Start ${timer} with ${applicationName}" = "Démarre ${timer} avec ${applicationName}"; "Launch ${timer} with ${applicationName}" = "Lance ${timer} avec ${applicationName}"; "${applicationName} ${timer}" = "${applicationName} ${timer}"; +"${applicationName} my ${timer}" = "${applicationName} mon ${timer}";