107 Commits (abde7d983fa1cb42108e5755b19f22d472b84532)

Author SHA1 Message Date
  Andrew Belt abde7d983f Add Engine::getFrameTime() and getStepDuration(). 5 years ago
  Andrew Belt 6f7f0cc7b3 Cache modules and cables in engine by ID. Add lock to Engine::reset/randomize/bypassModule(). Remove lock from Engine::get/setParam and get/setSmoothParam. 5 years ago
  Andrew Belt df0f44cf3e Don't allow setting the Engine's primary module if it is not added to the Engine. 5 years ago
  Andrew Belt b8d47b5378 Add Engine::getNumModules() and getModuleIds() methods. 5 years ago
  Andrew Belt 05427d938b Overhaul threading model for Engine using a shared mutex based design. 5 years ago
  Andrew Belt 537b64d011 Remove engine pausing as it no longer makes sense with the new "external stepping" engine architecture. 5 years ago
  Andrew Belt 120aafe6d3 Change order of includes to C++ standard headers, library headers, and local project headers. 5 years ago
  Andrew Belt 3f83066966 Make global context a thread_local variable. Add contextSet(). 5 years ago
  Andrew Belt ca9231e1b3 Rename App to Context and app.hpp to context.hpp. The APP macro is still valid. 5 years ago
  Andrew Belt 306e454f0c Use higher resolution clock for system::getNanoseconds() on Windows. 5 years ago
  Andrew Belt d0098ae7cc Allow left button to scroll ScrollWidget, so that the rack and other scroll containers can be scrolled with a touch screen. 5 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. 5 years ago
  Andrew Belt 5a45c26da6 Add system::getNanoseconds(). Use it instead of std::chrono. 5 years ago
  Andrew Belt 538f5589c2 Make headless mode work somewhat. 5 years ago
  Andrew Belt 70d527d99a Test audio. Fix audio deadlock in Engine::fromJson(). 5 years ago
  Andrew Belt 4a5027ef1c Add internal struct to Module. 5 years ago
  Andrew Belt c33dc3c842 Rename module disabling to bypassing. 5 years ago
  Andrew Belt cc711b6d2d Replace module disabling with bypassing using BypassRoute and Module::configBypass(). 5 years ago
  Andrew Belt ba820dd802 Add infinity and NaN protection to Cable_step. 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 61f6d8164d Add and test secondary module audio interface flushing. 5 years ago
  Andrew Belt 032c321fd3 Port change from v1 26bda06eb7 5 years ago
  Andrew Belt 6907d53a25 Remove real-time menu item and setting. 5 years ago
  Andrew Belt 20a875ff10 Allow random::init() to be called when already initialized. 5 years ago
  Andrew Belt 0dbce1683d Work on PortTooltips. 5 years ago
  Andrew Belt 99b17727ab WIP: 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 618454e7c0 Stop engine wprker threads when engine is paused. 5 years ago
  Andrew Belt 352b882579 Remove exception resetting. 5 years ago
  Andrew Belt a52c79df80 Port some of sse_mathfun to functions.hpp. Clean up SIMD headers. 5 years ago
  Andrew Belt 8d8b5f87d0 Measure CPU time every N frames instead of every frame. Measure overhead of calling system::getThreadTime() to avoid reporting high measurements. 5 years ago
  Andrew Belt 8c9e594c32 Use thread runtime rather than time of day for measuring module CPU. 5 years ago
  Andrew Belt 56e0ce0f79 Refactor engine worker thread relaunching. 5 years ago
  Andrew Belt dca30e2b53 Auto-format code with astyle. 5 years ago
  Andrew Belt f4151bed2e Clean up code and issue templates. 5 years ago
  Andrew Belt 33d75cc035 Hide CPU meter when module is disabled. 5 years ago
  Andrew Belt 1252437344 Add Engine::getFrame(). 6 years ago
  Andrew Belt e4a4722de5 Add <tuple> include. 6 years ago
  Andrew Belt a1cc0eef69 Fix C++11 syntax for some compilers. 6 years ago
  Andrew Belt 41552e79f2 Restructure ParamHandle Engine internals. 6 years ago
  Andrew Belt 2307845b94 Clear voltages of higher channels when a Cable copies from Output to Input. 6 years ago
  Andrew Belt cb3f136d51 Encode Port::active as channels=0. Change behavior of Port::setChannels(). 6 years ago
  Andrew Belt 696939069d Use <> instead of "" for include directive. 6 years ago
  Andrew Belt 54544bbe93 Use Module::Expander struct for accessing expander messages. 6 years ago
  Andrew Belt 7bd98943db Add left/rightMessageFlipRequested to Module. 6 years ago
  Andrew Belt 09c85276d6 Use linear scaling for Light value. 6 years ago
  Andrew Belt 8d63d198ea Make random state thread-local. 6 years ago
  Andrew Belt e693d9beef Fix submodule broken by previous commit. 6 years ago
  Andrew Belt 269f9aca9b Only use Engine::yieldWorkers() when we know it's needed in Core Audio. Use _mm_pause() in spinlocks. 6 years ago