MatthewGB

SpeakerController

Apr 10th, 2014
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.50 KB | None | 0 0
  1. print("Speaker control")
  2. ch = 5
  3. write("Speakers available: ")
  4. sa = tonumber(read())
  5. ss = {}
  6. i = 0
  7. while i<sa do
  8.  write("ID: :")
  9.  id = read()
  10.  s = peripheral.wrap("speaker_"..id)
  11.  si = {}
  12.  ss[i] = si
  13.  print("Speaker "..i.." wrapped!")
  14.  si[0] = s
  15.  si[1] = false
  16.  si[2] = 500
  17.  i = i + 1
  18. end
  19. print(sa.." speakers intialized")
  20. quit = false
  21. i = 0
  22. while quit == false do
  23.  while i<sa do
  24.   print("Speaker "..i.." fq "..ss[i][2].." state "..tostring(ss[i][1]))
  25.   if ss[i][1] == true then
  26.    ss[i][0].start(ch, ss[i][2])
  27.   else
  28.    ss[i][0].stop(ch)
  29.   end
  30.   i = i + 1
  31.  end
  32.  ntd = i + 1
  33.  term.clear()
  34.  i = 0
  35.  while i<sa do
  36.   write("Speaker: "..i)
  37.   write("        ")
  38.   write("On: "..tostring(ss[i][1]))
  39.   write("        ")
  40.   print("Frequency: "..ss[i][2])
  41.   i = i + 1
  42.  end
  43.  write("Cmd: ")
  44.  cmd = read()
  45.  write("Amount: ")
  46.  a = tonumber(read())
  47.  write("Speaker number: ")
  48.  i = tonumber(read())
  49.  if cmd == "shutdown" then
  50.   s.shutdown()
  51.  elseif cmd == "tog" then
  52.   if ss[i][1] == true then
  53.    ss[i][1] = false
  54.   else
  55.    ss[i][1] = true
  56.   end
  57.  elseif cmd == "on" then
  58.   ss[i][1] = true
  59.  elseif cmd == "off" then
  60.   ss[i][1] = false
  61.  elseif cmd == "fq" then
  62.   ss[i][3] = a
  63.  elseif cmd == "db" then
  64.   ss[i][1].setAttenuation(a)
  65.  elseif cmd == "quit" then
  66.   error()
  67.  elseif cmd == "fqt" then
  68.   ii = 1000
  69.   iii = 20000
  70.   while ii<iii do
  71.    ss[i][1].shutdown(ch)
  72.    ss[i][1].start(ch, i)
  73.    sleep(0.025)
  74.    ii = ii + 100
  75.    print("Fq "..i)
  76.   end
  77.  else
  78.   print("Not a cmd")
  79.  end
  80. end
Advertisement
Add Comment
Please, Sign In to add comment