Add regression test for polyphony (MAX_VOICES = 2).

This commit is contained in:
Veikko Sariola 2020-05-01 08:51:43 +03:00
parent f97cea2a17
commit 660da68a48
3 changed files with 75 additions and 1 deletions

View File

@ -91,4 +91,6 @@ regression_test(test_dll_im_modulation "ENVELOPE;FOP_MULP;PANNING;VCO_SINE;STORE
regression_test(test_envelope_modulation "VCO_SINE;ENVELOPE;STORE")
regression_test(test_envelope_16bit ENVELOPE "" test_envelope)
target_compile_definitions(test_envelope_16bit PUBLIC GO4K_USE_16BIT_OUTPUT)
target_compile_definitions(test_envelope_16bit PUBLIC GO4K_USE_16BIT_OUTPUT)
regression_test(test_polyphony "ENVELOPE;VCO_SINE")

Binary file not shown.

72
tests/test_polyphony.asm Normal file
View File

@ -0,0 +1,72 @@
%define MAX_INSTRUMENTS 1
%define BPM 100
%define MAX_PATTERNS 1
%define SINGLE_FILE
%define USE_SECTIONS
%define MAX_VOICES 2
%include "../src/4klang.asm"
; //-------------------------------------------------------------------------------
; // Pattern Data
; //----------------------------------------------------------------------------------------
SECT_DATA(g4kmuc1)
EXPORT MANGLE_DATA(go4k_patterns)
db 64, HLD, 68, HLD, 32, HLD, HLD, HLD, 75, HLD, 78, HLD, HLD, 0, 0, 0,
; //----------------------------------------------------------------------------------------
; // Pattern Index List
; //----------------------------------------------------------------------------------------
SECT_DATA(g4kmuc2)
EXPORT MANGLE_DATA(go4k_pattern_lists)
Instrument0List db 0,
; //----------------------------------------------------------------------------------------
; // Instrument Commands
; //----------------------------------------------------------------------------------------
SECT_DATA(g4kmuc3)
EXPORT MANGLE_DATA(go4k_synth_instructions)
GO4K_BEGIN_CMDDEF(Instrument0)
db GO4K_ENV_ID
db GO4K_ENV_ID
db GO4K_VCO_ID
db GO4K_VCO_ID
db GO4K_FOP_ID
db GO4K_OUT_ID
GO4K_END_CMDDEF
;// global commands
GO4K_BEGIN_CMDDEF(Global)
db GO4K_ACC_ID
db GO4K_OUT_ID
GO4K_END_CMDDEF
go4k_synth_instructions_end
; //----------------------------------------------------------------------------------------
; // Intrument Data
; //----------------------------------------------------------------------------------------
SECT_DATA(g4kmuc4)
EXPORT MANGLE_DATA(go4k_synth_parameter_values)
GO4K_BEGIN_PARAMDEF(Instrument0)
GO4K_ENV ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(64),GAIN(128)
GO4K_ENV ATTAC(64),DECAY(64),SUSTAIN(64),RELEASE(64),GAIN(128)
GO4K_VCO TRANSPOSE(64),DETUNE(64),PHASE(0),GATES(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
GO4K_VCO TRANSPOSE(64),DETUNE(64),PHASE(0),GATES(0),COLOR(128),SHAPE(64),GAIN(128),FLAGS(SINE)
GO4K_FOP OP(FOP_MULP2)
GO4K_OUT GAIN(128), AUXSEND(0)
GO4K_END_PARAMDEF
;// global parameters
GO4K_BEGIN_PARAMDEF(Global)
GO4K_ACC ACCTYPE(OUTPUT)
GO4K_OUT GAIN(128), AUXSEND(0)
GO4K_END_PARAMDEF
; //----------------------------------------------------------------------------------------
; // Export MAX_SAMPLES for test_renderer
; //----------------------------------------------------------------------------------------
SECT_DATA(g4krender)
EXPORT MANGLE_DATA(test_max_samples)
dd MAX_SAMPLES