GISTS/mikrotik/musiques/mario-grin.rsc

74 lignes
10 Kio
Text

##
### (c)Peter 'grin' Gervai, 2017
##
## CC_BY-SA-4.0 / GPLv3+
##
:local chan1 "880,2,0,1,880,2,0,4,880,2,0,4,698,2,0,1,880,2,0,4,1047,2,0,22,698,2,0,7,523,2,0,7,440,2,0,7,587,2,0,4,659,2,0,4,622,2,0,1,587,2,0,4,523,2,0,2,880,2,0,2,1047,2,0,2,1175,2,0,4,932,2,0,1,1047,2,0,4,880,2,0,4,698,2,0,1,784,2,0,1,659,2,0,7,698,2,0,7,523,2,0,7,440,2,0,7,587,2,0,4,659,2,0,4,622,2,0,1,587,2,0,4,523,2,0,2,880,2,0,2,1047,2,0,2,1175,2,0,4,932,2,0,1,1047,2,0,4,880,2,0,4,698,2,0,1,784,2,0,1,659,2,0,13,1047,2,0,1,988,2,0,1,932,2,0,1,831,2,0,4,880,2,0,4,554,2,0,1,587,2,0,1,698,2,0,4,587,2,0,1,698,2,0,1,784,2,0,7,1047,2,0,1,988,2,0,1,932,2,0,1,831,2,0,4,880,2,0,4,1397,2,0,4,1397,2,0,1,1397,2,0,16,1047,2,0,1,988,2,0,1,932,2,0,1,831,2,0,4,880,2,0,4,554,2,0,1,587,2,0,1,698,2,0,4,587,2,0,1,698,2,0,1,784,2,0,7,831,2,0,7,784,2,0,7,698,2,0,28,1047,2,0,1,988,2,0,1,932,2,0,1,831,2,0,4,880,2,0,4,554,2,0,1,587,2,0,1,698,2,0,4,587,2,0,1,698,2,0,1,784,2,0,7,1047,2,0,1,988,2,0,1,932,2,0,1,831,2,0,4,880,2,0,4,1397,2,0,4,1397,2,0,1,1397,2,0,16,1047,2,0,1,988,2,0,1,932,2,0,1,831,2,0,4,880,2,0,4,554,2,0,1,587,2,0,1,698,2,0,4,587,2,0,1,698,2,0,1,784,2,0,7,831,2,0,7,784,2,0,7,698,2,0,22,698,2,0,1,698,2,0,4,698,2,0,4,698,2,0,1,784,2,0,4,880,2,0,1,698,2,0,4,587,2,0,1,523,2,0,10,698,2,0,1,698,2,0,4,698,2,0,4,698,2,0,1,784,2,0,1,880,2,0,25,698,2,0,1,698,2,0,4,698,2,0,4,698,2,0,1,784,2,0,4,880,2,0,1,698,2,0,4,587,2,0,1,523,2,0,10,880,2,0,1,880,2,0,4,880,2,0,4,698,2,0,1,880,2,0,4,1047,2,0,22,698,2,0,7,523,2,0,7,440,2,0,7,587,2,0,4,659,2,0,4,622,2,0,1,587,2,0,4,523,2,0,2,880,2,0,2,1047,2,0,2,1175,2,0,4,932,2,0,1,1047,2,0,4,880,2,0,4,698,2,0,1,784,2,0,1,659,2,0,7,698,2,0,7,523,2,0,7,440,2,0,7,587,2,0,4,659,2,0,4,622,2,0,1,587,2,0,4,523,2,0,2,880,2,0,2,1047,2,0,2,1175,2,0,4,932,2,0,1,1047,2,0,4,880,2,0,4,698,2,0,1,784,2,0,1,659,2,0,7,880,2,0,1,698,2,0,4,523,2,0,7,554,2,0,4,587,2,0,1,932,2,0,4,932,2,0,1,587,2,0,10,659,2,0,2,1175,2,0,2,1175,2,0,2,1175,2,0,2,1047,2,0,2,932,2,0,2,880,2,0,1,698,2,0,4,587,2,0,1,523,2,0,10,880,2,0,1,698,2,0,4,523,2,0,7,554,2,0,4,587,2,0,1,932,2,0,4,932,2,0,1,587,2,0,10,659,2,0,1,932,2,0,4,932,2,0,1,932,2,0,2,880,2,0,2,784,2,0,2,698,2,0,22,880,2,0,1,698,2,0,4,523,2,0,7,554,2,0,4,587,2,0,1,932,2,0,4,932,2,0,1,587,2,0,10,659,2,0,2,1175,2,0,2,1175,2,0,2,1175,2,0,2,1047,2,0,2,932,2,0,2,880,2,0,1,698,2,0,4,587,2,0,1,523,2,0,10,880,2,0,1,698,2,0,4,523,2,0,7,554,2,0,4,587,2,0,1,932,2,0,4,932,2,0,1,587,2,0,10,659,2,0,1,932,2,0,4,932,2,0,1,932,2,0,2,880,2,0,2,784,2,0,2,698,2,0,22,698,2,0,1,698,2,0,4,698,2,0,4,698,2,0,1,784,2,0,4,880,2,0,1,698,2,0,4,587,2,0,1,523,2,0,10,698,2,0,1,698,2,0,4,698,2,0,4,698,2,0,1,784,2,0,1,880,2,0,25,698,2,0,1,698,2,0,4,698,2,0,4,698,2,0,1,784,2,0,4,880,2,0,1,698,2,0,4,587,2,0,1,523,2,0,10,880,2,0,1,880,2,0,4,880,2,0,4,698,2,0,1,880,2,0,4,1047,2,0,22,880,2,0,1,698,2,0,4,523,2,0,7,554,2,0,4,587,2,0,1,932,2,0,4,932,2,0,1,587,2,0,10,659,2,0,2,1175,2,0,2,1175,2,0,2,1175,2,0,2,1047,2,0,2,932,2,0,2,880,2,0,1,698,2,0,4,587,2,0,1,523,2,0,10,880,2,0,1,698,2,0,4,523,2,0,7,554,2,0,4,587,2,0,1,932,2,0,4,932,2,0,1,587,2,0,10,659,2,0,1,932,2,0,4,932,2,0,1,932,2,0,2,880,2,0,2,784,2,0,2,698,2,"
:local chan2 "494,2,0,1,494,2,0,4,494,2,0,4,494,2,0,1,494,2,0,4,659,2,0,10,523,2,0,10,440,2,0,7,349,2,0,7,262,2,0,7,349,2,0,4,392,2,0,4,370,2,0,1,349,2,0,4,349,2,0,2,523,2,0,2,659,2,0,2,698,2,0,4,587,2,0,1,659,2,0,4,587,2,0,4,440,2,0,1,466,2,0,1,392,2,0,7,440,2,0,7,349,2,0,7,262,2,0,7,349,2,0,4,392,2,0,4,370,2,0,1,349,2,0,4,349,2,0,2,523,2,0,2,659,2,0,2,698,2,0,4,587,2,0,1,659,2,0,4,587,2,0,4,440,2,0,1,466,2,0,1,392,2,0,13,880,2,0,1,831,2,0,1,784,2,0,1,659,2,0,4,698,2,0,4,440,2,0,1,466,2,0,1,523,2,0,4,349,2,0,1,440,2,0,1,466,2,0,7,880,2,0,1,831,2,0,1,784,2,0,1,659,2,0,4,698,2,0,4,932,2,0,4,932,2,0,1,932,2,0,16,880,2,0,1,831,2,0,1,784,2,0,1,659,2,0,4,698,2,0,4,440,2,0,1,466,2,0,1,523,2,0,4,349,2,0,1,440,2,0,1,466,2,0,7,554,2,0,7,466,2,0,7,440,2,0,28,880,2,0,1,831,2,0,1,784,2,0,1,659,2,0,4,698,2,0,4,440,2,0,1,466,2,0,1,523,2,0,4,349,2,0,1,440,2,0,1,466,2,0,7,880,2,0,1,831,2,0,1,784,2,0,1,659,2,0,4,698,2,0,4,932,2,0,4,932,2,0,1,932,2,0,16,880,2,0,1,831,2,0,1,784,2,0,1,659,2,0,4,698,2,0,4,440,2,0,1,466,2,0,1,523,2,0,4,349,2,0,1,440,2,0,1,466,2,0,7,554,2,0,7,466,2,0,7,440,2,0,22,554,2,0,1,554,2,0,4,554,2,0,4,554,2,0,1,622,2,0,4,523,2,0,1,440,2,0,4,440,2,0,1,349,2,0,10,554,2,0,1,554,2,0,4,554,2,0,4,554,2,0,1,622,2,0,1,523,2,0,25,554,2,0,1,554,2,0,4,554,2,0,4,554,2,0,1,622,2,0,4,523,2,0,1,440,2,0,4,440,2,0,1,349,2,0,10,494,2,0,1,494,2,0,4,494,2,0,4,494,2,0,1,494,2,0,4,659,2,0,10,523,2,0,10,440,2,0,7,349,2,0,7,262,2,0,7,349,2,0,4,392,2,0,4,370,2,0,1,349,2,0,4,349,2,0,2,523,2,0,2,659,2,0,2,698,2,0,4,587,2,0,1,659,2,0,4,587,2,0,4,440,2,0,1,466,2,0,1,392,2,0,7,440,2,0,7,349,2,0,7,262,2,0,7,349,2,0,4,392,2,0,4,370,2,0,1,349,2,0,4,349,2,0,2,523,2,0,2,659,2,0,2,698,2,0,4,587,2,0,1,659,2,0,4,587,2,0,4,440,2,0,1,466,2,0,1,392,2,0,7,698,2,0,1,587,2,0,4,440,2,0,7,440,2,0,4,466,2,0,1,698,2,0,4,698,2,0,1,466,2,0,10,523,2,0,2,932,2,0,2,932,2,0,2,932,2,0,2,880,2,0,2,784,2,0,2,698,2,0,1,587,2,0,4,466,2,0,1,440,2,0,10,698,2,0,1,587,2,0,4,440,2,0,7,440,2,0,4,466,2,0,1,698,2,0,4,698,2,0,1,466,2,0,10,523,2,0,1,784,2,0,4,784,2,0,1,784,2,0,2,698,2,0,2,659,2,0,2,523,2,0,1,440,2,0,4,440,2,0,1,349,2,0,10,698,2,0,1,587,2,0,4,440,2,0,7,440,2,0,4,466,2,0,1,698,2,0,4,698,2,0,1,466,2,0,10,523,2,0,2,932,2,0,2,932,2,0,2,932,2,0,2,880,2,0,2,784,2,0,2,698,2,0,1,587,2,0,4,466,2,0,1,440,2,0,10,698,2,0,1,587,2,0,4,440,2,0,7,440,2,0,4,466,2,0,1,698,2,0,4,698,2,0,1,466,2,0,10,523,2,0,1,784,2,0,4,784,2,0,1,784,2,0,2,698,2,0,2,659,2,0,2,523,2,0,1,440,2,0,4,440,2,0,1,349,2,0,10,554,2,0,1,554,2,0,4,554,2,0,4,554,2,0,1,622,2,0,4,523,2,0,1,440,2,0,4,440,2,0,1,349,2,0,10,554,2,0,1,554,2,0,4,554,2,0,4,554,2,0,1,622,2,0,1,523,2,0,25,554,2,0,1,554,2,0,4,554,2,0,4,554,2,0,1,622,2,0,4,523,2,0,1,440,2,0,4,440,2,0,1,349,2,0,10,494,2,0,1,494,2,0,4,494,2,0,4,494,2,0,1,494,2,0,4,659,2,0,10,523,2,0,10,698,2,0,1,587,2,0,4,440,2,0,7,440,2,0,4,466,2,0,1,698,2,0,4,698,2,0,1,466,2,0,10,523,2,0,2,932,2,0,2,932,2,0,2,932,2,0,2,880,2,0,2,784,2,0,2,698,2,0,1,587,2,0,4,466,2,0,1,440,2,0,10,698,2,0,1,587,2,0,4,440,2,0,7,440,2,0,4,466,2,0,1,698,2,0,4,698,2,0,1,466,2,0,10,523,2,0,1,784,2,0,4,784,2,0,1,784,2,0,2,698,2,0,2,659,2,0,2,523,2,0,1,440,2,0,4,440,2,0,1,349,2,"
:local chan3 "196,2,0,1,196,2,0,4,196,2,0,4,196,2,0,1,196,2,0,4,523,2,0,10,262,2,0,10,262,2,0,7,220,2,0,7,175,2,0,7,233,2,0,4,262,2,0,4,247,2,0,1,233,2,0,4,220,2,0,2,349,2,0,2,440,2,0,2,466,2,0,4,392,2,0,1,440,2,0,4,349,2,0,4,294,2,0,1,330,2,0,1,262,2,0,7,262,2,0,7,220,2,0,7,175,2,0,7,233,2,0,4,262,2,0,4,247,2,0,1,233,2,0,4,220,2,0,2,349,2,0,2,440,2,0,2,466,2,0,4,392,2,0,1,440,2,0,4,349,2,0,4,294,2,0,1,330,2,0,1,262,2,0,7,175,2,0,7,262,2,0,7,349,2,0,4,233,2,0,7,349,2,0,1,349,2,0,4,233,2,0,4,175,2,0,7,220,2,0,7,262,2,0,1,349,2,0,4,1047,2,0,4,1047,2,0,1,1047,2,0,4,262,2,0,4,175,2,0,7,262,2,0,7,349,2,0,4,233,2,0,7,349,2,0,1,349,2,0,4,233,2,0,4,175,2,0,4,277,2,0,7,311,2,0,7,349,2,0,7,262,2,0,1,262,2,0,4,175,2,0,4,175,2,0,7,262,2,0,7,349,2,0,4,233,2,0,7,349,2,0,1,349,2,0,4,233,2,0,4,175,2,0,7,220,2,0,7,262,2,0,1,349,2,0,4,1047,2,0,4,1047,2,0,1,1047,2,0,4,262,2,0,4,175,2,0,7,262,2,0,7,349,2,0,4,233,2,0,7,349,2,0,1,349,2,0,4,233,2,0,4,175,2,0,4,277,2,0,7,311,2,0,7,349,2,0,7,262,2,0,1,262,2,0,4,175,2,0,4,139,2,0,7,208,2,0,7,277,2,0,4,262,2,0,7,175,2,0,7,131,2,0,4,139,2,0,7,208,2,0,7,277,2,0,4,262,2,0,7,175,2,0,7,131,2,0,4,139,2,0,7,208,2,0,7,277,2,0,4,262,2,0,7,175,2,0,7,131,2,0,4,196,2,0,1,196,2,0,4,196,2,0,4,196,2,0,1,196,2,0,4,523,2,0,10,262,2,0,10,262,2,0,7,220,2,0,7,175,2,0,7,233,2,0,4,262,2,0,4,247,2,0,1,233,2,0,4,220,2,0,2,349,2,0,2,440,2,0,2,466,2,0,4,392,2,0,1,440,2,0,4,349,2,0,4,294,2,0,1,330,2,0,1,262,2,0,7,262,2,0,7,220,2,0,7,175,2,0,7,233,2,0,4,262,2,0,4,247,2,0,1,233,2,0,4,220,2,0,2,349,2,0,2,440,2,0,2,466,2,0,4,392,2,0,1,440,2,0,4,349,2,0,4,294,2,0,1,330,2,0,1,262,2,0,7,175,2,0,7,247,2,0,1,262,2,0,4,349,2,0,4,233,2,0,4,233,2,0,4,349,2,0,1,349,2,0,1,233,2,0,4,196,2,0,7,233,2,0,1,262,2,0,4,330,2,0,4,262,2,0,4,262,2,0,4,349,2,0,1,349,2,0,1,262,2,0,4,175,2,0,7,247,2,0,1,262,2,0,4,349,2,0,4,233,2,0,4,233,2,0,4,349,2,0,1,349,2,0,1,233,2,0,4,262,2,0,1,262,2,0,4,262,2,0,1,262,2,0,2,294,2,0,2,330,2,0,2,349,2,0,4,262,2,0,4,175,2,0,10,175,2,0,7,247,2,0,1,262,2,0,4,349,2,0,4,233,2,0,4,233,2,0,4,349,2,0,1,349,2,0,1,233,2,0,4,196,2,0,7,233,2,0,1,262,2,0,4,330,2,0,4,262,2,0,4,262,2,0,4,349,2,0,1,349,2,0,1,262,2,0,4,175,2,0,7,247,2,0,1,262,2,0,4,349,2,0,4,233,2,0,4,233,2,0,4,349,2,0,1,349,2,0,1,233,2,0,4,262,2,0,1,262,2,0,4,262,2,0,1,262,2,0,2,294,2,0,2,330,2,0,2,349,2,0,4,262,2,0,4,175,2,0,10,139,2,0,7,208,2,0,7,277,2,0,4,262,2,0,7,175,2,0,7,131,2,0,4,139,2,0,7,208,2,0,7,277,2,0,4,262,2,0,7,175,2,0,7,131,2,0,4,139,2,0,7,208,2,0,7,277,2,0,4,262,2,0,7,175,2,0,7,131,2,0,4,196,2,0,1,196,2,0,4,196,2,0,4,196,2,0,1,196,2,0,4,523,2,0,10,262,2,0,10,175,2,0,7,247,2,0,1,262,2,0,4,349,2,0,4,233,2,0,4,233,2,0,4,349,2,0,1,349,2,0,1,233,2,0,4,196,2,0,7,233,2,0,1,262,2,0,4,330,2,0,4,262,2,0,4,262,2,0,4,349,2,0,1,349,2,0,1,262,2,0,4,175,2,0,7,247,2,0,1,262,2,0,4,349,2,0,4,233,2,0,4,233,2,0,4,349,2,0,1,349,2,0,1,233,2,0,4,262,2,0,1,262,2,0,4,262,2,0,1,262,2,0,2,294,2,0,2,330,2,0,2,349,2,0,4,262,2,0,4,175,2,"
# slot timespan (~20ms)
:local st 20
# speed (~500ms)
:local spd ( $st * 2 )
:local slotlen ($spd / $st / 3)
:local slottime ($st . "ms")
:local c1 [:toarray $chan1]
:local c2 [:toarray $chan2]
:local c3 [:toarray $chan3]
:local chan ({$c1},{$c2})
:set $chan [:put ($chan, {$c3})]
:local voice {0;0;0}
# slot left for a tune to go
:local sleft
:set $sleft {0;0;0}
# position in a channel
:local cpointer
# this should fucking zero it, why doesn't it
:set $cpointer {0;0;0}
# force it down into its throat
:for i from=0 to=2 do={
:set ($cpointer->$i) 0
:set ($sleft->$i) 0
:put ("Cpointer $i = " . ($cpointer->$i))
}
:local running 1
:do {
# prepare actual voice for every channel
:for c from=0 to=2 do={
:if ( ($sleft->$c) > 1 ) do={
# same voice
:set ($sleft->$c) (($sleft->$c) - 1)
#:put ( "keep c=$c s=" . ($sleft->$c))
} else={
# new voice
#:put (">> c=$c p=" . ($cpointer->$c) ." v=" . ($chan->$c->($cpointer->$c)))
:set ($voice->$c) ($chan->$c->($cpointer->$c))
:set ($cpointer->$c) (($cpointer->$c)+1)
#:put (">> c=$c p=" . ($cpointer->$c) ." s=" . ($chan->$c->($cpointer->$c)))
:set ($sleft->$c) ($chan->$c->($cpointer->$c))
:set ($cpointer->$c) (($cpointer->$c)+1)
:if ( $cpointer->$c > [:len ($chan->$c)] ) do={
:set $running 0
}
}
}
:for i from=0 to=$slotlen do={
:for c from=0 to=2 do={
:if ( ($voice->$c) > 0 ) do={
:beep length=$slottime frequency=($voice->$c)
}
:delay $slottime
}
}
#:set $running 0
} while=( $running = 1)