//5 has graphics F64 t0=Beat; U0 DrawIt(CTask *task,CDC *dc) { I64 i,j,w=task->pix_width,h=task->pix_height; F64 dt=Beat-t0,num; num=MinI64(Exp(0.9*dt),3000); dc->color=LTGRAY; for (i=0;i<num;i++) { j=RandU32; GrPlot(dc,j.u16[0]%w,j.u16[1]%h); } num=MinI64(Exp(0.6*dt),6000); dc->color=DKGRAY; for (i=0;i<num;i++) { j=RandU32; GrPlot(dc,j.u16[0]%w,j.u16[1]%h); } num=MinI64(Exp(0.3*dt),9000); dc->color=BLACK; for (i=0;i<num;i++) { j=RandU32; GrPlot(dc,j.u16[0]%w,j.u16[1]%h); } } U0 Song() { CTask *task; SettingsPush; //See SettingsPush Fs->draw_it=&DrawIt; Fs->task_end_cb=&SndTaskEndCB; MusicSettingsRst; music.tempo= 2.480; music.stacatto_factor= 0.736; try { task=PopUpViewPrint( "There are myths about the River\n" "Styx separating the land of the\n" "living from dead. Jesus' told a story\n" "about the land of living separate from\n" "land of dead. (Luke,16:22) In the Old\n" "Testament, the River Jordan was a special\n" "barrier. (Deuteronomy,4:22)\n" ); TaskWait(task); WinHorz(Fs->win_left,Fs->win_right,task); WinVert(Fs->win_bottom+3,Fs->win_bottom+15,task); while (!ScanKey) { t0=Beat; Play("4sBBBB5qC4q.BeAqBh.A", "Can't \0 \0 \0 \0get \0there, \0from \0he\0re.\n\0"); Play("M2/4"); Play("5eECq4AM4/4"); Play("5sBBBB6qC5q.BeAqBh.A", "Can't \0 \0 \0 \0get \0there, \0from \0he\0re.\n\0"); Play("M2/4"); Play("5eDDqDM4/4"); Play("5DeEDqGCeF4G5qGsFGFGeDC", "Oh, \0my \0 \0God, \0some\0thing's... \0 \0 \0" "ver\0 \0y \0 \0wrong!\n\0 \0"); Play("5qDeEDqGCeF4G5qGsFGFGeDC", "Oh, \0my \0 \0God, \0some\0thing's... \0 \0 \0" "ver\0 \0y \0 \0wrong!\n\0 \0"); } } catch PutExcept; SettingsPop; } Song;