Veikko Sariola
6e85ff674a
Change the sointu.h api to return -1, 0 or n>0 depending if buffer is full and/or row ended.
...
test_render_samples_api.c was added to test the api. bridge.go was modified to reflect that there is no need to check for row manually; su_render_samples already returns the information if a row has ended.
2020-10-24 13:00:08 +03:00
Veikko Sariola and Veikko Sariola
7aac3917b7
Implement a bridge to call Sointu from Go language.
...
The main interface is render_samples function, which renders several samples in one call,
to limit the number of calls from Go to C. This is compiled into a library, which is then
linked and called from bridge.go.
2020-10-22 21:19:13 +03:00
Veikko Sariola
af14cd310b
Change .asm files that are actually only ever included into .inc-files, and rename all files as _header.inc & _footer.inc, depending where they are included.
2020-10-21 11:01:09 +03:00
Veikko Sariola
45e554a9f9
Fix yasm warnings about flags being ignored on section redeclaration.
2020-05-27 13:17:28 +03:00
Veikko Sariola
6f7fed4c6b
Move jnc *_mono, ..., *_mono: code from function bodies to the stereofilter helper.
2020-05-20 08:49:23 +03:00
Veikko Sariola and Veikko Sariola
dc99157fbb
Implement unison oscillators: multiple versions of slightly detuned oscillators that are added up to make a signal.
2020-05-19 22:52:21 +03:00
Veikko Sariola
adc4a6e45f
Implement sample-based oscillators, with sample import from gm.dls.
2020-05-19 18:29:47 +03:00
Veikko Sariola
77b989d88d
Optimize size.
2020-05-18 16:25:20 +03:00
Veikko Sariola
666fd385d1
Fix bug in SEND STEREO.
2020-05-18 16:23:49 +03:00
Veikko Sariola
f06810d956
Optimize size.
2020-05-17 01:24:38 +03:00
Veikko Sariola
3b33b4e4d2
Improve README.
2020-05-16 23:27:30 +03:00
Veikko Sariola
d87d2e22cf
Implement new effect: bit-crusher.
...
Maybe a combined hold/bit-crusher effect is needed someday.
2020-05-16 23:27:29 +03:00
Veikko Sariola
6a0a2fc36c
Optimize the implementations of gain and invgain.
2020-05-16 23:23:05 +03:00
Veikko Sariola
ac5b4dd496
Make clip opcode working and add regression tests to it.
2020-05-16 22:49:59 +03:00
Veikko Sariola
5760f78201
Implement gain and inverse gain effects, for the moments when you just need them.
2020-05-16 22:29:08 +03:00
Veikko Sariola
e966bc0084
Improve README.
2020-05-16 21:57:32 +03:00
Veikko Sariola
87264c443c
Add tests for opcode stereo variants, squashing several bugs in the process. Implement receive opcode to test stereo sending.
2020-05-16 21:23:41 +03:00
Veikko Sariola
f9388b028a
Rename test files to represent better the new opcodes they correspond to.
2020-05-16 18:32:56 +03:00
Veikko Sariola
5c1b87f254
Improve comments for UpdateInstrument
2020-05-04 20:19:58 +03:00
Veikko Sariola and Veikko Sariola
f97cea2a17
Refactor 4klang to use cross-platform defines and 4klang.asm & .inc to work more like .c and .h.
2020-04-30 13:36:22 +03:00
Veikko Sariola
09c497fef6
Add regression tests for delay modulations.
2020-04-25 11:29:14 +03:00
Veikko Sariola
7170b049d3
Add regression tests for VCF opcode and its modulations.
2020-04-24 22:51:42 +03:00
Veikko Sariola
4b9b1710eb
Add regression tests for delay (DLL) opcode.
2020-04-23 20:06:41 +03:00
Veikko Sariola
a49fba060c
Add regression tests for distortion, including sample-and-hold and modulations.
2020-04-18 21:21:21 +03:00
Veikko Sariola
41222b09a7
Move all raw audio files related to tests into subfolders, to have slightly more clean folder structure and to avoid mixing source files and data files.
2020-04-18 19:47:16 +03:00
Veikko Sariola
886ee85a09
Improve CMakeLists.txt for tests, so it is easier to define test prerequirements.
...
Also added a few missing prerequirements.
2020-04-18 13:16:33 +03:00
Veikko Sariola
d9f4def1d4
Add regression tests for vco modulations (cm, dm, fm, gm, pm, sm and tm)
2020-04-17 19:36:09 +03:00
Veikko Sariola
cc2babde9c
Add regression test for envelope modulation.
2020-04-17 18:21:37 +03:00
Veikko Sariola
462521518f
Add regression tests for FST and FSTG opcodes.
2020-04-16 22:05:50 +03:00
Veikko Sariola
9c7db45a46
Rewrote parts of the test renderer to read the whole data from disk in one fread.
2020-04-16 14:05:17 +03:00
Veikko Sariola
374be5256e
Add regression test for VCO opcode, lfo variant.
2020-04-16 13:37:30 +03:00
Veikko Sariola
83e3ab165e
Add test for 16-bit output, also moving the testname for test_renderer into compiler definition to avoid rewriting it everytime.
2020-04-15 23:17:03 +03:00
Veikko Sariola
cff4538b8c
Make the CMakeLists.txt for the tests a slightly more sensible; the data files are copied after every build if they are newer.
2020-04-15 21:43:22 +03:00
Veikko Sariola
d6798bdae3
Add regression test for VCO opcode (oscillator) for testing stereo sound creation.
2020-04-14 23:37:15 +03:00
Veikko Sariola
34a98ebc4a
Add regression test for VCO opcode (oscillator): gate, noise, pulse and trisaw variants.
2020-04-14 23:11:10 +03:00
Veikko Sariola
38499e01bb
Add regression test for VCO opcode (oscillator), sine wave variant.
2020-04-14 22:23:09 +03:00
Veikko Sariola
35b2df2a2f
Require CMake version 3.15, as the Visual Studio statically linking runtime policy was introduced in it.
2020-04-14 21:44:45 +03:00
Veikko Sariola
ce81ef5ef9
Add regression test for FOP opcode, loadnote variant.
2020-04-14 21:44:05 +03:00
Veikko Sariola
398543d67c
Add regression tests for FOP opcode: add, addp2, mul, mulp2, push and xchg variants.
2020-04-14 18:08:57 +03:00
Veikko Sariola
e790549d27
Add regression test to test fop opcode / addp, mulp and pop variants.
2020-04-13 19:10:46 +03:00
Veikko Sariola
08518a9527
Add regression test to test multiple instruments.
2020-04-13 17:50:09 +03:00
Veikko Sariola
b1ba5e9e6b
Add regression test to test panning opcode.
2020-04-13 17:34:46 +03:00
Veikko Sariola
f33da76d1e
Add regression test to test load opcode.
2020-04-13 17:18:26 +03:00
Veikko Sariola
1f0fdfc30e
Improve and rename envelope test. The test focuses on GO4k_ENV opcode only and does not use panning.
2020-04-13 16:53:11 +03:00