From 47d17734c125611ffb2c65dc7b06177aa2b644d5 Mon Sep 17 00:00:00 2001 From: Laurent Date: Mon, 27 Mar 2023 17:38:52 +0200 Subject: [PATCH] Define playlists for presets --- LeCountdown.xcodeproj/project.pbxproj | 2 +- LeCountdown/Sound/Sound.swift | 2 +- LeCountdown/Views/PresetsView.swift | 25 ++++++++++----------- LeCountdown/Views/Reusable/TimerModel.swift | 4 ++-- 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/LeCountdown.xcodeproj/project.pbxproj b/LeCountdown.xcodeproj/project.pbxproj index 7d133c7..6aca499 100644 --- a/LeCountdown.xcodeproj/project.pbxproj +++ b/LeCountdown.xcodeproj/project.pbxproj @@ -1475,7 +1475,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; diff --git a/LeCountdown/Sound/Sound.swift b/LeCountdown/Sound/Sound.swift index d16abcd..852ce99 100644 --- a/LeCountdown/Sound/Sound.swift +++ b/LeCountdown/Sound/Sound.swift @@ -181,7 +181,7 @@ enum Sound: Int, CaseIterable, Identifiable, Localized { var isRestricted: Bool { switch self { - case .sbSEM_Synths_Loop4_Nothing_Like_You, .sbLoop_ToneSD_Boavista, .FF_SH_bowl_drone_tapping_C, .EX_ATSM_Bell_Binaural_Flam_Eb, .tropicalForestMorning, .rain_soft: + case .sbSEM_Synths_Loop4_Nothing_Like_You, .sbLoop_ToneSD_Boavista, .FF_SH_bowl_drone_tapping_C, .EX_ATSM_Bell_Binaural_Flam_Eb, .tropicalForestMorning, .rain_soft, .ESM_Ambient_Game_Menu_Soft_Wood: return false default: return true diff --git a/LeCountdown/Views/PresetsView.swift b/LeCountdown/Views/PresetsView.swift index 6a6b80f..de5ef77 100644 --- a/LeCountdown/Views/PresetsView.swift +++ b/LeCountdown/Views/PresetsView.swift @@ -250,22 +250,21 @@ enum Preset: Int, Identifiable, CaseIterable { } } - var sound: Set { + var playlist: Playlist { switch self { - case .softBoiled: return [] - case .mediumBoiledEggs: return [] - case .hardBoiledEggs: return [] - case .meditation: return [] - case .nap: return [] - case .runningSplits: return [] - case .toothbrushing: return [] - case .blackTea: return [] - case .greenTea: return [] - case .pasta: return [] - case .rice: return [] + case .softBoiled, .mediumBoiledEggs, .hardBoiledEggs, .pasta, .rice, .runningSplits, .toothbrushing: + return .stephanBodzin + case .meditation, .blackTea, .greenTea: + return .relax + case .nap: + return .nature } } + var sound: Set { + return Set(SoundCatalog.main.sounds(for: self.playlist)) + } + var formattedDuration: String { let group = self.intervalGroup let count = group.repeatCount.formatted() @@ -283,7 +282,7 @@ enum Preset: Int, Identifiable, CaseIterable { } var soundTitle: String { - return "Great sound" + return self.playlist.localizedString } } diff --git a/LeCountdown/Views/Reusable/TimerModel.swift b/LeCountdown/Views/Reusable/TimerModel.swift index 0288683..c3b4463 100644 --- a/LeCountdown/Views/Reusable/TimerModel.swift +++ b/LeCountdown/Views/Reusable/TimerModel.swift @@ -81,7 +81,7 @@ class SoundModel: ObservableObject, SoundHolder { fileprivate func _togglePlaylist(_ playlist: Playlist) { // toggle playlist if necessary - let playlistSounds: [Sound] = SoundCatalog.main.sounds(for: playlist) + let playlistSounds = SoundCatalog.main.sounds(for: playlist) if self.sounds.isSuperset(of: playlistSounds) { self.playlists.insert(playlist) } else { @@ -92,7 +92,7 @@ class SoundModel: ObservableObject, SoundHolder { func selectPlaylist(_ playlist: Playlist, selected: Bool) { - let sounds: [Sound] = SoundCatalog.main.sounds(for: playlist) + let sounds = SoundCatalog.main.sounds(for: playlist) if selected { self.playlists.insert(playlist) self.sounds.formUnion(sounds)