DECLARE SUB thorvaldsen_stem_a(thorvaldsen AS DWORD) DECLARE SUB thorvaldsen_stem_b() DECLARE SUB thorvaldsen_stem_c() DECLARE SUB thorvaldsen_stem_d() DECLARE SUB thorvaldsen_stem_e() DECLARE SUB thorvaldsen_stem_f() GLOBAL thorvaldsen AS DWORD SUB thorvaldsen_stem_a(thorvaldsen AS DWORD) STATIC n1 AS BYTE STATIC n2 AS BYTE STATIC g1 AS SINGLE STATIC g2 AS BYTE STATIC sec AS DWORD LOCAL luidst AS DWORD LOCAL snelh AS DWORD STATIC time AS DWORD STATIC starttime AS DWORD LOCAL x AS SINGLE LOCAL y AS SINGLE STATIC counter AS DWORD STATIC counter2 AS DWORD IF ISFALSE Task(%thorvaldsen_a).tog THEN starttime = timegettime n1 = 108 Task(%thorvaldsen_a).tog = %true counter = 0 counter2 = 0 Task(%thorvaldsen_a).freq = 10 lukascompositie_deel = 2 EXIT SUB END IF time = timegettime - starttime x = ((n1-24)/(84/2.6))-1.3 y = COS(x) luidst = y*50 snelh = (y*2)+5 n1 = MAX(MIN(n1,127),0) n2 = MAX(MIN(n2,127),0) luidst = MAX(MIN(luidst, 127),0) RANDOMIZE TIMER IF counter >= 6 THEN stoptask %thorvaldsen_a EXIT SUB END IF DelNote2Har Task(%thorvaldsen_a).Har, n1 + g2 ADDnOTE2Har Task(%thorvaldsen_a).Har, n1, luidst SELECT CASE n1 CASE =< 24 INCR counter n2 = 108 counter2 = 0 CASE ELSE g1 = RND IF g1 < 0.33 THEN n2 = n1 - 1 g2 = 1 ELSEIF g1 > 0.33 AND g1 < 0.66 THEN n2 = n1 - 2 g2 = 2 ELSEIF g1 > 0.66 THEN n2 = n1 - 3 g2 = 3 END IF END SELECT SELECT CASE counter CASE 0 INCR counter2 SELECT CASE counter2 CASE 7 starttask %thorvaldsen_b CASE 13 starttask %thorvaldsen_c CASE 20 starttask %thorvaldsen_d CASE 26 starttask %thorvaldsen_e CASE 33 starttask %thorvaldsen_f END SELECT END SELECT n1 = n2 Task(%thorvaldsen_a).freq = snelh END SUB 'tot hier stem a SUB thorvaldsen_stem_b() STATIC n1 AS BYTE STATIC n2 AS BYTE STATIC g1 AS SINGLE STATIC g2 AS BYTE STATIC sec AS DWORD LOCAL luidst AS DWORD LOCAL snelh AS DWORD STATIC time AS DWORD STATIC starttime AS DWORD LOCAL x AS SINGLE LOCAL y AS SINGLE STATIC counter AS DWORD IF ISFALSE Task(%thorvaldsen_b).tog THEN starttime = timegettime n1 = 108 Task(%thorvaldsen_b).tog = %true counter = 0 Task(%thorvaldsen_b).freq = 10 lukascompositie_deel = 2 EXIT SUB END IF time = timegettime - starttime x = ((n1-24)/(84/2.6))-1.3 y = COS(x) luidst = y*50 snelh = ((y*2)+5) * 1.01 n1 = MAX(MIN(n1,127),0) n2 = MAX(MIN(n2,127),0) luidst = MAX(MIN(luidst, 127),0) RANDOMIZE TIMER IF counter >= 6 THEN stoptask %thorvaldsen_b EXIT SUB END IF DelNote2Har Task(%thorvaldsen_b).Har, n1 + g2 ADDnOTE2Har Task(%thorvaldsen_b).Har, n1, luidst SELECT CASE n1 CASE =< 24 INCR counter n2 = 108 CASE ELSE g1 = RND IF g1 < 0.33 THEN n2 = n1 - 1 g2 = 1 ELSEIF g1 > 0.33 AND g1 < 0.66 THEN n2 = n1 - 2 g2 = 2 ELSEIF g1 > 0.66 THEN n2 = n1 - 3 g2 = 3 END IF END SELECT n1 = n2 Task(%thorvaldsen_b).freq = snelh END SUB 'tot hier stem b SUB thorvaldsen_stem_c() STATIC n1 AS BYTE STATIC n2 AS BYTE STATIC g1 AS SINGLE STATIC g2 AS BYTE STATIC sec AS DWORD LOCAL luidst AS DWORD LOCAL snelh AS DWORD STATIC time AS DWORD STATIC starttime AS DWORD LOCAL x AS SINGLE LOCAL y AS SINGLE STATIC counter AS DWORD IF ISFALSE Task(%thorvaldsen_c).tog THEN starttime = timegettime n1 = 108 Task(%thorvaldsen_c).tog = %true counter = 0 Task(%thorvaldsen_c).freq = 10 lukascompositie_deel = 2 EXIT SUB END IF time = timegettime - starttime x = ((n1-24)/(84/2.6))-1.3 y = COS(x) luidst = y*50 snelh = ((y*2)+5) * 1.015 n1 = MAX(MIN(n1,127),0) n2 = MAX(MIN(n2,127),0) luidst = MAX(MIN(luidst, 127),0) RANDOMIZE TIMER IF counter >= 6 THEN stoptask %thorvaldsen_c EXIT SUB END IF DelNote2Har Task(%thorvaldsen_c).Har, n1 + g2 ADDnOTE2Har Task(%thorvaldsen_c).Har, n1, luidst SELECT CASE n1 CASE =< 24 INCR counter n2 = 108 CASE ELSE g1 = RND IF g1 < 0.33 THEN n2 = n1 - 1 g2 = 1 ELSEIF g1 > 0.33 AND g1 < 0.66 THEN n2 = n1 - 2 g2 = 2 ELSEIF g1 > 0.66 THEN n2 = n1 - 3 g2 = 3 END IF END SELECT n1 = n2 Task(%thorvaldsen_c).freq = snelh END SUB 'tot hier stem c SUB thorvaldsen_stem_d() STATIC n1 AS BYTE STATIC n2 AS BYTE STATIC g1 AS SINGLE STATIC g2 AS BYTE STATIC sec AS DWORD LOCAL luidst AS DWORD LOCAL snelh AS DWORD STATIC time AS DWORD STATIC starttime AS DWORD LOCAL x AS SINGLE LOCAL y AS SINGLE STATIC counter AS DWORD IF ISFALSE Task(%thorvaldsen_d).tog THEN starttime = timegettime n1 = 108 Task(%thorvaldsen_d).tog = %true counter = 0 Task(%thorvaldsen_d).freq = 10 lukascompositie_deel = 2 EXIT SUB END IF time = timegettime - starttime x = ((n1-24)/(84/2.6))-1.3 y = COS(x) luidst = y*50 snelh = ((y*2)+5) * 1.02 n1 = MAX(MIN(n1,127),0) n2 = MAX(MIN(n2,127),0) luidst = MAX(MIN(luidst, 127),0) RANDOMIZE TIMER IF counter >= 6 THEN stoptask %thorvaldsen_d EXIT SUB END IF DelNote2Har Task(%thorvaldsen_d).Har, n1 + g2 ADDnOTE2Har Task(%thorvaldsen_d).Har, n1, luidst SELECT CASE n1 CASE =< 24 INCR counter n2 = 108 CASE ELSE g1 = RND IF g1 < 0.33 THEN n2 = n1 - 1 g2 = 1 ELSEIF g1 > 0.33 AND g1 < 0.66 THEN n2 = n1 - 2 g2 = 2 ELSEIF g1 > 0.66 THEN n2 = n1 - 3 g2 = 3 END IF END SELECT n1 = n2 Task(%thorvaldsen_d).freq = snelh END SUB 'tot hier stem d SUB thorvaldsen_stem_e() STATIC n1 AS BYTE STATIC n2 AS BYTE STATIC g1 AS SINGLE STATIC g2 AS BYTE STATIC sec AS DWORD LOCAL luidst AS DWORD LOCAL snelh AS DWORD STATIC time AS DWORD STATIC starttime AS DWORD LOCAL x AS SINGLE LOCAL y AS SINGLE STATIC counter AS DWORD IF ISFALSE Task(%thorvaldsen_e).tog THEN starttime = timegettime n1 = 108 Task(%thorvaldsen_e).tog = %true counter = 0 Task(%thorvaldsen_e).freq = 10 lukascompositie_deel = 2 EXIT SUB END IF time = timegettime - starttime x = ((n1-24)/(84/2.6))-1.3 y = COS(x) luidst = y*50 snelh = ((y*2)+5) * 1.025 n1 = MAX(MIN(n1,127),0) n2 = MAX(MIN(n2,127),0) luidst = MAX(MIN(luidst, 127),0) RANDOMIZE TIMER IF counter >= 6 THEN stoptask %thorvaldsen_e EXIT SUB END IF DelNote2Har Task(%thorvaldsen_e).Har, n1 + g2 ADDnOTE2Har Task(%thorvaldsen_e).Har, n1, luidst SELECT CASE n1 CASE =< 24 INCR counter n2 = 108 CASE ELSE g1 = RND IF g1 < 0.33 THEN n2 = n1 - 1 g2 = 1 ELSEIF g1 > 0.33 AND g1 < 0.66 THEN n2 = n1 - 2 g2 = 2 ELSEIF g1 > 0.66 THEN n2 = n1 - 3 g2 = 3 END IF END SELECT n1 = n2 Task(%thorvaldsen_e).freq = snelh END SUB 'tot hier stem e SUB thorvaldsen_stem_f() STATIC n1 AS BYTE STATIC n2 AS BYTE STATIC g1 AS SINGLE STATIC g2 AS BYTE STATIC sec AS DWORD LOCAL luidst AS DWORD LOCAL snelh AS DWORD STATIC time AS DWORD STATIC starttime AS DWORD LOCAL x AS SINGLE LOCAL y AS SINGLE STATIC counter AS DWORD IF ISFALSE Task(%thorvaldsen_f).tog THEN starttime = timegettime n1 = 108 Task(%thorvaldsen_f).tog = %true counter = 0 Task(%thorvaldsen_f).freq = 10 lukascompositie_deel = 2 EXIT SUB END IF time = timegettime - starttime x = ((n1-24)/(84/2.6))-1.3 y = COS(x) luidst = y*50 snelh = ((y*2)+5)*1.03 n1 = MAX(MIN(n1,127),0) n2 = MAX(MIN(n2,127),0) luidst = MAX(MIN(luidst, 127),0) RANDOMIZE TIMER IF counter >= 6 THEN stoptask %thorvaldsen_f Task(%Edison_a).Har.vel = NUL$(128) EXIT SUB END IF DelNote2Har Task(%thorvaldsen_e).Har, n1 + g2 ADDnOTE2Har Task(%thorvaldsen_e).Har, n1, luidst SELECT CASE n1 CASE =< 24 INCR counter n2 = 108 CASE ELSE g1 = RND IF g1 < 0.33 THEN n2 = n1 - 1 g2 = 1 ELSEIF g1 > 0.33 AND g1 < 0.66 THEN n2 = n1 - 2 g2 = 2 ELSEIF g1 > 0.66 THEN n2 = n1 - 3 g2 = 3 END IF END SELECT n1 = n2 Task(%thorvaldsen_f).freq = snelh END SUB 'tot hier stem f