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
vsariola
43ef6fa72c
fix(sointu): fix sync data getting output from play & test it
2021-03-10 09:06:42 +02:00
vsariola
df9713865f
Update README.md
2021-03-10 00:08:09 +02:00
vsariola
99dbdfe223
feat: add the ability to use Sointu as a sync-tracker
...
There is a new "sync" opcode that saves the top-most signal every 256 samples to the new "syncBuffer" output. Additionally, you can enable saving the current fractional row as sync[0], avoiding calculating the beat in the shader, but also calculating the beat correctly when the beat is modulated.
2021-03-09 23:52:33 +02:00
vsariola
a3bdf565fd
feat(templates/amd64-386): add define to tell if we are using float samples
2021-03-05 20:50:43 +02:00
vsariola
b15de7f54a
fix(templates): the polyphonic player forgot about one push and read stack wrongly
2021-03-05 09:07:47 +02:00
vsariola
062180db1e
update README
2021-03-04 18:05:18 +02:00
vsariola
b7c326a0a7
update README & screenshot
2021-03-04 17:53:19 +02:00
vsariola
185173c821
fix(vm): the tests were broken, but not code
2021-03-04 14:37:57 +02:00
vsariola
cc80fe7317
fix(vm): patterns encoding was broken by the non-standard pattern lengths
2021-03-04 14:33:09 +02:00
vsariola
c7448699b6
fix(gioui): disable file load / save dialogs in browser
...
This at least gets the program to compile into js as sqweek does not work in browser, but we really need to look for a long term solution. How to load & save songs in browser?
2021-03-04 11:21:20 +02:00
vsariola
079d5a9ef1
feat(tracker): wrap cursor in the song instead of clamping it
...
Closes #49
2021-03-04 11:21:19 +02:00
vsariola
0f942f73d9
fix(sointu): NumDelayLines did not take polyphony into account, resulting in panic
2021-03-04 11:16:05 +02:00
vsariola
6d2b63a5e9
feat(sointu, vm): implement pure-Go interpreter for bytecode
...
The old "native" compiler bridged version is now started with cmd/sointu-nativetrack,
while the new pure-Go bytecode implemented bytecode interpreter is started with
cmd/sointu-track
Thus, you do not need any of the CMake / cgo stuff to run cmd/sointu-track
2021-03-03 23:55:58 +02:00
vsariola
a035845b81
reorganize things into different packages
2021-03-02 17:19:45 +02:00
vsariola
e46ece3648
feat(tracker): add rudimentary GUI for adjusting delay times
2021-03-01 20:42:37 +02:00