Commit Graph

23 Commits

Author SHA1 Message Date
acab824523 Update README.md 2020-10-24 23:36:56 +03:00
c9e8000c5f Remove the cmake magic to create bridge.go from bridge.go.in.
The bridge.go now just assumes that the library you want is built in the build/ directory. It's probably a lot better idea than using wherever the latest build was; this way the same build is always used for the library.
2020-10-23 00:04:54 +03:00
b9ec015b4a Document MinGW build commands in README.md. 2020-10-22 21:19:14 +03:00
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
06e8365c06 Update README.md 2020-10-21 09:50:19 +03:00
5e05057240 Fix builds and tests to pass on Linux.
Builds on both 32-bit and 64-bit executables and all tests (except gm.dls stuff obviously, which was excluded) pass on 64-bit Linux. Cannot test the 32-bit executables, as WSL does not support running 32-bit.
2020-05-27 10:54:37 +03:00
dac5afea60 Implement IN, OUTAUX and AUX opcodes, to conveniently input from or output to global ports. 2020-05-25 23:23:24 +03:00
654e5868bc Implement support for 64-bit builds.
The implentation is through a few macros to handle the fact in 64-bit, all addresses have to be loaded first to register and only offsets are ok. Also, push only supports 64-bit registers in 64-bit, so we have _AX, _BX, _CX etc. defines, which are eax, ebx and ecx on 32bit and rax, rbx and rcx on 64bit.
2020-05-21 17:18:18 +03:00
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
adc4a6e45f Implement sample-based oscillators, with sample import from gm.dls. 2020-05-19 18:29:47 +03:00
5d1145be39 Improve README. 2020-05-17 16:48:28 +03:00
fc0ad4c011 Implement compressor. 2020-05-17 16:37:08 +03:00
71a5a18257 Implement player speed modulation opcode for triplets and such. 2020-05-17 09:51:20 +03:00
3b33b4e4d2 Improve README. 2020-05-16 23:27:30 +03:00
e966bc0084 Improve README. 2020-05-16 21:57:32 +03:00
d328431413 Improve README. 2020-05-16 08:54:55 +03:00
78d4cd50e8 Rewrote most of the synth to better support stereo signals and polyphony. VSTi removed as there is no plan to update the VSTi to support the new features.
The stereo opcode variants have bit 1 of the command stream set. The polyphony is split into two parts: 1) polyphony, meaning that voices reuse the same opcodes; 2) multitrack voices, meaning that a track triggers more than voice. They both can be flexible defined in any combinations: for example voice 1 and 2 can be triggered by track 1 and use instrument 1, and voice 3 by track 2/instrument 2 and voice 4 by track 3/instrument 2. This is achieved through the use of bitmasks: in the aforementioned example, bit 1 of su_voicetrack_bitmask would be set, meaning "the voice after voice #1 will be triggered by the same track". On the other hand, bits 1 and 3 of su_polyphony_bitmask would be set to indicate that "the voices after #1 and #3 will reuse the same instruments".
2020-05-16 08:25:52 +03:00
b06829eab1 Update README.md 2018-10-29 08:55:57 +01:00
d1f776b473 Merge branch 'master' of https://github.com/hzdgopher/4klang 2018-03-16 19:18:56 +01:00
ced4a2b7b9 fixed bug in distortion when using stereo and sample&hold. 2018-03-16 19:18:41 +01:00
de562f8785 updated readme with screenshot 2018-03-14 22:30:45 +01:00
e14aefaa8e Update README.md 2018-03-11 13:40:21 +01:00
8eeef4f3d3 Initial commit 2018-02-07 15:32:56 +01:00