Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --monitot size 5x4
- shell.run("delete caAPI")
- shell.run("pastebin get EDLdR1nF caAPI")
- os.loadAPI("caAPI")
- local radio_number = caAPI.get_hardware("openfm_radio")
- if radio_number == "openfm_radio_off" then
- shell.run("clear")
- else
- fm = peripheral.wrap(radio_number)
- end
- local fileDataX = {}
- --install database--
- local found = fs.exists("database/radio.db")
- if found == false then
- local file = fs.open("database/radio.db","w")
- file.writeLine("Music Trap#http://95.141.24.73:80")
- file.writeLine("cyber#http://caworks-sl.de:8000")
- file.close()
- end
- --set monitor
- function set_monitor()
- local monitor_number = caAPI.get_hardware("monitor")
- local found = fs.exists("config/monitor.cfg")
- if found == true then
- file = fs.open("config/monitor.cfg","r")
- local fileData = {}
- local line = file.readLine()
- repeat
- table.insert(fileData,line)
- line = file.readLine()
- until line == nil
- file.close()
- monitor_number = fileData[1]
- end
- mon = peripheral.wrap(monitor_number)
- end
- --draw screen
- function draw_screen()
- mon.setBackgroundColor(colors.white)
- mon.setTextColor(colors.white)
- mon.clear()
- mon.setBackgroundColor(colors.white)
- mon.setCursorPos(1,1)
- mon.setBackgroundColor(colors.blue)
- mon.write("openFM Radio 0.1 ")
- mon.setCursorPos(50,1)
- mon.setBackgroundColor(colors.red)
- mon.setTextColor(colors.black)
- mon.write("X")
- mon.setCursorPos(3,2)
- mon.setBackgroundColor(colors.gray)
- mon.setTextColor(colors.black)
- mon.write("Play")
- mon.setCursorPos(9,2)
- mon.setBackgroundColor(colors.gray)
- mon.setTextColor(colors.black)
- mon.write("Add a New Stream")
- mon.setCursorPos(26,2)
- mon.setBackgroundColor(colors.gray)
- mon.setTextColor(colors.black)
- mon.write("Delete Stream")
- mon.setCursorPos(41,2)
- mon.setBackgroundColor(colors.gray)
- mon.setTextColor(colors.black)
- mon.write("Stop")
- mon.setCursorPos(46,2)
- mon.setBackgroundColor(colors.gray)
- mon.setTextColor(colors.black)
- mon.write("V-")
- mon.setCursorPos(49,2)
- mon.setBackgroundColor(colors.gray)
- mon.setTextColor(colors.black)
- mon.write("V+")
- mon.setCursorPos(1,3)
- mon.setBackgroundColor(colors.black)
- mon.setTextColor(colors.black)
- mon.write(" ")
- mon.setCursorPos(1,5)
- mon.setBackgroundColor(colors.black)
- mon.setTextColor(colors.black)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.setBackgroundColor(colors.black)
- mon.setTextColor(colors.black)
- mon.write(" ")
- for yi = 4,25 do
- mon.setCursorPos(1,yi)
- mon.write(" ")
- mon.setCursorPos(50,yi)
- mon.write(" ")
- yi = yi + 1
- end
- mon.setCursorPos(2,4)
- mon.setBackgroundColor(colors.white)
- mon.setTextColor(colors.black)
- mon.write("Play Name IP")
- end
- --load DB
- function load_db()
- file = fs.open("database/radio.db","r")
- fileDataX = {}
- local line = file.readLine()
- repeat
- table.insert(fileDataX,line)
- line = file.readLine()
- until line == nil
- file.close()
- mon.setBackgroundColor(colors.white)
- mon.setTextColor(colors.black)
- local startcursor = 6
- for iu=1,#fileDataX do
- data = fileDataX[iu]
- index = string.find(data,"#")
- mon.setBackgroundColor(colors.gray)
- mon.setCursorPos(2,startcursor)
- mon.write("> "..iu..".")
- mon.setBackgroundColor(colors.white)
- mon.setCursorPos(7,startcursor)
- mon.write(string.sub(data,1,index-1))
- mon.setBackgroundColor(colors.white)
- mon.setCursorPos(25,startcursor)
- mon.write(string.sub(data,index+1))
- startcursor = startcursor + 1
- end
- end
- --touch
- function touch()
- db_power = true
- while db_power == true do
- mon.setCursorPos(35,4)
- mon.setBackgroundColor(colors.white)
- mon.setTextColor(colors.black)
- vol = fm.getVol()
- indexB = string.find(vol,".")
- vol = string.sub(vol,indexB+2)
- mon.write("Volume:"..vol)
- event,side,x,y = os.pullEvent()
- if event == "monitor_touch" then
- if x == 50 and y == 1 then
- db_power = false
- shell.run("clear")
- end
- if x >= 3 and x <= 7 and y == 2 then
- fm.start()
- fm.setScreenText("Play")
- end
- if x >= 8 and x <= 24 and y == 2 then
- add()
- db_power = false
- end
- if x >= 26 and x <= 40 and y == 2 then
- delete()
- db_power = false
- end
- if x >= 41 and x <= 44 and y == 2 then
- fm.setScreenText("Stop")
- fm.stop()
- end
- if x >= 46 and x <= 47 and y == 2 then
- fm.volDown()
- end
- if x >= 49 and x <= 50 and y == 2 then
- fm.volUp()
- end
- if y == 6 then
- data = fileDataX[1]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 7 then
- data = fileDataX[2]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 8 then
- data = fileDataX[3]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 9 then
- data = fileDataX[4]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 10 then
- data = fileDataX[5]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 11 then
- data = fileDataX[6]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 12 then
- data = fileDataX[7]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 13 then
- data = fileDataX[8]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 14 then
- data = fileDataX[9]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 15 then
- data = fileDataX[10]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 16 then
- data = fileDataX[11]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 17 then
- data = fileDataX[12]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 18 then
- data = fileDataX[13]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 19 then
- data = fileDataX[14]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 20 then
- data = fileDataX[15]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 21 then
- data = fileDataX[16]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 22 then
- data = fileDataX[17]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 23 then
- data = fileDataX[18]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- if y == 24 then
- data = fileDataX[19]
- index = string.find(data,"#")
- name = string.sub(data,1,index-1)
- ip_ad = string.sub(data,index+1)
- mon.setTextColor(colors.white)
- mon.setBackgroundColor(colors.black)
- mon.setCursorPos(1,26)
- mon.write(" ")
- mon.setCursorPos(1,26)
- mon.write("Play: "..name.." "..ip_ad)
- mon.setCursorPos(1,1)
- fm.setScreenText(name)
- --fm.setURL(ip_ad)
- fm.start()
- end
- end
- end
- end
- --add stream
- function add()
- mon.setTextColor(colors.black)
- mon.setBackgroundColor(colors.white)
- mon.setCursorPos(1,26)
- mon.write("Name:")
- nam = read()
- mon.setCursorPos(25,26)
- mon.write("Address:")
- ad = read()
- save = nam.."#"..ad
- local file = fs.open("database/radio.db","a")
- file.writeLine(save)
- file.close()
- mon.setCursorPos(2,25)
- mon.write(save)
- sleep(3)
- draw_screen()
- load_db()
- touch()
- end
- -- del stream
- function delete()
- mon.setTextColor(colors.black)
- mon.setBackgroundColor(colors.white)
- mon.setCursorPos(1,26)
- mon.write("Line Number:")
- num = read()
- table.remove(fileDataX,num)
- local file = fs.open("database/radio.db","w")
- for iux=1,#fileDataX do
- file.writeLine(fileDataX[iux])
- end
- file.close()
- draw_screen()
- load_db()
- touch()
- end
- --prog
- set_monitor()
- draw_screen()
- load_db()
- touch()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement