492b2252bf 
					 
					
						
						
							
							feat(tracker): add pattern marks to tracker  
						
						
						
						
					 
					
						2021-01-06 16:45:26 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						91766e198d 
					 
					
						
						
							
							feat(tracker): show currently active pattern notes with lighter text  
						
						
						
						
					 
					
						2021-01-06 15:35:14 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						12e1bde2a2 
					 
					
						
						
							
							feat(tracker): show notes for whole song, instead of single pattern  
						
						
						
						
					 
					
						2021-01-06 15:14:48 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						76dfd103e7 
					 
					
						
						
							
							feat(tracker): ctrl + arrow move cursor entire pattern  
						
						
						
						
					 
					
						2021-01-06 15:04:32 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						37c09030bc 
					 
					
						
						
							
							feat(tracker): add dark lines separating UI elements  
						
						
						
						
					 
					
						2021-01-06 14:52:36 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2b38297da2 
					 
					
						
						
							
							feat(tracker): layout patterns in the top left  
						
						
						
						
					 
					
						2021-01-06 14:25:17 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						34eecd59f5 
					 
					
						
						
							
							fix(CI): run tests on all packages that have tests  
						
						
						
						
					 
					
						2021-01-05 19:47:58 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f88a74e44a 
					 
					
						
						
							
							fix(compiler): fix bss section macros on linux  
						
						
						
						
					 
					
						2021-01-05 19:36:42 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1187c2a200 
					 
					
						
						
							
							refactor(compiler): remove EncodedSong and pass patterns & sequences separately  
						
						
						
						
					 
					
						2021-01-05 19:25:46 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						69f236dbd3 
					 
					
						
						
							
							fix(tests): wat-compilation was missing correct output filename  
						
						
						
						
					 
					
						2021-01-05 18:30:47 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1be75362d0 
					 
					
						
						
							
							refactor(tests): remove copying files to output directory; tests accept path to expected instead  
						
						
						
						
					 
					
						2021-01-05 18:18:48 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						994c11e8db 
					 
					
						
						
							
							refactor(bridge_test): make all tests use the same functions to compare buffers  
						
						
						
						
					 
					
						2021-01-04 18:02:54 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ccae4325c3 
					 
					
						
						
							
							reformat .yml files  
						
						
						
						
					 
					
						2021-01-04 17:51:28 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8b572515e0 
					 
					
						
						
							
							refactor(sointu): in yaml, use flow formatting for Unit.Varargs  
						
						
						
						
					 
					
						2021-01-04 17:51:12 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d328192834 
					 
					
						
						
							
							refactor(compiler): split song encoding logic into smaller reusable functions  
						
						
						
						
					 
					
						2021-01-04 13:57:01 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						06c006086b 
					 
					
						
						
							
							feat(tracker): Add a matrix showing track sequences  
						
						
						
						
					 
					
						2021-01-02 17:40:53 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c68d9d3bf5 
					 
					
						
						
							
							refactor(oto): reuse temp buffers for repeated calls to convert buffer  
						
						
						
						
					 
					
						2020-12-31 16:24:34 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1d91603e36 
					 
					
						
						
							
							feat(tracker): add keys to adjust current octave  
						
						
						
						
					 
					
						2020-12-31 00:01:54 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2e2b5261ae 
					 
					
						
						
							
							feat(tracker): indicate release and hold with better symbols  
						
						
						
						
					 
					
						2020-12-30 23:32:20 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c02c5c3c3d 
					 
					
						
						
							
							fix(asm/wasm): oscillator phase was causing rounding errors once large enough  
						
						... 
						
						
						
						gopher had fixed this, but we foolishly removed it. reintroducing fix, although this could be optional only for those who really care. ultimate size optimizers could still want to get rid of it. 
						
						
					 
					
						2020-12-30 21:19:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7974f0ff82 
					 
					
						
						
							
							fix(x86): denormalize delay damp filters  
						
						... 
						
						
						
						the damp filters, after input was switched off, cause the CPU to spike up and causing the tracker audio to start chopping 
						
						
					 
					
						2020-12-30 19:50:38 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a69f0a1924 
					 
					
						
						
							
							feat(tracker): Add keys for holding & releasing a note  
						
						
						
						
					 
					
						2020-12-29 16:32:14 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						29ba6b3658 
					 
					
						
						
							
							feat(tracker): use slightly more interesting default instruments  
						
						
						
						
					 
					
						2020-12-29 16:31:28 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cd498e775b 
					 
					
						
						
							
							refactor(tracker): Rewrote the sequencer loop to use simple mutex  
						
						
						
						
					 
					
						2020-12-29 16:30:44 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8029dbd1a8 
					 
					
						
						
							
							feat(CI): setup Webassembly Binary Toolkit in cloud to run wasm tests  
						
						
						
						
					 
					
						2020-12-27 15:45:31 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7e4bcf18e4 
					 
					
						
						
							
							Update README.md.  
						
						
						
						
					 
					
						2020-12-18 22:51:32 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7f049acf88 
					 
					
						
						
							
							feat(cli): Re-engineer CLIs, split play & compile  
						
						... 
						
						
						
						Play depends on bridge and compile on compiler package. Before, the compiler depended on bridge, but we could not use the compiler to build the library, as the bridge depends on the library. Also, play can now start having slightly more options e.g. wav out etc. 
						
						
					 
					
						2020-12-18 20:25:49 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2d00640e06 
					 
					
						
						
							
							Update README.md  
						
						
						
						
					 
					
						2020-12-17 00:01:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						358db1ca46 
					 
					
						
						
							
							Update README.md  
						
						
						
						
					 
					
						2020-12-16 23:56:07 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e6feed1e26 
					 
					
						
						
							
							fix(go): Remove remaining references to go4k.  
						
						
						
						
					 
					
						2020-12-16 21:39:23 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						224b8dcb70 
					 
					
						
						
							
							refactor(go): Move everything from go4k to root package sointu  
						
						
						
						
					 
					
						2020-12-16 21:35:53 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d0bd877b3f 
					 
					
						
						
							
							feat(asm&go4k): Rewrote both library & player to use text/template compiler  
						
						... 
						
						
						
						There is no more plain .asms, both library & player are created from the templates using go text/template package. 
						
						
					 
					
						2020-12-16 17:23:50 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2ad61ff6b2 
					 
					
						
						
							
							feat(asm&go4k): Preprocess asm code using go text/template  
						
						... 
						
						
						
						The preprocessing is done sointu-cli and (almost) nothing is done by the NASM preprocessor anymore (some .strucs are still there.
Now, sointu-cli loads the .yml song, defines bunch of macros (go functions / variables) and passes the struct to text/template parses.
This a lot more powerful way to generate .asm code than trying to fight with the nasm preprocessor.
At the moment, tests pass but the repository is a bit of monster, as the library is still compiled using the old approach. Go should
generate the library also from the templates. 
						
						
					 
					
						2020-12-14 15:44:16 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						92c8b70fd2 
					 
					
						
						
							
							refactor(tests): Save .yml in the repo; auto-generate .asm when needed  
						
						
						
						
					 
					
						2020-12-09 13:48:19 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a03d46284c 
					 
					
						
						
							
							refactor(asm): Put a high alignment on the uninitialized sections so the pointers have less entropy.  
						
						
						
						
					 
					
						2020-12-08 10:58:32 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						41fa46e954 
					 
					
						
						
							
							fix(asm/RECEIVE): Enabling stereo receive broke mono receive versions.  
						
						
						
						
					 
					
						2020-12-08 10:58:01 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8ec3a1208b 
					 
					
						
						
							
							refactor(asm): Implement the Stereo IN opcode with less bytes & entropy.  
						
						
						
						
					 
					
						2020-12-08 10:57:48 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2106ebde56 
					 
					
						
						
							
							feat(sointu-cli): Support importing/exporting in YAML  
						
						
						
						
					 
					
						2020-12-08 10:57:23 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fa163b3884 
					 
					
						
						
							
							feat(sointu-cli): Add ability to adjust HOLD value of the patterns  
						
						
						
						
					 
					
						2020-12-07 11:47:17 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fee637b02a 
					 
					
						
						
							
							refactor(go4k): Rename DeserializeAsm & SerializeAsm to ParseAsm & FormatAsm  
						
						... 
						
						
						
						Following the naming in strconv. 
						
						
					 
					
						2020-12-07 11:14:46 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c75e54212b 
					 
					
						
						
							
							refactor(asmformat): Rewrite DeserializeAsm to take advantage of the consistent syntax in the .asm file.  
						
						... 
						
						
						
						It is now much shorter, which is probably a good thing. 
						
						
					 
					
						2020-12-07 11:08:42 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1a633778bc 
					 
					
						
						
							
							feat(Song): Support HOLD definition, allowing using other values than 1 as the hold.  
						
						
						
						
					 
					
						2020-12-07 09:01:53 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						975a171d8c 
					 
					
						
						
							
							feat(sointu-cli): Glob directories also for .json songs.  
						
						
						
						
					 
					
						2020-12-06 20:08:25 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9e4bee1b67 
					 
					
						
						
							
							feat(asmformat): Remove special treatment of oscillator types to ease the parsing of asmformat  
						
						... 
						
						
						
						BREAKING CHANGE: They are now numeric values like all the rest macro parameters, instead of %defined constants. 
						
						
					 
					
						2020-12-06 15:05:12 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1b1a4af5ea 
					 
					
						
						
							
							refactor(asmformat): .asm starts and stops with BEGIN_SONG and END_SONG which define all the magic defines and BPMs.  
						
						... 
						
						
						
						Now, every setting is visible to the user, so no need to guess magic defines. 
						
						
					 
					
						2020-12-06 01:35:54 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e1e8d8cae3 
					 
					
						
						
							
							refactor(asm): Remove unused MAX_SAMPLES macro  
						
						
						
						
					 
					
						2020-12-05 23:19:59 +02:00