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
Andrew Belt
7f2db6971c
Make CPU meter text span two lines.
6 years ago
Andrew Belt
114cc58f05
Fix ModuleBrowser brand and tag list filtering.
6 years ago
Andrew Belt
212404c664
Add Widget::addChildBottom(). Change ModuleWidget::setPanel behavior. Improve event docstrings. Temporarily disable glibc 2.23 header on Linux.
6 years ago
Andrew Belt
5e0378cb5a
Clean up app namespace.
6 years ago
Andrew Belt
5f5bfc7a42
Partial reorganization of Plugin menu.
6 years ago
Andrew Belt
54896ea8b4
Rearrange Toolbar items.
6 years ago
Andrew Belt
de95175596
Since dragging a ModuleWidget can move all modules, push a ComplexAction of ModuleMove actions instead of a single action.
6 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.
6 years ago
Andrew Belt
2c9644d80d
Rename WINDOW_ macros to RACK_. Require rack:: namespace for APP macro.
6 years ago
Andrew Belt
faa96068af
Remove useless `e.consume(this)` from events that no longer need it. Fix bugs introduced by change of event system behavior.
6 years ago
Andrew Belt
6fd01b217a
Add ModuleWidget force movement.
6 years ago
Andrew Belt
8d270d23cd
Use more efficient algorithm to finding valid ModuleWidget position in RackWidget::requestModulePosNearest.
6 years ago
Andrew Belt
a5d7a0b75b
Add middle-click-drag to ScrollWidget. Fix numerous bugs introduced by event system changes.
6 years ago
Andrew Belt
9d609fee2b
Rename `widget::*Event` to `event::*`.
6 years ago
Andrew Belt
13b3fabd8b
Replace `Event::consumed` with `target` and `propogating`.
6 years ago
Andrew Belt
3ddc40b8b5
Fix string::basename() bug on Mac (and possibly Windows). Rename string::basename to filenameBase, string::extension to filenameExtension.
6 years ago
Andrew Belt
f3181efc1b
Add shadows to SvgButton and SvgSwitch. Rearrange ModuleWidget context menu items.
6 years ago
Andrew Belt
3b70a5697f
Add string::ellipsizePrefix. Use kHz instead of Hz for sample rate displays.
6 years ago
Andrew Belt
bd65799a43
Assert ModuleWidget height when added to RackWidget. Round ModuleWidget width to nearest HP.
6 years ago
Andrew Belt
4d36193cf2
Fix ModuleWidget::getParam(), getInput(), and getOutput() returning incorrect object.
6 years ago
Andrew Belt
2446756c54
Make settings a namespace instead of a global class.
6 years ago
Andrew Belt
6fe14dca06
Move reset and randomize from Param to ParamWidget.
6 years ago
Andrew Belt
2210287039
Move handling of RackWidget from Scene to RackScrollWidget.
6 years ago
Andrew Belt
b84e2f57fa
Merge event:: namespace with widget:: namespace. Rename event::* to widget::*Event.
6 years ago
Andrew Belt
6886360c3b
Use system::openFolder() for certain menu items.
6 years ago
Andrew Belt
f7e70f5daf
Move MenuItem properties to the caller instead of its constructor
6 years ago
Andrew Belt
e5a88dfad2
Add factory preset submenu to module context menu.
6 years ago
Andrew Belt
f6989b7362
Add plugin menu item to module context menu.
6 years ago
Andrew Belt
d6f5a84178
Draw FramebufferWidgets during step() instead of draw() so we can use the same NanoVG context.
6 years ago