diff --git a/go4k/asmformat.go b/go4k/asmformat.go index 207d119..ae57ff6 100644 --- a/go4k/asmformat.go +++ b/go4k/asmformat.go @@ -156,10 +156,6 @@ func ParseAsm(reader io.Reader) (*Song, error) { case "SAMPLE": parameters["type"] = Sample } - } else if unittype == "send" { - if _, ok := parameters["voice"]; !ok { - parameters["voice"] = -1 - } } unit := Unit{Type: unittype, Stereo: stereo, Parameters: parameters} instr.Units = append(instr.Units, unit) diff --git a/go4k/bridge/bridge.go b/go4k/bridge/bridge.go index 4719a30..e906460 100644 --- a/go4k/bridge/bridge.go +++ b/go4k/bridge/bridge.go @@ -170,8 +170,8 @@ func Synth(patch go4k.Patch) (*C.Synth, error) { values = append(values, byte(flags)) } else if unit.Type == "send" { address := unit.Parameters["unit"]*16 + 24 + unit.Parameters["port"] - if unit.Parameters["voice"] != -1 { - address += 0x4000 + 16 + unit.Parameters["voice"]*1024 // global send, address is computed relative to synthworkspace + if unit.Parameters["voice"] > 0 { + address += 0x4000 + 16 + (unit.Parameters["voice"]-1)*1024 // global send, address is computed relative to synthworkspace } if unit.Parameters["sendpop"] == 1 { address += 0x8000 diff --git a/go4k/go4k.go b/go4k/go4k.go index b1edd4f..85b42f5 100644 --- a/go4k/go4k.go +++ b/go4k/go4k.go @@ -195,7 +195,7 @@ var UnitTypes = []UnitType{ SupportsStereo: true, Parameters: []UnitParameter{ {Name: "amount", MinValue: 0, MaxValue: 128, CanSet: true, CanModulate: true}, - {Name: "voice", MinValue: -1, MaxValue: 31, CanSet: true, CanModulate: false}, + {Name: "voice", MinValue: 0, MaxValue: 32, CanSet: true, CanModulate: false}, {Name: "unit", MinValue: 0, MaxValue: 63, CanSet: true, CanModulate: false}, {Name: "port", MinValue: 0, MaxValue: 7, CanSet: true, CanModulate: false}, {Name: "sendpop", MinValue: 0, MaxValue: 1, CanSet: true, CanModulate: false}, diff --git a/include/sointu/sinks_header.inc b/include/sointu/sinks_header.inc index 5d712cd..aea0820 100644 --- a/include/sointu/sinks_header.inc +++ b/include/sointu/sinks_header.inc @@ -99,25 +99,19 @@ endstruc %endif %endmacro -%macro SU_SEND 5 ; local send (params: STEREO, AMOUNT, UNIT, PORT, FLAGS) - db %2 - dw ((%3+1)*su_unit.size + su_unit.ports)/4 + %4 + (SENDPOPFLAG * %5) - USE_SEND - %xdefine CMDS CMDS SEND_ID + %1, - %if %1 == STEREO - %define INCLUDE_STEREO_SEND - %endif -%endmacro - %macro SU_SEND 6 ; global send (params: STEREO, AMOUNT, VOICE, UNIT, PORT, SENDPOP) db %2 - dw SEND_GLOBAL + (su_synthworkspace.voices+%3*su_voice.size+su_voice.workspace+%4*su_unit.size + su_unit.ports)/4 + %5 + (SENDPOPFLAG * %6) + %if (%3) > 0 + dw SEND_GLOBAL + (su_synthworkspace.voices+(%3-1)*su_voice.size+su_voice.workspace+%4*su_unit.size + su_unit.ports)/4 + %5 + (SENDPOPFLAG * %6) + %define INCLUDE_GLOBAL_SEND + %else + dw ((%4+1)*su_unit.size + su_unit.ports)/4 + %5 + (SENDPOPFLAG * %6) + %endif USE_SEND %xdefine CMDS CMDS SEND_ID + %1, %if %1 == STEREO %define INCLUDE_STEREO_SEND - %endif - %define INCLUDE_GLOBAL_SEND + %endif %endmacro %define VOICE(val) val diff --git a/tests/test_compressor.asm b/tests/test_compressor.asm index 4815c40..f3d6f82 100644 --- a/tests/test_compressor.asm +++ b/tests/test_compressor.asm @@ -19,8 +19,8 @@ BEGIN_PATCH SU_OSCILLATOR MONO,TRANSPOSE(88),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),TYPE(TRISAW),LFO(0),UNISON(0) SU_OSCILLATOR MONO,TRANSPOSE(88),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),TYPE(TRISAW),LFO(0),UNISON(0) SU_MULP STEREO - SU_SEND MONO,AMOUNT(128),VOICE(2),UNIT(0),PORT(0),SENDPOP(1) - SU_SEND MONO,AMOUNT(128),VOICE(2),UNIT(0),PORT(1),SENDPOP(1) + SU_SEND MONO,AMOUNT(128),VOICE(3),UNIT(0),PORT(0),SENDPOP(1) + SU_SEND MONO,AMOUNT(128),VOICE(3),UNIT(0),PORT(1),SENDPOP(1) END_INSTRUMENT BEGIN_INSTRUMENT VOICES(1) ; Instrument0 SU_ENVELOPE MONO,ATTACK(64),DECAY(64),SUSTAIN(64),RELEASE(64),GAIN(128) @@ -28,8 +28,8 @@ BEGIN_PATCH SU_OSCILLATOR MONO,TRANSPOSE(88),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(0),UNISON(0) SU_OSCILLATOR MONO,TRANSPOSE(88),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(0),UNISON(0) SU_MULP STEREO - SU_SEND MONO,AMOUNT(128),VOICE(2),UNIT(0),PORT(0),SENDPOP(1) - SU_SEND MONO,AMOUNT(128),VOICE(2),UNIT(0),PORT(1),SENDPOP(1) + SU_SEND MONO,AMOUNT(128),VOICE(3),UNIT(0),PORT(0),SENDPOP(1) + SU_SEND MONO,AMOUNT(128),VOICE(3),UNIT(0),PORT(1),SENDPOP(1) END_INSTRUMENT BEGIN_INSTRUMENT VOICES(1) ; Global compressor effect SU_RECEIVE STEREO diff --git a/tests/test_compressor_stereo.asm b/tests/test_compressor_stereo.asm index d1e4376..639f7a1 100644 --- a/tests/test_compressor_stereo.asm +++ b/tests/test_compressor_stereo.asm @@ -19,8 +19,8 @@ BEGIN_PATCH SU_OSCILLATOR MONO,TRANSPOSE(88),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),TYPE(TRISAW),LFO(0),UNISON(0) SU_OSCILLATOR MONO,TRANSPOSE(88),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),TYPE(TRISAW),LFO(0),UNISON(0) SU_MULP STEREO - SU_SEND MONO,AMOUNT(128),VOICE(2),UNIT(0),PORT(0),SENDPOP(1) - SU_SEND MONO,AMOUNT(128),VOICE(2),UNIT(0),PORT(1),SENDPOP(1) + SU_SEND MONO,AMOUNT(128),VOICE(3),UNIT(0),PORT(0),SENDPOP(1) + SU_SEND MONO,AMOUNT(128),VOICE(3),UNIT(0),PORT(1),SENDPOP(1) END_INSTRUMENT BEGIN_INSTRUMENT VOICES(1) ; Instrument0 SU_ENVELOPE MONO,ATTACK(64),DECAY(64),SUSTAIN(64),RELEASE(64),GAIN(128) @@ -28,8 +28,8 @@ BEGIN_PATCH SU_OSCILLATOR MONO,TRANSPOSE(88),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(0),UNISON(0) SU_OSCILLATOR MONO,TRANSPOSE(88),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(0),UNISON(0) SU_MULP STEREO - SU_SEND MONO,AMOUNT(128),VOICE(2),UNIT(0),PORT(0),SENDPOP(1) - SU_SEND MONO,AMOUNT(128),VOICE(2),UNIT(0),PORT(1),SENDPOP(1) + SU_SEND MONO,AMOUNT(128),VOICE(3),UNIT(0),PORT(0),SENDPOP(1) + SU_SEND MONO,AMOUNT(128),VOICE(3),UNIT(0),PORT(1),SENDPOP(1) END_INSTRUMENT BEGIN_INSTRUMENT VOICES(1) ; Global compressor effect SU_RECEIVE STEREO diff --git a/tests/test_delay_dampmod.asm b/tests/test_delay_dampmod.asm index 94cb6ad..2836971 100644 --- a/tests/test_delay_dampmod.asm +++ b/tests/test_delay_dampmod.asm @@ -19,7 +19,7 @@ BEGIN_PATCH SU_PAN MONO,PANNING(64) SU_OUT STEREO,GAIN(128) SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(32),UNIT(3),PORT(3),SENDPOP(1) + SU_SEND MONO,AMOUNT(32),VOICE(0),UNIT(3),PORT(3),SENDPOP(1) END_INSTRUMENT END_PATCH diff --git a/tests/test_delay_drymod.asm b/tests/test_delay_drymod.asm index 37f6d04..86d25d5 100644 --- a/tests/test_delay_drymod.asm +++ b/tests/test_delay_drymod.asm @@ -19,7 +19,7 @@ BEGIN_PATCH SU_PAN MONO,PANNING(64) SU_OUT STEREO,GAIN(128) SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(32),UNIT(3),PORT(1),SENDPOP(1) + SU_SEND MONO,AMOUNT(32),VOICE(0),UNIT(3),PORT(1),SENDPOP(1) END_INSTRUMENT END_PATCH diff --git a/tests/test_delay_feedbackmod.asm b/tests/test_delay_feedbackmod.asm index c873514..e6e62d9 100644 --- a/tests/test_delay_feedbackmod.asm +++ b/tests/test_delay_feedbackmod.asm @@ -19,7 +19,7 @@ BEGIN_PATCH SU_PAN MONO,PANNING(64) SU_OUT STEREO,GAIN(128) SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(32),UNIT(3),PORT(2),SENDPOP(1) + SU_SEND MONO,AMOUNT(32),VOICE(0),UNIT(3),PORT(2),SENDPOP(1) END_INSTRUMENT END_PATCH diff --git a/tests/test_delay_flanger.asm b/tests/test_delay_flanger.asm index 053f20d..a2954c6 100644 --- a/tests/test_delay_flanger.asm +++ b/tests/test_delay_flanger.asm @@ -20,7 +20,7 @@ BEGIN_PATCH SU_PAN MONO,PANNING(64) SU_OUT STEREO,GAIN(128) SU_OSCILLATOR MONO,TRANSPOSE(50),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(65),UNIT(3),PORT(5),SENDPOP(1) + SU_SEND MONO,AMOUNT(65),VOICE(0),UNIT(3),PORT(5),SENDPOP(1) END_INSTRUMENT END_PATCH diff --git a/tests/test_delay_pregainmod.asm b/tests/test_delay_pregainmod.asm index 6fa1b88..fbe2fc7 100644 --- a/tests/test_delay_pregainmod.asm +++ b/tests/test_delay_pregainmod.asm @@ -19,7 +19,7 @@ BEGIN_PATCH SU_PAN MONO,PANNING(64) SU_OUT STEREO,GAIN(128) SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(32),UNIT(3),PORT(0),SENDPOP(1) + SU_SEND MONO,AMOUNT(32),VOICE(0),UNIT(3),PORT(0),SENDPOP(1) END_INSTRUMENT END_PATCH diff --git a/tests/test_distort_mod.asm b/tests/test_distort_mod.asm index d5fcd73..c3f87bf 100644 --- a/tests/test_distort_mod.asm +++ b/tests/test_distort_mod.asm @@ -17,8 +17,8 @@ BEGIN_PATCH SU_ENVELOPE MONO, ATTACK(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128) SU_DISTORT MONO, DRIVE(96) SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(68),UNIT(1),PORT(0),SENDPOP(0) - SU_SEND MONO,AMOUNT(68),UNIT(3),PORT(0),SENDPOP(1) + SU_SEND MONO,AMOUNT(68),VOICE(0),UNIT(1),PORT(0),SENDPOP(0) + SU_SEND MONO,AMOUNT(68),VOICE(0),UNIT(3),PORT(0),SENDPOP(1) SU_OUT STEREO,GAIN(128) END_INSTRUMENT END_PATCH diff --git a/tests/test_envelope_mod.asm b/tests/test_envelope_mod.asm index c62c146..6539098 100644 --- a/tests/test_envelope_mod.asm +++ b/tests/test_envelope_mod.asm @@ -15,11 +15,11 @@ BEGIN_PATCH SU_ENVELOPE MONO,ATTACK(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128) SU_ENVELOPE MONO,ATTACK(80),DECAY(80),SUSTAIN(64),RELEASE(80),GAIN(128) SU_OSCILLATOR MONO,TRANSPOSE(120),DETUNE(64),PHASE(0),COLOR(128),SHAPE(96),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(68),UNIT(0),PORT(0),SENDPOP(0) - SU_SEND MONO,AMOUNT(68),UNIT(0),PORT(1),SENDPOP(0) + SU_SEND MONO,AMOUNT(68),VOICE(0),UNIT(0),PORT(0),SENDPOP(0) + SU_SEND MONO,AMOUNT(68),VOICE(0),UNIT(0),PORT(1),SENDPOP(0) ; Sustain modulation seems not to be implemented - SU_SEND MONO,AMOUNT(68),UNIT(0),PORT(3),SENDPOP(0) - SU_SEND MONO,AMOUNT(68),UNIT(1),PORT(4),SENDPOP(1) + SU_SEND MONO,AMOUNT(68),VOICE(0),UNIT(0),PORT(3),SENDPOP(0) + SU_SEND MONO,AMOUNT(68),VOICE(0),UNIT(1),PORT(4),SENDPOP(1) SU_OUT STEREO,GAIN(110) END_INSTRUMENT END_PATCH diff --git a/tests/test_filter_freqmod.asm b/tests/test_filter_freqmod.asm index 2d038b1..4dcc26c 100644 --- a/tests/test_filter_freqmod.asm +++ b/tests/test_filter_freqmod.asm @@ -19,7 +19,7 @@ BEGIN_PATCH SU_PAN MONO,PANNING(64) SU_OUT STEREO,GAIN(128) SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(32),UNIT(3),PORT(0),SENDPOP(1) + SU_SEND MONO,AMOUNT(32),VOICE(0),UNIT(3),PORT(0),SENDPOP(1) END_INSTRUMENT END_PATCH diff --git a/tests/test_filter_resmod.asm b/tests/test_filter_resmod.asm index 1a2a63a..fb08ee9 100644 --- a/tests/test_filter_resmod.asm +++ b/tests/test_filter_resmod.asm @@ -19,7 +19,7 @@ BEGIN_PATCH SU_PAN MONO,PANNING(64) SU_OUT STEREO,GAIN(128) SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(32),UNIT(3),PORT(1),SENDPOP(1) + SU_SEND MONO,AMOUNT(32),VOICE(0),UNIT(3),PORT(1),SENDPOP(1) END_INSTRUMENT END_PATCH diff --git a/tests/test_hold_mod.asm b/tests/test_hold_mod.asm index 9868501..53860f9 100644 --- a/tests/test_hold_mod.asm +++ b/tests/test_hold_mod.asm @@ -17,8 +17,8 @@ BEGIN_PATCH SU_ENVELOPE MONO,ATTACK(64),DECAY(64),SUSTAIN(64),RELEASE(80),GAIN(128) SU_HOLD MONO,HOLDFREQ(3) SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(68),UNIT(1),PORT(0),SENDPOP(0) - SU_SEND MONO,AMOUNT(68),UNIT(3),PORT(0),SENDPOP(1) + SU_SEND MONO,AMOUNT(68),VOICE(0),UNIT(1),PORT(0),SENDPOP(0) + SU_SEND MONO,AMOUNT(68),VOICE(0),UNIT(3),PORT(0),SENDPOP(1) SU_OUT STEREO,GAIN(128) END_INSTRUMENT END_PATCH diff --git a/tests/test_oscillat_colormod.asm b/tests/test_oscillat_colormod.asm index 4e4fee3..d246a58 100644 --- a/tests/test_oscillat_colormod.asm +++ b/tests/test_oscillat_colormod.asm @@ -17,7 +17,7 @@ BEGIN_PATCH SU_MULP MONO SU_PUSH MONO SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(68),UNIT(1),PORT(3),SENDPOP(1) + SU_SEND MONO,AMOUNT(68),VOICE(0),UNIT(1),PORT(3),SENDPOP(1) SU_OUT STEREO,GAIN(128) END_INSTRUMENT END_PATCH diff --git a/tests/test_oscillat_detunemod.asm b/tests/test_oscillat_detunemod.asm index b903150..c303bcd 100644 --- a/tests/test_oscillat_detunemod.asm +++ b/tests/test_oscillat_detunemod.asm @@ -17,7 +17,7 @@ BEGIN_PATCH SU_MULP MONO SU_PUSH MONO SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(96),UNIT(1),PORT(1),SENDPOP(1) + SU_SEND MONO,AMOUNT(96),VOICE(0),UNIT(1),PORT(1),SENDPOP(1) SU_OUT STEREO,GAIN(128) END_INSTRUMENT END_PATCH diff --git a/tests/test_oscillat_gainmod.asm b/tests/test_oscillat_gainmod.asm index 76a5bec..c50873b 100644 --- a/tests/test_oscillat_gainmod.asm +++ b/tests/test_oscillat_gainmod.asm @@ -17,7 +17,7 @@ BEGIN_PATCH SU_MULP MONO SU_PUSH MONO SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(68),UNIT(1),PORT(5),SENDPOP(1) + SU_SEND MONO,AMOUNT(68),VOICE(0),UNIT(1),PORT(5),SENDPOP(1) SU_OUT STEREO,GAIN(128) END_INSTRUMENT END_PATCH diff --git a/tests/test_oscillat_phasemod.asm b/tests/test_oscillat_phasemod.asm index faf753e..e088804 100644 --- a/tests/test_oscillat_phasemod.asm +++ b/tests/test_oscillat_phasemod.asm @@ -17,7 +17,7 @@ BEGIN_PATCH SU_MULP MONO SU_PUSH MONO SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(128),UNIT(1),PORT(2),SENDPOP(1) + SU_SEND MONO,AMOUNT(128),VOICE(0),UNIT(1),PORT(2),SENDPOP(1) SU_OUT STEREO,GAIN(128) END_INSTRUMENT END_PATCH diff --git a/tests/test_oscillat_shapemod.asm b/tests/test_oscillat_shapemod.asm index 100fcf2..c84d61d 100644 --- a/tests/test_oscillat_shapemod.asm +++ b/tests/test_oscillat_shapemod.asm @@ -17,7 +17,7 @@ BEGIN_PATCH SU_MULP MONO SU_PUSH MONO SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(68),UNIT(1),PORT(4),SENDPOP(1) + SU_SEND MONO,AMOUNT(68),VOICE(0),UNIT(1),PORT(4),SENDPOP(1) SU_OUT STEREO,GAIN(128) END_INSTRUMENT END_PATCH diff --git a/tests/test_oscillat_transposemod.asm b/tests/test_oscillat_transposemod.asm index 1a912cf..ab5bca6 100644 --- a/tests/test_oscillat_transposemod.asm +++ b/tests/test_oscillat_transposemod.asm @@ -17,7 +17,7 @@ BEGIN_PATCH SU_MULP MONO SU_PUSH MONO SU_OSCILLATOR MONO,TRANSPOSE(70),DETUNE(64),PHASE(64),COLOR(128),SHAPE(64),GAIN(128),TYPE(SINE),LFO(1),UNISON(0) - SU_SEND MONO,AMOUNT(68),UNIT(1),PORT(0),SENDPOP(1) + SU_SEND MONO,AMOUNT(68),VOICE(0),UNIT(1),PORT(0),SENDPOP(1) SU_OUT STEREO,GAIN(128) END_INSTRUMENT END_PATCH diff --git a/tests/test_receive.asm b/tests/test_receive.asm index 2ac6e88..a6f370f 100644 --- a/tests/test_receive.asm +++ b/tests/test_receive.asm @@ -13,10 +13,10 @@ END_TRACKS BEGIN_PATCH BEGIN_INSTRUMENT VOICES(1) ; Instrument0 SU_LOADVAL MONO,VALUE(32) ; should receive -0.5 - SU_SEND MONO,AMOUNT(128),UNIT(5),PORT(0),SENDPOP(0) ; should send -0.25 - SU_SEND MONO,AMOUNT(128),UNIT(6),PORT(0),SENDPOP(1) ; should send -0.25 + SU_SEND MONO,AMOUNT(128),VOICE(0),UNIT(5),PORT(0),SENDPOP(0) ; should send -0.25 + SU_SEND MONO,AMOUNT(128),VOICE(0),UNIT(6),PORT(0),SENDPOP(1) ; should send -0.25 SU_LOADVAL MONO,VALUE(128) ; should receive 1 - SU_SEND MONO,AMOUNT(128),UNIT(6),PORT(0),SENDPOP(1) ; should send 0.5 + SU_SEND MONO,AMOUNT(128),VOICE(0),UNIT(6),PORT(0),SENDPOP(1) ; should send 0.5 SU_RECEIVE MONO ; should receive -0.5 SU_RECEIVE MONO ; should receive 0.5 SU_OUT STEREO,GAIN(128) diff --git a/tests/test_receive_stereo.asm b/tests/test_receive_stereo.asm index 7b40d92..8ae6946 100644 --- a/tests/test_receive_stereo.asm +++ b/tests/test_receive_stereo.asm @@ -13,10 +13,10 @@ END_TRACKS BEGIN_PATCH BEGIN_INSTRUMENT VOICES(1) ; Instrument0 SU_LOADVAL MONO,VALUE(32) ; should receive -0.5 - SU_SEND MONO,AMOUNT(128),UNIT(5),PORT(1),SENDPOP(0) ; should send -0.25 - SU_SEND MONO,AMOUNT(128),UNIT(5),PORT(0),SENDPOP(1) ; should send -0.25 + SU_SEND MONO,AMOUNT(128),VOICE(0),UNIT(5),PORT(1),SENDPOP(0) ; should send -0.25 + SU_SEND MONO,AMOUNT(128),VOICE(0),UNIT(5),PORT(0),SENDPOP(1) ; should send -0.25 SU_LOADVAL MONO,VALUE(128) ; should receive 1 - SU_SEND MONO,AMOUNT(128),UNIT(5),PORT(0),SENDPOP(1) ; should send 0.5 + SU_SEND MONO,AMOUNT(128),VOICE(0),UNIT(5),PORT(0),SENDPOP(1) ; should send 0.5 SU_RECEIVE STEREO; should receive 0.5 -0.5 SU_OUT STEREO,GAIN(128) END_INSTRUMENT diff --git a/tests/test_send.asm b/tests/test_send.asm index 4c8362d..52bc0a1 100644 --- a/tests/test_send.asm +++ b/tests/test_send.asm @@ -13,10 +13,10 @@ END_TRACKS BEGIN_PATCH BEGIN_INSTRUMENT VOICES(1) ; Instrument0 SU_LOADVAL MONO,VALUE(32) ; should receive -0.5 - SU_SEND MONO,AMOUNT(96),UNIT(5),PORT(0),SENDPOP(0) ; should send -0.25 - SU_SEND MONO,AMOUNT(96),UNIT(6),PORT(0),SENDPOP(1) ; should send -0.25 + SU_SEND MONO,AMOUNT(96),VOICE(0),UNIT(5),PORT(0),SENDPOP(0) ; should send -0.25 + SU_SEND MONO,AMOUNT(96),VOICE(0),UNIT(6),PORT(0),SENDPOP(1) ; should send -0.25 SU_LOADVAL MONO,VALUE(128) ; should receive 1 - SU_SEND MONO,AMOUNT(96),UNIT(6),PORT(0),SENDPOP(1) ; should send 0.5 + SU_SEND MONO,AMOUNT(96),VOICE(0),UNIT(6),PORT(0),SENDPOP(1) ; should send 0.5 SU_LOADVAL MONO,VALUE(64) ; should receive -0.5 SU_LOADVAL MONO,VALUE(64) ; should receive 0.5 SU_OUT STEREO,GAIN(128) diff --git a/tests/test_send_global.asm b/tests/test_send_global.asm index 566fcab..a74f9fe 100644 --- a/tests/test_send_global.asm +++ b/tests/test_send_global.asm @@ -13,14 +13,14 @@ END_TRACKS BEGIN_PATCH BEGIN_INSTRUMENT VOICES(1) ; Instrument0 SU_LOADVAL MONO,VALUE(96) - SU_SEND MONO,AMOUNT(96),VOICE(1),UNIT(3),PORT(0),SENDPOP(1) + SU_SEND MONO,AMOUNT(96),VOICE(2),UNIT(3),PORT(0),SENDPOP(1) SU_LOADVAL MONO,VALUE(64) SU_LOADVAL MONO,VALUE(64) SU_OUT STEREO,GAIN(128) END_INSTRUMENT BEGIN_INSTRUMENT VOICES(1) ; Instrument1 SU_LOADVAL MONO,VALUE(32) - SU_SEND MONO,AMOUNT(96),VOICE(0),UNIT(2),PORT(0),SENDPOP(1) + SU_SEND MONO,AMOUNT(96),VOICE(1),UNIT(2),PORT(0),SENDPOP(1) SU_LOADVAL MONO,VALUE(64) SU_LOADVAL MONO,VALUE(64) SU_OUT STEREO,GAIN(128) diff --git a/tests/test_send_stereo.asm b/tests/test_send_stereo.asm index cc5b3f7..72e4f86 100644 --- a/tests/test_send_stereo.asm +++ b/tests/test_send_stereo.asm @@ -14,10 +14,10 @@ BEGIN_PATCH BEGIN_INSTRUMENT VOICES(1) ; Instrument0 SU_LOADVAL MONO,VALUE(0) SU_LOADVAL MONO,VALUE(0) - SU_SEND STEREO,AMOUNT(96),UNIT(6),PORT(0),SENDPOP(1) + SU_SEND STEREO,AMOUNT(96),VOICE(0),UNIT(6),PORT(0),SENDPOP(1) SU_LOADVAL MONO,VALUE(64) SU_LOADVAL MONO,VALUE(128) - SU_SEND STEREO,AMOUNT(128),UNIT(6),PORT(0),SENDPOP(1) + SU_SEND STEREO,AMOUNT(128),VOICE(0),UNIT(6),PORT(0),SENDPOP(1) SU_RECEIVE STEREO; should receive 0.5 -0.5 SU_OUT STEREO,GAIN(128) END_INSTRUMENT