Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local diskDrive = "disk" -- Name of the disk drive (adjust if necessary)
- -- List of valid music disks
- local musicDisks = {
- ["chirp"] = true,
- ["cat"] = true,
- ["blocks"] = true,
- ["far"] = true,
- ["mall"] = true,
- ["mellohi"] = true,
- ["stal"] = true,
- ["strad"] = true,
- ["wait"] = true,
- ["11"] = true,
- ["otherside"] = true,
- }
- -- Function to check if a disk is a valid music disk
- local function isValidDisk()
- for diskName in pairs(musicDisks) do
- if fs.exists(diskDrive .. "/" .. diskName) then
- return diskName
- end
- end
- return nil
- end
- local function playDisk(diskName)
- print("Playing disk: " .. diskName)
- os.run({}, "diskAudioTitle", diskDrive) -- Play the audio from the disk
- end
- local function checkDisk()
- while true do
- local diskName = isValidDisk()
- if diskName then
- playDisk(diskName)
- print("Insert another disk or eject the current disk.")
- else
- print("No valid disk found. Please insert a music disk.")
- end
- os.sleep(1) -- Check every second
- end
- end
- local function diskEvent()
- while true do
- local event, side = os.pullEvent("disk")
- if event == "disk" then
- local diskName = isValidDisk()
- if diskName then
- print("Disk inserted: " .. diskName)
- playDisk(diskName)
- else
- print("No valid disk detected.")
- end
- elseif event == "disk_eject" then
- print("Disk ejected.")
- print("Searching for new disks...")
- end
- os.sleep(1) -- Slight delay to prevent spamming
- end
- end
- -- Main program loop
- parallel.waitForAny(checkDisk, diskEvent)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement