133 Commits (661fd3863d6003fbd97f14d41200d4616b5172fc)

Author SHA1 Message Date
  Andrew Belt 5043d0e10a Use Engine frame instead of seconds timestamp for midi::Message. 4 years ago
  Andrew Belt c4cc1c4368 Clean up fromJson Engine and RackWidget methods. Fix v0.6 patch loading. 4 years ago
  Andrew Belt 5f8f9b8e35 Change `bypass` variable name to `bypassed` when appropriate. 4 years ago
  Andrew Belt 317b9125b6 Make ReadWriteLock non-recursive and add *_NoLock() methods to Engine as needed. 4 years ago
  Andrew Belt 2f5ce16ce8 No longer require that a primary Module belongs to the Engine. 4 years ago
  Andrew Belt 9f04e56106 AudioInterface: Set primary module after instead of before adding to the Engine (WIP). 4 years ago
  Andrew Belt 4e44157d27 Don't write-lock Engine::fromJson() because it only needs it when adding modules and cables, which already has a write-lock. 4 years ago
  Andrew Belt 90ada5c532 Add Engine::setSuggestedSampleRate(). Make ReadWriteLock support recursive writes. 4 years ago
  Andrew Belt 4c7c5b1694 Add auto engine sample rate setting. 4 years ago
  Andrew Belt f0753792b8 Rename "step" terminology of Engine to "block". Tweak ModuleWidget meter appearance. 4 years ago
  Andrew Belt 7003adffe2 Move module stepping code from Engine to Module. Change meter to a time plot. 4 years ago
  Andrew Belt 2a1bbf4ae3 Rename system::getRuntime() to getTime(). 4 years ago
  Andrew Belt 790e1053cc Rename system::getTime() to getRuntime(). Add system::getUnixTime(). 4 years ago
  Andrew Belt b986ff5882 Replace Module Browser sidebar with header. Add multiple tag selection (WIP), zoom (WIP), and sorting options (WIP). 4 years ago
  Andrew Belt 11721cab00 Add WIP Engine::step() timer. Fix module timer. 4 years ago
  Andrew Belt 7efd063392 Change timestamps from int64_t to double, and define epoch as when `system::init()` is called. 4 years ago
  Andrew Belt 36f062e33d Fix random module/cable ID generation on Windows 4 years ago
  Andrew Belt 5e4124f66a Rename bypassed to bypass everywhere. 4 years ago
  Andrew Belt 06c6590b51 Implement Module::ExpanderChangeEvent event trigger. 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 50747839d4 Use randomly-generated 53-bit IDs for Module and Cable. 4 years ago
  Andrew Belt 80d08ec15c Omit duplicate tags in Model. 5 years ago
  Andrew Belt 7103404c5a CV-MIDI: Add back rate limiting to pitch wheel, mod wheel, velocity, and pan. CV-CC and CV-Gate: Add timestamps to generates MIDI messages. 5 years ago
  Andrew Belt 7aa8f896a3 Remove rate limiting from CV-MIDI, WIP. 5 years ago
  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