SOUND* sndSine = "#1";
// notevalues in hertz
#define a1 440
#define h1 493.92
#define c1 523.28
#define d1 587.36
#define e1 659.28
#define f1 698.48
#define g1 784
#define g1f 830.64
#define a2 880
#define a2f 932.32
#define h2 987.84
#define c2 1046.56
#define d2 1174.72
#define e2 1318.56
var gvMusicSpeed = 3;
function PlayNoteSub(note, volume, release)
{
// 440Hz = 100%
// 1Hz = 0.227 %
wait(-3/gvMusicSpeed);
var vFreq = note*0.227;
vFreq*=0.2;
var vSndhandle = snd_play(sndSine, volume, 0);
release+= 5;
while(volume > 0)
{
volume-= (101-release)*time_step;
if(volume < 0)volume = 0;
snd_tune(vSndhandle, volume, vFreq, 0);
wait(1);
}
snd_stop(vSndhandle);
}
function PlayNote(note, volume, release)
{
// 440Hz = 100%
// 1Hz = 0.227 %
PlayNoteSub(note, volume*0.3, release);
var vFreq = note*0.227;
vFreq*=0.6;
var vSndhandle = snd_play(sndSine, volume, 0);
release+= 5;
while(volume > 0)
{
volume-= (101-release)*time_step;
if(volume < 0)volume = 0;
snd_tune(vSndhandle, volume, vFreq, 0);
wait(1);
}
snd_stop(vSndhandle);
}
function PlayKorobeiniki()
{
PlayNote(e1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(h1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(d1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(h1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(a1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(a1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(e1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(d1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(h1, 100, 80);
wait(-1.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(d1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(e1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(a1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(a1, 100, 80);
wait(-2.5/gvMusicSpeed);
PlayNote(d1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(f1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(a2, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(a2, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(g1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(f1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(e1, 100, 80);
wait(-1.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(e1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(d1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(h1, 100, 80);
wait(-1.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(d1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(e1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(a1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(a1, 100, 80);
wait(-2/gvMusicSpeed);
PlayNote(e1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(h1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(d1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(h1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(a1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(a1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(e1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(d1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(h1, 100, 80);
wait(-1.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(d1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(e1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(a1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(a1, 100, 80);
wait(-2.5/gvMusicSpeed);
PlayNote(d1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(f1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(a2, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(a2, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(g1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(f1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(e1, 100, 80);
wait(-1.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(e1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(d1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(h1, 100, 80);
wait(-1.5/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-0.5/gvMusicSpeed);
PlayNote(d1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(e1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(c1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(a1, 100, 80);
wait(-1/gvMusicSpeed);
PlayNote(a1, 100, 80);
wait(-2/gvMusicSpeed);
PlayNote(e1, 100, 90);
wait(-2/gvMusicSpeed);
PlayNote(c1, 100, 90);
wait(-2/gvMusicSpeed);
PlayNote(d1, 100, 90);
wait(-2/gvMusicSpeed);
PlayNote(h1, 100, 90);
wait(-2/gvMusicSpeed);
PlayNote(c1, 100, 90);
wait(-1/gvMusicSpeed);
PlayNote(e1, 100, 90);
wait(-1/gvMusicSpeed);
PlayNote(a2, 100, 90);
wait(-1/gvMusicSpeed);
PlayNote(a2, 100, 90);
wait(-1/gvMusicSpeed);
PlayNote(g1f, 100, 90);
wait(-4/gvMusicSpeed);
PlayNote(e1, 100, 90);
wait(-2/gvMusicSpeed);
PlayNote(c1, 100, 90);
wait(-2/gvMusicSpeed);
PlayNote(d1, 100, 90);
wait(-2/gvMusicSpeed);
PlayNote(h1, 100, 90);
wait(-2/gvMusicSpeed);
PlayNote(c1, 100, 90);
wait(-1/gvMusicSpeed);
PlayNote(e1, 100, 90);
wait(-1/gvMusicSpeed);
PlayNote(a2, 100, 90);
wait(-1/gvMusicSpeed);
PlayNote(a2, 100, 90);
wait(-1/gvMusicSpeed);
PlayNote(g1f, 100, 90);
wait(-4/gvMusicSpeed);
PlayKorobeiniki();
}
function PlayMusic_startup()
{
wait(-2);
PlayKorobeiniki();
}