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
Andrew Belt
a509fab1c1
Move and rename widget::DrawContext to widget::Widget::DrawArgs. Rename Module::ProcessContext to Module::ProcessArgs.
6 years ago
Andrew Belt
13dadef857
ModuleBrowser WIP. Add Widget::show/hide().
6 years ago
Andrew Belt
937136ee5d
Rename bypass to disable in ModuleWidget context menu.
6 years ago
Andrew Belt
b4be621ddc
Update MIDI-CV panel. Prepare MIDI-CV for polyphony. Add "v" to version strings.
6 years ago
Andrew Belt
b40fbf7f0e
Add names to history::Actions.
6 years ago
Andrew Belt
822c525d6b
Change "SVG" to "Svg" for correct capitalization style. Create Window::loadSvg, loadImage, and loadFont.
6 years ago
Andrew Belt
62214d106a
Convert settings namespace into class
6 years ago
Andrew Belt
2b98dfc6f9
Write custom threading model in Engine. Remove OpenMP dep. Fix bugs in string::basename/extension.
6 years ago