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.
4 years ago
Andrew Belt
5bbd32ccac
When Module Browser creates a module, set the ModuleWidget's dragPos to its center, so dragging is more predictable.
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
11721cab00
Add WIP Engine::step() timer. Fix module timer.
4 years ago
Andrew Belt
847b743148
Add ModularGrid link to module Info menu. Add more tips to tip window.
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
94587e87ba
Add WeakPtr. Use WeakPtr in ModuleWidget context menu. Fix crash when displaying preset menu when the preset folder does not exist.
4 years ago
Andrew Belt
8d908a0a55
Add system::join(). Add asset::module().
4 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.
4 years ago
Andrew Belt
aa3d1eddbb
Combine version with plugin name in module info menu.
4 years ago
Andrew Belt
720ca0ed74
Reorder module Info menu items
4 years ago
Andrew Belt
da922364d3
Reorder module info context menu items.
4 years ago
Andrew Belt
d84110e4ee
Make module info context menu similar to VCV Library page.
4 years ago
Andrew Belt
c9a08c7b24
Add CableWidget::releaseCable() and ModuleWidget::releaseModule().
5 years ago
Andrew Belt
972cd587f7
Don't display "1_", "42_", "001_", etc at the beginning of preset filenames.
5 years ago
Andrew Belt
283db2ce85
Reorder module Info menu items.
5 years ago
Andrew Belt
af65f7b8e7
Don't serialize module ID in module presets.
5 years ago
Andrew Belt
feece06fbb
Add event::KeyBase::keyName, which fixes key commands on AZERTY and Dvorak. Add lots of documentation to event::KeyBase.
5 years ago
Andrew Belt
05427d938b
Overhaul threading model for Engine using a shared mutex based design.
5 years ago
Andrew Belt
73c2ecaea2
Remove ModuleWidget::params, inputs, and outputs arrays. Instead, search recursively for those widgets.
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
ca9231e1b3
Rename App to Context and app.hpp to context.hpp. The APP macro is still valid.
5 years ago
Andrew Belt
8423ce87aa
Add template preset for modules, which are loaded when created from the Module Browser.
5 years ago
Andrew Belt
f2ec0af4b0
Restructure SvgPanel to handle dark mode.
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
035a673155
Use MenuSeparator instead of MenuEntry for separating menu items.
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
265552d0db
Clone cables patched to inputs when a module is cloned.
5 years ago
Andrew Belt
dabeba972a
Tweak ModuleWidget context menu.
5 years ago
Andrew Belt
dd81e79d9e
Add tag::getTag().
5 years ago
Andrew Belt
5c90a71713
Add tags to Info module context menu.
5 years ago
Andrew Belt
01743ca5f2
Use module preset directory for "Preset > Open" menu item.
5 years ago
Andrew Belt
c7f92c8c7d
Rename Plugin module context menu item to Info and rearrange it.
5 years ago
Andrew Belt
cc14d40fe3
Remove preset directory if empty.
5 years ago
Andrew Belt
38c99ad0a8
Scan preset directories when preset menu is created. Add user preset directory.
5 years ago
Andrew Belt
05df47fbd1
Add Internal struct to ModuleWidget.
5 years ago
Andrew Belt
99b17727ab
WIP:
- Make ParamWidget hold module/paramId instead of paramQuantity.
- Add configInput/configOutput.
- Add engine::PortInfo.
- Avoid calling particular events when cursor is locked.
- Add PortTooltip.
5 years ago
Andrew Belt
4936df2c0b
Move ParamWidget/Knob/Switch properties to ParamQuantity. Fix static linking on Linux.
5 years ago
Andrew Belt
e4b6056ded
Massive WIP v2 overhaul:
- Add Engine::fromJson which can be called without the GUI at all.
- Make RackWidget::fromJson attach itself to existing Engine state. However, once attached, they own their Engine objects (Module, Cable).
- Remove Engine thread. Now Engine must be stepped by other threads, such as the audio thread. This is fantastic because there is no longer a mutex lock every audio buffer.
- Add concept of the "primary module", which is allowed to call Engine::step().
- Add many Module events.
5 years ago
Andrew Belt
0053517ec7
Delete ModuleWidget children before deleting Module.
5 years ago
Andrew Belt
dca30e2b53
Auto-format code with astyle.
5 years ago
Andrew Belt
33d75cc035
Hide CPU meter when module is disabled.
5 years ago
Andrew Belt
02f0ff2201
Assert that there are no duplicate PortWidgets added to a ModuleWidget.
5 years ago
Andrew Belt
d1481766ba
Unset ID of newly cloned modules because serializing them sets the ID.
5 years ago
Andrew Belt
e0094d090f
Fix bug in RackWidget::toJson() where cable ID was being set on the root patch object. Refactor RackWidget, ModuleWidget, Module, and CableWidget to/fromJson().
5 years ago
Andrew Belt
696939069d
Use <> instead of "" for include directive.
6 years ago