923 Commits (3ff7e2c42e746cce69a53a60a0c4d6fb64037030)

Author SHA1 Message Date
  Andrew Belt b5d7a12448 Make AudioInterface handle devices with 0 inputs or 0 outputs better. Clear engine buffers more aggressively, especially for the primary module. 3 years ago
  Andrew Belt df68876d16 Make INTERNAL macro use hidden visibility instead of internal. 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 86f3658b51 Add `Exception::Exception(const char* format, ...)` so you can create Exception objects using C format strings. 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 169c80e422 Use ⌘ instead of Cmd for key command names on Mac. 3 years ago
  Andrew Belt 4c7c5b1694 Add auto engine sample rate setting. 3 years ago
  Andrew Belt e9dee76a41 Add Port::getOffset() and setOffset(). 3 years ago
  Andrew Belt 4626dea31f Use float instead of int for sample rates in audio:: namespace. 3 years ago
  Andrew Belt b9594bb07b Use PRId64 for portability of printf format strings on Linux and Windows. 3 years ago
  Andrew Belt 50ec209578 Only wait for mouse to move before dragging module if it was just created with the module browser. 3 years ago
  Andrew Belt fd4479f992 Use a ~15px dragging threshold when dragging a Module from the Module Browser, so that clicking it makes it stay in the last right-clicked position. Make event framework trigger DragHover before DragMove. 3 years ago
  Andrew Belt 5bbd32ccac When Module Browser creates a module, set the ModuleWidget's dragPos to its center, so dragging is more predictable. 3 years ago
  Andrew Belt 754319c3ce Add Window::step(). 3 years ago
  Andrew Belt f0753792b8 Rename "step" terminology of Engine to "block". Tweak ModuleWidget meter appearance. 3 years ago
  Andrew Belt 7003adffe2 Move module stepping code from Engine to Module. Change meter to a time plot. 3 years ago
  Andrew Belt 2a1bbf4ae3 Rename system::getRuntime() to getTime(). 3 years ago
  Andrew Belt f1b4fdce81 Make logger aware of format string so it gives warnings if format is malformed. 3 years ago
  Andrew Belt 1fdbf71bb7 Add PRIVATE macro. 3 years ago
  Andrew Belt 1927def7e1 Implement all sorting options to module browser. 3 years ago
  Andrew Belt ac0588c0f8 Rewrite module browser's ModelBox to support changing zoom. Add FramebufferWidget::setDirty(). 3 years ago
  Andrew Belt e2e33c09c6 Add "moduleUsages", "moduleBrowserSort", and "moduleBrowserZoom" to settings. Make module browser's SortButton and ZoomButton control these settings. 3 years ago
  Andrew Belt 790e1053cc Rename system::getTime() to getRuntime(). Add system::getUnixTime(). 3 years ago
  Andrew Belt 11721cab00 Add WIP Engine::step() timer. Fix module timer. 3 years ago
  Andrew Belt a93ebf8e28 Enable MenuOverlay darkening again. Use MenuOverlay subclass for 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 a5c5cdd302 Rearrange Library menu items. Change library plugin update period to 15 seconds. 4 years ago
  Andrew Belt b3d8f4f997 Delete instead of hide TipWindow (and its overlay) when closing. 4 years ago
  Andrew Belt f79090407d Add ui::OptionButton. Replace ShowButton with OptionButton in tip window. Add a few tips. 4 years ago
  Andrew Belt 847b743148 Add ModularGrid link to module Info menu. Add more tips to tip window. 4 years ago
  Andrew Belt 7a500c9c26 Add tip window. Add "showTipsOnLaunch" and "tipIndex" to settings. 4 years ago
  Andrew Belt 426b6d20ed Rename "autosavePeriod" to "autosaveInterval" in settings.json. Auto-hide menu bar when fullscreen, show when hovering the top of the screen. 4 years ago
  Andrew Belt e9848d6d9c Add auto-updating of plugins with a 60-second interval. Refactor updating and syncing of plugins. 4 years ago
  Andrew Belt 3aaca9f90d Add Widget::getVisibleChildrenBoundingBox(). Scroll ScrollWidget only if content can be scrolled. 4 years ago
  Andrew Belt 6e35afb053 Add engine::LightInfo and Module::configLight() helper for configuring the LightInfo. Add LightTooltip for LightWidgets. 4 years ago
  Andrew Belt f3094a572a Move app::MenuBar class definition from header to source file. 4 years ago
  Andrew Belt 18f8283e34 Rename ui::ScrollBar to Scrollbar. (Wikipedia says "scrollbar" rather than "scroll bar".) 4 years ago
  Andrew Belt cb65043538 Add virtual ParamQuantity::toJson() and fromJson() so plugins can override JSON serialization behavior of params. 4 years ago
  Andrew Belt 8bfa54bbe9 Add "Library > Check for plugin updates" and "Help > Check for VCV Rack update" menu items. 4 years ago
  Andrew Belt 77c68c5602 Fix correctness error in CaseInsensitiveCompare::operator() by rolling my own implementation. 4 years ago
  Andrew Belt e80beefba4 Add AudioButton and MidiButton and Component Library subclasses with graphics. 4 years ago
  Andrew Belt 5e4124f66a Rename bypassed to bypass everywhere. 4 years ago
  Andrew Belt f3c8262183 Make Module always deserialize "id", "leftModuleId", and "rightModuleId". Due to this, make pasting and cloning modules delete these properties from the JSON before `fromJson()` is called. 4 years ago
  Andrew Belt 06c6590b51 Implement Module::ExpanderChangeEvent event trigger. 4 years ago
  Andrew Belt fe9fbf8e90 Make `Exception` subclass `std::exception` instead of `std::runtime_error`. 4 years ago
  Andrew Belt 4edd00d855 Don't use atomic for WeakPtr reference count. 4 years ago