Andrew Belt
bb8f70c04e
When loading a patch or autosave, if modules are unavailable, prompt user to close Rack and view them on the VCV Library.
1 year ago
Andrew Belt
b406264407
Use assert() instead of throwing Exception in SharedMutex.
1 year ago
Andrew Belt
d70372535a
Add Engine::addModule_NoLock() and addCable_NoLock().
1 year ago
Andrew Belt
1b30b8ab3b
Include plugin.hpp in rack.hpp.
1 year ago
Andrew Belt
bf43884b53
Add string::Version::getMajor(), getMinor(), and getRevision().
1 year ago
Andrew Belt
032d6b826a
Define _MM_FROUND_NO_EXC on ARM64.
1 year ago
Andrew Belt
ded4425620
Add LightButton to component library.
1 year ago
Andrew Belt
993a27efc9
Use sse4.2 roundps intrinsic in simd::trunc, floor, ceil, and round. Use floor() in fmod() instead of trunc().
1 year ago
Andrew Belt
a29d04f062
Add DarkPJ301MPort to component library.
1 year ago
Andrew Belt
16db3fb2e1
Set handle widget pos in SvgSlider::setHandlePos(). Step ModuleWidget before rendering in Browser so it can set its default appearance.
1 year ago
Andrew Belt
f5f0dd2ddb
Add ThemedSvgPort and ThemedPJ301MPort classes.
1 year ago
Andrew Belt
e02ef2932c
Make ThemedSvg* classes fully inline. Refactor app::Svg* classes.
1 year ago
Andrew Belt
6b0f4d3a18
Add monotonic mention to system::getTime().
1 year ago
Andrew Belt
16900d4c8e
Add "minRackVersion" plugin manifest property. Don't download plugin update if Rack version is lower than the plugin's minRackVersion.
1 year ago
Andrew Belt
b3c3b0e003
Fix deprecated SvgSlider::setHandleSVG().
1 year ago
Andrew Belt
afdbb98f7f
In Port method arguments, change `channel` type to uint8_t.
1 year ago
Andrew Belt
8c0b3adeb6
Add settings::preferDarkPanels, ThemedSvgPanel, ThemedSvgScrew, and "Prefer dark panels" menu item to View menu.
1 year ago
Andrew Belt
613f926c35
Change `side` argument from bool to uint8_t in Module::getExpander() and Module::ExpanderChangeEvent.
1 year ago
Andrew Belt
3f6b62637e
Enable `ParamQuantity::snapEnabled` and disable `smoothEnabled` in `Module::configSwitch()` and `configButton()`.
This is already done in `ParamWidget::initParamQuantity()`, but Module should not depend on the UI to configure its ParamQuantities.
1 year ago
Andrew Belt
7c6afcda4b
Add doc comment to settings::autosaveInterval.
1 year ago
Andrew Belt
4a904d4950
Rename ParamQuantity::set/getDirectValue() to set/getImmediateValue().
Use setImmediateValue() when appropriate in ParamQuantity and SwitchQuantity, such as in reset(), randomize(), and setDisplayValue().
Add doc comments to ParamQuantity.
1 year ago
Andrew Belt
c93b84aa25
Add more doc comments to ParamQuantity methods.
1 year ago
Andrew Belt
cdaea345d3
Make ParamQuantity::set/getValue() set/get the target value of engine smoothing instead of the value directly. Add ParamQuantity::set/getDirectValue(). Deprecate ParamQuantity::set/getSmoothValue().
1 year ago
Andrew Belt
5abd6994ac
Add get() helper function for std::vector.
1 year ago
Andrew Belt
70a5413a11
Add BooleanTrigger::processEvent() and SchmittTrigger::processEvent() which can detect when the input value changes from high to low.
1 year ago
Andrew Belt
10b448a6bc
Add light and dark rack rails from Pyer.
1 year ago
Andrew Belt
5759ab3d0c
Add UI theme to settings and menu bar.
1 year ago
Andrew Belt
6f12a83d67
Add color::lerp().
1 year ago
Andrew Belt
1c523ae373
Add dsp::polyDirect(), polyHorner(), and polyEstrin(). Rename approxExp2Floor() to exp2Floor() and make it correctly handle negative `x`. Rename approxExp2_taylor5() to exp2_taylor5() and improve polynomial coefficients.
1 year ago
Andrew Belt
6eaf11ed7a
Remove Engine::setFrame(). Guarantee that Engine frame only increases by 1 with no jumps.
1 year ago
Andrew Belt
680b806750
Add doc comments to ModuleWidget and Module.
1 year ago
Andrew Belt
9b635c9b20
Add `ModuleWidget::getModule<TModule>()` helper method.
1 year ago
Andrew Belt
99361ff172
Place module selection nearest to mouse position when pasting.
1 year ago
Andrew Belt
a5e377f2e6
When cloning, pasting, or importing module selection, place modules nearest to center of rack viewport.
1 year ago
Andrew Belt
f90e1d0d0b
In unarchiveToDirectory(), make zero-byte files in the archive delete existing files instead of overwrite them.
1 year ago
Andrew Belt
afb25dbb64
Revise doc comments for audio::Device methods.
1 year ago
Andrew Belt
b8708cb73c
Add APP_OS_NAME and APP_CPU_NAME. Display OS and CPU in Help menu.
1 year ago
Andrew Belt
0b668e7a44
Remove Window::activateContext().
1 year ago
Andrew Belt
02ca4c66f7
Add doc comments
1 year ago
Andrew Belt
a273092bdb
Use x64 intrinsic header on x64, instead of simde since conflicts with plugins including x64 intrinsic headers.
1 year ago
Andrew Belt
d8eba3b982
Split APP_ARCH to APP_OS and APP_CPU.
1 year ago
Andrew Belt
a353da3db9
Revert "Allow simde to define _mm_loadu_epi8()."
This reverts commit ff8ce35f0d
.
1 year ago
Andrew Belt
ff8ce35f0d
Allow simde to define _mm_loadu_epi8().
1 year ago
Andrew Belt
bf675ada61
Make simple random state global instead of thread-local.
2 years ago
Andrew Belt
8916e3b383
Merge APP_OS variable into APP_ARCH.
2 years ago
Andrew Belt
b4de7c9fc1
Use 16 MIDI loopback devices instead of 1.
2 years ago
Andrew Belt
b9043d3fda
Add doc comments for Window methods.
2 years ago
Andrew Belt
9d8624d4b6
Add MIDI "Loopback" driver.
2 years ago
Andrew Belt
591246a500
Replace "frameSwapInterval" setting with "frameRateLimit".
2 years ago
Andrew Belt
b09c58c492
Fix int32_4 bitshift intrinsics.
2 years ago