#help_index "God" DefineLstLoad("ST_RHYTHM_COMPLEXITY","Simple\0Normal\0Complex\0"); class MakeSongSettings { I64 complexity fmtstr "$$LS,D=\"ST_RHYTHM_COMPLEXITY\"$$\n"; Bool rests fmtstr "$$CB,\"Rests\"$$\n"; Bool six_eight fmtstr "$$CB,\"Six Eight\"$$\n"; I64 octave fmtstr "$$DA-TRM,A=\"Octave:%d\"$$\n"; }; U0 InsNote(MakeSongSettings *mss,U8 *buf,I64 k,I64 *j) {//k is a random note nibble if (!k && mss->rests) { buf[*j]='R'; *j+=1; } else { k/=2; if (!k) { if (music.octave) { buf[*j]=music.octave-1+'0'; *j+=1; buf[*j]='G'; *j+=1; buf[*j]=music.octave+'0'; *j+=1; } else { buf[*j]='G'; *j+=1; } } else { buf[*j]=k-1+'A'; *j+=1; } } } #define DUR_4 0 #define DUR_8_8 1 #define DUR_3_3_3 2 #define DUR_16_16_16_16 3 #define DUR_8DOT_16 4 #define DUR_8_16_16 5 #define DUR_16_16_8 6 U8 god_simple_songs [5]={DUR_4,DUR_4,DUR_4,DUR_4,DUR_8_8}; U8 god_normal_songs [5]={DUR_4,DUR_4,DUR_8_8,DUR_3_3_3,DUR_16_16_16_16}; U8 god_complex_songs[9]={DUR_4,DUR_4,DUR_8_8,DUR_8_8,DUR_8DOT_16,DUR_3_3_3, DUR_8_16_16,DUR_16_16_8,DUR_16_16_16_16}; public U8 *GodSongStr() {//Make God generate 2 measures of a song. $LK+PU,"Holy Spirit Instructions",A="FI:::/Adam/God/HSNotes.DD"$ MakeSongSettings mss; U8 *buf; I64 i,j=0,k,n,k2,duration,last_duration=-1,len; mss.complexity=1; mss.rests=FALSE; mss.octave=music.octave; if (!PopUpForm(&mss)) return NULL; buf=CAlloc(256); music.octave=ClampI64(mss.octave,0,6); progress4=0; if (mss.six_eight) progress4_max=6; else progress4_max=8; buf[j++]='0'+music.octave; if (mss.six_eight) { len=6; buf[j++]='M'; buf[j++]='6'; buf[j++]='/'; buf[j++]='8'; } else len=8; FifoU8Flush(god.fifo); for (i=0;i\",A=\"%s%s%s%s\"$$",st1,st1,st2,st2); Free(st1); Free(st2); }