mirror of
https://github.com/vsariola/sointu.git
synced 2025-06-04 01:28:45 -04:00
The LOCALPORT and GLOBALPORT just get numeric parameters (unit, port) and (voice, unit, port), respectively, which should be now quite intuitive as most of the time the port index is one of the parameters visible in the .asm file. Only a few units have extra ports beyond transformed variables. Overall, this should make the parsing of the .asm files a lot easier.
40 lines
1.5 KiB
NASM
40 lines
1.5 KiB
NASM
%define BPM 100
|
|
|
|
%include "../src/sointu_header.inc"
|
|
|
|
BEGIN_PATTERNS
|
|
PATTERN 0,0,0,0,0,0,0,0,
|
|
PATTERN 72, HLD, HLD, HLD, HLD, HLD, HLD, 0,
|
|
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, 0,
|
|
PATTERN 60, HLD, HLD, HLD, HLD, HLD, HLD, 0,
|
|
PATTERN 40, HLD, HLD, HLD, HLD, HLD, HLD, 0,
|
|
END_PATTERNS
|
|
|
|
BEGIN_TRACKS
|
|
TRACK VOICES(1),1,0,2,0,3,0,4,0
|
|
TRACK VOICES(1),0,1,0,2,0,3,0,4 ; an ordinary sine oscillator, to compare we calculate the pitch right
|
|
END_TRACKS
|
|
|
|
BEGIN_PATCH
|
|
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_OSCILLAT STEREO,TRANSPOSE(68),DETUNE(32),PHASE(64),SAMPLENO(0),SHAPE(64),GAIN(128), FLAGS(SAMPLE)
|
|
SU_MULP STEREO
|
|
SU_OUT STEREO,GAIN(128)
|
|
END_INSTRUMENT
|
|
BEGIN_INSTRUMENT VOICES(1) ; Instrument1 to compare that the pitch is ok
|
|
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(128),SHAPE(64),GAIN(128), FLAGS(SINE)
|
|
SU_MULP STEREO
|
|
SU_OUT STEREO,GAIN(128)
|
|
END_INSTRUMENT
|
|
END_PATCH
|
|
|
|
BEGIN_SAMPLE_OFFSETS
|
|
SAMPLE_OFFSET START(1678611),LOOPSTART(1341),LOOPLENGTH(106) ; name VIOLN68, unitynote 56 (transpose to 4), data length 1448
|
|
END_SAMPLE_OFFSETS
|
|
|
|
%include "../src/sointu_footer.inc"
|