SoundFile.swift 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. //
  2. // File.swift
  3. // SoundFile
  4. //
  5. // Created by Jonas Björkert on 2025-04-21.
  6. // Copyright © 2025 Jon Fawcett. All rights reserved.
  7. //
  8. import Foundation
  9. enum SoundFile: String, CaseIterable, Identifiable, Codable {
  10. case alarmBuzzer = "Alarm_Buzzer"
  11. case alarmClock = "Alarm_Clock"
  12. case alertToneBusy = "Alert_Tone_Busy"
  13. case alertToneRingtone1 = "Alert_Tone_Ringtone_1"
  14. case alertToneRingtone2 = "Alert_Tone_Ringtone_2"
  15. case alienSiren = "Alien_Siren"
  16. case ambulance = "Ambulance"
  17. case analogWatchAlarm = "Analog_Watch_Alarm"
  18. case bigClockTicking = "Big_Clock_Ticking"
  19. case burglarAlarmSiren1 = "Burglar_Alarm_Siren_1"
  20. case burglarAlarmSiren2 = "Burglar_Alarm_Siren_2"
  21. case cartoonAscendClimbSneaky = "Cartoon_Ascend_Climb_Sneaky"
  22. case cartoonAscendThenDescend = "Cartoon_Ascend_Then_Descend"
  23. case cartoonBounceToCeiling = "Cartoon_Bounce_To_Ceiling"
  24. case cartoonDreamyGlissandoHarp = "Cartoon_Dreamy_Glissando_Harp"
  25. case cartoonFailStringsTrumpet = "Cartoon_Fail_Strings_Trumpet"
  26. case cartoonMachineClumsyLoop = "Cartoon_Machine_Clumsy_Loop"
  27. case cartoonSiren = "Cartoon_Siren"
  28. case cartoonTipToeSneakyWalk = "Cartoon_Tip_Toe_Sneaky_Walk"
  29. case cartoonUhOh = "Cartoon_Uh_Oh"
  30. case cartoonVillainHorns = "Cartoon_Villain_Horns"
  31. case cellPhoneRingTone = "Cell_Phone_Ring_Tone"
  32. case chimesGlassy = "Chimes_Glassy"
  33. case computerMagic = "Computer_Magic"
  34. case csfx2Alarm = "CSFX-2_Alarm"
  35. case cuckooClock = "Cuckoo_Clock"
  36. case dholShuffleloop = "Dhol_Shuffleloop"
  37. case discreet = "Discreet"
  38. case earlySunrise = "Early_Sunrise"
  39. case emergencyAlarmCarbonMonoxide = "Emergency_Alarm_Carbon_Monoxide"
  40. case emergencyAlarmSiren = "Emergency_Alarm_Siren"
  41. case emergencyAlarm = "Emergency_Alarm"
  42. case endingReached = "Ending_Reached"
  43. case fly = "Fly"
  44. case ghostHover = "Ghost_Hover"
  45. case goodMorning = "Good_Morning"
  46. case hellYeahSomewhatCalmer = "Hell_Yeah_Somewhat_Calmer"
  47. case inAHurry = "In_A_Hurry"
  48. case indeed = "Indeed"
  49. case insistently = "Insistently"
  50. case jingleAllTheWay = "Jingle_All_The_Way"
  51. case laserShoot = "Laser_Shoot"
  52. case machineCharge = "Machine_Charge"
  53. case magicalTwinkle = "Magical_Twinkle"
  54. case marchingHeavyFootedFatElephants = "Marching_Heavy_Footed_Fat_Elephants"
  55. case marimbaDescend = "Marimba_Descend"
  56. case marimbaFlutterOrShake = "Marimba_Flutter_or_Shake"
  57. case martianGun = "Martian_Gun"
  58. case martianScanner = "Martian_Scanner"
  59. case metallic = "Metallic"
  60. case nightguard = "Nightguard"
  61. case notKiddin = "Not_Kiddin"
  62. case openYourEyesAndSee = "Open_Your_Eyes_And_See"
  63. case orchestralHorns = "Orchestral_Horns"
  64. case oringz = "Oringz"
  65. case pagerBeeps = "Pager_Beeps"
  66. case remembersMeOfAsia = "Remembers_Me_Of_Asia"
  67. case riseAndShine = "Rise_And_Shine"
  68. case rush = "Rush"
  69. case sciFiAirRaidAlarm = "Sci-Fi_Air_Raid_Alarm"
  70. case sciFiAlarmLoop1 = "Sci-Fi_Alarm_Loop_1"
  71. case sciFiAlarmLoop2 = "Sci-Fi_Alarm_Loop_2"
  72. case sciFiAlarmLoop3 = "Sci-Fi_Alarm_Loop_3"
  73. case sciFiAlarmLoop4 = "Sci-Fi_Alarm_Loop_4"
  74. case sciFiAlarm = "Sci-Fi_Alarm"
  75. case sciFiComputerConsoleAlarm = "Sci-Fi_Computer_Console_Alarm"
  76. case sciFiConsoleAlarm = "Sci-Fi_Console_Alarm"
  77. case sciFiEerieAlarm = "Sci-Fi_Eerie_Alarm"
  78. case sciFiEngineShutDown = "Sci-Fi_Engine_Shut_Down"
  79. case sciFiIncomingMessageAlert = "Sci-Fi_Incoming_Message_Alert"
  80. case sciFiSpaceshipMessage = "Sci-Fi_Spaceship_Message"
  81. case sciFiSpaceshipWarmUp = "Sci-Fi_Spaceship_Warm_Up"
  82. case sciFiWarning = "Sci-Fi_Warning"
  83. case signatureCorporate = "Signature_Corporate"
  84. case siriAlertCalibrationNeeded = "Siri_Alert_Calibration_Needed"
  85. case siriAlertDeviceMuted = "Siri_Alert_Device_Muted"
  86. case siriAlertGlucoseDroppingFast = "Siri_Alert_Glucose_Dropping_Fast"
  87. case siriAlertGlucoseRisingFast = "Siri_Alert_Glucose_Rising_Fast"
  88. case siriAlertHighGlucose = "Siri_Alert_High_Glucose"
  89. case siriAlertLowGlucose = "Siri_Alert_Low_Glucose"
  90. case siriAlertMissedReadings = "Siri_Alert_Missed_Readings"
  91. case siriAlertTransmitterBatteryLow = "Siri_Alert_Transmitter_Battery_Low"
  92. case siriAlertUrgentHighGlucose = "Siri_Alert_Urgent_High_Glucose"
  93. case siriAlertUrgentLowGlucose = "Siri_Alert_Urgent_Low_Glucose"
  94. case siriCalibrationNeeded = "Siri_Calibration_Needed"
  95. case siriDeviceMuted = "Siri_Device_Muted"
  96. case siriGlucoseDroppingFast = "Siri_Glucose_Dropping_Fast"
  97. case siriGlucoseRisingFast = "Siri_Glucose_Rising_Fast"
  98. case siriHighGlucose = "Siri_High_Glucose"
  99. case siriLowGlucose = "Siri_Low_Glucose"
  100. case siriMissedReadings = "Siri_Missed_Readings"
  101. case siriTransmitterBatteryLow = "Siri_Transmitter_Battery_Low"
  102. case siriUrgentHighGlucose = "Siri_Urgent_High_Glucose"
  103. case siriUrgentLowGlucose = "Siri_Urgent_Low_Glucose"
  104. case softMarimbaPadPositive = "Soft_Marimba_Pad_Positive"
  105. case softWarmAiryOptimistic = "Soft_Warm_Airy_Optimistic"
  106. case softWarmAiryReassuring = "Soft_Warm_Airy_Reassuring"
  107. case storeDoorChime = "Store_Door_Chime"
  108. case sunny = "Sunny"
  109. case thunderSoundFX = "Thunder_Sound_FX"
  110. case timeHasCome = "Time_Has_Come"
  111. case tornadoSiren = "Tornado_Siren"
  112. case twoTurtleDoves = "Two_Turtle_Doves"
  113. case unpaved = "Unpaved"
  114. case wakeUpWillYou = "Wake_Up_Will_You"
  115. case winGain = "Win_Gain"
  116. case wrongAnswer = "Wrong_Answer"
  117. // Identifiable conformance
  118. var id: SoundFile { self }
  119. /// Human-friendly name (spaces instead of underscores)
  120. var displayName: String {
  121. rawValue
  122. .replacingOccurrences(of: "_", with: " ")
  123. .replacingOccurrences(of: " ", with: " ")
  124. }
  125. }