Commit Graph

443 Commits

Author SHA1 Message Date
vsariola
f3cf4a52ce feat(compiler, wasm): do not hard code memory addresses to uninitialized sections
Rather, allocate unitialized segments as needed.
2021-04-15 23:24:58 +03:00
vsariola
f330ccebf7 Update screenshot. 2021-04-13 13:05:16 +03:00
vsariola
e9affe31ae Update README.md and screenshot 2021-04-12 20:42:32 +03:00
vsariola
0767440e60 fix(tracker): kill all notes except effects when starting play / skipping play position
Fixes #45.
2021-04-12 20:15:55 +03:00
vsariola
ce52aa0ee9 feat(tracker, gioui): add error message if vuanalyzer detects a NaN
Closes #50
2021-04-12 20:05:43 +03:00
vsariola
68a50247bd feat(tracker): make shift + left/right take 1 octace / 12 semitone steps in oscillator transpose
Closes #37
2021-04-12 19:25:11 +03:00
vsariola
b4705c941f feat(tracker, gioui): add visual indicators to show which instruments are playing
Closes #44
2021-04-11 17:51:34 +03:00
vsariola
1eca428801 feat(gioui): add confirmation dialog when deleting instrument
Closes #5
2021-04-11 16:46:07 +03:00
vsariola
a639e0c5e6 fix(gioui): in note editor, only step when user actually enters a note 2021-04-11 15:54:58 +03:00
vsariola
8c7349de12 fix(tracker): prevent crashing when deleting notes without order list entry
Closes #59
2021-04-10 19:21:48 +03:00
vsariola
4ce6abe1e8 fix(tracker): the mod function could return negative values with mod(-1,1)
Never copy-paste code from the internets
2021-04-10 19:17:38 +03:00
vsariola
d04895144b feat(gioui): add scrollbar to the order list 2021-04-10 19:16:04 +03:00
vsariola
847967c7b7 feat(gioui): add single letter track titles to order list 2021-04-10 18:09:20 +03:00
vsariola
a44c27f4bb update gioui to latest version 2021-04-10 17:06:52 +03:00
vsariola
58d29b19e9 sointu-compile: improve the printed help for command line options 2021-04-10 16:12:00 +03:00
vsariola
9a6d92eefd feat(cmd): make current directory the default output directory in command line tools 2021-04-10 16:10:27 +03:00
vsariola
f713133a0a feat(tests): test also gain parameter in envelopes 2021-04-10 15:58:02 +03:00
vsariola
fc89973848 fix(tests): make test_renderer return 1 if not enough parameters 2021-04-10 15:14:19 +03:00
vsariola
05e6f6da4e fix(tests): in test_renderer.c, print errors to stderr instead of stdout 2021-04-10 15:13:45 +03:00
vsariola
f2f54c1579 optimize(templates): Use {{.DI}} consistently in the sinks to improve compression ratio. 2021-03-28 16:52:58 +03:00
vsariola
9a798df55a optimize(templates): use pushf / popf to save & recall stereo bit, instead of bt [...] 2021-03-28 12:38:09 +03:00
vsariola
d5d9f48d2d optimize(templates): use workspace instead of stack for filter temp var, results in less bytes & entropy 2021-03-28 12:37:26 +03:00
vsariola
822cb7bac5 optimize(templates): replace fld / fmulp with a direct fmul 2021-03-27 16:35:58 +02:00
vsariola
4c04f7a38c optimize(templates): use test ah or test al instead of test {{.AX}} in op_send 2021-03-27 16:03:47 +02:00
vsariola
9b4608e31e feat(vm): construct minimal delaytime table using greedy matching
The idea is to find a minimal array that contains all the delay times and then point all delay times into this array.
2021-03-26 23:07:20 +02:00
vsariola
763c4f5136 fix(templates): unison sample oscillators crashed on amd64 2021-03-24 23:49:14 +02:00
vsariola
b0918e65ff fix(templates): add denormalization to compressor filter 2021-03-24 22:05:43 +02:00
vsariola
0c2b1a3856 fix(templates): stereo oscillators were messing up WRK 2021-03-24 00:18:12 +02:00
vsariola
c5972bc023 fix(vm): skip empty units when detecting what units are used 2021-03-24 00:17:10 +02:00
vsariola
dfc864d131 optimize(templates): allow distort to flow into su_waveshaper (again) 2021-03-23 15:07:45 +02:00
vsariola
8e55132ddd fix(tracker): the tracker has been displaying the musical names for notes incorrectly 2021-03-22 19:36:00 +02:00
vsariola
cce99e6508 feat(vm): make the all empty pattern the zero pattern
Perhaps helps compression
2021-03-21 13:30:16 +02:00
vsariola
4b90c1c50a optimize(templates): don't call compressor_mono if only using stereo compressor 2021-03-21 12:14:28 +02:00
vsariola
d2f4d5d851 optimize(templates): only include lfo if it's actually used 2021-03-21 12:06:58 +02:00
vsariola
3cbc500361 optimize(templates): don't use LEA in player, use MOV
Compresses better.
2021-03-21 11:46:51 +02:00
vsariola
c28bacdfc7 feat(templates): remove clipping from waveshaper; user can clip manually if needed 2021-03-21 11:28:03 +02:00
vsariola
452a2f6f04 feat(vm): reuse delaytimes if one has already been used before 2021-03-21 10:22:47 +02:00
vsariola
eb61fcb130 fix(vm): parameters with default values (no key in the unit parameter map) were not considered to be used in featureset 2021-03-20 18:46:10 +02:00
vsariola
42c9e045b7 feat: change the compressor unit to apply post-gain instead of pregain.
Pregaining ran into trouble: could not bring the signal level back to near 0dB. For example, with infinite ratio in the pre-gain system, the signal level was capped at threshold, which in turn ran into trouble with stereo signals.
2021-03-20 17:01:04 +02:00
vsariola
76cf47a070 optimize(templates): inline calls to __imp__*File on x86
(cherry picked from commit e8bf9cb6467686ba35895094ab804360ab736b5f)
2021-03-20 16:24:53 +02:00
vsariola
0f34674d7f feat(templates): remove etc/drivers from gm.dls to optimize size 2021-03-20 16:24:43 +02:00
vsariola
38c0cea40f refactor(templates,tests): make sync an extern instead of parameter to render
This is to be able to use CreateThread with su_render_song; let's worry about multicore rendering sometime in the future.
2021-03-20 16:23:51 +02:00
vsariola
8ef6de7ffd feat(tracker): add titles showing which instrument(s) belong to a track
Refer #43
2021-03-14 21:14:48 +02:00
vsariola
5daf81f331 fix(tracker): avoid NaNs in volume analyzer better 2021-03-14 18:19:13 +02:00
vsariola
b6283cd13e feat(tracker): add button to make note off and use "1" also as the key event
Closes #54
2021-03-14 18:10:29 +02:00
vsariola
01226a2910 feat(tracker, gioui): add ability & button to delete tracks.
Refer #46.
2021-03-11 22:26:42 +02:00
vsariola
87f373370e feat(gioui): add empty cell grid lines to order list
Refer #48.
2021-03-11 22:14:33 +02:00
vsariola
8a5d337775 feat(tracker): auto-create patterns when adding notes to empty area
Closes #53.
2021-03-11 21:58:56 +02:00
vsariola
adc12dde4f fix(tracker): when creating a new track, a pattern full of noteoffs was created
Creating such patterns is unnecessary and was a relic of the past. We can leave the order completely uninitialized and let the user fill it as needed.

Related to #54.
2021-03-11 21:45:00 +02:00
vsariola
f9225d70a9 refactor(vm): extract polyphony bitmask calculation to its own function & document better 2021-03-10 09:34:23 +02:00