mirror of
https://github.com/vsariola/sointu.git
synced 2025-07-18 13:04:25 -04:00
Remove trailing spaces and convert tabs to spaces.
This commit is contained in:
@ -1,12 +1,12 @@
|
|||||||
; Various compile time definitions exported
|
; Various compile time definitions exported
|
||||||
SECT_DATA(introscn)
|
SECT_DATA(introscn)
|
||||||
|
|
||||||
%ifdef SU_USE_16BIT_OUTPUT
|
%ifdef SU_USE_16BIT_OUTPUT
|
||||||
EXPORT MANGLE_DATA(su_use_16bit_output) dd 1
|
EXPORT MANGLE_DATA(su_use_16bit_output) dd 1
|
||||||
%else
|
%else
|
||||||
EXPORT MANGLE_DATA(su_use_16bit_output) dd 0
|
EXPORT MANGLE_DATA(su_use_16bit_output) dd 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifdef MAX_SAMPLES
|
%ifdef MAX_SAMPLES
|
||||||
EXPORT MANGLE_DATA(su_max_samples) dd MAX_SAMPLES
|
EXPORT MANGLE_DATA(su_max_samples) dd MAX_SAMPLES
|
||||||
%endif
|
%endif
|
||||||
|
@ -152,4 +152,4 @@ su_op_xch_mono:
|
|||||||
fxch st0, st1
|
fxch st0, st1
|
||||||
ret
|
ret
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
@ -3,18 +3,18 @@
|
|||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
%assign ADDP_ID -1
|
%assign ADDP_ID -1
|
||||||
%macro USE_ADDP 0
|
%macro USE_ADDP 0
|
||||||
%if ADDP_ID == -1
|
%if ADDP_ID == -1
|
||||||
%assign ADDP_ID CUR_ID
|
%assign ADDP_ID CUR_ID
|
||||||
%assign CUR_ID CUR_ID + 2
|
%assign CUR_ID CUR_ID + 2
|
||||||
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_addp,0),
|
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_addp,0),
|
||||||
%xdefine NUMPARAMS NUMPARAMS 0,
|
%xdefine NUMPARAMS NUMPARAMS 0,
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_ADDP 1
|
%macro SU_ADDP 1
|
||||||
USE_ADDP
|
USE_ADDP
|
||||||
%xdefine CMDS CMDS ADDP_ID + %1,
|
%xdefine CMDS CMDS ADDP_ID + %1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
%define INCLUDE_STEREO_ADDP
|
%define INCLUDE_STEREO_ADDP
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
@ -24,19 +24,19 @@
|
|||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
%assign ADD_ID -1
|
%assign ADD_ID -1
|
||||||
%macro USE_ADD 0
|
%macro USE_ADD 0
|
||||||
%if ADD_ID == -1
|
%if ADD_ID == -1
|
||||||
%assign ADD_ID CUR_ID
|
%assign ADD_ID CUR_ID
|
||||||
%assign CUR_ID CUR_ID + 2
|
%assign CUR_ID CUR_ID + 2
|
||||||
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_add,0),
|
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_add,0),
|
||||||
%xdefine NUMPARAMS NUMPARAMS 0,
|
%xdefine NUMPARAMS NUMPARAMS 0,
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%assign ADD_ID -1
|
%assign ADD_ID -1
|
||||||
%macro SU_ADD 1
|
%macro SU_ADD 1
|
||||||
USE_ADD
|
USE_ADD
|
||||||
%xdefine CMDS CMDS ADD_ID + %1,
|
%xdefine CMDS CMDS ADD_ID + %1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
%define INCLUDE_STEREO_ADD
|
%define INCLUDE_STEREO_ADD
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
@ -46,18 +46,18 @@
|
|||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
%assign POP_ID -1
|
%assign POP_ID -1
|
||||||
%macro USE_POP 0
|
%macro USE_POP 0
|
||||||
%if POP_ID == -1
|
%if POP_ID == -1
|
||||||
%assign POP_ID CUR_ID
|
%assign POP_ID CUR_ID
|
||||||
%assign CUR_ID CUR_ID + 2
|
%assign CUR_ID CUR_ID + 2
|
||||||
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_pop,0),
|
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_pop,0),
|
||||||
%xdefine NUMPARAMS NUMPARAMS 0,
|
%xdefine NUMPARAMS NUMPARAMS 0,
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_POP 1
|
%macro SU_POP 1
|
||||||
USE_POP
|
USE_POP
|
||||||
%xdefine CMDS CMDS POP_ID + %1,
|
%xdefine CMDS CMDS POP_ID + %1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
%define INCLUDE_STEREO_POP
|
%define INCLUDE_STEREO_POP
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
@ -67,18 +67,18 @@
|
|||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
%assign LOADNOTE_ID -1
|
%assign LOADNOTE_ID -1
|
||||||
%macro USE_LOADNOTE 0
|
%macro USE_LOADNOTE 0
|
||||||
%if LOADNOTE_ID == -1
|
%if LOADNOTE_ID == -1
|
||||||
%assign LOADNOTE_ID CUR_ID
|
%assign LOADNOTE_ID CUR_ID
|
||||||
%assign CUR_ID CUR_ID + 2
|
%assign CUR_ID CUR_ID + 2
|
||||||
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_loadnote,0),
|
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_loadnote,0),
|
||||||
%xdefine NUMPARAMS NUMPARAMS 0,
|
%xdefine NUMPARAMS NUMPARAMS 0,
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_LOADNOTE 1
|
%macro SU_LOADNOTE 1
|
||||||
USE_LOADNOTE
|
USE_LOADNOTE
|
||||||
%xdefine CMDS CMDS LOADNOTE_ID + %1,
|
%xdefine CMDS CMDS LOADNOTE_ID + %1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
%define INCLUDE_STEREO_LOADNOTE
|
%define INCLUDE_STEREO_LOADNOTE
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
@ -88,18 +88,18 @@
|
|||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
%assign MUL_ID -1
|
%assign MUL_ID -1
|
||||||
%macro USE_MUL 0
|
%macro USE_MUL 0
|
||||||
%if MUL_ID == -1
|
%if MUL_ID == -1
|
||||||
%assign MUL_ID CUR_ID
|
%assign MUL_ID CUR_ID
|
||||||
%assign CUR_ID CUR_ID + 2
|
%assign CUR_ID CUR_ID + 2
|
||||||
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_mul,0),
|
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_mul,0),
|
||||||
%xdefine NUMPARAMS NUMPARAMS 0,
|
%xdefine NUMPARAMS NUMPARAMS 0,
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_MUL 1
|
%macro SU_MUL 1
|
||||||
USE_MUL
|
USE_MUL
|
||||||
%xdefine CMDS CMDS MUL_ID + %1,
|
%xdefine CMDS CMDS MUL_ID + %1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
%define INCLUDE_STEREO_MUL
|
%define INCLUDE_STEREO_MUL
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
@ -109,18 +109,18 @@
|
|||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
%assign MULP_ID -1
|
%assign MULP_ID -1
|
||||||
%macro USE_MULP 0
|
%macro USE_MULP 0
|
||||||
%if MULP_ID == -1
|
%if MULP_ID == -1
|
||||||
%assign MULP_ID CUR_ID
|
%assign MULP_ID CUR_ID
|
||||||
%assign CUR_ID CUR_ID + 2
|
%assign CUR_ID CUR_ID + 2
|
||||||
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_mulp,0),
|
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_mulp,0),
|
||||||
%xdefine NUMPARAMS NUMPARAMS 0,
|
%xdefine NUMPARAMS NUMPARAMS 0,
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_MULP 1
|
%macro SU_MULP 1
|
||||||
USE_MULP
|
USE_MULP
|
||||||
%xdefine CMDS CMDS MULP_ID + %1,
|
%xdefine CMDS CMDS MULP_ID + %1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
%define INCLUDE_STEREO_MULP
|
%define INCLUDE_STEREO_MULP
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
@ -130,18 +130,18 @@
|
|||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
%assign PUSH_ID -1
|
%assign PUSH_ID -1
|
||||||
%macro USE_PUSH 0
|
%macro USE_PUSH 0
|
||||||
%if PUSH_ID == -1
|
%if PUSH_ID == -1
|
||||||
%assign PUSH_ID CUR_ID
|
%assign PUSH_ID CUR_ID
|
||||||
%assign CUR_ID CUR_ID + 2
|
%assign CUR_ID CUR_ID + 2
|
||||||
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_push,0),
|
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_push,0),
|
||||||
%xdefine NUMPARAMS NUMPARAMS 0,
|
%xdefine NUMPARAMS NUMPARAMS 0,
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_PUSH 1
|
%macro SU_PUSH 1
|
||||||
USE_PUSH
|
USE_PUSH
|
||||||
%xdefine CMDS CMDS PUSH_ID + %1,
|
%xdefine CMDS CMDS PUSH_ID + %1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
%define INCLUDE_STEREO_PUSH
|
%define INCLUDE_STEREO_PUSH
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
@ -151,18 +151,18 @@
|
|||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
%assign XCH_ID -1
|
%assign XCH_ID -1
|
||||||
%macro USE_XCH 0
|
%macro USE_XCH 0
|
||||||
%if XCH_ID == -1
|
%if XCH_ID == -1
|
||||||
%assign XCH_ID CUR_ID
|
%assign XCH_ID CUR_ID
|
||||||
%assign CUR_ID CUR_ID + 2
|
%assign CUR_ID CUR_ID + 2
|
||||||
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_xch,0),
|
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_xch,0),
|
||||||
%xdefine NUMPARAMS NUMPARAMS 0,
|
%xdefine NUMPARAMS NUMPARAMS 0,
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_XCH 1
|
%macro SU_XCH 1
|
||||||
USE_XCH
|
USE_XCH
|
||||||
%xdefine CMDS CMDS XCH_ID + %1,
|
%xdefine CMDS CMDS XCH_ID + %1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
%define INCLUDE_STEREO_XCH
|
%define INCLUDE_STEREO_XCH
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
@ -57,24 +57,24 @@ EXPORT MANGLE_FUNC(su_op_hold,0)
|
|||||||
%define INCLUDE_STEREO_FILTERHELPER
|
%define INCLUDE_STEREO_FILTERHELPER
|
||||||
su_op_hold_mono:
|
su_op_hold_mono:
|
||||||
%endif
|
%endif
|
||||||
fld dword [edx+su_hold_ports.freq] ; f x
|
fld dword [edx+su_hold_ports.freq] ; f x
|
||||||
fmul st0, st0 ; f^2 x
|
fmul st0, st0 ; f^2 x
|
||||||
fchs ; -f^2 x
|
fchs ; -f^2 x
|
||||||
fadd dword [WRK+su_hold_wrk.phase] ; p-f^2 x
|
fadd dword [WRK+su_hold_wrk.phase] ; p-f^2 x
|
||||||
fst dword [WRK+su_hold_wrk.phase] ; p <- p-f^2
|
fst dword [WRK+su_hold_wrk.phase] ; p <- p-f^2
|
||||||
fldz ; 0 p x
|
fldz ; 0 p x
|
||||||
fucomip st1 ; p x
|
fucomip st1 ; p x
|
||||||
fstp dword [esp-4] ; t=p, x
|
fstp dword [esp-4] ; t=p, x
|
||||||
jc short su_op_hold_holding ; if (0 < p) goto holding
|
jc short su_op_hold_holding ; if (0 < p) goto holding
|
||||||
fld1 ; 1 x
|
fld1 ; 1 x
|
||||||
fadd dword [esp-4] ; 1+t x
|
fadd dword [esp-4] ; 1+t x
|
||||||
fstp dword [WRK+su_hold_wrk.phase] ; x
|
fstp dword [WRK+su_hold_wrk.phase] ; x
|
||||||
fst dword [WRK+su_hold_wrk.holdval] ; save holded value
|
fst dword [WRK+su_hold_wrk.holdval] ; save holded value
|
||||||
ret ; x
|
ret ; x
|
||||||
su_op_hold_holding:
|
su_op_hold_holding:
|
||||||
fstp st0 ;
|
fstp st0 ;
|
||||||
fld dword [WRK+su_hold_wrk.holdval] ; x
|
fld dword [WRK+su_hold_wrk.holdval] ; x
|
||||||
ret
|
ret
|
||||||
|
|
||||||
%endif ; HOLD_ID > -1
|
%endif ; HOLD_ID > -1
|
||||||
|
|
||||||
@ -117,31 +117,31 @@ su_op_filter_mono:
|
|||||||
%ifdef INCLUDE_LOWPASS
|
%ifdef INCLUDE_LOWPASS
|
||||||
test al, byte LOWPASS
|
test al, byte LOWPASS
|
||||||
jz short su_op_filter_skiplowpass
|
jz short su_op_filter_skiplowpass
|
||||||
fadd dword [WRK+su_filter_wrk.low]
|
fadd dword [WRK+su_filter_wrk.low]
|
||||||
su_op_filter_skiplowpass:
|
su_op_filter_skiplowpass:
|
||||||
%endif
|
%endif
|
||||||
%ifdef INCLUDE_BANDPASS
|
%ifdef INCLUDE_BANDPASS
|
||||||
test al, byte BANDPASS
|
test al, byte BANDPASS
|
||||||
jz short su_op_filter_skipbandpass
|
jz short su_op_filter_skipbandpass
|
||||||
fadd dword [WRK+su_filter_wrk.band]
|
fadd dword [WRK+su_filter_wrk.band]
|
||||||
su_op_filter_skipbandpass:
|
su_op_filter_skipbandpass:
|
||||||
%endif
|
%endif
|
||||||
%ifdef INCLUDE_HIGHPASS
|
%ifdef INCLUDE_HIGHPASS
|
||||||
test al, byte HIGHPASS
|
test al, byte HIGHPASS
|
||||||
jz short su_op_filter_skiphighpass
|
jz short su_op_filter_skiphighpass
|
||||||
fadd dword [WRK+su_filter_wrk.high]
|
fadd dword [WRK+su_filter_wrk.high]
|
||||||
su_op_filter_skiphighpass:
|
su_op_filter_skiphighpass:
|
||||||
%endif
|
%endif
|
||||||
%ifdef INCLUDE_NEGBANDPASS
|
%ifdef INCLUDE_NEGBANDPASS
|
||||||
test al, byte NEGBANDPASS
|
test al, byte NEGBANDPASS
|
||||||
jz short su_op_filter_skipnegbandpass
|
jz short su_op_filter_skipnegbandpass
|
||||||
fsub dword [WRK+su_filter_wrk.band]
|
fsub dword [WRK+su_filter_wrk.band]
|
||||||
su_op_filter_skipnegbandpass:
|
su_op_filter_skipnegbandpass:
|
||||||
%endif
|
%endif
|
||||||
%ifdef INCLUDE_NEGHIGHPASS
|
%ifdef INCLUDE_NEGHIGHPASS
|
||||||
test al, byte NEGHIGHPASS
|
test al, byte NEGHIGHPASS
|
||||||
jz short su_op_filter_skipneghighpass
|
jz short su_op_filter_skipneghighpass
|
||||||
fsub dword [WRK+su_filter_wrk.high]
|
fsub dword [WRK+su_filter_wrk.high]
|
||||||
su_op_filter_skipneghighpass:
|
su_op_filter_skipneghighpass:
|
||||||
%endif
|
%endif
|
||||||
ret
|
ret
|
||||||
@ -250,8 +250,8 @@ su_stereo_filterhelper:
|
|||||||
|
|
||||||
SECT_TEXT(sudelay)
|
SECT_TEXT(sudelay)
|
||||||
|
|
||||||
EXPORT MANGLE_FUNC(su_op_delay,0)
|
EXPORT MANGLE_FUNC(su_op_delay,0)
|
||||||
lodsb ; eax = delay index
|
lodsb ; eax = delay index
|
||||||
mov edi, eax
|
mov edi, eax
|
||||||
lodsb ; eax = delay count
|
lodsb ; eax = delay count
|
||||||
%ifdef INCLUDE_STEREO_DELAY
|
%ifdef INCLUDE_STEREO_DELAY
|
||||||
@ -262,7 +262,7 @@ EXPORT MANGLE_FUNC(su_op_delay,0)
|
|||||||
add edi, eax ; the second delay is done with the delay time index added by count
|
add edi, eax ; the second delay is done with the delay time index added by count
|
||||||
su_op_delay_mono:
|
su_op_delay_mono:
|
||||||
%endif
|
%endif
|
||||||
pushad
|
pushad
|
||||||
mov ebx, edi; ugly register juggling, refactor
|
mov ebx, edi; ugly register juggling, refactor
|
||||||
%ifdef DELAY_NOTE_SYNC
|
%ifdef DELAY_NOTE_SYNC
|
||||||
test ebx, ebx ; note s
|
test ebx, ebx ; note s
|
||||||
@ -276,8 +276,8 @@ su_op_delay_mono:
|
|||||||
fistp word [MANGLE_DATA(su_delay_times)] ; store current comb size
|
fistp word [MANGLE_DATA(su_delay_times)] ; store current comb size
|
||||||
su_op_delay_skipnotesync:
|
su_op_delay_skipnotesync:
|
||||||
%endif
|
%endif
|
||||||
kmDLL_func_process:
|
kmDLL_func_process:
|
||||||
mov ecx, eax ;// ecx is the number of parallel delays
|
mov ecx, eax ;// ecx is the number of parallel delays
|
||||||
mov WRK, dword [MANGLE_DATA(su_delay_buffer_ofs)] ;// ebp is current delay
|
mov WRK, dword [MANGLE_DATA(su_delay_buffer_ofs)] ;// ebp is current delay
|
||||||
fld st0 ; x x
|
fld st0 ; x x
|
||||||
fmul dword [edx+su_delay_ports.dry] ; dr*x x
|
fmul dword [edx+su_delay_ports.dry] ; dr*x x
|
||||||
@ -304,7 +304,7 @@ kmDLL_func_loop:
|
|||||||
fmul dword [WRK+su_delayline_wrk.filtstate] ; o*da s*(1-da) p^2*x dr*x+s, where o is stored
|
fmul dword [WRK+su_delayline_wrk.filtstate] ; o*da s*(1-da) p^2*x dr*x+s, where o is stored
|
||||||
faddp st1, st0 ; o*da+s*(1-da) p^2*x dr*x+s
|
faddp st1, st0 ; o*da+s*(1-da) p^2*x dr*x+s
|
||||||
fst dword [WRK+su_delayline_wrk.filtstate] ; o'=o*da+s*(1-da), o' p^2*x dr*x+s
|
fst dword [WRK+su_delayline_wrk.filtstate] ; o'=o*da+s*(1-da), o' p^2*x dr*x+s
|
||||||
fmul dword [edx+su_delay_ports.feedback] ; f*o' p^2*x dr*x+s
|
fmul dword [edx+su_delay_ports.feedback] ; f*o' p^2*x dr*x+s
|
||||||
fadd st0, st1 ; f*o'+p^2*x p^2*x dr*x+s
|
fadd st0, st1 ; f*o'+p^2*x p^2*x dr*x+s
|
||||||
fstp dword [WRK+edi*4+su_delayline_wrk.buffer]; save f*o'+p^2*x to delay buffer
|
fstp dword [WRK+edi*4+su_delayline_wrk.buffer]; save f*o'+p^2*x to delay buffer
|
||||||
inc ebx ;// go to next delay lenkmh index
|
inc ebx ;// go to next delay lenkmh index
|
||||||
@ -313,15 +313,15 @@ kmDLL_func_loop:
|
|||||||
loopne kmDLL_func_loop
|
loopne kmDLL_func_loop
|
||||||
fstp st0 ; dr*x+s1+s2+s3+...
|
fstp st0 ; dr*x+s1+s2+s3+...
|
||||||
; DC-filtering
|
; DC-filtering
|
||||||
sub WRK, su_delayline_wrk.size ; the reason to use the last su_delayline_wrk instead of su_delay_wrk is that su_delay_wrk is wiped by retriggering
|
sub WRK, su_delayline_wrk.size ; the reason to use the last su_delayline_wrk instead of su_delay_wrk is that su_delay_wrk is wiped by retriggering
|
||||||
fld dword [WRK+su_delayline_wrk.dcout] ; o s
|
fld dword [WRK+su_delayline_wrk.dcout] ; o s
|
||||||
fmul dword [c_dc_const] ; c*o s
|
fmul dword [c_dc_const] ; c*o s
|
||||||
fsub dword [WRK+su_delayline_wrk.dcin] ; c*o-i s
|
fsub dword [WRK+su_delayline_wrk.dcin] ; c*o-i s
|
||||||
fxch ; s c*o-i
|
fxch ; s c*o-i
|
||||||
fst dword [WRK+su_delayline_wrk.dcin] ; i'=s, s c*o-i
|
fst dword [WRK+su_delayline_wrk.dcin] ; i'=s, s c*o-i
|
||||||
faddp st1 ; s+c*o-i
|
faddp st1 ; s+c*o-i
|
||||||
fadd dword [c_0_5] ;// add and sub small offset to prevent denormalization
|
fadd dword [c_0_5] ;// add and sub small offset to prevent denormalization
|
||||||
fsub dword [c_0_5]
|
fsub dword [c_0_5]
|
||||||
fst dword [WRK+su_delayline_wrk.dcout] ; o'=s+c*o-i
|
fst dword [WRK+su_delayline_wrk.dcout] ; o'=s+c*o-i
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
@ -344,8 +344,8 @@ SECT_DATA(suconst)
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifndef C_FREQ_NORMALIZE
|
%ifndef C_FREQ_NORMALIZE
|
||||||
c_freq_normalize dd 0.000092696138 ; // 220.0/(2^(69/12)) / 44100.0
|
c_freq_normalize dd 0.000092696138 ; // 220.0/(2^(69/12)) / 44100.0
|
||||||
%define C_FREQ_NORMALIZE
|
%define C_FREQ_NORMALIZE
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%endif ; DELAY_ID > -1
|
%endif ; DELAY_ID > -1
|
||||||
|
@ -12,15 +12,15 @@
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%define LOWPASS 0x40
|
%define LOWPASS 0x40
|
||||||
%define BANDPASS 0x20
|
%define BANDPASS 0x20
|
||||||
%define HIGHPASS 0x10
|
%define HIGHPASS 0x10
|
||||||
%define NEGBANDPASS 0x08
|
%define NEGBANDPASS 0x08
|
||||||
%define NEGHIGHPASS 0x04
|
%define NEGHIGHPASS 0x04
|
||||||
|
|
||||||
%macro SU_FILTER 4
|
%macro SU_FILTER 4
|
||||||
db %2
|
db %2
|
||||||
db %3
|
db %3
|
||||||
db %4
|
db %4
|
||||||
USE_FILTER
|
USE_FILTER
|
||||||
%xdefine CMDS CMDS FILTER_ID + %1,
|
%xdefine CMDS CMDS FILTER_ID + %1,
|
||||||
@ -44,20 +44,20 @@
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%define FREQUENCY(val) val
|
%define FREQUENCY(val) val
|
||||||
%define RESONANCE(val) val
|
%define RESONANCE(val) val
|
||||||
%define FLAGS(val) val
|
%define FLAGS(val) val
|
||||||
|
|
||||||
struc su_filter_ports
|
struc su_filter_ports
|
||||||
.freq resd 1
|
.freq resd 1
|
||||||
.res resd 1
|
.res resd 1
|
||||||
.params
|
.params
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
struc su_filter_wrk
|
struc su_filter_wrk
|
||||||
.low resd 1
|
.low resd 1
|
||||||
.high resd 1
|
.high resd 1
|
||||||
.band resd 1
|
.band resd 1
|
||||||
.size
|
.size
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
@ -75,8 +75,8 @@ endstruc
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_PAN 2
|
%macro SU_PAN 2
|
||||||
db %2
|
db %2
|
||||||
USE_PAN
|
USE_PAN
|
||||||
%xdefine CMDS CMDS PAN_ID + %1,
|
%xdefine CMDS CMDS PAN_ID + %1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
@ -84,10 +84,10 @@ endstruc
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%define PANNING(val) val
|
%define PANNING(val) val
|
||||||
|
|
||||||
struc su_pan_ports
|
struc su_pan_ports
|
||||||
.panning resd 1
|
.panning resd 1
|
||||||
.params
|
.params
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ endstruc
|
|||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_DISTORT 2
|
%macro SU_DISTORT 2
|
||||||
db %2
|
db %2
|
||||||
USE_DISTORT
|
USE_DISTORT
|
||||||
%xdefine CMDS CMDS DISTORT_ID + %1,
|
%xdefine CMDS CMDS DISTORT_ID + %1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
@ -114,10 +114,10 @@ endstruc
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%define DRIVE(val) val
|
%define DRIVE(val) val
|
||||||
|
|
||||||
struc su_distort_ports
|
struc su_distort_ports
|
||||||
.drive resd 1
|
.drive resd 1
|
||||||
.params
|
.params
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ endstruc
|
|||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_HOLD 2
|
%macro SU_HOLD 2
|
||||||
db %2
|
db %2
|
||||||
USE_HOLD
|
USE_HOLD
|
||||||
%xdefine CMDS CMDS HOLD_ID + %1,
|
%xdefine CMDS CMDS HOLD_ID + %1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
@ -144,15 +144,15 @@ endstruc
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%define HOLDFREQ(val) val
|
%define HOLDFREQ(val) val
|
||||||
|
|
||||||
struc su_hold_ports
|
struc su_hold_ports
|
||||||
.freq resd 1
|
.freq resd 1
|
||||||
.params
|
.params
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
struc su_hold_wrk
|
struc su_hold_wrk
|
||||||
.phase resd 1
|
.phase resd 1
|
||||||
.holdval resd 1
|
.holdval resd 1
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
@ -194,13 +194,13 @@ endstruc
|
|||||||
%define MAX_DELAY 65536
|
%define MAX_DELAY 65536
|
||||||
%assign NUM_DELAY_LINES 0
|
%assign NUM_DELAY_LINES 0
|
||||||
|
|
||||||
%macro SU_DELAY 7
|
%macro SU_DELAY 7
|
||||||
db %2
|
db %2
|
||||||
db %3
|
db %3
|
||||||
db %4
|
db %4
|
||||||
db %5
|
db %5
|
||||||
db %6
|
db %6
|
||||||
db %7
|
db %7
|
||||||
USE_DELAY
|
USE_DELAY
|
||||||
%xdefine CMDS CMDS DELAY_ID + %1,
|
%xdefine CMDS CMDS DELAY_ID + %1,
|
||||||
%assign NUM_DELAY_LINES NUM_DELAY_LINES + %7 * (1+%1)
|
%assign NUM_DELAY_LINES NUM_DELAY_LINES + %7 * (1+%1)
|
||||||
@ -214,9 +214,9 @@ endstruc
|
|||||||
|
|
||||||
%macro SU_BEGIN_DELTIMES 0
|
%macro SU_BEGIN_DELTIMES 0
|
||||||
SECT_DATA(sudeltim)
|
SECT_DATA(sudeltim)
|
||||||
|
|
||||||
EXPORT MANGLE_DATA(su_delay_times)
|
EXPORT MANGLE_DATA(su_delay_times)
|
||||||
dw 0
|
dw 0
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%define SU_END_DELTIMES
|
%define SU_END_DELTIMES
|
||||||
@ -224,33 +224,33 @@ endstruc
|
|||||||
%macro DELTIME 1-*
|
%macro DELTIME 1-*
|
||||||
%rep %0
|
%rep %0
|
||||||
dw %1
|
dw %1
|
||||||
%rotate 1
|
%rotate 1
|
||||||
%endrep
|
%endrep
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
|
||||||
%define PREGAIN(val) val
|
|
||||||
%define DRY(val) val
|
|
||||||
%define FEEDBACK(val) val
|
|
||||||
%define DEPTH(val) val
|
|
||||||
%define DAMP(val) val
|
|
||||||
%define DELAY(val) val
|
|
||||||
%define COUNT(val) val
|
|
||||||
|
|
||||||
struc su_delay_ports
|
%define PREGAIN(val) val
|
||||||
.pregain resd 1
|
%define DRY(val) val
|
||||||
.dry resd 1
|
%define FEEDBACK(val) val
|
||||||
.feedback resd 1
|
%define DEPTH(val) val
|
||||||
.damp resd 1
|
%define DAMP(val) val
|
||||||
.freq resd 1
|
%define DELAY(val) val
|
||||||
.ports
|
%define COUNT(val) val
|
||||||
|
|
||||||
|
struc su_delay_ports
|
||||||
|
.pregain resd 1
|
||||||
|
.dry resd 1
|
||||||
|
.feedback resd 1
|
||||||
|
.damp resd 1
|
||||||
|
.freq resd 1
|
||||||
|
.ports
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
struc su_delayline_wrk
|
struc su_delayline_wrk
|
||||||
.time resd 1
|
.time resd 1
|
||||||
.filtstate resd 1
|
.filtstate resd 1
|
||||||
.dcin resd 1
|
.dcin resd 1
|
||||||
.dcout resd 1
|
.dcout resd 1
|
||||||
.buffer resd MAX_DELAY
|
.buffer resd MAX_DELAY
|
||||||
.size
|
.size
|
||||||
endstruc
|
endstruc
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
; valptr : pointer to the first unit's value of current voice
|
; valptr : pointer to the first unit's value of current voice
|
||||||
; comptr : pointer to the first command of current voice
|
; comptr : pointer to the first command of current voice
|
||||||
; COM : pointer to the command after current command
|
; COM : pointer to the command after current command
|
||||||
; Output: WRK : pointer to the next unit to be processed
|
; Output: WRK : pointer to the next unit to be processed
|
||||||
; VAL : pointer to the values of the next to be processed
|
; VAL : pointer to the values of the next to be processed
|
||||||
; COM : pointer to the next command to be executed
|
; COM : pointer to the next command to be executed
|
||||||
;
|
;
|
||||||
@ -20,7 +20,7 @@ SECT_TEXT(suopadvn)
|
|||||||
|
|
||||||
%ifdef INCLUDE_POLYPHONY
|
%ifdef INCLUDE_POLYPHONY
|
||||||
|
|
||||||
EXPORT MANGLE_FUNC(su_op_advance,0) ; Stack: addr voice wrkptr valptr comptr
|
EXPORT MANGLE_FUNC(su_op_advance,0) ; Stack: addr voice wrkptr valptr comptr
|
||||||
mov WRK, dword [esp+8] ; WRK = wrkptr
|
mov WRK, dword [esp+8] ; WRK = wrkptr
|
||||||
add WRK, su_voice.size ; move to next voice
|
add WRK, su_voice.size ; move to next voice
|
||||||
mov dword [esp+8], WRK ; update stack
|
mov dword [esp+8], WRK ; update stack
|
||||||
@ -40,7 +40,7 @@ su_op_advance_finish:
|
|||||||
|
|
||||||
%else
|
%else
|
||||||
|
|
||||||
EXPORT MANGLE_FUNC(su_op_advance,0) ; Stack: addr voice wrkptr valptr comptr
|
EXPORT MANGLE_FUNC(su_op_advance,0) ; Stack: addr voice wrkptr valptr comptr
|
||||||
mov WRK, dword [esp+8] ; WRK = wrkptr
|
mov WRK, dword [esp+8] ; WRK = wrkptr
|
||||||
add WRK, su_voice.size ; move to next voice
|
add WRK, su_voice.size ; move to next voice
|
||||||
mov dword [esp+8], WRK ; update stack
|
mov dword [esp+8], WRK ; update stack
|
||||||
@ -60,4 +60,4 @@ c_dc_const dd 0.99609375 ; R = 1 - (pi*2 * frequency /sam
|
|||||||
%define C_DC_CONST
|
%define C_DC_CONST
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
@ -12,7 +12,7 @@ EXPORT MANGLE_FUNC(su_op_out,0) ; l r
|
|||||||
call su_op_out_mono
|
call su_op_out_mono
|
||||||
add eax, 4
|
add eax, 4
|
||||||
su_op_out_mono:
|
su_op_out_mono:
|
||||||
%endif
|
%endif
|
||||||
fmul dword [edx+su_out_ports.gain] ; g*l
|
fmul dword [edx+su_out_ports.gain] ; g*l
|
||||||
fadd dword [eax] ; g*l+o
|
fadd dword [eax] ; g*l+o
|
||||||
fstp dword [eax] ; o'=g*l+o
|
fstp dword [eax] ; o'=g*l+o
|
||||||
@ -47,7 +47,7 @@ EXPORT MANGLE_FUNC(su_op_send,0)
|
|||||||
jnz su_op_send_mono
|
jnz su_op_send_mono
|
||||||
fxch ; swap them back: l r
|
fxch ; swap them back: l r
|
||||||
su_op_send_mono:
|
su_op_send_mono:
|
||||||
%endif
|
%endif
|
||||||
%ifdef INCLUDE_GLOBAL_SEND
|
%ifdef INCLUDE_GLOBAL_SEND
|
||||||
test eax, SEND_GLOBAL
|
test eax, SEND_GLOBAL
|
||||||
jz su_op_send_skipglobal
|
jz su_op_send_skipglobal
|
||||||
@ -55,7 +55,7 @@ su_op_send_mono:
|
|||||||
su_op_send_skipglobal:
|
su_op_send_skipglobal:
|
||||||
%endif
|
%endif
|
||||||
test eax, SEND_POP ; if the SEND_POP bit is not set
|
test eax, SEND_POP ; if the SEND_POP bit is not set
|
||||||
jnz su_op_send_skippush
|
jnz su_op_send_skippush
|
||||||
fld st0 ; duplicate the signal on stack: s s
|
fld st0 ; duplicate the signal on stack: s s
|
||||||
su_op_send_skippush: ; there is signal s, but maybe also another: s (s)
|
su_op_send_skippush: ; there is signal s, but maybe also another: s (s)
|
||||||
fld dword [edx+su_send_ports.amount] ; a l (l)
|
fld dword [edx+su_send_ports.amount] ; a l (l)
|
||||||
@ -67,4 +67,4 @@ su_op_send_skippush: ; there is signal s, but maybe also another: s (
|
|||||||
fstp dword [ecx+su_unit.size+eax*4] ; (l)
|
fstp dword [ecx+su_unit.size+eax*4] ; (l)
|
||||||
ret
|
ret
|
||||||
|
|
||||||
%endif ; SU_USE_SEND > -1
|
%endif ; SU_USE_SEND > -1
|
||||||
|
@ -4,26 +4,26 @@
|
|||||||
%assign OUT_ID -1
|
%assign OUT_ID -1
|
||||||
%macro USE_OUT 0
|
%macro USE_OUT 0
|
||||||
%if OUT_ID == -1
|
%if OUT_ID == -1
|
||||||
%assign OUT_ID CUR_ID
|
%assign OUT_ID CUR_ID
|
||||||
%assign CUR_ID CUR_ID + 2
|
%assign CUR_ID CUR_ID + 2
|
||||||
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_out,0),
|
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_out,0),
|
||||||
%xdefine NUMPARAMS NUMPARAMS 1,
|
%xdefine NUMPARAMS NUMPARAMS 1,
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_OUT 2
|
%macro SU_OUT 2
|
||||||
db %2
|
db %2
|
||||||
USE_OUT
|
USE_OUT
|
||||||
%xdefine CMDS CMDS OUT_ID+%1,
|
%xdefine CMDS CMDS OUT_ID+%1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
%define INCLUDE_STEREO_OUT
|
%define INCLUDE_STEREO_OUT
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%define GAIN(val) val
|
%define GAIN(val) val
|
||||||
|
|
||||||
struc su_out_ports
|
struc su_out_ports
|
||||||
.gain resd 1
|
.gain resd 1
|
||||||
.params
|
.params
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
@ -33,34 +33,34 @@ endstruc
|
|||||||
%assign SEND_ID -1
|
%assign SEND_ID -1
|
||||||
%macro USE_SEND 0
|
%macro USE_SEND 0
|
||||||
%if SEND_ID == -1
|
%if SEND_ID == -1
|
||||||
%assign SEND_ID CUR_ID
|
%assign SEND_ID CUR_ID
|
||||||
%assign CUR_ID CUR_ID + 2
|
%assign CUR_ID CUR_ID + 2
|
||||||
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_send,0),
|
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_send,0),
|
||||||
%xdefine NUMPARAMS NUMPARAMS 1,
|
%xdefine NUMPARAMS NUMPARAMS 1,
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_SEND 3
|
%macro SU_SEND 3
|
||||||
db %2
|
db %2
|
||||||
dw %3
|
dw %3
|
||||||
USE_SEND
|
USE_SEND
|
||||||
%xdefine CMDS CMDS SEND_ID + %1,
|
%xdefine CMDS CMDS SEND_ID + %1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
%define INCLUDE_STEREO_SEND
|
%define INCLUDE_STEREO_SEND
|
||||||
%endif
|
%endif
|
||||||
%if (%3) & SEND_GLOBAL == SEND_GLOBAL
|
%if (%3) & SEND_GLOBAL == SEND_GLOBAL
|
||||||
%define INCLUDE_GLOBAL_SEND
|
%define INCLUDE_GLOBAL_SEND
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%define AMOUNT(val) val
|
%define AMOUNT(val) val
|
||||||
%define PORT(unit,unittype,port) (unit*su_unit.size + su_ %+ unittype %+ _ports. %+ port + su_unit.ports)/4
|
%define PORT(unit,unittype,port) (unit*su_unit.size + su_ %+ unittype %+ _ports. %+ port + su_unit.ports)/4
|
||||||
%define GLOBALPORT(voice,unit,unittype,port) SEND_GLOBAL + (su_synth.voices+voice*su_voice.size+su_voice.workspace+unit*su_unit.size + su_ %+ unittype %+ _ports. %+ port + su_unit.ports)/4
|
%define GLOBALPORT(voice,unit,unittype,port) SEND_GLOBAL + (su_synth.voices+voice*su_voice.size+su_voice.workspace+unit*su_unit.size + su_ %+ unittype %+ _ports. %+ port + su_unit.ports)/4
|
||||||
%define OUTPORT 0
|
%define OUTPORT 0
|
||||||
%define SEND_POP 0x8000
|
%define SEND_POP 0x8000
|
||||||
%define SEND_GLOBAL 0x4000
|
%define SEND_GLOBAL 0x4000
|
||||||
|
|
||||||
struc su_send_ports
|
struc su_send_ports
|
||||||
.amount resd 1
|
.amount resd 1
|
||||||
.params
|
.params
|
||||||
endstruc
|
endstruc
|
||||||
|
@ -21,7 +21,7 @@ EXPORT MANGLE_FUNC(su_op_envelope,0)
|
|||||||
ret
|
ret
|
||||||
su_op_envelope_mono:
|
su_op_envelope_mono:
|
||||||
%endif
|
%endif
|
||||||
kmENV_func_do:
|
kmENV_func_do:
|
||||||
mov eax, dword [ecx+su_unit.size-su_voice.workspace+su_voice.release] ; eax = su_instrument.release
|
mov eax, dword [ecx+su_unit.size-su_voice.workspace+su_voice.release] ; eax = su_instrument.release
|
||||||
test eax, eax ; if (eax == 0)
|
test eax, eax ; if (eax == 0)
|
||||||
je kmENV_func_process ; goto process
|
je kmENV_func_process ; goto process
|
||||||
@ -83,7 +83,7 @@ EXPORT MANGLE_FUNC(su_op_noise,0)
|
|||||||
call dword [esp]
|
call dword [esp]
|
||||||
su_op_noise_mono:
|
su_op_noise_mono:
|
||||||
%endif
|
%endif
|
||||||
call MANGLE_FUNC(FloatRandomNumber,0)
|
call MANGLE_FUNC(FloatRandomNumber,0)
|
||||||
fld dword [edx+su_noise_ports.shape]
|
fld dword [edx+su_noise_ports.shape]
|
||||||
call su_waveshaper
|
call su_waveshaper
|
||||||
fld dword [edx+su_noise_ports.gain]
|
fld dword [edx+su_noise_ports.gain]
|
||||||
@ -136,12 +136,12 @@ su_op_oscillat_normalize_note:
|
|||||||
su_op_oscillat_normalized:
|
su_op_oscillat_normalized:
|
||||||
fadd dword [WRK+su_osc_wrk.phase]
|
fadd dword [WRK+su_osc_wrk.phase]
|
||||||
fst dword [WRK+su_osc_wrk.phase]
|
fst dword [WRK+su_osc_wrk.phase]
|
||||||
fadd dword [edx+su_osc_ports.phaseofs]
|
fadd dword [edx+su_osc_ports.phaseofs]
|
||||||
fld1
|
fld1
|
||||||
fadd st1, st0
|
fadd st1, st0
|
||||||
fxch
|
fxch
|
||||||
fprem
|
fprem
|
||||||
fstp st1
|
fstp st1
|
||||||
fld dword [edx+su_osc_ports.color] ; // c p
|
fld dword [edx+su_osc_ports.color] ; // c p
|
||||||
; every oscillator test included if needed
|
; every oscillator test included if needed
|
||||||
%ifdef INCLUDE_SINE
|
%ifdef INCLUDE_SINE
|
||||||
@ -181,7 +181,7 @@ su_op_oscillat_gain:
|
|||||||
SECT_DATA(suconst)
|
SECT_DATA(suconst)
|
||||||
|
|
||||||
%ifndef C_FREQ_NORMALIZE
|
%ifndef C_FREQ_NORMALIZE
|
||||||
c_freq_normalize dd 0.000092696138 ; // 220.0/(2^(69/12)) / 44100.0
|
c_freq_normalize dd 0.000092696138 ; // 220.0/(2^(69/12)) / 44100.0
|
||||||
%define C_FREQ_NORMALIZE
|
%define C_FREQ_NORMALIZE
|
||||||
%endif
|
%endif
|
||||||
c_lfo_normalize dd 0.000038
|
c_lfo_normalize dd 0.000038
|
||||||
@ -268,7 +268,7 @@ go4kVCO_gate_bit: ; stack: 0/1, let's call it x
|
|||||||
fmul dword [c_dc_const] ; c(g-x) x
|
fmul dword [c_dc_const] ; c(g-x) x
|
||||||
faddp st1, st0 ; x+c(g-x)
|
faddp st1, st0 ; x+c(g-x)
|
||||||
fst dword [WRK+su_osc_wrk.gatestate] ; g'=x+c(g-x)
|
fst dword [WRK+su_osc_wrk.gatestate] ; g'=x+c(g-x)
|
||||||
pop eax ; Another way to see this (c~0.996)
|
pop eax ; Another way to see this (c~0.996)
|
||||||
ret ; g'=cg+(1-c)x
|
ret ; g'=cg+(1-c)x
|
||||||
; This is a low-pass to smooth the gate transitions
|
; This is a low-pass to smooth the gate transitions
|
||||||
|
|
||||||
@ -284,7 +284,7 @@ SECT_DATA(suconst)
|
|||||||
%define C_DC_CONST
|
%define C_DC_CONST
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
; LOAD_VAL opcode
|
; LOAD_VAL opcode
|
||||||
@ -300,8 +300,8 @@ SECT_TEXT(suloadvl)
|
|||||||
|
|
||||||
EXPORT MANGLE_FUNC(su_op_load_val,0)
|
EXPORT MANGLE_FUNC(su_op_load_val,0)
|
||||||
%ifdef INCLUDE_STEREO_LOAD_VAL
|
%ifdef INCLUDE_STEREO_LOAD_VAL
|
||||||
jnc su_op_load_val_mono
|
jnc su_op_load_val_mono
|
||||||
call su_load_val_mono
|
call su_load_val_mono
|
||||||
su_load_val_mono:
|
su_load_val_mono:
|
||||||
%endif
|
%endif
|
||||||
fld dword [edx+su_load_val_ports.value] ; v
|
fld dword [edx+su_load_val_ports.value] ; v
|
||||||
@ -309,4 +309,4 @@ su_load_val_mono:
|
|||||||
fadd st0 ; 2*v-1
|
fadd st0 ; 2*v-1
|
||||||
ret
|
ret
|
||||||
|
|
||||||
%endif ; SU_USE_LOAD_VAL
|
%endif ; SU_USE_LOAD_VAL
|
||||||
|
@ -12,11 +12,11 @@
|
|||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_ENVELOPE 6
|
%macro SU_ENVELOPE 6
|
||||||
db %2
|
db %2
|
||||||
db %3
|
db %3
|
||||||
db %4
|
db %4
|
||||||
db %5
|
db %5
|
||||||
db %6
|
db %6
|
||||||
USE_ENVELOPE
|
USE_ENVELOPE
|
||||||
%xdefine CMDS CMDS ENVELOPE_ID+%1,
|
%xdefine CMDS CMDS ENVELOPE_ID+%1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
@ -24,32 +24,32 @@
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%define ATTAC(val) val
|
%define ATTAC(val) val
|
||||||
%define DECAY(val) val
|
%define DECAY(val) val
|
||||||
%define SUSTAIN(val) val
|
%define SUSTAIN(val) val
|
||||||
%define RELEASE(val) val
|
%define RELEASE(val) val
|
||||||
%define GAIN(val) val
|
%define GAIN(val) val
|
||||||
|
|
||||||
struc su_env_ports
|
struc su_env_ports
|
||||||
.attac resd 1
|
.attac resd 1
|
||||||
.decay resd 1
|
.decay resd 1
|
||||||
.sustain resd 1
|
.sustain resd 1
|
||||||
.release resd 1
|
.release resd 1
|
||||||
.gain resd 1
|
.gain resd 1
|
||||||
.params
|
.params
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
struc su_env_work
|
struc su_env_work
|
||||||
.state resd 1
|
.state resd 1
|
||||||
.level resd 1
|
.level resd 1
|
||||||
.size
|
.size
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
%define ENV_STATE_ATTAC 0
|
%define ENV_STATE_ATTAC 0
|
||||||
%define ENV_STATE_DECAY 1
|
%define ENV_STATE_DECAY 1
|
||||||
%define ENV_STATE_SUSTAIN 2
|
%define ENV_STATE_SUSTAIN 2
|
||||||
%define ENV_STATE_RELEASE 3
|
%define ENV_STATE_RELEASE 3
|
||||||
%define ENV_STATE_OFF 4
|
%define ENV_STATE_OFF 4
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
; OSCILLAT structs
|
; OSCILLAT structs
|
||||||
@ -64,18 +64,18 @@ endstruc
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%define SINE 0x40
|
%define SINE 0x40
|
||||||
%define TRISAW 0x20
|
%define TRISAW 0x20
|
||||||
%define PULSE 0x10
|
%define PULSE 0x10
|
||||||
%define LFO 0x08
|
%define LFO 0x08
|
||||||
%define GATE 0x04
|
%define GATE 0x04
|
||||||
|
|
||||||
%macro SU_OSCILLAT 8
|
%macro SU_OSCILLAT 8
|
||||||
db %2
|
db %2
|
||||||
db %3
|
db %3
|
||||||
db %4
|
db %4
|
||||||
db %5
|
db %5
|
||||||
db %6
|
db %6
|
||||||
db %7
|
db %7
|
||||||
db %8
|
db %8
|
||||||
USE_OSCILLAT
|
USE_OSCILLAT
|
||||||
@ -97,29 +97,29 @@ endstruc
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
struc su_osc_ports
|
struc su_osc_ports
|
||||||
.transpose resd 1
|
.transpose resd 1
|
||||||
.detune resd 1
|
.detune resd 1
|
||||||
.phaseofs resd 1
|
.phaseofs resd 1
|
||||||
.color resd 1
|
.color resd 1
|
||||||
.shape resd 1
|
.shape resd 1
|
||||||
.gain resd 1
|
.gain resd 1
|
||||||
.params
|
.params
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
struc su_osc_wrk
|
struc su_osc_wrk
|
||||||
.phase resd 1
|
.phase resd 1
|
||||||
.gatestate resd 1
|
.gatestate resd 1
|
||||||
.size
|
.size
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
%define TRANSPOSE(val) val
|
%define TRANSPOSE(val) val
|
||||||
%define DETUNE(val) val
|
%define DETUNE(val) val
|
||||||
%define PHASE(val) val
|
%define PHASE(val) val
|
||||||
%define GATESLOW(val) val
|
%define GATESLOW(val) val
|
||||||
%define GATESHIGH(val) val
|
%define GATESHIGH(val) val
|
||||||
%define COLOR(val) val
|
%define COLOR(val) val
|
||||||
%define SHAPE(val) val
|
%define SHAPE(val) val
|
||||||
%define FLAGS(val) val
|
%define FLAGS(val) val
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
@ -135,9 +135,9 @@ endstruc
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_NOISE 3
|
%macro SU_NOISE 3
|
||||||
db %2
|
db %2
|
||||||
db %3
|
db %3
|
||||||
USE_NOISE
|
USE_NOISE
|
||||||
%xdefine CMDS CMDS NOISE_ID + %1,
|
%xdefine CMDS CMDS NOISE_ID + %1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
@ -145,9 +145,9 @@ endstruc
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
struc su_noise_ports
|
struc su_noise_ports
|
||||||
.shape resd 1
|
.shape resd 1
|
||||||
.gain resd 1
|
.gain resd 1
|
||||||
.params
|
.params
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
@ -164,8 +164,8 @@ endstruc
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SU_LOAD_VAL 2
|
%macro SU_LOAD_VAL 2
|
||||||
db %2
|
db %2
|
||||||
USE_LOAD_VAL
|
USE_LOAD_VAL
|
||||||
%xdefine CMDS CMDS LOAD_VAL_ID+%1,
|
%xdefine CMDS CMDS LOAD_VAL_ID+%1,
|
||||||
%if %1 == STEREO
|
%if %1 == STEREO
|
||||||
@ -173,13 +173,13 @@ endstruc
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%define VALUE(val) val
|
%define VALUE(val) val
|
||||||
|
|
||||||
struc su_load_val_ports
|
struc su_load_val_ports
|
||||||
.value resd 1
|
.value resd 1
|
||||||
.params
|
.params
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
struc su_load_val_wrk
|
struc su_load_val_wrk
|
||||||
.size
|
.size
|
||||||
endstruc
|
endstruc
|
||||||
|
@ -32,18 +32,18 @@ c_32767 dd 32767.0
|
|||||||
%macro output_sound 0
|
%macro output_sound 0
|
||||||
%ifndef SU_USE_16BIT_OUTPUT
|
%ifndef SU_USE_16BIT_OUTPUT
|
||||||
%ifndef SU_CLIP_OUTPUT ; The modern way. No need to clip; OS can do it.
|
%ifndef SU_CLIP_OUTPUT ; The modern way. No need to clip; OS can do it.
|
||||||
mov edi, dword [esp+44] ; edi containts ptr
|
mov edi, dword [esp+44] ; edi containts ptr
|
||||||
mov esi, su_synth_obj+su_synth.left
|
mov esi, su_synth_obj+su_synth.left
|
||||||
movsd ; copy left channel to output buffer
|
movsd ; copy left channel to output buffer
|
||||||
movsd ; copy right channel to output buffer
|
movsd ; copy right channel to output buffer
|
||||||
mov dword [esp+44], edi ; save back the updated ptr
|
mov dword [esp+44], edi ; save back the updated ptr
|
||||||
lea edi, [esi-8]
|
lea edi, [esi-8]
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
stosd ; clear left channel so the VM is ready to write them again
|
stosd ; clear left channel so the VM is ready to write them again
|
||||||
stosd ; clear right channel so the VM is ready to write them again
|
stosd ; clear right channel so the VM is ready to write them again
|
||||||
%else
|
%else
|
||||||
mov esi, dword [esp+44] ; esi points to the output buffer
|
mov esi, dword [esp+44] ; esi points to the output buffer
|
||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
%%loop: ; loop over two channels, left & right
|
%%loop: ; loop over two channels, left & right
|
||||||
fld dword [su_synth_obj+su_synth.left+ecx*4]
|
fld dword [su_synth_obj+su_synth.left+ecx*4]
|
||||||
@ -63,7 +63,7 @@ c_32767 dd 32767.0
|
|||||||
fld dword [edi]
|
fld dword [edi]
|
||||||
call MANGLE_FUNC(su_clip_op,0)
|
call MANGLE_FUNC(su_clip_op,0)
|
||||||
fmul dword [c_32767]
|
fmul dword [c_32767]
|
||||||
push eax
|
push eax
|
||||||
fistp dword [esp]
|
fistp dword [esp]
|
||||||
pop eax
|
pop eax
|
||||||
mov word [esi],ax ; // store integer converted right sample
|
mov word [esi],ax ; // store integer converted right sample
|
||||||
@ -87,7 +87,7 @@ SECT_TEXT(surender)
|
|||||||
EXPORT MANGLE_FUNC(su_render,4) ; Stack: ptr
|
EXPORT MANGLE_FUNC(su_render,4) ; Stack: ptr
|
||||||
pushad ; Stack: pushad ptr
|
pushad ; Stack: pushad ptr
|
||||||
xor eax, eax ; ecx is the current row
|
xor eax, eax ; ecx is the current row
|
||||||
su_render_rowloop: ; loop through every row in the song
|
su_render_rowloop: ; loop through every row in the song
|
||||||
push eax ; Stack: row pushad ptr
|
push eax ; Stack: row pushad ptr
|
||||||
call su_update_voices ; update instruments for the new row
|
call su_update_voices ; update instruments for the new row
|
||||||
xor eax, eax ; ecx is the current sample within row
|
xor eax, eax ; ecx is the current sample within row
|
||||||
@ -97,11 +97,11 @@ su_render_sampleloop: ; loop through every sample in the row
|
|||||||
output_sound ; *ptr++ = left, *ptr++ = right
|
output_sound ; *ptr++ = left, *ptr++ = right
|
||||||
pop eax ; Stack: row pushad ptr
|
pop eax ; Stack: row pushad ptr
|
||||||
inc eax
|
inc eax
|
||||||
cmp eax, SAMPLES_PER_ROW
|
cmp eax, SAMPLES_PER_ROW
|
||||||
jl su_render_sampleloop
|
jl su_render_sampleloop
|
||||||
pop eax ; Stack: pushad ptr
|
pop eax ; Stack: pushad ptr
|
||||||
inc eax
|
inc eax
|
||||||
cmp eax, TOTAL_ROWS
|
cmp eax, TOTAL_ROWS
|
||||||
jl su_render_rowloop
|
jl su_render_rowloop
|
||||||
popad ; Stack: ptr
|
popad ; Stack: ptr
|
||||||
ret 4 ; Stack emptied by ret
|
ret 4 ; Stack emptied by ret
|
||||||
@ -116,19 +116,19 @@ SECT_TEXT(suupdvce)
|
|||||||
|
|
||||||
%ifdef INCLUDE_MULTIVOICE_TRACKS
|
%ifdef INCLUDE_MULTIVOICE_TRACKS
|
||||||
|
|
||||||
su_update_voices: ; Stack: retaddr row
|
su_update_voices: ; Stack: retaddr row
|
||||||
xor edx, edx
|
xor edx, edx
|
||||||
mov ebx, PATTERN_SIZE
|
mov ebx, PATTERN_SIZE
|
||||||
div ebx ; eax = current pattern, edx = current row in pattern
|
div ebx ; eax = current pattern, edx = current row in pattern
|
||||||
lea esi, [MANGLE_DATA(su_tracks)+eax] ; esi points to the pattern data for current track
|
lea esi, [MANGLE_DATA(su_tracks)+eax] ; esi points to the pattern data for current track
|
||||||
xor eax, eax ; eax is the first voice of next track
|
xor eax, eax ; eax is the first voice of next track
|
||||||
xor ebx, ebx ; ebx is the first voice of current track
|
xor ebx, ebx ; ebx is the first voice of current track
|
||||||
xor ebp, ebp ; ebp is the current track being processed
|
xor ebp, ebp ; ebp is the current track being processed
|
||||||
su_update_voices_trackloop:
|
su_update_voices_trackloop:
|
||||||
movzx eax, byte [esi] ; eax = current pattern
|
movzx eax, byte [esi] ; eax = current pattern
|
||||||
imul eax, PATTERN_SIZE ; eax = offset to current pattern data
|
imul eax, PATTERN_SIZE ; eax = offset to current pattern data
|
||||||
movzx eax, byte [MANGLE_DATA(su_patterns)+eax+edx] ; eax = note
|
movzx eax, byte [MANGLE_DATA(su_patterns)+eax+edx] ; eax = note
|
||||||
push edx ; Stack: ptrnrow
|
push edx ; Stack: ptrnrow
|
||||||
xor edx, edx ; edx=0
|
xor edx, edx ; edx=0
|
||||||
mov ecx, ebx ; ecx=first voice of the track to be done
|
mov ecx, ebx ; ecx=first voice of the track to be done
|
||||||
su_calculate_voices_loop: ; do {
|
su_calculate_voices_loop: ; do {
|
||||||
@ -136,66 +136,66 @@ su_calculate_voices_loop: ; do {
|
|||||||
inc edx ; edx++ // edx=numvoices
|
inc edx ; edx++ // edx=numvoices
|
||||||
inc ecx ; ecx++ // ecx=the first voice of next track
|
inc ecx ; ecx++ // ecx=the first voice of next track
|
||||||
jc su_calculate_voices_loop ; } while bit ecx-1 of bitmask is on
|
jc su_calculate_voices_loop ; } while bit ecx-1 of bitmask is on
|
||||||
push ecx ; Stack: next_instr ptrnrow
|
push ecx ; Stack: next_instr ptrnrow
|
||||||
cmp al, HLD ; anything but hold causes action
|
cmp al, HLD ; anything but hold causes action
|
||||||
je short su_update_voices_nexttrack
|
je short su_update_voices_nexttrack
|
||||||
mov ecx, dword [su_current_voiceno+ebp*4]
|
mov ecx, dword [su_current_voiceno+ebp*4]
|
||||||
mov edi, ecx
|
mov edi, ecx
|
||||||
add edi, ebx
|
add edi, ebx
|
||||||
imul edi, edi, su_voice.size
|
imul edi, edi, su_voice.size
|
||||||
mov dword [su_synth_obj+su_synth.voices+edi+su_voice.release],1 ; set the voice currently active to release
|
mov dword [su_synth_obj+su_synth.voices+edi+su_voice.release],1 ; set the voice currently active to release
|
||||||
cmp al, HLD ; if cl < HLD (no new note triggered)
|
cmp al, HLD ; if cl < HLD (no new note triggered)
|
||||||
jl su_update_voices_nexttrack ; goto nexttrack
|
jl su_update_voices_nexttrack ; goto nexttrack
|
||||||
inc ecx ; curvoice++
|
inc ecx ; curvoice++
|
||||||
cmp ecx, edx ; if (curvoice >= num_voices)
|
cmp ecx, edx ; if (curvoice >= num_voices)
|
||||||
jl su_update_voices_skipreset
|
jl su_update_voices_skipreset
|
||||||
xor ecx,ecx ; curvoice = 0
|
xor ecx,ecx ; curvoice = 0
|
||||||
su_update_voices_skipreset:
|
su_update_voices_skipreset:
|
||||||
mov dword [su_current_voiceno+ebp*4],ecx
|
mov dword [su_current_voiceno+ebp*4],ecx
|
||||||
add ecx, ebx
|
add ecx, ebx
|
||||||
imul ecx, ecx, su_voice.size
|
imul ecx, ecx, su_voice.size
|
||||||
lea edi, [su_synth_obj+su_synth.voices+ecx]
|
lea edi, [su_synth_obj+su_synth.voices+ecx]
|
||||||
stosd ; save note
|
stosd ; save note
|
||||||
mov ecx, (su_voice.size - su_voice.release)/4
|
mov ecx, (su_voice.size - su_voice.release)/4
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
rep stosd ; clear the workspace of the new voice, retriggering oscillators
|
rep stosd ; clear the workspace of the new voice, retriggering oscillators
|
||||||
su_update_voices_nexttrack:
|
su_update_voices_nexttrack:
|
||||||
pop ebx ; ebx=first voice of next instrument, Stack: ptrnrow
|
pop ebx ; ebx=first voice of next instrument, Stack: ptrnrow
|
||||||
pop edx ; edx=patrnrow
|
pop edx ; edx=patrnrow
|
||||||
add esi, MAX_PATTERNS
|
add esi, MAX_PATTERNS
|
||||||
inc ebp
|
inc ebp
|
||||||
cmp ebp, MAX_TRACKS
|
cmp ebp, MAX_TRACKS
|
||||||
jl short su_update_voices_trackloop
|
jl short su_update_voices_trackloop
|
||||||
ret
|
ret
|
||||||
|
|
||||||
%else ; INCLUDE_MULTIVOICE_TRACKS not defined -> one voice per track version
|
%else ; INCLUDE_MULTIVOICE_TRACKS not defined -> one voice per track version
|
||||||
|
|
||||||
su_update_voices: ; Stack: retaddr row
|
su_update_voices: ; Stack: retaddr row
|
||||||
xor edx, edx
|
xor edx, edx
|
||||||
mov ebx, PATTERN_SIZE
|
mov ebx, PATTERN_SIZE
|
||||||
div ebx ; eax = current pattern, edx = current row in pattern
|
div ebx ; eax = current pattern, edx = current row in pattern
|
||||||
lea esi, [MANGLE_DATA(su_tracks)+eax] ; esi points to the pattern data for current track
|
lea esi, [MANGLE_DATA(su_tracks)+eax] ; esi points to the pattern data for current track
|
||||||
lea edi, [su_synth_obj+su_synth.voices]
|
lea edi, [su_synth_obj+su_synth.voices]
|
||||||
mov ebp, MAX_TRACKS
|
mov ebp, MAX_TRACKS
|
||||||
su_update_voices_trackloop:
|
su_update_voices_trackloop:
|
||||||
movzx eax, byte [esi] ; eax = current pattern
|
movzx eax, byte [esi] ; eax = current pattern
|
||||||
imul eax, PATTERN_SIZE ; eax = offset to current pattern data
|
imul eax, PATTERN_SIZE ; eax = offset to current pattern data
|
||||||
movzx eax, byte [MANGLE_DATA(su_patterns)+eax+edx] ; ecx = note
|
movzx eax, byte [MANGLE_DATA(su_patterns)+eax+edx] ; ecx = note
|
||||||
cmp al, HLD ; anything but hold causes action
|
cmp al, HLD ; anything but hold causes action
|
||||||
je short su_update_voices_nexttrack
|
je short su_update_voices_nexttrack
|
||||||
mov dword [edi+su_voice.release],1 ; set the voice currently active to release
|
mov dword [edi+su_voice.release],1 ; set the voice currently active to release
|
||||||
jl su_update_voices_nexttrack ; if cl < HLD (no new note triggered) goto nexttrack
|
jl su_update_voices_nexttrack ; if cl < HLD (no new note triggered) goto nexttrack
|
||||||
su_update_voices_retrigger:
|
su_update_voices_retrigger:
|
||||||
stosd ; save note
|
stosd ; save note
|
||||||
mov ecx, (su_voice.size - su_voice.release)/4
|
mov ecx, (su_voice.size - su_voice.release)/4
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
rep stosd ; clear the workspace of the new voice, retriggering oscillators
|
rep stosd ; clear the workspace of the new voice, retriggering oscillators
|
||||||
jmp short su_update_voices_skipadd
|
jmp short su_update_voices_skipadd
|
||||||
su_update_voices_nexttrack:
|
su_update_voices_nexttrack:
|
||||||
add edi, su_voice.size
|
add edi, su_voice.size
|
||||||
su_update_voices_skipadd:
|
su_update_voices_skipadd:
|
||||||
add esi, MAX_PATTERNS
|
add esi, MAX_PATTERNS
|
||||||
dec ebp
|
dec ebp
|
||||||
jnz short su_update_voices_trackloop
|
jnz short su_update_voices_trackloop
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ c_i12 dd 0x3DAAAAAA
|
|||||||
EXPORT MANGLE_DATA(LFO_NORMALIZE)
|
EXPORT MANGLE_DATA(LFO_NORMALIZE)
|
||||||
dd DEF_LFO_NORMALIZE
|
dd DEF_LFO_NORMALIZE
|
||||||
|
|
||||||
%ifdef INCLUDE_POLYPHONY
|
%ifdef INCLUDE_POLYPHONY
|
||||||
su_polyphony_bitmask dd POLYPHONY_BITMASK ; does the next voice reuse the current opcodes?
|
su_polyphony_bitmask dd POLYPHONY_BITMASK ; does the next voice reuse the current opcodes?
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ su_polyphony_bitmask dd POLYPHONY_BITMASK ; does the next voice reuse th
|
|||||||
SECT_TEXT(surunvm)
|
SECT_TEXT(surunvm)
|
||||||
|
|
||||||
EXPORT MANGLE_FUNC(su_run_vm,0)
|
EXPORT MANGLE_FUNC(su_run_vm,0)
|
||||||
mov COM, MANGLE_DATA(su_commands) ; COM points to vm code
|
mov COM, MANGLE_DATA(su_commands) ; COM points to vm code
|
||||||
mov VAL, MANGLE_DATA(su_params) ; VAL points to unit params
|
mov VAL, MANGLE_DATA(su_params) ; VAL points to unit params
|
||||||
; su_unit.size will be added back before WRK is used
|
; su_unit.size will be added back before WRK is used
|
||||||
mov WRK, su_synth_obj + su_synth.voices + su_voice.workspace - su_unit.size
|
mov WRK, su_synth_obj + su_synth.voices + su_voice.workspace - su_unit.size
|
||||||
@ -74,16 +74,16 @@ EXPORT MANGLE_FUNC(su_run_vm,0)
|
|||||||
su_run_vm_loop: ; loop until all voices done
|
su_run_vm_loop: ; loop until all voices done
|
||||||
movzx eax, byte [COM] ; eax = command byte
|
movzx eax, byte [COM] ; eax = command byte
|
||||||
inc COM ; move to next instruction
|
inc COM ; move to next instruction
|
||||||
add WRK, su_unit.size ; move WRK to next unit
|
add WRK, su_unit.size ; move WRK to next unit
|
||||||
push eax
|
push eax
|
||||||
shr eax,1
|
shr eax,1
|
||||||
mov al,byte [eax+su_opcode_numparams]
|
mov al,byte [eax+su_opcode_numparams]
|
||||||
push eax
|
push eax
|
||||||
call su_transform_values
|
call su_transform_values
|
||||||
mov ecx, dword [esp+8]
|
mov ecx, dword [esp+8]
|
||||||
pop eax
|
pop eax
|
||||||
shr eax,1
|
shr eax,1
|
||||||
call dword [eax*4+su_synth_commands] ; call the function corresponding to the instruction
|
call dword [eax*4+su_synth_commands] ; call the function corresponding to the instruction
|
||||||
cmp dword [esp],MAX_VOICES ; if (voice < MAX_VOICES)
|
cmp dword [esp],MAX_VOICES ; if (voice < MAX_VOICES)
|
||||||
jl su_run_vm_loop ; goto vm_loop
|
jl su_run_vm_loop ; goto vm_loop
|
||||||
add esp, 16 ; Stack cleared
|
add esp, 16 ; Stack cleared
|
||||||
@ -186,9 +186,9 @@ EXPORT MANGLE_FUNC(su_power,0)
|
|||||||
%include "opcodes/flowcontrol.asm"
|
%include "opcodes/flowcontrol.asm"
|
||||||
%include "opcodes/sources.asm"
|
%include "opcodes/sources.asm"
|
||||||
%include "opcodes/sinks.asm"
|
%include "opcodes/sinks.asm"
|
||||||
; warning: at the moment effects has to be assembled after
|
; warning: at the moment effects has to be assembled after
|
||||||
; sources, as sources.asm defines SU_USE_WAVESHAPER
|
; sources, as sources.asm defines SU_USE_WAVESHAPER
|
||||||
; if needed.
|
; if needed.
|
||||||
%include "opcodes/effects.asm"
|
%include "opcodes/effects.asm"
|
||||||
%include "player.asm"
|
%include "player.asm"
|
||||||
%include "introspection.asm"
|
%include "introspection.asm"
|
||||||
|
124
src/sointu.inc
124
src/sointu.inc
@ -12,25 +12,25 @@
|
|||||||
|
|
||||||
%macro EXPORT 1
|
%macro EXPORT 1
|
||||||
global %1
|
global %1
|
||||||
%1
|
%1
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%ifidn __OUTPUT_FORMAT__,win32
|
%ifidn __OUTPUT_FORMAT__,win32
|
||||||
; on win32, function f with n parameters is mangled as "_f@n"
|
; on win32, function f with n parameters is mangled as "_f@n"
|
||||||
%define MANGLE_FUNC(f,n) _ %+ f %+ @ %+ n
|
%define MANGLE_FUNC(f,n) _ %+ f %+ @ %+ n
|
||||||
%define WIN_OR_MAC
|
%define WIN_OR_MAC
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifidn __OUTPUT_FORMAT__,elf32
|
%ifidn __OUTPUT_FORMAT__,elf32
|
||||||
; on linux, function f with n parameters is mangled as "f"
|
; on linux, function f with n parameters is mangled as "f"
|
||||||
%define MANGLE_FUNC(f,n) f
|
%define MANGLE_FUNC(f,n) f
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifidn __OUTPUT_FORMAT__,macho32
|
%ifidn __OUTPUT_FORMAT__,macho32
|
||||||
; on mac, function f with x parameters is mangled as "_f"
|
; on mac, function f with x parameters is mangled as "_f"
|
||||||
%define MANGLE_FUNC(f,n) _f
|
%define MANGLE_FUNC(f,n) _f
|
||||||
%define WIN_OR_MAC
|
%define WIN_OR_MAC
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifdef WIN_OR_MAC
|
%ifdef WIN_OR_MAC
|
||||||
; Windows has crinkler so one may USE_SECTIONS to put everything in custom sections to aid crinkler.
|
; Windows has crinkler so one may USE_SECTIONS to put everything in custom sections to aid crinkler.
|
||||||
@ -76,35 +76,35 @@
|
|||||||
;%define SU_CLIP_OUTPUT ; // removing this skips clipping code for the final output
|
;%define SU_CLIP_OUTPUT ; // removing this skips clipping code for the final output
|
||||||
|
|
||||||
%define SU_USE_DST ; // removing this will skip DST unit
|
%define SU_USE_DST ; // removing this will skip DST unit
|
||||||
%define SU_USE_DLL ; // removing this will skip DLL unit
|
%define SU_USE_DLL ; // removing this will skip DLL unit
|
||||||
%define SU_USE_PAN ; // removing this will skip PAN unit
|
%define SU_USE_PAN ; // removing this will skip PAN unit
|
||||||
%define SU_USE_GLOBAL_DLL ; // removing this will skip global dll processing
|
%define SU_USE_GLOBAL_DLL ; // removing this will skip global dll processing
|
||||||
%define SU_USE_FSTG ; // removing this will skip global store unit
|
%define SU_USE_FSTG ; // removing this will skip global store unit
|
||||||
%define SU_USE_FLD ; // removing this will skip float load unit
|
%define SU_USE_FLD ; // removing this will skip float load unit
|
||||||
%define SU_USE_GLITCH ; // removing this will skip GLITCH unit
|
%define SU_USE_GLITCH ; // removing this will skip GLITCH unit
|
||||||
%define SU_USE_ENV_CHECK ; // removing this skips checks if processing is needed
|
%define SU_USE_ENV_CHECK ; // removing this skips checks if processing is needed
|
||||||
%define SU_USE_VCO_CHECK ; // removing this skips checks if processing is needed
|
%define SU_USE_VCO_CHECK ; // removing this skips checks if processing is needed
|
||||||
%define SU_USE_VCO_PHASE_OFFSET ; // removing this will skip initial phase offset code
|
%define SU_USE_VCO_PHASE_OFFSET ; // removing this will skip initial phase offset code
|
||||||
%define SU_USE_VCO_SHAPE ; // removing this skips waveshaping code
|
%define SU_USE_VCO_SHAPE ; // removing this skips waveshaping code
|
||||||
%define SU_USE_VCO_GATE ; // removing this skips gate code
|
%define SU_USE_VCO_GATE ; // removing this skips gate code
|
||||||
%define SU_USE_VCO_MOD_FM ; // removing this skips frequency modulation code
|
%define SU_USE_VCO_MOD_FM ; // removing this skips frequency modulation code
|
||||||
%define SU_USE_VCO_MOD_DM ; // removing this skips detune modulation code
|
%define SU_USE_VCO_MOD_DM ; // removing this skips detune modulation code
|
||||||
%define SU_USE_VCO_STEREO ; // removing this skips stereo code
|
%define SU_USE_VCO_STEREO ; // removing this skips stereo code
|
||||||
%define SU_USE_VCF_CHECK ; // removing this skips checks if processing is needed
|
%define SU_USE_VCF_CHECK ; // removing this skips checks if processing is needed
|
||||||
%define SU_USE_VCF_HIGH ; // removing this skips code for high output
|
%define SU_USE_VCF_HIGH ; // removing this skips code for high output
|
||||||
%define SU_USE_VCF_BAND ; // removing this skips code for band output
|
%define SU_USE_VCF_BAND ; // removing this skips code for band output
|
||||||
%define SU_USE_VCF_PEAK ; // removing this skips code for peak output
|
%define SU_USE_VCF_PEAK ; // removing this skips code for peak output
|
||||||
%define SU_USE_VCF_STEREO ; // removing this skips code for stereo filter output
|
%define SU_USE_VCF_STEREO ; // removing this skips code for stereo filter output
|
||||||
%define SU_USE_DST_CHECK ; // removing this skips checks if processing is needed
|
%define SU_USE_DST_CHECK ; // removing this skips checks if processing is needed
|
||||||
%define SU_USE_DST_SH ; // removing this skips sample and hold code
|
%define SU_USE_DST_SH ; // removing this skips sample and hold code
|
||||||
%define SU_USE_DST_STEREO ; // removing this skips stereo processing
|
%define SU_USE_DST_STEREO ; // removing this skips stereo processing
|
||||||
%define SU_USE_DLL_NOTE_SYNC ; // removing this will skip delay length adjusting code (karplus strong)
|
%define SU_USE_DLL_NOTE_SYNC ; // removing this will skip delay length adjusting code (karplus strong)
|
||||||
%define SU_USE_DLL_CHORUS ; // removing this will skip delay chorus/flanger code
|
%define SU_USE_DLL_CHORUS ; // removing this will skip delay chorus/flanger code
|
||||||
%define SU_USE_DLL_CHORUS_CLAMP ; // removing this will skip chorus lfo phase clamping
|
%define SU_USE_DLL_CHORUS_CLAMP ; // removing this will skip chorus lfo phase clamping
|
||||||
%define SU_USE_DLL_DAMP ; // removing this will skip dll damping code
|
%define SU_USE_DLL_DAMP ; // removing this will skip dll damping code
|
||||||
%define SU_USE_DLL_DC_FILTER ; // removing this will skip dll dc offset removal code
|
%define SU_USE_DLL_DC_FILTER ; // removing this will skip dll dc offset removal code
|
||||||
%define SU_USE_FSTG_CHECK ; // removing this skips checks if processing is needed
|
%define SU_USE_FSTG_CHECK ; // removing this skips checks if processing is needed
|
||||||
%define SU_USE_WAVESHAPER_CLIP ; // removing this will skip clipping code
|
%define SU_USE_WAVESHAPER_CLIP ; // removing this will skip clipping code
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifdef SU_USE_VCO_SHAPE
|
%ifdef SU_USE_VCO_SHAPE
|
||||||
@ -136,22 +136,22 @@
|
|||||||
; // synth defines
|
; // synth defines
|
||||||
; //----------------------------------------------------------------------------------------
|
; //----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
%define MAX_DELAY 65536
|
%define MAX_DELAY 65536
|
||||||
%define MAX_UNITS 64
|
%define MAX_UNITS 64
|
||||||
%define ABSOLUTE_MAX_VOICES 32
|
%define ABSOLUTE_MAX_VOICES 32
|
||||||
|
|
||||||
%ifndef SAMPLE_RATE
|
%ifndef SAMPLE_RATE
|
||||||
%define SAMPLE_RATE 44100
|
%define SAMPLE_RATE 44100
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifndef HLD
|
%ifndef HLD
|
||||||
%define HLD 1
|
%define HLD 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%define TOTAL_ROWS (MAX_PATTERNS*PATTERN_SIZE)
|
%define TOTAL_ROWS (MAX_PATTERNS*PATTERN_SIZE)
|
||||||
%define SAMPLES_PER_ROW (SAMPLE_RATE*4*60/(BPM*16))
|
%define SAMPLES_PER_ROW (SAMPLE_RATE*4*60/(BPM*16))
|
||||||
%define DEF_LFO_NORMALIZE 0.000038
|
%define DEF_LFO_NORMALIZE 0.000038
|
||||||
%define MAX_SAMPLES (SAMPLES_PER_ROW*TOTAL_ROWS)
|
%define MAX_SAMPLES (SAMPLES_PER_ROW*TOTAL_ROWS)
|
||||||
|
|
||||||
%macro SU_BEGIN_PATCH 0
|
%macro SU_BEGIN_PATCH 0
|
||||||
SECT_DATA(params)
|
SECT_DATA(params)
|
||||||
@ -163,34 +163,34 @@
|
|||||||
SECT_DATA(sucomnds)
|
SECT_DATA(sucomnds)
|
||||||
|
|
||||||
EXPORT MANGLE_DATA(su_commands)
|
EXPORT MANGLE_DATA(su_commands)
|
||||||
db CMDS
|
db CMDS
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%define CONCATENATE(x,y) x %+ y
|
%define CONCATENATE(x,y) x %+ y
|
||||||
%define POLYPHONY_BITMASK 0
|
%define POLYPHONY_BITMASK 0
|
||||||
%assign MAX_VOICES 0
|
%assign MAX_VOICES 0
|
||||||
%assign MAX_TRACKS 0
|
%assign MAX_TRACKS 0
|
||||||
%macro SU_BEGIN_INSTRUMENT 1
|
%macro SU_BEGIN_INSTRUMENT 1
|
||||||
; increment MAX_VOICES equal to %1 and construct the POLYPHONY_BITMASK so that
|
; increment MAX_VOICES equal to %1 and construct the POLYPHONY_BITMASK so that
|
||||||
; for every except the last, the bit is on
|
; for every except the last, the bit is on
|
||||||
%rep %1-1
|
%rep %1-1
|
||||||
%assign POLYPHONY_BITMASK POLYPHONY_BITMASK + (1 << MAX_VOICES)
|
%assign POLYPHONY_BITMASK POLYPHONY_BITMASK + (1 << MAX_VOICES)
|
||||||
%assign MAX_VOICES MAX_VOICES + 1
|
%assign MAX_VOICES MAX_VOICES + 1
|
||||||
%endrep
|
%endrep
|
||||||
%assign MAX_VOICES MAX_VOICES + 1 ; the last voice increment, without adding bit mask
|
%assign MAX_VOICES MAX_VOICES + 1 ; the last voice increment, without adding bit mask
|
||||||
%if MAX_VOICES > 32
|
%if MAX_VOICES > 32
|
||||||
%error Error: cannot have more than 32 voices!
|
%error Error: cannot have more than 32 voices!
|
||||||
%endif
|
%endif
|
||||||
%if %1 > 1
|
%if %1 > 1
|
||||||
%define INCLUDE_POLYPHONY
|
%define INCLUDE_POLYPHONY
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%define VOICES(val) val
|
%define VOICES(val) val
|
||||||
%define TRACKS(val) val
|
%define TRACKS(val) val
|
||||||
|
|
||||||
%macro SU_END_INSTRUMENT 0
|
%macro SU_END_INSTRUMENT 0
|
||||||
%xdefine CMDS CMDS SU_ADVANCE_ID,
|
%xdefine CMDS CMDS SU_ADVANCE_ID,
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%assign PATTERN_LENGTH -1
|
%assign PATTERN_LENGTH -1
|
||||||
@ -245,18 +245,18 @@
|
|||||||
%assign MAX_TRACKS MAX_TRACKS + 1
|
%assign MAX_TRACKS MAX_TRACKS + 1
|
||||||
%if MAX_TRACKS > 32
|
%if MAX_TRACKS > 32
|
||||||
%error Error: cannot have more than 32 tracks!
|
%error Error: cannot have more than 32 tracks!
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
; increment MAX_TRACKS equal to %2 and construct the CHORD_BITMASK so that
|
; increment MAX_TRACKS equal to %2 and construct the CHORD_BITMASK so that
|
||||||
; for every track except the last track of an instrument, the bit is on
|
; for every track except the last track of an instrument, the bit is on
|
||||||
%rep %1-1
|
%rep %1-1
|
||||||
%assign VOICETRACK_BITMASK VOICETRACK_BITMASK + (1 << VOICETRACK_COUNT)
|
%assign VOICETRACK_BITMASK VOICETRACK_BITMASK + (1 << VOICETRACK_COUNT)
|
||||||
%assign VOICETRACK_COUNT VOICETRACK_COUNT + 1
|
%assign VOICETRACK_COUNT VOICETRACK_COUNT + 1
|
||||||
%endrep
|
%endrep
|
||||||
%assign VOICETRACK_COUNT VOICETRACK_COUNT + 1 ; the last voice increment, without adding bit mask
|
%assign VOICETRACK_COUNT VOICETRACK_COUNT + 1 ; the last voice increment, without adding bit mask
|
||||||
%if VOICETRACK_COUNT > 32
|
%if VOICETRACK_COUNT > 32
|
||||||
%error Error: cannot have more than a total of 32 voices assigned to tracks.
|
%error Error: cannot have more than a total of 32 voices assigned to tracks.
|
||||||
%endif
|
%endif
|
||||||
%if %1 > 1
|
%if %1 > 1
|
||||||
%define INCLUDE_MULTIVOICE_TRACKS
|
%define INCLUDE_MULTIVOICE_TRACKS
|
||||||
%endif
|
%endif
|
||||||
@ -276,21 +276,21 @@ endstruc
|
|||||||
; //----------------------------------------------------------------------------------------
|
; //----------------------------------------------------------------------------------------
|
||||||
; // Voice struct
|
; // Voice struct
|
||||||
; //----------------------------------------------------------------------------------------
|
; //----------------------------------------------------------------------------------------
|
||||||
struc su_voice
|
struc su_voice
|
||||||
.note resd 1
|
.note resd 1
|
||||||
.release resd 1
|
.release resd 1
|
||||||
.track resd 1
|
.track resd 1
|
||||||
.workspace resb MAX_UNITS * su_unit.size
|
.workspace resb MAX_UNITS * su_unit.size
|
||||||
.size
|
.size
|
||||||
endstruc
|
endstruc
|
||||||
; //----------------------------------------------------------------------------------------
|
; //----------------------------------------------------------------------------------------
|
||||||
; // Synth struct
|
; // Synth struct
|
||||||
; //----------------------------------------------------------------------------------------
|
; //----------------------------------------------------------------------------------------
|
||||||
struc su_synth
|
struc su_synth
|
||||||
.left resd 1
|
.left resd 1
|
||||||
.right resd 1
|
.right resd 1
|
||||||
.voices resb ABSOLUTE_MAX_VOICES * su_voice.size
|
.voices resb ABSOLUTE_MAX_VOICES * su_voice.size
|
||||||
.size
|
.size
|
||||||
endstruc
|
endstruc
|
||||||
|
|
||||||
%endif ; SOINTU_INC
|
%endif ; SOINTU_INC
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
function(regression_test testname)
|
function(regression_test testname)
|
||||||
if(${ARGC} LESS 4)
|
if(${ARGC} LESS 4)
|
||||||
set(source ${testname})
|
set(source ${testname})
|
||||||
else()
|
else()
|
||||||
set(source ${ARGV3})
|
set(source ${ARGV3})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(${testname} ${source}.asm test_renderer.c)
|
add_executable(${testname} ${source}.asm test_renderer.c)
|
||||||
@ -11,30 +11,30 @@ function(regression_test testname)
|
|||||||
file(GLOB FOURKLANG ${PROJECT_SOURCE_DIR}/src/*.inc ${PROJECT_SOURCE_DIR}/src/*.asm ${PROJECT_SOURCE_DIR}/src/opcodes/*.asm ${PROJECT_SOURCE_DIR}/src/opcodes/*.inc)
|
file(GLOB FOURKLANG ${PROJECT_SOURCE_DIR}/src/*.inc ${PROJECT_SOURCE_DIR}/src/*.asm ${PROJECT_SOURCE_DIR}/src/opcodes/*.asm ${PROJECT_SOURCE_DIR}/src/opcodes/*.inc)
|
||||||
set_source_files_properties(${source}.asm PROPERTIES OBJECT_DEPENDS "${FOURKLANG}")
|
set_source_files_properties(${source}.asm PROPERTIES OBJECT_DEPENDS "${FOURKLANG}")
|
||||||
set_source_files_properties(${FOURKLANG} PROPERTIES HEADER_FILE_ONLY TRUE)
|
set_source_files_properties(${FOURKLANG} PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||||
|
|
||||||
add_test(${testname} ${testname})
|
add_test(${testname} ${testname})
|
||||||
target_compile_definitions(${testname} PUBLIC TEST_NAME="${testname}" SU_USE_INTROSPECTION SU_USE_PLAYER)
|
target_compile_definitions(${testname} PUBLIC TEST_NAME="${testname}" SU_USE_INTROSPECTION SU_USE_PLAYER)
|
||||||
|
|
||||||
set (rawinput ${CMAKE_CURRENT_SOURCE_DIR}/expected_output/${testname}.raw)
|
set (rawinput ${CMAKE_CURRENT_SOURCE_DIR}/expected_output/${testname}.raw)
|
||||||
set (rawoutput ${CMAKE_CURRENT_BINARY_DIR}/expected_output/${testname}.raw)
|
set (rawoutput ${CMAKE_CURRENT_BINARY_DIR}/expected_output/${testname}.raw)
|
||||||
|
|
||||||
add_custom_target(${testname}_rawcopy
|
add_custom_target(${testname}_rawcopy
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${rawinput} ${rawoutput}
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${rawinput} ${rawoutput}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(${testname} ${testname}_rawcopy)
|
add_dependencies(${testname} ${testname}_rawcopy)
|
||||||
|
|
||||||
if(ARGC GREATER 1)
|
if(ARGC GREATER 1)
|
||||||
if (ARGV1)
|
if (ARGV1)
|
||||||
message("${testname} requires ${ARGV1}")
|
message("${testname} requires ${ARGV1}")
|
||||||
set_tests_properties(${testname} PROPERTIES FIXTURES_REQUIRED "${ARGV1}")
|
set_tests_properties(${testname} PROPERTIES FIXTURES_REQUIRED "${ARGV1}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ARGC GREATER 2)
|
if(ARGC GREATER 2)
|
||||||
if (ARGV2)
|
if (ARGV2)
|
||||||
message("${testname} setups ${ARGV2}")
|
message("${testname} setups ${ARGV2}")
|
||||||
set_tests_properties(${testname} PROPERTIES FIXTURES_SETUP "${ARGV2}")
|
set_tests_properties(${testname} PROPERTIES FIXTURES_SETUP "${ARGV2}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endfunction(regression_test)
|
endfunction(regression_test)
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_DELAY MONO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(1)
|
SU_DELAY MONO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(1)
|
||||||
SU_PAN MONO,PANNING(64)
|
SU_PAN MONO,PANNING(64)
|
||||||
SU_OUT STEREO, GAIN(128)
|
SU_OUT STEREO, GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
SU_BEGIN_DELTIMES
|
SU_BEGIN_DELTIMES
|
||||||
DELTIME 11025
|
DELTIME 11025
|
||||||
SU_END_DELTIMES
|
SU_END_DELTIMES
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,31 +1,31 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_DELAY MONO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(1)
|
SU_DELAY MONO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(1)
|
||||||
SU_PAN MONO,PANNING(64)
|
SU_PAN MONO,PANNING(64)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
||||||
SU_SEND MONO,AMOUNT(32),PORT(3,delay,damp) + SEND_POP
|
SU_SEND MONO,AMOUNT(32),PORT(3,delay,damp) + SEND_POP
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
SU_BEGIN_DELTIMES
|
SU_BEGIN_DELTIMES
|
||||||
DELTIME 11025
|
DELTIME 11025
|
||||||
SU_END_DELTIMES
|
SU_END_DELTIMES
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,31 +1,31 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_DELAY MONO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(1)
|
SU_DELAY MONO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(1)
|
||||||
SU_PAN MONO,PANNING(64)
|
SU_PAN MONO,PANNING(64)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
||||||
SU_SEND MONO,AMOUNT(32),PORT(3,delay,feedback) + SEND_POP
|
SU_SEND MONO,AMOUNT(32),PORT(3,delay,feedback) + SEND_POP
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
SU_BEGIN_DELTIMES
|
SU_BEGIN_DELTIMES
|
||||||
DELTIME 11025
|
DELTIME 11025
|
||||||
SU_END_DELTIMES
|
SU_END_DELTIMES
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,31 +1,31 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_DELAY MONO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(1)
|
SU_DELAY MONO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(1)
|
||||||
SU_PAN MONO,PANNING(64)
|
SU_PAN MONO,PANNING(64)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
||||||
SU_SEND MONO,AMOUNT(32),PORT(3,delay,dry) + SEND_POP
|
SU_SEND MONO,AMOUNT(32),PORT(3,delay,dry) + SEND_POP
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
SU_BEGIN_DELTIMES
|
SU_BEGIN_DELTIMES
|
||||||
DELTIME 11025
|
DELTIME 11025
|
||||||
SU_END_DELTIMES
|
SU_END_DELTIMES
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,31 +1,31 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
; %define SU_USE_UNDENORMALIZE ; // removing this skips denormalization code in the units
|
; %define SU_USE_UNDENORMALIZE ; // removing this skips denormalization code in the units
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(0),DECAY(0),SUSTAIN(96),RELEASE(96),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(0),DECAY(0),SUSTAIN(96),RELEASE(96),GAIN(128)
|
||||||
SU_ENVELOPE MONO,ATTAC(0),DECAY(48),SUSTAIN(0),RELEASE(0),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(0),DECAY(48),SUSTAIN(0),RELEASE(0),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(64),SHAPE(127),GAIN(64),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(64),SHAPE(127),GAIN(64),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_FILTER MONO,FREQUENCY(32),RESONANCE(128),FLAGS(LOWPASS + BANDPASS + HIGHPASS)
|
SU_FILTER MONO,FREQUENCY(32),RESONANCE(128),FLAGS(LOWPASS + BANDPASS + HIGHPASS)
|
||||||
SU_DELAY MONO,PREGAIN(128),DRY(128),FEEDBACK(128),DAMP(16),DELAY(0),COUNT(1)
|
SU_DELAY MONO,PREGAIN(128),DRY(128),FEEDBACK(128),DAMP(16),DELAY(0),COUNT(1)
|
||||||
SU_FILTER MONO,FREQUENCY(24),RESONANCE(128),FLAGS(LOWPASS + BANDPASS + HIGHPASS)
|
SU_FILTER MONO,FREQUENCY(24),RESONANCE(128),FLAGS(LOWPASS + BANDPASS + HIGHPASS)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_PAN MONO,PANNING(64)
|
SU_PAN MONO,PANNING(64)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
SU_BEGIN_DELTIMES
|
SU_BEGIN_DELTIMES
|
||||||
|
@ -1,31 +1,31 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_DELAY MONO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(1)
|
SU_DELAY MONO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(1)
|
||||||
SU_PAN MONO,PANNING(64)
|
SU_PAN MONO,PANNING(64)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
||||||
SU_SEND MONO,AMOUNT(32),PORT(3,delay,pregain) + SEND_POP
|
SU_SEND MONO,AMOUNT(32),PORT(3,delay,pregain) + SEND_POP
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
SU_BEGIN_DELTIMES
|
SU_BEGIN_DELTIMES
|
||||||
DELTIME 11025
|
DELTIME 11025
|
||||||
SU_END_DELTIMES
|
SU_END_DELTIMES
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_DELAY MONO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(9)
|
SU_DELAY MONO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(9)
|
||||||
SU_PAN MONO,PANNING(64)
|
SU_PAN MONO,PANNING(64)
|
||||||
SU_OUT STEREO, GAIN(128)
|
SU_OUT STEREO, GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
SU_BEGIN_DELTIMES
|
SU_BEGIN_DELTIMES
|
||||||
DELTIME 1116,1188,1276,1356,1422,1492,1556,1618
|
DELTIME 1116,1188,1276,1356,1422,1492,1556,1618
|
||||||
SU_END_DELTIMES
|
SU_END_DELTIMES
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,30 +1,31 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_PAN MONO,PANNING(64)
|
SU_PAN MONO,PANNING(64)
|
||||||
SU_DELAY STEREO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(1)
|
SU_DELAY STEREO,PREGAIN(40),DRY(128),FEEDBACK(125),DAMP(64),DELAY(1),COUNT(1)
|
||||||
SU_OUT STEREO, GAIN(128)
|
SU_OUT STEREO, GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
SU_BEGIN_DELTIMES
|
SU_BEGIN_DELTIMES
|
||||||
DELTIME 11025
|
DELTIME 11025
|
||||||
DELTIME 21025
|
DELTIME 21025
|
||||||
SU_END_DELTIMES
|
SU_END_DELTIMES
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
|
||||||
|
@ -1,24 +1,24 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_DISTORT MONO,DRIVE(32)
|
SU_DISTORT MONO,DRIVE(32)
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_DISTORT MONO,DRIVE(96)
|
SU_DISTORT MONO,DRIVE(96)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,27 +1,27 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_DISTORT MONO,DRIVE(32)
|
SU_DISTORT MONO,DRIVE(32)
|
||||||
SU_ENVELOPE MONO, ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO, ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_DISTORT MONO, DRIVE(96)
|
SU_DISTORT MONO, DRIVE(96)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
||||||
SU_SEND MONO,AMOUNT(68),PORT(1,distort,drive)
|
SU_SEND MONO,AMOUNT(68),PORT(1,distort,drive)
|
||||||
SU_SEND MONO,AMOUNT(68),PORT(3,distort,drive) + SEND_POP
|
SU_SEND MONO,AMOUNT(68),PORT(3,distort,drive) + SEND_POP
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
@ -13,12 +13,12 @@ SU_END_TRACKS
|
|||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_HOLD MONO,HOLDFREQ(3)
|
SU_HOLD MONO,HOLDFREQ(3)
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_HOLD MONO,HOLDFREQ(3)
|
SU_HOLD MONO,HOLDFREQ(3)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,27 +1,27 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_HOLD MONO,HOLDFREQ(3)
|
SU_HOLD MONO,HOLDFREQ(3)
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_HOLD MONO,HOLDFREQ(3)
|
SU_HOLD MONO,HOLDFREQ(3)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
||||||
SU_SEND MONO,AMOUNT(68),PORT(1,hold,freq)
|
SU_SEND MONO,AMOUNT(68),PORT(1,hold,freq)
|
||||||
SU_SEND MONO,AMOUNT(68),PORT(3,hold,freq) + SEND_POP
|
SU_SEND MONO,AMOUNT(68),PORT(3,hold,freq) + SEND_POP
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
@ -1,22 +1,22 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE STEREO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE STEREO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_DISTORT STEREO, DRIVE(96)
|
SU_DISTORT STEREO, DRIVE(96)
|
||||||
SU_OUT STEREO, GAIN(128)
|
SU_OUT STEREO, GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_ENVELOPE MONO,ATTAC(95),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(95),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD,HLD, HLD, HLD, 0, 0, 0, 0, 0,
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD,HLD, HLD, HLD, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(120),DETUNE(64),PHASE(0),COLOR(128),SHAPE(96),GAIN(128),FLAGS(SINE+LFO)
|
SU_OSCILLAT MONO,TRANSPOSE(120),DETUNE(64),PHASE(0),COLOR(128),SHAPE(96),GAIN(128),FLAGS(SINE+LFO)
|
||||||
SU_SEND MONO,AMOUNT(68),PORT(0,env,attac)
|
SU_SEND MONO,AMOUNT(68),PORT(0,env,attac)
|
||||||
SU_SEND MONO,AMOUNT(68),PORT(0,env,decay)
|
SU_SEND MONO,AMOUNT(68),PORT(0,env,decay)
|
||||||
; Sustain modulation seems not to be implemented
|
; Sustain modulation seems not to be implemented
|
||||||
SU_SEND MONO,AMOUNT(68),PORT(0,env,release)
|
SU_SEND MONO,AMOUNT(68),PORT(0,env,release)
|
||||||
SU_SEND MONO,AMOUNT(68),PORT(1,env,gain) + SEND_POP
|
SU_SEND MONO,AMOUNT(68),PORT(1,env,gain) + SEND_POP
|
||||||
SU_OUT STEREO,GAIN(110)
|
SU_OUT STEREO,GAIN(110)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,24 +1,24 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define SINGLE_FILE
|
%define SINGLE_FILE
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0,
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
END_PATTERNS
|
END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_LOAD_VAL MONO,VALUE(32)
|
SU_LOAD_VAL MONO,VALUE(32)
|
||||||
SU_LOAD_VAL MONO,VALUE(128)
|
SU_LOAD_VAL MONO,VALUE(128)
|
||||||
SU_ADD MONO
|
SU_ADD MONO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,27 +1,27 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define SINGLE_FILE
|
%define SINGLE_FILE
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_LOAD_VAL MONO,VALUE(48)
|
SU_LOAD_VAL MONO,VALUE(48)
|
||||||
SU_LOAD_VAL MONO,VALUE(48)
|
SU_LOAD_VAL MONO,VALUE(48)
|
||||||
SU_ADDP MONO
|
SU_ADDP MONO
|
||||||
SU_LOAD_VAL MONO,VALUE(80)
|
SU_LOAD_VAL MONO,VALUE(80)
|
||||||
SU_LOAD_VAL MONO,VALUE(80)
|
SU_LOAD_VAL MONO,VALUE(80)
|
||||||
SU_ADDP MONO
|
SU_ADDP MONO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define SINGLE_FILE
|
%define SINGLE_FILE
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_LOAD_VAL MONO,VALUE(0)
|
SU_LOAD_VAL MONO,VALUE(0)
|
||||||
SU_LOAD_VAL MONO,VALUE(64)
|
SU_LOAD_VAL MONO,VALUE(64)
|
||||||
SU_LOAD_VAL MONO,VALUE(96)
|
SU_LOAD_VAL MONO,VALUE(96)
|
||||||
SU_LOAD_VAL MONO,VALUE(96)
|
SU_LOAD_VAL MONO,VALUE(96)
|
||||||
SU_ADDP STEREO
|
SU_ADDP STEREO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define SINGLE_FILE
|
%define SINGLE_FILE
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_LOADNOTE STEREO
|
SU_LOADNOTE STEREO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
@ -1,24 +1,24 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define SINGLE_FILE
|
%define SINGLE_FILE
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_LOAD_VAL MONO,VALUE(32)
|
SU_LOAD_VAL MONO,VALUE(32)
|
||||||
SU_LOAD_VAL MONO,VALUE(0)
|
SU_LOAD_VAL MONO,VALUE(0)
|
||||||
SU_MUL MONO
|
SU_MUL MONO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,27 +1,28 @@
|
|||||||
%define BPM 100
|
|
||||||
%define SINGLE_FILE
|
%define BPM 100
|
||||||
|
%define SINGLE_FILE
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_LOAD_VAL MONO,VALUE(96)
|
SU_LOAD_VAL MONO,VALUE(96)
|
||||||
SU_LOAD_VAL MONO,VALUE(0)
|
SU_LOAD_VAL MONO,VALUE(0)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_LOAD_VAL MONO,VALUE(96)
|
SU_LOAD_VAL MONO,VALUE(96)
|
||||||
SU_LOAD_VAL MONO,VALUE(128)
|
SU_LOAD_VAL MONO,VALUE(128)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define SINGLE_FILE
|
%define SINGLE_FILE
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_LOAD_VAL MONO,VALUE(96)
|
SU_LOAD_VAL MONO,VALUE(96)
|
||||||
SU_LOAD_VAL MONO,VALUE(128)
|
SU_LOAD_VAL MONO,VALUE(128)
|
||||||
SU_LOAD_VAL MONO,VALUE(0)
|
SU_LOAD_VAL MONO,VALUE(0)
|
||||||
SU_LOAD_VAL MONO,VALUE(96)
|
SU_LOAD_VAL MONO,VALUE(96)
|
||||||
SU_MULP STEREO
|
SU_MULP STEREO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define SINGLE_FILE
|
%define SINGLE_FILE
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_LOAD_VAL MONO,VALUE(32)
|
SU_LOAD_VAL MONO,VALUE(32)
|
||||||
SU_LOAD_VAL MONO,VALUE(96)
|
SU_LOAD_VAL MONO,VALUE(96)
|
||||||
SU_LOAD_VAL MONO,VALUE(0)
|
SU_LOAD_VAL MONO,VALUE(0)
|
||||||
SU_POP MONO
|
SU_POP MONO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define SINGLE_FILE
|
%define SINGLE_FILE
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_LOAD_VAL MONO,VALUE(32)
|
SU_LOAD_VAL MONO,VALUE(32)
|
||||||
SU_LOAD_VAL MONO,VALUE(96)
|
SU_LOAD_VAL MONO,VALUE(96)
|
||||||
SU_PUSH MONO
|
SU_PUSH MONO
|
||||||
SU_POP MONO
|
SU_POP MONO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,24 +1,24 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define SINGLE_FILE
|
%define SINGLE_FILE
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_LOAD_VAL MONO,VALUE(96)
|
SU_LOAD_VAL MONO,VALUE(96)
|
||||||
SU_LOAD_VAL MONO,VALUE(32)
|
SU_LOAD_VAL MONO,VALUE(32)
|
||||||
SU_XCH MONO
|
SU_XCH MONO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,31 +1,31 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_LOAD_VAL MONO,VALUE(96)
|
SU_LOAD_VAL MONO,VALUE(96)
|
||||||
SU_SEND MONO,AMOUNT(96),GLOBALPORT(1,3,load_val,value) + SEND_POP
|
SU_SEND MONO,AMOUNT(96),GLOBALPORT(1,3,load_val,value) + SEND_POP
|
||||||
SU_LOAD_VAL MONO,VALUE(64)
|
SU_LOAD_VAL MONO,VALUE(64)
|
||||||
SU_LOAD_VAL MONO,VALUE(64)
|
SU_LOAD_VAL MONO,VALUE(64)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument1
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument1
|
||||||
SU_LOAD_VAL MONO,VALUE(32)
|
SU_LOAD_VAL MONO,VALUE(32)
|
||||||
SU_SEND MONO,AMOUNT(96),GLOBALPORT(0,2,load_val,value) + SEND_POP
|
SU_SEND MONO,AMOUNT(96),GLOBALPORT(0,2,load_val,value) + SEND_POP
|
||||||
SU_LOAD_VAL MONO,VALUE(64)
|
SU_LOAD_VAL MONO,VALUE(64)
|
||||||
SU_LOAD_VAL MONO,VALUE(64)
|
SU_LOAD_VAL MONO,VALUE(64)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define SINGLE_FILE
|
%define SINGLE_FILE
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_LOAD_VAL MONO,VALUE(40)
|
SU_LOAD_VAL MONO,VALUE(40)
|
||||||
SU_LOAD_VAL MONO,VALUE(80)
|
SU_LOAD_VAL MONO,VALUE(80)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64,HLD,HLD,HLD,HLD,HLD,HLD,HLD, 0, 0, 0,0,0,0,0,0,
|
PATTERN 64,HLD,HLD,HLD,HLD,HLD,HLD,HLD, 0, 0, 0,0,0,0,0,0,
|
||||||
PATTERN 0, 0, 0, 0, 0, 0, 0, 0,64,HLD,HLD,0,0,0,0,0,
|
PATTERN 0, 0, 0, 0, 0, 0, 0, 0,64,HLD,HLD,0,0,0,0,0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
TRACK VOICES(1),1
|
TRACK VOICES(1),1
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(0)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(0)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument1
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument1
|
||||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(80),GAIN(0)
|
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(80),GAIN(0)
|
||||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define SINGLE_FILE
|
%define SINGLE_FILE
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_PAN MONO,PANNING(40)
|
SU_PAN MONO,PANNING(40)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, 68, HLD, 32, HLD, HLD, HLD, 75, HLD, 78, HLD, HLD, 0, 0, 0,
|
PATTERN 64, HLD, 68, HLD, 32, HLD, HLD, HLD, 75, HLD, 78, HLD, HLD, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(2),0
|
TRACK VOICES(2),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(2) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(2) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP STEREO
|
SU_MULP STEREO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -16,127 +16,127 @@ extern void __stdcall su_render();
|
|||||||
extern int su_max_samples;
|
extern int su_max_samples;
|
||||||
|
|
||||||
int main(int argc, char* argv[]) {
|
int main(int argc, char* argv[]) {
|
||||||
FILE* f;
|
FILE* f;
|
||||||
char filename[256];
|
char filename[256];
|
||||||
int n;
|
int n;
|
||||||
int retval;
|
int retval;
|
||||||
char test_name[] = TEST_NAME;
|
char test_name[] = TEST_NAME;
|
||||||
char expected_output_folder[] = "expected_output/";
|
char expected_output_folder[] = "expected_output/";
|
||||||
char actual_output_folder[] = "actual_output/";
|
char actual_output_folder[] = "actual_output/";
|
||||||
long fsize;
|
long fsize;
|
||||||
long bufsize;
|
long bufsize;
|
||||||
boolean small_difference;
|
boolean small_difference;
|
||||||
double diff;
|
double diff;
|
||||||
#ifndef SU_USE_16BIT_OUTPUT
|
#ifndef SU_USE_16BIT_OUTPUT
|
||||||
float* buf = NULL;
|
float* buf = NULL;
|
||||||
float* filebuf = NULL;
|
float* filebuf = NULL;
|
||||||
float v;
|
float v;
|
||||||
bufsize = su_max_samples * 2 * sizeof(float);
|
bufsize = su_max_samples * 2 * sizeof(float);
|
||||||
buf = (float*)malloc(bufsize);
|
buf = (float*)malloc(bufsize);
|
||||||
#else
|
#else
|
||||||
short* buf = NULL;
|
short* buf = NULL;
|
||||||
short* filebuf = NULL;
|
short* filebuf = NULL;
|
||||||
short v;
|
short v;
|
||||||
bufsize = su_max_samples * 2 * sizeof(short);
|
bufsize = su_max_samples * 2 * sizeof(short);
|
||||||
buf = (short*)malloc(bufsize);
|
buf = (short*)malloc(bufsize);
|
||||||
#endif
|
|
||||||
|
|
||||||
if (buf == NULL) {
|
|
||||||
printf("Could not allocate buffer for 4klang rendering\n");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
su_render(buf);
|
|
||||||
|
|
||||||
snprintf(filename, sizeof filename, "%s%s%s", expected_output_folder, test_name, ".raw");
|
|
||||||
|
|
||||||
f = fopen(filename, "rb");
|
|
||||||
|
|
||||||
if (f == NULL) {
|
|
||||||
printf("No expected waveform found!\n");
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
|
|
||||||
fseek(f, 0, SEEK_END);
|
|
||||||
fsize = ftell(f);
|
|
||||||
fseek(f, 0, SEEK_SET);
|
|
||||||
|
|
||||||
if (bufsize < fsize) {
|
|
||||||
printf("4klang rendered shorter wave than expected\n");
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bufsize > fsize) {
|
|
||||||
printf("4klang rendered longer wave than expected\n");
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef SU_USE_16BIT_OUTPUT
|
|
||||||
filebuf = (float*)malloc(bufsize);
|
|
||||||
#else
|
|
||||||
filebuf = (short*)malloc(bufsize);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (filebuf == NULL) {
|
|
||||||
printf("Could not allocate buffer for file contents\n");
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
|
|
||||||
fread((void*)filebuf, su_max_samples * 2, sizeof(*filebuf), f);
|
|
||||||
|
|
||||||
small_difference = FALSE;
|
|
||||||
|
|
||||||
for (n = 0; n < su_max_samples * 2; n++) {
|
|
||||||
diff = (double)(buf[n]) - (double)(filebuf[n]);
|
|
||||||
#ifdef SU_USE_16BIT_OUTPUT
|
|
||||||
diff = diff / 32768.0f;
|
|
||||||
#endif
|
#endif
|
||||||
diff = fabs(diff);
|
|
||||||
if (diff > 1e-3f || isnan(diff)) {
|
|
||||||
printf("4klang rendered different wave than expected\n");
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
else if (diff > 0.0f) {
|
|
||||||
small_difference = TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (small_difference) {
|
if (buf == NULL) {
|
||||||
printf("4klang rendered almost correct wave, but with small errors (< 1e-3)\n");
|
printf("Could not allocate buffer for 4klang rendering\n");
|
||||||
goto fail;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
su_render(buf);
|
||||||
|
|
||||||
|
snprintf(filename, sizeof filename, "%s%s%s", expected_output_folder, test_name, ".raw");
|
||||||
|
|
||||||
|
f = fopen(filename, "rb");
|
||||||
|
|
||||||
|
if (f == NULL) {
|
||||||
|
printf("No expected waveform found!\n");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
fseek(f, 0, SEEK_END);
|
||||||
|
fsize = ftell(f);
|
||||||
|
fseek(f, 0, SEEK_SET);
|
||||||
|
|
||||||
|
if (bufsize < fsize) {
|
||||||
|
printf("4klang rendered shorter wave than expected\n");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bufsize > fsize) {
|
||||||
|
printf("4klang rendered longer wave than expected\n");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef SU_USE_16BIT_OUTPUT
|
||||||
|
filebuf = (float*)malloc(bufsize);
|
||||||
|
#else
|
||||||
|
filebuf = (short*)malloc(bufsize);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (filebuf == NULL) {
|
||||||
|
printf("Could not allocate buffer for file contents\n");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
fread((void*)filebuf, su_max_samples * 2, sizeof(*filebuf), f);
|
||||||
|
|
||||||
|
small_difference = FALSE;
|
||||||
|
|
||||||
|
for (n = 0; n < su_max_samples * 2; n++) {
|
||||||
|
diff = (double)(buf[n]) - (double)(filebuf[n]);
|
||||||
|
#ifdef SU_USE_16BIT_OUTPUT
|
||||||
|
diff = diff / 32768.0f;
|
||||||
|
#endif
|
||||||
|
diff = fabs(diff);
|
||||||
|
if (diff > 1e-3f || isnan(diff)) {
|
||||||
|
printf("4klang rendered different wave than expected\n");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
else if (diff > 0.0f) {
|
||||||
|
small_difference = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (small_difference) {
|
||||||
|
printf("4klang rendered almost correct wave, but with small errors (< 1e-3)\n");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
success:
|
success:
|
||||||
retval = 0;
|
retval = 0;
|
||||||
goto end;
|
goto end;
|
||||||
fail:
|
fail:
|
||||||
retval = 1;
|
retval = 1;
|
||||||
end:
|
end:
|
||||||
|
|
||||||
if (f != 0) {
|
if (f != 0) {
|
||||||
fclose(f);
|
fclose(f);
|
||||||
f = 0;
|
f = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined (_WIN32)
|
#if defined (_WIN32)
|
||||||
CreateDirectory(actual_output_folder, NULL);
|
CreateDirectory(actual_output_folder, NULL);
|
||||||
#else
|
#else
|
||||||
mkdir(actual_output_folder, 0777);
|
mkdir(actual_output_folder, 0777);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
snprintf(filename, sizeof filename, "%s%s%s", actual_output_folder, test_name, ".raw");
|
|
||||||
f = fopen(filename, "wb");
|
|
||||||
fwrite((void*)buf, sizeof(*buf), 2 * su_max_samples, f);
|
|
||||||
fclose(f);
|
|
||||||
|
|
||||||
if (buf != 0) {
|
snprintf(filename, sizeof filename, "%s%s%s", actual_output_folder, test_name, ".raw");
|
||||||
free(buf);
|
f = fopen(filename, "wb");
|
||||||
buf = 0;
|
fwrite((void*)buf, sizeof(*buf), 2 * su_max_samples, f);
|
||||||
}
|
fclose(f);
|
||||||
|
|
||||||
if (filebuf != 0) {
|
if (buf != 0) {
|
||||||
free(filebuf);
|
free(buf);
|
||||||
filebuf = 0;
|
buf = 0;
|
||||||
}
|
}
|
||||||
return retval;
|
|
||||||
}
|
if (filebuf != 0) {
|
||||||
|
free(filebuf);
|
||||||
|
filebuf = 0;
|
||||||
|
}
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define SINGLE_FILE
|
%define SINGLE_FILE
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_LOAD_VAL MONO,VALUE(32) ; should receive -0.5
|
SU_LOAD_VAL MONO,VALUE(32) ; should receive -0.5
|
||||||
SU_SEND MONO,AMOUNT(96),PORT(5,load_val,value) ; should send -0.25
|
SU_SEND MONO,AMOUNT(96),PORT(5,load_val,value) ; should send -0.25
|
||||||
SU_SEND MONO,AMOUNT(96),PORT(6,load_val,value) + SEND_POP ; should send -0.25
|
SU_SEND MONO,AMOUNT(96),PORT(6,load_val,value) + SEND_POP ; should send -0.25
|
||||||
SU_LOAD_VAL MONO,VALUE(128) ; should receive 1
|
SU_LOAD_VAL MONO,VALUE(128) ; should receive 1
|
||||||
SU_SEND MONO,AMOUNT(96),PORT(6,load_val,value) + SEND_POP ; should send 0.5
|
SU_SEND MONO,AMOUNT(96),PORT(6,load_val,value) + SEND_POP ; should send 0.5
|
||||||
SU_LOAD_VAL MONO,VALUE(64) ; should receive -0.5
|
SU_LOAD_VAL MONO,VALUE(64) ; should receive -0.5
|
||||||
SU_LOAD_VAL MONO,VALUE(64) ; should receive 0.5
|
SU_LOAD_VAL MONO,VALUE(64) ; should receive 0.5
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_FILTER MONO,FREQUENCY(32),RESONANCE(64),FLAGS(BANDPASS)
|
SU_FILTER MONO,FREQUENCY(32),RESONANCE(64),FLAGS(BANDPASS)
|
||||||
SU_PAN MONO,PANNING(64)
|
SU_PAN MONO,PANNING(64)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128), FLAGS(TRISAW)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128), FLAGS(TRISAW)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_FILTER MONO,FREQUENCY(32),RESONANCE(64),FLAGS(BANDPASS)
|
SU_FILTER MONO,FREQUENCY(32),RESONANCE(64),FLAGS(BANDPASS)
|
||||||
@ -24,4 +24,4 @@ SU_BEGIN_PATCH
|
|||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_FILTER MONO,FREQUENCY(32),RESONANCE(64),FLAGS(HIGHPASS)
|
SU_FILTER MONO,FREQUENCY(32),RESONANCE(64),FLAGS(HIGHPASS)
|
||||||
SU_PAN MONO,PANNING(64)
|
SU_PAN MONO,PANNING(64)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_FILTER MONO,FREQUENCY(32),RESONANCE(64),FLAGS(LOWPASS)
|
SU_FILTER MONO,FREQUENCY(32),RESONANCE(64),FLAGS(LOWPASS)
|
||||||
SU_PAN MONO,PANNING(64)
|
SU_PAN MONO,PANNING(64)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_FILTER MONO,FREQUENCY(32),RESONANCE(64),FLAGS(LOWPASS + NEGHIGHPASS)
|
SU_FILTER MONO,FREQUENCY(32),RESONANCE(64),FLAGS(LOWPASS + NEGHIGHPASS)
|
||||||
SU_PAN MONO,PANNING(64)
|
SU_PAN MONO,PANNING(64)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128), FLAGS(TRISAW)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128), FLAGS(TRISAW)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_FILTER MONO,FREQUENCY(32),RESONANCE(64),FLAGS(BANDPASS)
|
SU_FILTER MONO,FREQUENCY(32),RESONANCE(64),FLAGS(BANDPASS)
|
||||||
@ -24,4 +24,4 @@ SU_BEGIN_PATCH
|
|||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(72),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(TRISAW)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_PAN MONO,PANNING(64)
|
SU_PAN MONO,PANNING(64)
|
||||||
SU_FILTER STEREO,FREQUENCY(32),RESONANCE(64),FLAGS(BANDPASS)
|
SU_FILTER STEREO,FREQUENCY(32),RESONANCE(64),FLAGS(BANDPASS)
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 80, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0
|
PATTERN 80, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_PUSH MONO
|
SU_PUSH MONO
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE + LFO)
|
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE + LFO)
|
||||||
SU_SEND MONO,AMOUNT(68),PORT(1,osc,color) + SEND_POP
|
SU_SEND MONO,AMOUNT(68),PORT(1,osc,color) + SEND_POP
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 80, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0
|
PATTERN 80, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_PUSH MONO
|
SU_PUSH MONO
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE+LFO)
|
||||||
SU_SEND MONO,AMOUNT(96),PORT(1,osc,detune) + SEND_POP
|
SU_SEND MONO,AMOUNT(96),PORT(1,osc,detune) + SEND_POP
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(32),PHASE(0),GATESLOW(15),GATESHIGH(96),GAIN(128),FLAGS(GATE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(32),PHASE(0),GATESLOW(15),GATESHIGH(96),GAIN(128),FLAGS(GATE)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(72),DETUNE(64),PHASE(64),GATESLOW(170),GATESHIGH(64),GAIN(128),FLAGS(GATE)
|
SU_OSCILLAT MONO,TRANSPOSE(72),DETUNE(64),PHASE(64),GATESLOW(170),GATESHIGH(64),GAIN(128),FLAGS(GATE)
|
||||||
SU_MULP STEREO
|
SU_MULP STEREO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 80, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0
|
PATTERN 80, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_PUSH MONO
|
SU_PUSH MONO
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE + LFO)
|
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE + LFO)
|
||||||
SU_SEND MONO,AMOUNT(68),PORT(1,osc,gain) + SEND_POP
|
SU_SEND MONO,AMOUNT(68),PORT(1,osc,gain) + SEND_POP
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_OSCILLAT MONO, TRANSPOSE(90),DETUNE(64),PHASE(0),COLOR(128),SHAPE(96),GAIN(128), FLAGS(SINE + LFO)
|
SU_OSCILLAT MONO, TRANSPOSE(90),DETUNE(64),PHASE(0),COLOR(128),SHAPE(96),GAIN(128), FLAGS(SINE + LFO)
|
||||||
SU_OSCILLAT MONO, TRANSPOSE(100),DETUNE(64),PHASE(0),COLOR(64),SHAPE(96),GAIN(128), FLAGS(PULSE + LFO)
|
SU_OSCILLAT MONO, TRANSPOSE(100),DETUNE(64),PHASE(0),COLOR(64),SHAPE(96),GAIN(128), FLAGS(PULSE + LFO)
|
||||||
SU_MULP STEREO
|
SU_MULP STEREO
|
||||||
SU_OUT STEREO, GAIN(128)
|
SU_OUT STEREO, GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_NOISE MONO, SHAPE(64),GAIN(128)
|
SU_NOISE MONO, SHAPE(64),GAIN(128)
|
||||||
SU_NOISE MONO, SHAPE(96),GAIN(128)
|
SU_NOISE MONO, SHAPE(96),GAIN(128)
|
||||||
SU_MULP STEREO
|
SU_MULP STEREO
|
||||||
SU_OUT STEREO, GAIN(128)
|
SU_OUT STEREO, GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 80, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0
|
PATTERN 80, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_PUSH MONO
|
SU_PUSH MONO
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE + LFO)
|
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE + LFO)
|
||||||
SU_SEND MONO,AMOUNT(128),PORT(1,osc,phaseofs) + SEND_POP
|
SU_SEND MONO,AMOUNT(128),PORT(1,osc,phaseofs) + SEND_POP
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_OSCILLAT MONO, TRANSPOSE(64),DETUNE(32),PHASE(0),COLOR(96),SHAPE(64),GAIN(128), FLAGS(PULSE)
|
SU_OSCILLAT MONO, TRANSPOSE(64),DETUNE(32),PHASE(0),COLOR(96),SHAPE(64),GAIN(128), FLAGS(PULSE)
|
||||||
SU_OSCILLAT MONO, TRANSPOSE(72),DETUNE(64),PHASE(64),COLOR(64),SHAPE(96),GAIN(128), FLAGS(PULSE)
|
SU_OSCILLAT MONO, TRANSPOSE(72),DETUNE(64),PHASE(64),COLOR(64),SHAPE(96),GAIN(128), FLAGS(PULSE)
|
||||||
SU_MULP STEREO
|
SU_MULP STEREO
|
||||||
SU_OUT STEREO, GAIN(128)
|
SU_OUT STEREO, GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_OSCILLAT MONO, TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(96),SHAPE(64),GAIN(128), FLAGS(SINE)
|
SU_OSCILLAT MONO, TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(96),SHAPE(64),GAIN(128), FLAGS(SINE)
|
||||||
SU_OSCILLAT MONO, TRANSPOSE(72),DETUNE(64),PHASE(64),COLOR(64),SHAPE(96),GAIN(128), FLAGS(SINE)
|
SU_OSCILLAT MONO, TRANSPOSE(72),DETUNE(64),PHASE(64),COLOR(64),SHAPE(96),GAIN(128), FLAGS(SINE)
|
||||||
SU_MULP STEREO
|
SU_MULP STEREO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 80, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0
|
PATTERN 80, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_PUSH MONO
|
SU_PUSH MONO
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE + LFO)
|
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE + LFO)
|
||||||
SU_SEND MONO,AMOUNT(68),PORT(1,osc,shape) + SEND_POP
|
SU_SEND MONO,AMOUNT(68),PORT(1,osc,shape) + SEND_POP
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,24 +1,24 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_OSCILLAT STEREO, TRANSPOSE(64),DETUNE(32),PHASE(0),COLOR(96),SHAPE(64),GAIN(128), FLAGS(SINE)
|
SU_OSCILLAT STEREO, TRANSPOSE(64),DETUNE(32),PHASE(0),COLOR(96),SHAPE(64),GAIN(128), FLAGS(SINE)
|
||||||
SU_MULP STEREO
|
SU_MULP STEREO
|
||||||
SU_OUT STEREO, GAIN(128)
|
SU_OUT STEREO, GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 80, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0
|
PATTERN 80, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
|
||||||
SU_MULP MONO
|
SU_MULP MONO
|
||||||
SU_PUSH MONO
|
SU_PUSH MONO
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE + LFO)
|
SU_OSCILLAT MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE + LFO)
|
||||||
SU_SEND MONO,AMOUNT(68),PORT(1,osc,transpose) + SEND_POP
|
SU_SEND MONO,AMOUNT(68),PORT(1,osc,transpose) + SEND_POP
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
%define BPM 100
|
%define BPM 100
|
||||||
%define USE_SECTIONS
|
%define USE_SECTIONS
|
||||||
|
|
||||||
%include "../src/sointu.inc"
|
%include "../src/sointu.inc"
|
||||||
|
|
||||||
SU_BEGIN_PATTERNS
|
SU_BEGIN_PATTERNS
|
||||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||||
SU_END_PATTERNS
|
SU_END_PATTERNS
|
||||||
|
|
||||||
SU_BEGIN_TRACKS
|
SU_BEGIN_TRACKS
|
||||||
TRACK VOICES(1),0
|
TRACK VOICES(1),0
|
||||||
SU_END_TRACKS
|
SU_END_TRACKS
|
||||||
|
|
||||||
SU_BEGIN_PATCH
|
SU_BEGIN_PATCH
|
||||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(32),PHASE(0),COLOR(96),SHAPE(64),GAIN(128), FLAGS(TRISAW)
|
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(32),PHASE(0),COLOR(96),SHAPE(64),GAIN(128), FLAGS(TRISAW)
|
||||||
SU_OSCILLAT MONO,TRANSPOSE(72),DETUNE(64),PHASE(64),COLOR(64),SHAPE(96),GAIN(128), FLAGS(TRISAW)
|
SU_OSCILLAT MONO,TRANSPOSE(72),DETUNE(64),PHASE(64),COLOR(64),SHAPE(96),GAIN(128), FLAGS(TRISAW)
|
||||||
SU_MULP STEREO
|
SU_MULP STEREO
|
||||||
SU_OUT STEREO,GAIN(128)
|
SU_OUT STEREO,GAIN(128)
|
||||||
SU_END_INSTRUMENT
|
SU_END_INSTRUMENT
|
||||||
SU_END_PATCH
|
SU_END_PATCH
|
||||||
|
|
||||||
%include "../src/sointu.asm"
|
%include "../src/sointu.asm"
|
||||||
|
Reference in New Issue
Block a user