3cdada41e0 
					 
					
						
						
							
							Rename labels in envelope into more sensible.  
						
						
						
						
					 
					
						2020-05-26 18:34:47 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ceae6ffcba 
					 
					
						
						
							
							Clean up the op_advance code&comments and remove one unnecessary jump.  
						
						
						
						
					 
					
						2020-05-26 18:13:16 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						91b8912015 
					 
					
						
						
							
							Rename all SU_BEGIN_* macros into BEGIN_*; there's no real risk of nameclash and makes the code more readable.  
						
						
						
						
					 
					
						2020-05-26 17:45:37 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						efc6db71ab 
					 
					
						
						
							
							Reverse the logic of USE_SECTIONS (it's now DISABLE_SECTIONS) and then remove unnecessary defines.  
						
						
						
						
					 
					
						2020-05-26 17:30:50 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3b10476dc2 
					 
					
						
						
							
							Remove unused strucs / struc members; in particular: .params /.ports.  
						
						
						
						
					 
					
						2020-05-26 16:35:19 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cf86a951f5 
					 
					
						
						
							
							Move all constants into the end of sointu.asm, littering them around started getting messy.  
						
						
						
						
					 
					
						2020-05-26 16:30:57 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						35b8253776 
					 
					
						
						
							
							Delete CONCATENATE macro - it is not used anymore.  
						
						
						
						
					 
					
						2020-05-26 14:25:15 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						dac5afea60 
					 
					
						
						
							
							Implement IN, OUTAUX and AUX opcodes, to conveniently input from or output to global ports.  
						
						
						
						
					 
					
						2020-05-25 23:23:24 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						17c6afceb4 
					 
					
						
						
							
							Fix bug that su_env_map was not compiled when using only compressor, and rename it to su_nonlinear_map.  
						
						
						
						
					 
					
						2020-05-25 20:45:36 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1f92373a63 
					 
					
						
						
							
							Limit compressor stack use.  
						
						
						
						
					 
					
						2020-05-25 20:39:10 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1eb6974d5d 
					 
					
						
						
							
							Optimize compressor size.  
						
						
						
						
					 
					
						2020-05-25 20:29:34 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						55d9ca0ffc 
					 
					
						
						
							
							Reverse the voiceno counter: now it starts from MAX_VOICES and decrements until 0. This way, the VM needs not know anything about MAX_VOICES.  
						
						
						
						
					 
					
						2020-05-25 17:23:54 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a193b8b1ef 
					 
					
						
						
							
							Inline transform_values into the VM, leading to a slightly more efficient register use.  
						
						
						
						
					 
					
						2020-05-25 16:59:15 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3198452b9c 
					 
					
						
						
							
							Add a change log.  
						
						
						
						
					 
					
						2020-05-25 14:14:13 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						33d83d29a5 
					 
					
						
						
							
							Update project description & version.  
						
						
						
						
					 
					
						2020-05-25 13:58:29 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8d0ae21fb6 
					 
					
						
						
							
							Remove separate playerstack and clean up the code.  
						
						
						
						
					 
					
						2020-05-25 13:44:30 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7de7b49e24 
					 
					
						
						
							
							Change apply to "do" and add brackets.  
						
						
						
						
					 
					
						2020-05-25 13:44:29 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2c6f4f44d5 
					 
					
						
						
							
							Use some of the unused space of synth object for curvoices.  
						
						
						
						
					 
					
						2020-05-25 13:44:28 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						457c1fdc32 
					 
					
						
						
							
							Move things to stack, anticipating support for multicore rendering.  
						
						
						
						
					 
					
						2020-05-25 13:44:28 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5c25eacd08 
					 
					
						
						
							
							Optimize delay for better register use.  
						
						
						
						
					 
					
						2020-05-23 21:06:58 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						da52c10f7f 
					 
					
						
						
							
							Get rid of transformed values and use the header of the voice for that; saves _CX completely for the opcode.  
						
						
						
						
					 
					
						2020-05-23 21:06:57 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						79b384a0d6 
					 
					
						
						
							
							Clean up comments and some defines.  
						
						
						
						
					 
					
						2020-05-23 16:02:29 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bd005d52a7 
					 
					
						
						
							
							Clean up whitespace.  
						
						
						
						
					 
					
						2020-05-23 15:09:32 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6f06306f0c 
					 
					
						
						
							
							Re-engineer delay, to use stack for the delay WRK pointer and to support note-syncing transpose.  
						
						
						
						
					 
					
						2020-05-23 15:05:38 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						afbff66e36 
					 
					
						
						
							
							Use strucs for stack locations, instead of hard-coding them everywhere.  
						
						
						
						
					 
					
						2020-05-23 14:56:06 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						654e5868bc 
					 
					
						
						
							
							Implement support for 64-bit builds.  
						
						... 
						
						
						
						The implentation is through a few macros to handle the fact in 64-bit, all addresses have to be loaded first to register and only offsets are ok. Also, push only supports 64-bit registers in 64-bit, so we have _AX, _BX, _CX etc. defines, which are eax, ebx and ecx on 32bit and rax, rbx and rcx on 64bit. 
						
						
					 
					
						2020-05-21 17:18:18 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6f7fed4c6b 
					 
					
						
						
							
							Move jnc *_mono, ..., *_mono: code from function bodies to the stereofilter helper.  
						
						
						
						
					 
					
						2020-05-20 08:49:23 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						dc99157fbb 
					 
					
						
						
							
							Implement unison oscillators: multiple versions of slightly detuned oscillators that are added up to make a signal.  
						
						
						
						
					 
					
						2020-05-19 22:52:21 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						adc4a6e45f 
					 
					
						
						
							
							Implement sample-based oscillators, with sample import from gm.dls.  
						
						
						
						
					 
					
						2020-05-19 18:29:47 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						77b989d88d 
					 
					
						
						
							
							Optimize size.  
						
						
						
						
					 
					
						2020-05-18 16:25:20 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						666fd385d1 
					 
					
						
						
							
							Fix bug in SEND STEREO.  
						
						
						
						
					 
					
						2020-05-18 16:23:49 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5d1145be39 
					 
					
						
						
							
							Improve README.  
						
						
						
						
					 
					
						2020-05-17 16:48:28 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fc0ad4c011 
					 
					
						
						
							
							Implement compressor.  
						
						
						
						
					 
					
						2020-05-17 16:37:08 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						71a5a18257 
					 
					
						
						
							
							Implement player speed modulation opcode for triplets and such.  
						
						
						
						
					 
					
						2020-05-17 09:51:20 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						15717557f1 
					 
					
						
						
							
							Split polyphony test into two tests.  
						
						
						
						
					 
					
						2020-05-17 08:32:35 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f06810d956 
					 
					
						
						
							
							Optimize size.  
						
						
						
						
					 
					
						2020-05-17 01:24:38 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3b33b4e4d2 
					 
					
						
						
							
							Improve README.  
						
						
						
						
					 
					
						2020-05-16 23:27:30 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d87d2e22cf 
					 
					
						
						
							
							Implement new effect: bit-crusher.  
						
						... 
						
						
						
						Maybe a combined hold/bit-crusher effect is needed someday. 
						
						
					 
					
						2020-05-16 23:27:29 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6a0a2fc36c 
					 
					
						
						
							
							Optimize the implementations of gain and invgain.  
						
						
						
						
					 
					
						2020-05-16 23:23:05 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ac5b4dd496 
					 
					
						
						
							
							Make clip opcode working and add regression tests to it.  
						
						
						
						
					 
					
						2020-05-16 22:49:59 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5760f78201 
					 
					
						
						
							
							Implement gain and inverse gain effects, for the moments when you just need them.  
						
						
						
						
					 
					
						2020-05-16 22:29:08 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e966bc0084 
					 
					
						
						
							
							Improve README.  
						
						
						
						
					 
					
						2020-05-16 21:57:32 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f9388b028a 
					 
					
						
						
							
							Rename test files to represent better the new opcodes they correspond to.  
						
						
						
						
					 
					
						2020-05-16 18:32:56 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						42ebc52c96 
					 
					
						
						
							
							Remove trailing spaces and convert tabs to spaces.  
						
						
						
						
					 
					
						2020-05-16 09:16:23 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d328431413 
					 
					
						
						
							
							Improve README.  
						
						
						
						
					 
					
						2020-05-16 08:54:55 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5c1b87f254 
					 
					
						
						
							
							Improve comments for UpdateInstrument  
						
						
						
						
					 
					
						2020-05-04 20:19:58 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6be7959cd1 
					 
					
						
						
							
							Refactor the waveshaper function to save some bytes.  
						
						
						
						
					 
					
						2020-05-03 17:02:08 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3c3fe6caf8 
					 
					
						
						
							
							Improve comments and formatting.  
						
						
						
						
					 
					
						2020-05-03 16:34:39 +03:00