929 Commits (f3490e2cf417c4f2ff40630743ffe286fd2b8fad)

Author SHA1 Message Date
  Andrew Belt 2ef395f99b Add scroll wheel knob control setting. 3 years ago
  Andrew Belt 1e6bc7cdf5 Make Vec::equals, Rect::equals, Rect::containing, and Rect::intersecting non-deprecated. 3 years ago
  Andrew Belt 4ae79f662d Fix crash when saving/loading module presets. Add "Clear template" menu item to module presets menu. Rename `system::doesExist()` to `exists()`. 3 years ago
  Andrew Belt c0275f0cbb Add user-defined literal suffixes for integer and float types. 3 years ago
  Andrew Belt 54fbe407af Split `audio::Port::offset` to inputOffset and outputOffset, and `audio::Port::maxChannels` to maxInputs and maxOutputs. 3 years ago
  Andrew Belt f44ee3a15a Remove "patchPath" from settings. Store path and unsaved status in patch itself. Fix bug where crash leaves old patch path in settings while new patch is loaded in autosave. Add more dialog messages to PatchManager. 3 years ago
  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