Commit Graph

16 Commits

Author SHA1 Message Date
a405f2ece9 release on update single voice 2023-04-06 12:12:25 +00:00
eb846ba42d hold override 2023-04-06 12:12:25 +00:00
57a4ce7d64 hold notes when playing live
separate render and update voices
2023-04-06 12:12:25 +00:00
8d62af5c45 play single voice directly 2023-04-06 12:12:25 +00:00
ca93a3cc9b handle live wasm replace
by export row,pattern,sample, outputbufptr
2023-04-06 12:12:25 +00:00
1512396899 forever looping 2023-04-06 12:12:25 +00:00
451b638af2 use output-sound template 2023-04-06 12:12:25 +00:00
2da616e0ff allocate data segments for math 2023-04-06 12:12:25 +00:00
fe0b94cd27 render_128_samples, handle cors 2023-04-06 12:12:25 +00:00
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
adcf3ebce8 feat(sointu, tracker,...): restructure domain & tracker models
send targets are now by ID and Song has "Score" part, which is the notes for it. also, moved the model part separate of the actual gioui dependend stuff.

sorry to my future self about the code bomb; ended up too far and did not find an easy way to rewrite the history to make the steps smaller, so in the end, just squashed everything.
2021-02-28 14:24:54 +02:00
1187c2a200 refactor(compiler): remove EncodedSong and pass patterns & sequences separately 2021-01-05 19:25:46 +02:00
588488ce54 feat(sointu): remove 16-bit output toggle from song; make it compile time option 2021-01-05 18:08:13 +02:00
30379c981d feat: remove hold from song
assume songs code it as 1 always; implementations are free to change this during compilation, but this should be a compile time flag / optimization; not a concern of song.
2021-01-05 15:50:27 +02:00
5dd81430b7 feat(sointu): make patterns local to track
The global pattern table is constructed only during compilation. At this point, we can do also all sorts of optimizations / changes e.g. remove unnecessary releases and reuse patterns if there's a pattern already that could be used.
2021-01-03 01:06:59 +02:00
e4490faa2e feat(compiler): Add support for targeting WebAssembly.
The working principle is similar as before with x86, but instead of outputting .asm, it outputs .wat. This can be compiled into .wasm by using the wat2wasm assembler.
2020-12-26 23:16:18 +02:00