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
2cb341274a
Apply rack offset in ModuleWidget::get/setGridPosition() etc.
2 years ago
Andrew Belt
f47729b40d
Add back force-moving of modules.
2 years ago
Andrew Belt
6a7bd37389
Remove ModuleWidget::oldPos, store old module positions in RackWidget::Internal.
2 years ago
Andrew Belt
b22f88b8aa
Rename INTERNAL to PRIVATE. Add PRIVATE to several functions/symbols that plugins should never call/use.
3 years ago
Andrew Belt
0839a7c041
Draw ModuleWidget shadow with drawLayer() instead of a custom drawShadow() method.
3 years ago
Andrew Belt
357c0be7a1
Remove "Duplicate with cables" item from module and module selection
menu, but make key command Mod+shift+D disable cloning cables.
3 years ago
Andrew Belt
35930bf7e9
Add "Duplicate with cables" menu item to module and module selections.
3 years ago
Andrew Belt
df89de7847
Move Svg to window:: namespace.
3 years ago
Andrew Belt
95ed0bb5c5
Fix module paste key command. Fix crash when deleting module selection.
3 years ago
Andrew Belt
ea09f6df29
Use `RackWidget::selectedModules` set rather than `ModuleWidget::selected` bool.
3 years ago
Andrew Belt
b63c9406eb
Duplicate cables attached to inputs in RackWidget::cloneSelectionAction().
3 years ago
Andrew Belt
6c9aebfbde
Add Module::getPanel().
3 years ago
Andrew Belt
76331f350c
Implement the "modules" half of RackWidget::pasteJsonAction().
3 years ago
Andrew Belt
4fb2c9ac7c
Add RackWidget::fromJsonAction(), ModuleWidget::fromJsonAction(), and replace CableWidget::toJson() with CableWidget::mergeJson().
3 years ago
Andrew Belt
9cbf65f48c
Don't propagate Hover and DragHover events on ModuleWidget if selected.
3 years ago
Andrew Belt
c5374a878e
Move ModuleWidget::createSelectionContextMenu() to RackWidget::appendSelectionContextMenu(). Add selection context menu to Edit in menu bar.
3 years ago
Andrew Belt
297561705a
Add key commands to selected modules.
3 years ago
Andrew Belt
bcc22eba61
Add actions to ModuleWidget::createSelectionContextMenu(). Refactor RackWidget and ModuleWidget as necessary.
3 years ago
Andrew Belt
6d539f04e5
Add Shift-click module selecting. When dragging modules, always set the y position to the rack row the mouse is hovering.
3 years ago
Andrew Belt
2a5180f101
Clean up RackWidget and ModuleWidget members.
3 years ago
Andrew Belt
7d2ce0a6bb
Add ModuleWidget selection. (Currently does nothing.)
3 years ago
Andrew Belt
ac29571db3
Rearrange ModuleWidget methods.
3 years ago
Andrew Belt
5484126aaa
Change `event::Foo` to `FooEvent`.
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
357bd847bf
Rename PRIVATE macro to INTERNAL.
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
5e4124f66a
Rename bypassed to bypass everywhere.
4 years ago
Andrew Belt
c9a08c7b24
Add CableWidget::releaseCable() and ModuleWidget::releaseModule().
4 years ago
Andrew Belt
73c2ecaea2
Remove ModuleWidget::params, inputs, and outputs arrays. Instead, search recursively for those widgets.
4 years ago
Andrew Belt
8423ce87aa
Add template preset for modules, which are loaded when created from the Module Browser.
4 years ago
Andrew Belt
15ea154602
Remove Dark mode.
4 years ago
Andrew Belt
f2ec0af4b0
Restructure SvgPanel to handle dark mode.
4 years ago
Andrew Belt
c33dc3c842
Rename module disabling to bypassing.
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
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
dca30e2b53
Auto-format code with astyle.
5 years ago
Andrew Belt
696939069d
Use <> instead of "" for include directive.
5 years ago
Andrew Belt
212404c664
Add Widget::addChildBottom(). Change ModuleWidget::setPanel behavior. Improve event docstrings. Temporarily disable glibc 2.23 header on Linux.
5 years ago
Andrew Belt
5e0378cb5a
Clean up app namespace.
5 years ago
Andrew Belt
1a0b3c657d
Add RACK_HELD key action to SelectKey and HoverKey. Consume arrow keys in RackScrollWidget and delete/backspace in ModuleWidget using HoverKey RACK_HELD instead of Hover.
5 years ago
Andrew Belt
9d609fee2b
Rename `widget::*Event` to `event::*`.
5 years ago
Andrew Belt
4d36193cf2
Fix ModuleWidget::getParam(), getInput(), and getOutput() returning incorrect object.
5 years ago
Andrew Belt
b84e2f57fa
Merge event:: namespace with widget:: namespace. Rename event::* to widget::*Event.
5 years ago
Andrew Belt
a509fab1c1
Move and rename widget::DrawContext to widget::Widget::DrawArgs. Rename Module::ProcessContext to Module::ProcessArgs.
5 years ago
Andrew Belt
13dadef857
ModuleBrowser WIP. Add Widget::show/hide().
5 years ago