Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #init
- function init()
- mem.sounds = { {"Still Alive", "0.2","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","l","E","H","E","l","E","H","E","j","B","H","B","j","B","H","B","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","l","E","H","E","l","E","H","E","j","B","H","B","j","B","H","B","K","C","F","J","AF","J","AF","AE","H","AE","kC","K","kC","E","AF","J","AF","AF","J","AF","AE","H","AE","kC","K","kC","E","AF","J","AF","kC","H","kC","H","AE","H","AE","AF","J","AF","J","CF","J","CF","CFJ","k","C","H","kC","kCH","jB","H","jB","H","c","cjCG","CH","G","C","c","cjCG","CH","G","C","c","cjCG","CH","G","C","c","cjCG","CH","G","C","c","cjCG","CH","G","C","c","cjCG","CH","G","C","c","cjCG","CH","G","C","c","cjCG","CH","G","C","e","ehCH","ehCH","ehCH","j","ehCE","ehCE","ehCE","c","cjCG","CH","G","C","c","cjCG","CH","G","C","c","cjCG","CH","G","C","c","cjCG","CH","G","C","c","cjCG","CH","G","C","c","cjCG","CH","G","C","e","ehCH","ehCH","ehCH","j","ehCE","ehCE","ehCE","fkC","fkC","fkC","fkC","fkC","fkC","fkC","AF","J","AF","AE","H","AE","kC","K","kC","E","AF","J","AF","AF","J","AF","AE","H","AE","kC","K","kC","E","AF","J","AF","kC","H","kC","H","AE","H","AE","AF","J","AF","J","CF","J","CF","CFJ","k","C","H","kC","kCH","jB","H","jB","H","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","l","E","H","E","l","E","H","E","j","B","H","B","j","B","H","B","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","l","E","H","E","l","E","H","E","j","B","H","B","j","B","H","B","k","C","J","F","J","F","J","F","AF","J","AF","AE","H","AE","kC","K","kC","E","AF","J","AF","AF","J","AF","AE","H","AE","kC","K","kC","E","AF","J","AF","kC","H","kC","H","AE","H","AE","AF","J","AF","J","CF","J","CF","CFJ","k","C","H","kC","kCH","jB","H","jB","H","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","l","E","H","E","l","E","H","E","j","B","H","B","j","B","H","B","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","j","C","G","C","l","C","G","C","l","E","H","E","l","E","H","E","j","B","H","B","j","B","H","B","k","C","F","J", ""},
- {"Happy Pezday", "0.2","a","a","c","a","f","e","a","a","c","a","h","f","a","a","A","j","f","e","c","k","k","j","f","h","f", ""},
- {"Mission Impossible", "0.2","h","","h","","k","A","h","","h","","f","g","h","","h","","k","A","h","","h","","f","g","K","H","C","","","K","H","B","","","K","H","A","","","k","A","","","k","h","H","","","k","h","G","","","k","h","F","","","E","D","","hH","","hH","","kK","A","hH","","hH","","fF","gG","Hh",""},
- {"You Look Good to Me",
- "0.2","ehA","E","H","G","J","H","G","H","chl","C","H","G","J","H","G","H","chk","C","H","G","J","H","G","H","bej","B","H","G","J","H","G","H","afi","A","F","E","H","F","E","F","aeh","A","E","D","F","E","D","E","ch","l","C","B","E","C","A","l","ehA","E","aeh","E","aehA",""},
- {"PSKOVSKIY PRON", "0.2","j","","E","E","h","l","C","","j","A","E","E","h","l","C","","f","j","A","A","h","l","C","j","","E","E","h","l","C","","j","A","E","E","h","l","C","","f","j","A","A","h","l","C",""},
- {"Boomer", "0.2","E","H","","","","H","E","","","","J","H","J","H","J","H","J","H","J","L","","","","ehlE","H","ehl","ehl","","ehl","ehl","","ehAH","E","ehA","ehA","","ehA","ehA","","aejJ","H","aejJ","aejH","J","aejH","aejJ","H","aejJ","L","aej","aej","","aej","aej","ehlE","H","ehl","ehl","","ehl","ehl","","ehAH","E","ehA","ehA","","ehA","ehA","","aejJ","H","aejJ","aejH","J","aejH","aejJ","H","aejJ","L","aej","aej","","aej","aej",""},
- {"Sex 'n' Drugs", "0.2","bBI","A","B","F","A","B","I","A","I","A","B","F","A","B","I","A","kI","A","B","F","A","B","I","A","I","A","B","F","A","B","I","A","aAH","k","A","D","k","A","H","A","H","k","A","D","k","A","H","A","fH","i","k","F","i","k","h","i","H","i","k","F","i","k","h","i","bBI","A","B","F","A","B","I","A","I","A","B","F","A","B","I","A","kI","A","B","F","A","B","I","A","I","A","B","F","A","B","I","A","aAH","k","A","D","k","A","H","A","H","k","A","D","k","A","H","A","fH","i","k","F","i","k","h","i","H","i","k","F","i","k","h","i",""},
- {"Hymn SS", "0.2","C","C","l","A","","j","h","j","","C","C","A","l","A","","j","","l","h","j","","","j","A","C","E","","E","","F","C","E","","","C","C","l","A","","j","h","j","","C","C","A","l","A","","j","","l","h","j",""},
- {"Autumn Leaves",
- "0.2","E","G","H","A","","","aehl","","","aegl","C","E","G","glCL","L","","ehlC","A","C","E","Jeja","","l","B","D","chlH",""}
- }
- mem.soundNum = 1
- mem.melody = {}
- end
- function show(msg)
- digiline_send("lcd0", "********** "..msg.." **********")
- end
- function start(pin)
- mem.note = 3 --first notes always in arr[3]
- if(pin == "C") then
- mem.soundNum = mem.soundNum + 1
- if(mem.soundNum > #mem.sounds) then mem.soundNum = 1 end
- elseif(pin == "A") then
- mem.soundNum = mem.soundNum - 1
- if(mem.soundNum < 1) then mem.soundNum = #mem.sounds end
- end
- mem.melody = mem.sounds[mem.soundNum]
- mem.len = #mem.melody
- mem.rate = tonumber(mem.melody[2])
- if(mem.rate < 0.1) then mem.rate = 0.1 end
- show(mem.melody[1])
- interrupt(mem.rate, "timer")
- end
- function playnext()
- abc = {} --[97,98,99]
- def = {} --[100,101,102]
- ghi = {} --[103,104,105]
- jkl = {} --[106,107,108]
- ABC0 = {} --[65,66,67]
- DEF0 = {} --[68,69,70]
- GHI0 = {} --[71,72,73]
- JKL0 = {} --[74,75,76]
- len = #mem.melody[mem.note]
- for i = 1, len do
- --ASCII value of character
- byte = string.byte(mem.melody[mem.note], i)
- if(byte < 68) then
- ABC0[#ABC0+1] = byte
- elseif(byte < 71) then
- DEF0[#DEF0+1] = byte
- elseif(byte < 74) then
- GHI0[#GHI0+1] = byte
- elseif(byte < 77) then
- JKL0[#JKL0+1] = byte
- elseif(byte < 100) then
- abc[#abc+1] = byte
- elseif(byte < 103) then
- def[#def+1] = byte
- elseif(byte < 106) then
- ghi[#ghi+1] = byte
- else
- jkl[#jkl+1] = byte
- end
- end
- if(#abc > 0) then digiline_send("ch_abc", abc) end
- if(#def > 0) then digiline_send("ch_def", def) end
- if(#ghi > 0) then digiline_send("ch_ghi", ghi) end
- if(#jkl > 0) then digiline_send("ch_jkl", jkl) end
- if(#ABC0 > 0) then digiline_send("ch_ABC", ABC0) end
- if(#DEF0 > 0) then digiline_send("ch_DEF", DEF0) end
- if(#GHI0 > 0) then digiline_send("ch_GHI", GHI0) end
- if(#JKL0 > 0) then digiline_send("ch_JKL", JKL0) end
- end
- if(event.type == "program") then
- init()
- elseif(event.type == "on") then
- start(event.pin.name)
- elseif(event.iid == "timer") then
- if(mem.note <= mem.len) then
- playnext()
- interrupt(mem.rate, "timer")
- end
- mem.note = mem.note + 1
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement