mirror of
https://github.com/vsariola/sointu.git
synced 2026-08-16 22:56:58 -04:00
Add tests for opcode stereo variants, squashing several bugs in the process. Implement receive opcode to test stereo sending.
This commit is contained in:
+2
-2
@@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.15)
|
||||
# i.e. set_property(TARGET 4klang PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
cmake_policy(SET CMP0091 NEW)
|
||||
|
||||
project(4klang
|
||||
project(sointu
|
||||
VERSION 3.3.2
|
||||
DESCRIPTION "A modular synthesizer for 4k/8k intros"
|
||||
LANGUAGES C CXX)
|
||||
@@ -38,6 +38,6 @@ add_subdirectory(src)
|
||||
|
||||
# Testing only available if this is the main app
|
||||
# Emergency override 4KLANG_CMAKE_BUILD_TESTING provided as well
|
||||
if((CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME OR 4KLANG_CMAKE_BUILD_TESTING) AND BUILD_TESTING)
|
||||
if((CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME OR SOINTU_CMAKE_BUILD_TESTING) AND BUILD_TESTING)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
@@ -31,7 +31,7 @@ EXPORT MANGLE_FUNC(su_op_add,0)
|
||||
fadd st0, st3
|
||||
fxch
|
||||
ret
|
||||
su_op_pop_mono:
|
||||
su_op_add_mono:
|
||||
%endif
|
||||
fadd st1
|
||||
ret
|
||||
@@ -146,7 +146,7 @@ EXPORT MANGLE_FUNC(su_op_xch,0)
|
||||
jnc su_op_xch_mono
|
||||
fxch st0, st2 ; c b a d
|
||||
fxch st0, st1 ; b c a d
|
||||
fxch st0, st2 ; d c a b
|
||||
fxch st0, st3 ; d c a b
|
||||
su_op_xch_mono:
|
||||
%endif
|
||||
fxch st0, st1
|
||||
|
||||
@@ -140,7 +140,7 @@ endstruc
|
||||
USE_HOLD
|
||||
%xdefine CMDS CMDS HOLD_ID + %1,
|
||||
%if %1 == STEREO
|
||||
%define INCLUDE_STEREO_DISTORT
|
||||
%define INCLUDE_STEREO_HOLD
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
|
||||
+37
-10
@@ -79,8 +79,7 @@ SECT_TEXT(sunoise)
|
||||
EXPORT MANGLE_FUNC(su_op_noise,0)
|
||||
%ifdef INCLUDE_STEREO_NOISE
|
||||
jnc su_op_noise_mono
|
||||
clc
|
||||
call dword [esp]
|
||||
call su_op_noise_mono
|
||||
su_op_noise_mono:
|
||||
%endif
|
||||
call MANGLE_FUNC(FloatRandomNumber,0)
|
||||
@@ -287,22 +286,22 @@ SECT_DATA(suconst)
|
||||
%endif
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
; LOAD_VAL opcode
|
||||
; LOADVAL opcode
|
||||
;-------------------------------------------------------------------------------
|
||||
; Input: WRK : pointer to unit workspace
|
||||
; VAL : pointer to unit values as bytes
|
||||
; Output: st0 : 2*v-1, where v is the loaded value
|
||||
; Dirty: eax, edx
|
||||
; Input: edx : pointer to unit ports
|
||||
;
|
||||
; Mono version: push 2*v-1 on stack, where v is the input to port "value"
|
||||
; Stereo version: push 2*v-1 twice on stack
|
||||
;-------------------------------------------------------------------------------
|
||||
%if LOAD_VAL_ID > -1
|
||||
%if LOADVAL_ID > -1
|
||||
|
||||
SECT_TEXT(suloadvl)
|
||||
|
||||
EXPORT MANGLE_FUNC(su_op_loadval,0)
|
||||
%ifdef INCLUDE_STEREO_LOAD_VAL
|
||||
jnc su_op_loadval_mono
|
||||
call su_loadval_mono
|
||||
su_loadval_mono:
|
||||
call su_op_loadval_mono
|
||||
su_op_loadval_mono:
|
||||
%endif
|
||||
fld dword [edx+su_load_val_ports.value] ; v
|
||||
fsub dword [c_0_5] ; v-.5
|
||||
@@ -310,3 +309,31 @@ su_loadval_mono:
|
||||
ret
|
||||
|
||||
%endif ; SU_USE_LOAD_VAL
|
||||
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
; RECEIVE opcode
|
||||
;-------------------------------------------------------------------------------
|
||||
; Mono version: push l on stack, where l is the left channel received
|
||||
; Stereo version: push l r on stack
|
||||
;-------------------------------------------------------------------------------
|
||||
%if RECEIVE_ID > -1
|
||||
|
||||
SECT_TEXT(sureceiv)
|
||||
|
||||
EXPORT MANGLE_FUNC(su_op_receive,0)
|
||||
lea ecx, dword [WRK+su_unit.ports]
|
||||
%ifdef INCLUDE_STEREO_RECEIVE
|
||||
jnc su_op_receive_mono
|
||||
xor eax,eax
|
||||
fld dword [ecx+su_receive_ports.right]
|
||||
mov dword [ecx+su_receive_ports.right],eax
|
||||
su_op_receive_mono:
|
||||
%else
|
||||
xor eax,eax
|
||||
%endif
|
||||
fld dword [ecx+su_receive_ports.left]
|
||||
mov dword [ecx+su_receive_ports.left],eax
|
||||
ret
|
||||
|
||||
%endif ; RECEIVE_ID > -1
|
||||
|
||||
+31
-4
@@ -154,10 +154,10 @@ endstruc
|
||||
;-------------------------------------------------------------------------------
|
||||
; LOAD_VAL structs
|
||||
;-------------------------------------------------------------------------------
|
||||
%assign LOAD_VAL_ID -1
|
||||
%assign LOADVAL_ID -1
|
||||
%macro USE_LOAD_VAL 0
|
||||
%if LOAD_VAL_ID == -1
|
||||
%assign LOAD_VAL_ID CUR_ID
|
||||
%if LOADVAL_ID == -1
|
||||
%assign LOADVAL_ID CUR_ID
|
||||
%assign CUR_ID CUR_ID + 2
|
||||
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_loadval,0),
|
||||
%xdefine NUMPARAMS NUMPARAMS 1,
|
||||
@@ -167,7 +167,7 @@ endstruc
|
||||
%macro SU_LOADVAL 2
|
||||
db %2
|
||||
USE_LOAD_VAL
|
||||
%xdefine CMDS CMDS LOAD_VAL_ID+%1,
|
||||
%xdefine CMDS CMDS LOADVAL_ID+%1,
|
||||
%if %1 == STEREO
|
||||
%define INCLUDE_STEREO_LOAD_VAL
|
||||
%endif
|
||||
@@ -183,3 +183,30 @@ endstruc
|
||||
struc su_load_val_wrk
|
||||
.size
|
||||
endstruc
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
; RECEIVE structs
|
||||
;-------------------------------------------------------------------------------
|
||||
%assign RECEIVE_ID -1
|
||||
%macro USE_RECEIVE 0
|
||||
%if RECEIVE_ID == -1
|
||||
%assign RECEIVE_ID CUR_ID
|
||||
%assign CUR_ID CUR_ID + 2
|
||||
%xdefine OPCODES OPCODES MANGLE_FUNC(su_op_receive,0),
|
||||
%xdefine NUMPARAMS NUMPARAMS 0,
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro SU_RECEIVE 1
|
||||
USE_RECEIVE
|
||||
%xdefine CMDS CMDS RECEIVE_ID+%1,
|
||||
%if %1 == STEREO
|
||||
%define INCLUDE_STEREO_RECEIVE
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
struc su_receive_ports
|
||||
.params ; receive does not actually have params, left and right only through send
|
||||
.left resd 1
|
||||
.right resd 1
|
||||
endstruc
|
||||
|
||||
+31
-17
@@ -8,8 +8,8 @@ function(regression_test testname)
|
||||
add_executable(${testname} ${source}.asm test_renderer.c)
|
||||
|
||||
# the tests include the entire ASM but we still want to rebuild when they change
|
||||
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}")
|
||||
file(GLOB SOINTU ${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 "${SOINTU}")
|
||||
set_source_files_properties(${FOURKLANG} PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
|
||||
add_test(${testname} ${testname})
|
||||
@@ -40,22 +40,35 @@ function(regression_test testname)
|
||||
endfunction(regression_test)
|
||||
|
||||
regression_test(test_envelope "" ENVELOPE)
|
||||
regression_test(test_loadval "" LOAD)
|
||||
regression_test(test_send "" SEND)
|
||||
regression_test(test_send_global)
|
||||
regression_test(test_envelope_stereo ENVELOPE)
|
||||
regression_test(test_loadval "" LOADVAL)
|
||||
regression_test(test_loadval_stereo LOADVAL LOADVAL_STEREO)
|
||||
regression_test(test_send LOADVAL SEND)
|
||||
regression_test(test_send_stereo SEND)
|
||||
regression_test(test_send_global SEND)
|
||||
regression_test(test_receive SEND RECEIVE)
|
||||
regression_test(test_receive_stereo RECEIVE)
|
||||
regression_test(test_panning ENVELOPE PANNING)
|
||||
regression_test(test_panning_stereo PANNING)
|
||||
regression_test(test_multiple_instruments ENVELOPE)
|
||||
regression_test(test_pop LOAD FOP_POP)
|
||||
regression_test(test_addp LOAD)
|
||||
regression_test(test_mulp LOAD FOP_MULP)
|
||||
regression_test(test_push "LOAD;FOP_POP" FOP_PUSH)
|
||||
regression_test(test_xch LOAD)
|
||||
regression_test(test_add LOAD)
|
||||
regression_test(test_mul LOAD)
|
||||
regression_test(test_addp_stereo LOAD)
|
||||
regression_test(test_mulp_stereo LOAD FOP_MULP2)
|
||||
regression_test(test_pop LOADVAL POP)
|
||||
regression_test(test_pop_stereo POP)
|
||||
regression_test(test_addp LOADVAL)
|
||||
regression_test(test_addp_stereo LOADVAL)
|
||||
regression_test(test_mulp LOADVAL FOP_MULP)
|
||||
regression_test(test_mulp_stereo LOADVAL FOP_MULP2)
|
||||
regression_test(test_push "LOADVAL;POP" FOP_PUSH)
|
||||
regression_test(test_push_stereo PUSH)
|
||||
regression_test(test_xch LOADVAL)
|
||||
regression_test(test_xch_stereo LOADVAL)
|
||||
regression_test(test_add LOADVAL)
|
||||
regression_test(test_add_stereo LOADVAL)
|
||||
regression_test(test_mul LOADVAL)
|
||||
regression_test(test_mul_stereo LOADVAL)
|
||||
regression_test(test_loadnote)
|
||||
regression_test(test_noise ENVELOPE VCO_NOISE)
|
||||
regression_test(test_loadnote_stereo)
|
||||
regression_test(test_noise ENVELOPE NOISE)
|
||||
regression_test(test_noise_stereo NOISE)
|
||||
regression_test(test_oscillat_sine ENVELOPE VCO_SINE)
|
||||
regression_test(test_oscillat_trisaw ENVELOPE)
|
||||
regression_test(test_oscillat_pulse ENVELOPE VCO_PULSE)
|
||||
@@ -72,8 +85,9 @@ regression_test(test_oscillat_gainmod "VCO_SINE;ENVELOPE;FOP_MULP;FOP_PUSH;SEND"
|
||||
regression_test(test_distort ENVELOPE)
|
||||
regression_test(test_distort_mod "VCO_SINE;ENVELOPE;SEND")
|
||||
regression_test(test_distort_stereo ENVELOPE)
|
||||
regression_test(test_hold ENVELOPE)
|
||||
regression_test(test_hold ENVELOPE HOLD)
|
||||
regression_test(test_hold_mod "VCO_SINE;ENVELOPE;SEND")
|
||||
regression_test(test_hold_stereo HOLD)
|
||||
|
||||
regression_test(test_filter_band "VCO_SINE;ENVELOPE;FOP_MULP")
|
||||
regression_test(test_filter_low "VCO_SINE;ENVELOPE;FOP_MULP")
|
||||
@@ -85,7 +99,7 @@ regression_test(test_filter_resmod "VCO_SINE;ENVELOPE;FOP_MULP;SEND")
|
||||
|
||||
regression_test(test_delay "ENVELOPE;FOP_MULP;PANNING;VCO_SINE")
|
||||
regression_test(test_delay_stereo "ENVELOPE;FOP_MULP;PANNING;VCO_SINE")
|
||||
regression_test(test_delay_notetracking "ENVELOPE;FOP_MULP;PANNING;VCO_NOISE")
|
||||
regression_test(test_delay_notetracking "ENVELOPE;FOP_MULP;PANNING;NOISE")
|
||||
regression_test(test_delay_reverb "ENVELOPE;FOP_MULP;PANNING;VCO_SINE")
|
||||
regression_test(test_delay_feedbackmod "ENVELOPE;FOP_MULP;PANNING;VCO_SINE;SEND")
|
||||
regression_test(test_delay_pregainmod "ENVELOPE;FOP_MULP;PANNING;VCO_SINE;SEND")
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,29 @@
|
||||
%define BPM 100
|
||||
%define SINGLE_FILE
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_LOADVAL MONO,VALUE(32)
|
||||
SU_LOADVAL MONO,VALUE(32)
|
||||
SU_LOADVAL MONO,VALUE(64)
|
||||
SU_LOADVAL MONO,VALUE(128)
|
||||
SU_ADD STEREO
|
||||
SU_XCH STEREO
|
||||
SU_POP MONO
|
||||
SU_POP MONO
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
@@ -0,0 +1,21 @@
|
||||
%define BPM 100
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_ENVELOPE STEREO,ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128)
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
@@ -0,0 +1,23 @@
|
||||
%define BPM 100
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
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 STEREO,HOLDFREQ(3)
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
@@ -14,7 +14,8 @@ SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_LOADNOTE STEREO
|
||||
SU_LOADNOTE MONO
|
||||
SU_LOADNOTE MONO
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
%define BPM 100
|
||||
%define SINGLE_FILE
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_LOADNOTE STEREO
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
@@ -0,0 +1,22 @@
|
||||
%define BPM 100
|
||||
%define SINGLE_FILE
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_LOADVAL STEREO,VALUE(40)
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
@@ -0,0 +1,29 @@
|
||||
%define BPM 100
|
||||
%define SINGLE_FILE
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_LOADVAL MONO,VALUE(96)
|
||||
SU_LOADVAL MONO,VALUE(128)
|
||||
SU_LOADVAL MONO,VALUE(0)
|
||||
SU_LOADVAL MONO,VALUE(96)
|
||||
SU_MUL STEREO
|
||||
SU_XCH STEREO
|
||||
SU_POP MONO
|
||||
SU_POP MONO
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
@@ -13,11 +13,12 @@ SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
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_NOISE MONO, SHAPE(64),GAIN(128)
|
||||
SU_MULP MONO
|
||||
SU_ENVELOPE MONO, ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||
SU_NOISE MONO, SHAPE(96),GAIN(128)
|
||||
SU_MULP STEREO
|
||||
SU_MULP MONO
|
||||
SU_OUT STEREO, GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
%define BPM 100
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0,
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_NOISE STEREO, SHAPE(96),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_MULP STEREO
|
||||
SU_OUT STEREO, GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
@@ -0,0 +1,24 @@
|
||||
%define BPM 100
|
||||
%define SINGLE_FILE
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
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 STEREO,PANNING(40)
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
@@ -0,0 +1,26 @@
|
||||
%define BPM 100
|
||||
%define SINGLE_FILE
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_LOADVAL MONO,VALUE(32)
|
||||
SU_LOADVAL MONO,VALUE(96)
|
||||
SU_LOADVAL MONO,VALUE(0)
|
||||
SU_LOADVAL MONO,VALUE(0)
|
||||
SU_POP STEREO
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
@@ -0,0 +1,26 @@
|
||||
%define BPM 100
|
||||
%define SINGLE_FILE
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_LOADVAL MONO,VALUE(32)
|
||||
SU_LOADVAL MONO,VALUE(96)
|
||||
SU_PUSH STEREO
|
||||
SU_POP MONO
|
||||
SU_POP MONO
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
@@ -0,0 +1,28 @@
|
||||
%define BPM 100
|
||||
%define SINGLE_FILE
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_LOADVAL MONO,VALUE(32) ; should receive -0.5
|
||||
SU_SEND MONO,AMOUNT(128),PORT(5,receive,left) ; should send -0.25
|
||||
SU_SEND MONO,AMOUNT(128),PORT(6,receive,left) + SEND_POP ; should send -0.25
|
||||
SU_LOADVAL MONO,VALUE(128) ; should receive 1
|
||||
SU_SEND MONO,AMOUNT(128),PORT(6,receive,left) + SEND_POP ; should send 0.5
|
||||
SU_RECEIVE MONO ; should receive -0.5
|
||||
SU_RECEIVE MONO ; should receive 0.5
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
@@ -0,0 +1,27 @@
|
||||
%define BPM 100
|
||||
%define SINGLE_FILE
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_LOADVAL MONO,VALUE(32) ; should receive -0.5
|
||||
SU_SEND MONO,AMOUNT(128),PORT(5,receive,right) ; should send -0.25
|
||||
SU_SEND MONO,AMOUNT(128),PORT(5,receive,left) + SEND_POP ; should send -0.25
|
||||
SU_LOADVAL MONO,VALUE(128) ; should receive 1
|
||||
SU_SEND MONO,AMOUNT(128),PORT(5,receive,left) + SEND_POP ; should send 0.5
|
||||
SU_RECEIVE STEREO; should receive 0.5 -0.5
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
@@ -0,0 +1,28 @@
|
||||
%define BPM 100
|
||||
%define SINGLE_FILE
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_LOADVAL MONO,VALUE(0)
|
||||
SU_LOADVAL MONO,VALUE(0)
|
||||
SU_SEND STEREO,AMOUNT(96),PORT(6,receive,left) + SEND_POP
|
||||
SU_LOADVAL MONO,VALUE(64)
|
||||
SU_LOADVAL MONO,VALUE(128)
|
||||
SU_SEND STEREO,AMOUNT(128),PORT(6,receive,left) + SEND_POP
|
||||
SU_RECEIVE STEREO; should receive 0.5 -0.5
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
@@ -1,5 +1,4 @@
|
||||
%define BPM 100
|
||||
%define SINGLE_FILE
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
%define BPM 100
|
||||
%define USE_SECTIONS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, HLD, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),0
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_LOADVAL MONO,VALUE(0)
|
||||
SU_LOADVAL MONO,VALUE(128)
|
||||
SU_LOADVAL MONO,VALUE(32)
|
||||
SU_LOADVAL MONO,VALUE(96)
|
||||
SU_XCH STEREO
|
||||
SU_POP MONO
|
||||
SU_POP MONO
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
%include "../src/sointu.asm"
|
||||
Reference in New Issue
Block a user