49 Commits (a98acd380e0f18484f5e688b267d34e75131b400)

Author SHA1 Message Date
  Andrew Belt 661fd3863d Add Module Save event. 3 years ago
  Andrew Belt ea431882a7 Add Engine meter to menu bar. 3 years ago
  Andrew Belt 1b76dd5f07 Change midi::Message::toString() to const. Clean up midi code. 3 years ago
  Andrew Belt 5043d0e10a Use Engine frame instead of seconds timestamp for midi::Message. 3 years ago
  Andrew Belt 357bd847bf Rename PRIVATE macro to INTERNAL. 3 years ago
  Andrew Belt 5f8f9b8e35 Change `bypass` variable name to `bypassed` when appropriate. 3 years ago
  Andrew Belt 317b9125b6 Make ReadWriteLock non-recursive and add *_NoLock() methods to Engine as needed. 3 years ago
  Andrew Belt 2f5ce16ce8 No longer require that a primary Module belongs to the Engine. 3 years ago
  Andrew Belt 9f04e56106 AudioInterface: Set primary module after instead of before adding to the Engine (WIP). 3 years ago
  Andrew Belt 90ada5c532 Add Engine::setSuggestedSampleRate(). Make ReadWriteLock support recursive writes. 3 years ago
  Andrew Belt 4c7c5b1694 Add auto engine sample rate setting. 3 years ago
  Andrew Belt f0753792b8 Rename "step" terminology of Engine to "block". Tweak ModuleWidget meter appearance. 3 years ago
  Andrew Belt 7efd063392 Change timestamps from int64_t to double, and define epoch as when `system::init()` is called. 3 years ago
  Andrew Belt 5e4124f66a Rename bypassed to bypass everywhere. 4 years ago
  Andrew Belt f887faea79 Fix module and cable ID variables that were `int` instead of `int64_t`. Add `Engine::getNumCables()` and `Engine::getCableIds()`. 4 years ago
  Andrew Belt abde7d983f Add Engine::getFrameTime() and getStepDuration(). 4 years ago
  Andrew Belt b8d47b5378 Add Engine::getNumModules() and getModuleIds() methods. 4 years ago
  Andrew Belt 05427d938b Overhaul threading model for Engine using a shared mutex based design. 4 years ago
  Andrew Belt 537b64d011 Remove engine pausing as it no longer makes sense with the new "external stepping" engine architecture. 4 years ago
  Andrew Belt 120aafe6d3 Change order of includes to C++ standard headers, library headers, and local project headers. 4 years ago
  Andrew Belt 306e454f0c Use higher resolution clock for system::getNanoseconds() on Windows. 4 years ago
  Andrew Belt 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. 4 years ago
  Andrew Belt c33dc3c842 Rename module disabling to bypassing. 5 years ago
  Andrew Belt 12fcaa4b08 Move moduleFromJson from engine to plugin namespace. Move Engine mutex lock at the top of Engine::step(). 5 years ago
  Andrew Belt 4936df2c0b Move ParamWidget/Knob/Switch properties to ParamQuantity. Fix static linking on Linux. 5 years ago
  Andrew Belt e4b6056ded Massive WIP v2 overhaul: 5 years ago
  Andrew Belt dca30e2b53 Auto-format code with astyle. 5 years ago
  Andrew Belt 1252437344 Add Engine::getFrame(). 5 years ago
  Andrew Belt 41552e79f2 Restructure ParamHandle Engine internals. 5 years ago
  Andrew Belt 696939069d Use <> instead of "" for include directive. 5 years ago
  Andrew Belt 30c5b24ec5 Add Engine::yieldWorker() which turns worker spinlocks into mutex locks. Fix race condition in EngineWorker::run() when changing number of threads. 5 years ago
  Andrew Belt a0e738bc07 Write to `settings::sampleRate` and `threadCount` instead of calling Engine methods. 5 years ago
  Andrew Belt d699c2e07d Don't overwrite param handles when duplicating MIDI-Map. 5 years ago
  Andrew Belt 66aa746476 Replace ModuleHandle with ParamHandle. Move touchedParam from Engine to RackWidget. Fix param mapping bugs in MIDI-Map. 5 years ago
  Andrew Belt 7458b5d709 Add param touch to engine. Add param learning to MIDI-Map. 5 years ago
  Andrew Belt d7b72c5b0f Rewrite thread API. Add ParamMap::to/fromJson(). 5 years ago
  Andrew Belt bfcae28495 Update MIDI-Map panel. Add Engine::getModule(). 5 years ago
  Andrew Belt 927c77eca6 Add more engine docstrings 5 years ago
  Andrew Belt 2b98dfc6f9 Write custom threading model in Engine. Remove OpenMP dep. Fix bugs in string::basename/extension. 5 years ago
  Andrew Belt 64602576b0 Create `engine::` namespace 5 years ago
  Andrew Belt d35d91de05 Make engine multithreaded with OpenMP 5 years ago
  Andrew Belt 0a22c3e378 Use engine mutex for bypassing module 5 years ago
  Andrew Belt 6dad6ec000 Add param smoothing when moving Knob 5 years ago
  Andrew Belt 3ab43a2ce0 Rename wire to cable 5 years ago
  Andrew Belt 788fe92856 Clean up RackWidget. Use Module::id for referencing modules in patches. 5 years ago
  Andrew Belt f5601d2042 Work on toolbar, event context 5 years ago
  Andrew Belt 402f42a354 Add Context class for storing global state 5 years ago
  Andrew Belt a792c85cbc Cleanup includes more 5 years ago
  Andrew Belt 316518a794 Wrap engine state into class Engine 5 years ago