|  Andrew Belt | 7efd063392 | Change timestamps from int64_t to double, and define epoch as when `system::init()` is called. | 4 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. | 5 years ago | 
				
					
						|  Andrew Belt | f79090407d | Add ui::OptionButton. Replace ShowButton with OptionButton in tip window. Add a few tips. | 5 years ago | 
				
					
						|  Andrew Belt | 847b743148 | Add ModularGrid link to module Info menu. Add more tips to tip window. | 5 years ago | 
				
					
						|  Andrew Belt | 7a500c9c26 | Add tip window. Add "showTipsOnLaunch" and "tipIndex" to settings. | 5 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. | 5 years ago | 
				
					
						|  Andrew Belt | e9848d6d9c | Add auto-updating of plugins with a 60-second interval. Refactor updating and syncing of plugins. | 5 years ago | 
				
					
						|  Andrew Belt | 3aaca9f90d | Add Widget::getVisibleChildrenBoundingBox(). Scroll ScrollWidget only if content can be scrolled. | 5 years ago | 
				
					
						|  Andrew Belt | 6e35afb053 | Add engine::LightInfo and Module::configLight() helper for configuring the LightInfo. Add LightTooltip for LightWidgets. | 5 years ago | 
				
					
						|  Andrew Belt | f3094a572a | Move app::MenuBar class definition from header to source file. | 5 years ago | 
				
					
						|  Andrew Belt | 18f8283e34 | Rename ui::ScrollBar to Scrollbar. (Wikipedia says "scrollbar" rather than "scroll bar".) | 5 years ago | 
				
					
						|  Andrew Belt | cb65043538 | Add virtual ParamQuantity::toJson() and fromJson() so plugins can override JSON serialization behavior of params. | 5 years ago | 
				
					
						|  Andrew Belt | 8bfa54bbe9 | Add "Library > Check for plugin updates" and "Help > Check for VCV Rack update" menu items. Rename "checkAppUpdates" setting to "autoCheckUpdates".
Make it disable/enable plugin updates in addition to app update. | 5 years ago | 
				
					
						|  Andrew Belt | 77c68c5602 | Fix correctness error in CaseInsensitiveCompare::operator() by rolling my own implementation. | 5 years ago | 
				
					
						|  Andrew Belt | e80beefba4 | Add AudioButton and MidiButton and Component Library subclasses with graphics. | 5 years ago | 
				
					
						|  Andrew Belt | 5e4124f66a | Rename bypassed to bypass everywhere. | 5 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. | 5 years ago | 
				
					
						|  Andrew Belt | 06c6590b51 | Implement Module::ExpanderChangeEvent event trigger. | 5 years ago | 
				
					
						|  Andrew Belt | fe9fbf8e90 | Make `Exception` subclass `std::exception` instead of `std::runtime_error`. | 5 years ago | 
				
					
						|  Andrew Belt | 4edd00d855 | Don't use atomic for WeakPtr reference count. | 5 years ago | 
				
					
						|  Andrew Belt | 94587e87ba | Add WeakPtr. Use WeakPtr in ModuleWidget context menu. Fix crash when displaying preset menu when the preset folder does not exist. | 5 years ago | 
				
					
						|  Andrew Belt | b146f766b9 | Refactor plugin syncing in `library::`. | 5 years ago | 
				
					
						|  Andrew Belt | 7a95b6829c | Add "checkAppUpdates" setting. | 5 years ago | 
				
					
						|  Andrew Belt | a77f47dc52 | Clean up `library::` app updater a bit. | 5 years ago | 
				
					
						|  Andrew Belt | 155ae4ead6 | Rename `updater::` to `library::`. Move VCV Library synchronization code from `plugin::` to `library::`. | 5 years ago | 
				
					
						|  Andrew Belt | 3bdf4bf06c | Take screenshot when patch is saved (Currently disabled). | 5 years ago | 
				
					
						|  Andrew Belt | 9430ed8a65 | Clean up autosave directory of removed modules when saving a patch and closing. Check for magic number of Zstandard format to find out whether a patch is legacy pre-v2. | 5 years ago | 
				
					
						|  Andrew Belt | 232d2c10e5 | Add `compressionLevel` argument to `system::archiveFolder()`. | 5 years ago | 
				
					
						|  Andrew Belt | f887faea79 | Fix module and cable ID variables that were `int` instead of `int64_t`. Add `Engine::getNumCables()` and `Engine::getCableIds()`. | 5 years ago | 
				
					
						|  Andrew Belt | 50747839d4 | Use randomly-generated 53-bit IDs for Module and Cable. | 5 years ago | 
				
					
						|  Andrew Belt | 8d908a0a55 | Add system::join(). Add asset::module(). | 5 years ago | 
				
					
						|  Andrew Belt | 6d1795ee35 | Test new system:: functions. Make system:: filesystem functions throw Exception on error. Add system::getCanonical(). | 5 years ago | 
				
					
						|  Andrew Belt | 3fbd0f77a9 | Move string::absolute, directory, filename, filenameBase, and filenameExtension to system::getAbsolute, getDirectory, getFilename, getStem, and getExtension. Reimplement most system:: functions using std::experimental::filesystem. Add system::doesExist, getFileSize, and getTempDir. | 5 years ago | 
				
					
						|  Andrew Belt | df544700b9 | Remove libzip, zlib. Remove string::compress() and uncompress(). Remove system::unzipToFolder(). | 5 years ago | 
				
					
						|  Andrew Belt | 8a50d39b7f | Make system::archiveFolder and unarchiveToFolder work on Windows with Unicode. Rename UTF8toUTF16 to U8toU16 and switch back to std::wstring
