f887faea79 
								
							
								 
							
						 
						
							
							
								
								Fix module and cable ID variables that were `int` instead of `int64_t`. Add `Engine::getNumCables()` and `Engine::getCableIds()`.  
							
							
								
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								abde7d983f 
								
							
								 
							
						 
						
							
							
								
								Add Engine::getFrameTime() and getStepDuration().  
							
							
								
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								b8d47b5378 
								
							
								 
							
						 
						
							
							
								
								Add Engine::getNumModules() and getModuleIds() methods.  
							
							
								
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								05427d938b 
								
							
								 
							
						 
						
							
							
								
								Overhaul threading model for Engine using a shared mutex based design.  
							
							
								
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								537b64d011 
								
							
								 
							
						 
						
							
							
								
								Remove engine pausing as it no longer makes sense with the new "external stepping" engine architecture.  
							
							
								
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								120aafe6d3 
								
							
								 
							
						 
						
							
							
								
								Change order of includes to C++ standard headers, library headers, and local project headers.  
							
							
								
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								306e454f0c 
								
							
								 
							
						 
						
							
							
								
								Use higher resolution clock for system::getNanoseconds() on Windows.  
							
							Ban `long` from codebase. Use int64_t instead. 
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								60d2283010 
								
							
								 
							
						 
						
							
							
								
								Add timestamp to MIDI message. Make MIDI-* modules wait until a message is `stepFrames` frames old until processing it, improving MIDI stability. Add Engine::getStepFrame, getStepTime, and getStepFrames.  
							
							
								
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								c33dc3c842 
								
							
								 
							
						 
						
							
							
								
								Rename module disabling to bypassing.  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								12fcaa4b08 
								
							
								 
							
						 
						
							
							
								
								Move moduleFromJson from engine to plugin namespace. Move Engine mutex lock at the top of Engine::step().  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								4936df2c0b 
								
							
								 
							
						 
						
							
							
								
								Move ParamWidget/Knob/Switch properties to ParamQuantity. Fix static linking on Linux.  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								e4b6056ded 
								
							
								 
							
						 
						
							
							
								
								Massive WIP v2 overhaul:  
							
							- Add Engine::fromJson which can be called without the GUI at all.
- Make RackWidget::fromJson attach itself to existing Engine state. However, once attached, they own their Engine objects (Module, Cable).
- Remove Engine thread. Now Engine must be stepped by other threads, such as the audio thread. This is fantastic because there is no longer a mutex lock every audio buffer.
	- Add concept of the "primary module", which is allowed to call Engine::step().
- Add many Module events. 
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								dca30e2b53 
								
							
								 
							
						 
						
							
							
								
								Auto-format code with astyle.  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								1252437344 
								
							
								 
							
						 
						
							
							
								
								Add Engine::getFrame().  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								41552e79f2 
								
							
								 
							
						 
						
							
							
								
								Restructure ParamHandle Engine internals.  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								696939069d 
								
							
								 
							
						 
						
							
							
								
								Use <> instead of "" for include directive.  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								30c5b24ec5 
								
							
								 
							
						 
						
							
							
								
								Add Engine::yieldWorker() which turns worker spinlocks into mutex locks. Fix race condition in EngineWorker::run() when changing number of threads.  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a0e738bc07 
								
							
								 
							
						 
						
							
							
								
								Write to `settings::sampleRate` and `threadCount` instead of calling Engine methods.  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								d699c2e07d 
								
							
								 
							
						 
						
							
							
								
								Don't overwrite param handles when duplicating MIDI-Map.  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								66aa746476 
								
							
								 
							
						 
						
							
							
								
								Replace ModuleHandle with ParamHandle. Move touchedParam from Engine to RackWidget. Fix param mapping bugs in MIDI-Map.  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								7458b5d709 
								
							
								 
							
						 
						
							
							
								
								Add param touch to engine. Add param learning to MIDI-Map.  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								d7b72c5b0f 
								
							
								 
							
						 
						
							
							
								
								Rewrite thread API. Add ParamMap::to/fromJson().  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								bfcae28495 
								
							
								 
							
						 
						
							
							
								
								Update MIDI-Map panel. Add Engine::getModule().  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								927c77eca6 
								
							
								 
							
						 
						
							
							
								
								Add more engine docstrings  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								2b98dfc6f9 
								
							
								 
							
						 
						
							
							
								
								Write custom threading model in Engine. Remove OpenMP dep. Fix bugs in string::basename/extension.  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								64602576b0 
								
							
								 
							
						 
						
							
							
								
								Create `engine::` namespace  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								d35d91de05 
								
							
								 
							
						 
						
							
							
								
								Make engine multithreaded with OpenMP  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								0a22c3e378 
								
							
								 
							
						 
						
							
							
								
								Use engine mutex for bypassing module  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								6dad6ec000 
								
							
								 
							
						 
						
							
							
								
								Add param smoothing when moving Knob  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								3ab43a2ce0 
								
							
								 
							
						 
						
							
							
								
								Rename wire to cable  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								788fe92856 
								
							
								 
							
						 
						
							
							
								
								Clean up RackWidget. Use Module::id for referencing modules in patches.  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								f5601d2042 
								
							
								 
							
						 
						
							
							
								
								Work on toolbar, event context  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								402f42a354 
								
							
								 
							
						 
						
							
							
								
								Add Context class for storing global state  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a792c85cbc 
								
							
								 
							
						 
						
							
							
								
								Cleanup includes more  
							
							
								
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								316518a794 
								
							
								 
							
						 
						
							
							
								
								Wrap engine state into class Engine  
							
							
								
							
							
						 
						6 years ago