Files
TempleOS-Rijn/Apps/MusicOrgan/Examples/satisfaction.CPP
T
2018-09-08 21:46:02 +02:00

136 lines
2.6 KiB
C++

//7 has graphics
//Melody by Terry A. Davis
$SP,"<1>",BI=1$
$SP,"<2>",BI=2$
$SP,"<3>",BI=3$
F64 t0=Beat;
#define PHASE1 9.5
#define PHASE2 10.0
#define PHASE3 10.5
#define PHASE4 16.0
#define PHASE5 16.5
#define MAN_X 250
#define MAN_Y 30
U0 DrawIt(CTask *,CDC *dc)
{
F64 dt=Beat-t0;
CSprite *temps;
if (dt<PHASE1)
Sprite3(dc,MAN_X,MAN_Y,0,$IB,"<1>",BI=1$);
else if (dt<PHASE2) {
temps=SpriteInterpolate($IB,"<1>",BI=1$,$IB,"<2>",BI=2$,(dt-PHASE1)/(PHASE2-PHASE1));
Sprite3(dc,MAN_X,MAN_Y,0,temps);
Free(temps);
} else if (dt<PHASE3) {
temps=SpriteInterpolate($IB,"<2>",BI=2$,$IB,"<3>",BI=3$,(dt-PHASE2)/(PHASE3-PHASE2));
Sprite3(dc,MAN_X,MAN_Y,0,temps);
Free(temps);
} else if (dt<PHASE4)
Sprite3(dc,MAN_X,MAN_Y,0,$IB,"<3>",BI=3$);
else if (dt<PHASE5) {
temps=SpriteInterpolate($IB,"<3>",BI=3$,$IB,"<1>",BI=1$,(dt-PHASE4)/(PHASE5-PHASE4));
Sprite3(dc,MAN_X-100*(dt-PHASE4),MAN_Y-5*(dt-PHASE4),0,temps);
Free(temps);
} else
Sprite3(dc,MAN_X-100*(PHASE5-PHASE4),MAN_Y-5*(PHASE5-PHASE4),0,$IB,"<1>",BI=1$);
}
U0 Song()
{
CTask *task;
MusicSettingsRst;
music_tempo= 2.350;
music_stacatto_factor= 0.900;
try {
task=PopUpViewStr(
"$LK,"Ecclesiastes,2:24",A="BF:Ecclesiastes,2:24"$\n"
"$LK,"Ecclesiastes,3:13",A="BF:Ecclesiastes,3:13"$\n"
);
TaskWait(task);
SetWinHorz(Fs->win_left,Fs->win_right,task);
SetWinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
while (!ScanKey) {
t0=Beat;
Play("M5/43qEAeDDCCqBEAeDD",
"Up \0a\0bove \0He \0gen\0tly \0smiles\n\0as \0we \0meet \0and \0");
Play("CCqBFBeEEDDqCF",
"con\0quer \0trials.\n\0$$RED$$You \0can \0do \0it \0lit\0tle \0one.\n\0With\0");
Play("BeEEDDqC",
"out \0work \0there \0is \0no \0fun.\n$FG$\0");
}
} catch
PutExcept;
SettingsPop;
}
Song;
Ã
UT
TX
XZ
Z
]
W\ïÿÿÿ
XþÿÿÿUïÿÿÿ
XìÿÿÿUæÿÿÿ
[ïÿÿÿ]ùÿÿÿ
]ùÿÿÿ[
UïÿÿÿTùÿÿÿ
TùÿÿÿRÿÿÿÿÃ
UO
OX
X[
[ `
WUòÿÿÿ
XþÿÿÿOôÿÿÿ
RïÿÿÿMêÿÿÿ
UòÿÿÿSþÿÿÿ
SþÿÿÿQ
OôÿÿÿOþÿÿÿ
OþÿÿÿKÃ
UK
KQ
RU
U`
RJúÿÿÿ
QDýÿÿÿ
Føÿÿÿ=ùÿÿÿ
JúÿÿÿL
L
F
DýÿÿÿF
F>