diff --git a/pairity_main.lua b/pairity_main.lua index 7d90791..246589c 100644 --- a/pairity_main.lua +++ b/pairity_main.lua @@ -4,20 +4,6 @@ local modem = peripheral.find("modem") local monitor = peripheral.wrap("top") controlRoomSpeakers = peripheral.find("speaker") -local speakers = { - peripheral.wrap("speaker_0"), - peripheral.wrap("speaker_1"), - peripheral.wrap("speaker_2"), - peripheral.wrap("speaker_3"), - peripheral.wrap("speaker_4"), - peripheral.wrap("speaker_5"), - peripheral.wrap("speaker_6"), - peripheral.wrap("speaker_7"), - peripheral.wrap("speaker_8"), - peripheral.wrap("speaker_9"), - peripheral.wrap("speaker_10"), - peripheral.wrap("speaker_11"), -} function setNewLine() local x,y = monitor.getCursorPos() @@ -30,8 +16,8 @@ local function startup() --speakerDriver.playControlRoomAlarm(controlRoomSpeakers) --speakerDriver.playExternalAlarm(controlRoomSpeakers) --speakerDriver.playInternalAlarm(controlRoomSpeakers) - speakerDriver.playTTSFile(speakers, "ELLO MATE LOVELY DAY INIT YOU GOT ANYYYY BEEEANSS AND TOAST ON YA MATE ID LOVE TO HAVE SOME BEANS N TOAST") - speakerDriver.playTTSFile(speakers, "ITS ME NOVA ELLO THEY GOT ME LOCKED IN A BLOOOODY BOX MATE") + speakerDriver.playTTSFile(controlRoomSpeakers, "ELLO MATE LOVELY DAY INIT YOU GOT ANYYYY BEEEANSS AND TOAST ON YA MATE ID LOVE TO HAVE SOME BEANS N TOAST") + speakerDriver.playTTSFile(controlRoomSpeakers, "ITS ME NOVA ELLO THEY GOT ME LOCKED IN A BLOOOODY BOX MATE") end local function run() diff --git a/speaker_driver.lua b/speaker_driver.lua index d3e8b75..2d19296 100644 --- a/speaker_driver.lua +++ b/speaker_driver.lua @@ -17,40 +17,18 @@ local function randomFileName() return name end - -local function playSingleSound(speaker, values) - local decoded = decoder(values) - speaker.playAudio(decoded, 3) -end - local function playSound(speaker, fileName) - - local fileStream = fs.open(getFileName(fileName), "r") - local data = fileStream.readAll() - local speakers = table.pack(peripheral.find("speaker")) - local tasks = {} - - for i = 1, speakers.n do - tasks[i] = function() - playSingleSound(speakers[i], data) + local fileStream = getFileName(fileName) + local values = io.lines(fileStream, 16 * 1024) + for input in values do + print("playing audo....") + local decoded = decoder(input) + while not speaker.playAudio(decoded, 3) do + os.pullEvent("speaker_audio_empty") end end - - parallel.waitForAll(table.unpack(tasks, 1, speakers.n)) end --- local function playSound(speaker, fileName) --- local fileStream = getFileName(fileName) --- local values = io.lines(fileStream, 16 * 1024) --- for input in values do --- print("playing audo....") --- local decoded = decoder(input) --- while not speaker.playAudio(decoded, 3) do --- os.pullEvent("speaker_audio_empty") --- end --- end --- end - local function playControlRoomAlarm(speakers) playSound(speakers,"short_control_alarm")