2024-03-16 21:23:02 +00:00
|
|
|
function _init()
|
|
|
|
local bgm=build_bgm()
|
|
|
|
local free_patterns={}
|
|
|
|
for i=0,63 do add(free_patterns,i) end
|
|
|
|
|
|
|
|
bgm:build(free_patterns,0)
|
|
|
|
|
|
|
|
cstore(0x3100,0x3100,0x1200)
|
|
|
|
music(0)
|
|
|
|
end
|
|
|
|
function _update()
|
|
|
|
end
|
|
|
|
function _draw()
|
|
|
|
cls(0)
|
|
|
|
print("enjoy the music!")
|
|
|
|
end
|
|
|
|
|
|
|
|
function build_bgm()
|
2024-03-16 22:21:50 +00:00
|
|
|
local bgm=track:new()
|
2024-03-16 21:23:02 +00:00
|
|
|
|
2024-03-16 23:23:31 +00:00
|
|
|
bgm:add(32)
|
2024-03-16 21:23:02 +00:00
|
|
|
bgm:add(32)
|
|
|
|
|
2024-03-16 23:23:31 +00:00
|
|
|
trumpet=instrument:new(play_trumpet)
|
|
|
|
local perf=performer:new(bgm,0,trumpet,0,{30})
|
|
|
|
perf:play(3,0)
|
|
|
|
perf:play(3,7)
|
|
|
|
perf:play(3,5,"warb")
|
|
|
|
perf:play(1,3)
|
|
|
|
perf:play(1,2)
|
|
|
|
perf:play(1,0)
|
|
|
|
perf:play(2,-2)
|
|
|
|
perf:play(2,-4)
|
|
|
|
perf:play(3,-5,"hold")
|
|
|
|
perf:play(3,5,"hold")
|
|
|
|
perf:play(4,4,"warb")
|
|
|
|
perf:rest(1)
|
|
|
|
perf:play(1,-2)
|
|
|
|
perf:play(1,0)
|
|
|
|
perf:play(1,2)
|
|
|
|
perf:play(1,3)
|
|
|
|
perf:play(1,5)
|
|
|
|
|
|
|
|
perf:play(2,7)
|
|
|
|
perf:play(2,5)
|
|
|
|
perf:play(2,12)
|
|
|
|
perf:play(2,14)
|
|
|
|
perf:play(2,15)
|
|
|
|
perf:play(1,17)
|
|
|
|
perf:play(1,15)
|
|
|
|
perf:play(2,14)
|
|
|
|
perf:play(2,12)
|
|
|
|
perf:play(2,10)
|
|
|
|
perf:play(1,12)
|
|
|
|
perf:play(1,10)
|
|
|
|
perf:play(2,8)
|
|
|
|
perf:play(1,10)
|
|
|
|
perf:play(1,8)
|
|
|
|
perf:play(4,7)
|
|
|
|
perf:rest(4)
|
2024-03-16 21:23:02 +00:00
|
|
|
|
|
|
|
return bgm
|
2024-03-16 23:23:31 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
function play_trumpet(duration,pitch,verbs)
|
|
|
|
local e=0
|
|
|
|
if (verbs.slide) e=1
|
|
|
|
if (verbs.warb) e=2
|
|
|
|
|
|
|
|
local out={}
|
|
|
|
for i=1,duration do
|
|
|
|
out[i]=nflags:new{p=pitch,v=2,w=2,e=e}
|
|
|
|
end
|
|
|
|
if (not verbs.slide) out[1].e=4
|
|
|
|
if (not verbs.hold and #out>1) out[#out].e=5
|
|
|
|
return out
|
|
|
|
end
|