instead of std::u16string. | 5 years ago | 
				
					
						|  Andrew Belt | 0ded01c228 | Add system::unarchiveToFolder() and archiveFolder(). Begin using `std::experimental::filesystem`. | 5 years ago | 
				
					
						|  Andrew Belt | 3265e33802 | Add rough code for synchronizing module whitelist from VCV Library. | 5 years ago | 
				
					
						|  Andrew Belt | d85856eccc | Add `FramebufferWidget::dirtyOnSubpixelChange` setting. Disable it for the FramebufferWidget that contains the RackRail. | 5 years ago | 
				
					
						|  Andrew Belt | c2e7ee4f28 | Change `settings::moduleWhitelist` from a map of vectors to a map of sets. | 5 years ago | 
				
					
						|  Andrew Belt | 76ece72ade | Add `rack::Exception` catching to midi. Add exception throwing to RtMidi driver. Add `rack::getWithDefault()` to common.hpp. | 5 years ago | 
				
					
						|  Andrew Belt | 3e0c375a89 | Change `audio::Device::getSampleRates()` and `getBlockSizes()` to return a set instead of a vector. | 5 years ago | 
				
					
						|  Andrew Belt | c140186885 | Add exception handling to audio::Port and RtAudioDevice. Add more Port methods that wrap Device/Driver methods. | 5 years ago | 
				
					
						|  Andrew Belt | c9df984896 | Add operator overloads for math::Vec. | 5 years ago | 
				
					
						|  Andrew Belt | c9bd5e9a3c | Refactor Window methods for getting frame times. | 5 years ago | 
				
					
						|  Andrew Belt | 16a7f778de | Add event::Event::unconsume(). | 5 years ago | 
				
					
						|  Andrew Belt | 0d4fc39854 | Add documentation to some math functions. | 5 years ago | 
				
					
						|  Andrew Belt | 2d253fe2fb | Make scrollbar mouse interaction similar to modern OS behavior | 5 years ago | 
				
					
						|  Andrew Belt | b6382f6697 | Add `Widget::getRelativeZoom()` and `getAbsoluteZoom()`. | 5 years ago | 
				
					
						|  Andrew Belt | 6285f3f222 | Add documentation to `engine::Module::ProcessArgs` | 5 years ago |