Commit Graph
67 Commits
Author SHA1 Message Date
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 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 42ebc52c96 Remove trailing spaces and convert tabs to spaces. 2020-05-16 09:16:23 +03:00
Veikko Sariola 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
Veikko Sariola 5c1b87f254 Improve comments for UpdateInstrument 2020-05-04 20:19:58 +03:00
Veikko Sariola 6be7959cd1 Refactor the waveshaper function to save some bytes. 2020-05-03 17:02:08 +03:00
Veikko Sariola 3c3fe6caf8 Improve comments and formatting. 2020-05-03 16:34:39 +03:00
Veikko Sariola c63dfd74f9 Make transform macro definition slightly more readable. 2020-05-03 11:12:53 +03:00
Veikko Sariola 53a1be9b61 Refactor all values to have a universal support for modulations.
The modulation is now always added during value transformation.
With this, a lot of *_MOD defines could be removed.
The waveform for some tests changed slightly, because when the
value is saved to memory after modulating it, there is some
rounding errors.
2020-05-03 10:41:24 +03:00
Veikko Sariola 0c08f3d41c Remove unnecessary short jump. 2020-05-01 09:34:17 +03:00
Veikko Sariola 8dc7a9b5a0 Fix some name manglings. 2020-05-01 09:31:36 +03:00
Veikko Sariola 405ef66b31 Remove unnecessary code from Power-function.
Also, improve comments.
2020-05-01 09:18:10 +03:00
Veikko SariolaandVeikko 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 771c0b96e3 Put back 8klang builds. 2020-04-30 13:08:37 +03:00
Veikko Sariola 2bee9edd0b Quick fix so that global store opcode is exported as 12 when glitch is not used. 2020-04-12 22:14:28 +03:00
Veikko Sariola e180694d9e Switch to CMake for builds and reorganize the source directories. 2020-04-12 22:05:38 +03:00