Advertisement
DOGGYWOOF

Untitled

Nov 2nd, 2024 (edited)
12
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. local diskDrive = "disk" -- Name of the disk drive (adjust if necessary)
  2.  
  3. -- List of valid music disks
  4. local musicDisks = {
  5. ["chirp"] = true,
  6. ["cat"] = true,
  7. ["blocks"] = true,
  8. ["far"] = true,
  9. ["mall"] = true,
  10. ["mellohi"] = true,
  11. ["stal"] = true,
  12. ["strad"] = true,
  13. ["wait"] = true,
  14. ["11"] = true,
  15. ["otherside"] = true,
  16. }
  17.  
  18. -- Function to check if a disk is a valid music disk
  19. local function isValidDisk()
  20. for diskName in pairs(musicDisks) do
  21. if fs.exists(diskDrive .. "/" .. diskName) then
  22. return diskName
  23. end
  24. end
  25. return nil
  26. end
  27.  
  28. local function playDisk(diskName)
  29. print("Playing disk: " .. diskName)
  30. os.run({}, "diskAudioTitle", diskDrive) -- Play the audio from the disk
  31. end
  32.  
  33. local function checkDisk()
  34. while true do
  35. local diskName = isValidDisk()
  36.  
  37. if diskName then
  38. playDisk(diskName)
  39. print("Insert another disk or eject the current disk.")
  40. else
  41. print("No valid disk found. Please insert a music disk.")
  42. end
  43.  
  44. os.sleep(1) -- Check every second
  45. end
  46. end
  47.  
  48. local function diskEvent()
  49. while true do
  50. local event, side = os.pullEvent("disk")
  51.  
  52. if event == "disk" then
  53. local diskName = isValidDisk()
  54. if diskName then
  55. print("Disk inserted: " .. diskName)
  56. playDisk(diskName)
  57. else
  58. print("No valid disk detected.")
  59. end
  60. elseif event == "disk_eject" then
  61. print("Disk ejected.")
  62. print("Searching for new disks...")
  63. end
  64.  
  65. os.sleep(1) -- Slight delay to prevent spamming
  66. end
  67. end
  68.  
  69. -- Main program loop
  70. parallel.waitForAny(checkDisk, diskEvent)
  71.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement