Define playlists for presets

main
Laurent 3 years ago
parent c7780497a6
commit 47d17734c1
  1. 2
      LeCountdown.xcodeproj/project.pbxproj
  2. 2
      LeCountdown/Sound/Sound.swift
  3. 25
      LeCountdown/Views/PresetsView.swift
  4. 4
      LeCountdown/Views/Reusable/TimerModel.swift

@ -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;

@ -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

@ -250,22 +250,21 @@ enum Preset: Int, Identifiable, CaseIterable {
}
}
var sound: Set<Sound> {
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<Sound> {
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
}
}

@ -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)

Loading…
Cancel
Save