Andrew Belt
1f079444a2
Add Widget::drawChild(). Make RailWidget draw a FramebufferWidget repeatedly as a tile.
3 years ago
Andrew Belt
61d387c63b
Rewrite RackRail and rename it to RailWidget. Add rail graphic revision from Pyer.
3 years ago
Andrew Belt
bb9e9b78ce
Add pimpl Internal* struct to several classes that have a possibility of needing more member variables in 2.x.
3 years ago
Andrew Belt
5484126aaa
Change `event::Foo` to `FooEvent`.
3 years ago
Andrew Belt
f887faea79
Fix module and cable ID variables that were `int` instead of `int64_t`. Add `Engine::getNumCables()` and `Engine::getCableIds()`.
4 years ago
Andrew Belt
120aafe6d3
Change order of includes to C++ standard headers, library headers, and local project headers.
4 years ago
Andrew Belt
05df47fbd1
Add Internal struct to ModuleWidget.
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
2cd29d62f0
Draw plugs under wires for CableWidgets in CableContainer.
5 years ago
Andrew Belt
de95175596
Since dragging a ModuleWidget can move all modules, push a ComplexAction of ModuleMove actions instead of a single action.
5 years ago
Andrew Belt
6fd01b217a
Add ModuleWidget force movement.
5 years ago
Andrew Belt
8d270d23cd
Use more efficient algorithm to finding valid ModuleWidget position in RackWidget::requestModulePosNearest.
5 years ago
Andrew Belt
a5d7a0b75b
Add middle-click-drag to ScrollWidget. Fix numerous bugs introduced by event system changes.
5 years ago
Andrew Belt
9d609fee2b
Rename `widget::*Event` to `event::*`.
5 years ago
Andrew Belt
16b42e8e4e
Rename RackWidget::rails
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
52151a709d
Add various API documentation
5 years ago
Andrew Belt
66aa746476
Replace ModuleHandle with ParamHandle. Move touchedParam from Engine to RackWidget. Fix param mapping bugs in MIDI-Map.
5 years ago
Andrew Belt
8a5a806425
Add app::, ui::, and widget:: namespaces.
5 years ago
Andrew Belt
6d1142b449
Add new Widget::draw() method. Deprecate old method.
5 years ago
Andrew Belt
d737504011
Add intro message when the rack is empty. Round zoom level to nearest percent.
5 years ago
Andrew Belt
c6f8153d74
Use various other history actions when interacting with the rack
5 years ago
Andrew Belt
5659faba2e
Add RackWidget::clearCablesAction
5 years ago
Andrew Belt
c4a33bedc3
Move CableContainer methods into RackWidget
5 years ago
Andrew Belt
8cc4cb3c2b
Add PatchManager. Clean up and refactor RackWidget and CableContainer.
5 years ago
Andrew Belt
5266641777
Big cable refactor.
5 years ago
Andrew Belt
a77a04ad22
Move ModuleWidget cloning code from RackWidget to ModuleWidget. Make ModuleWidget position based on mouse position.
5 years ago
Andrew Belt
3ab43a2ce0
Rename wire to cable
5 years ago
Andrew Belt
c59b9ba67d
Add history actions: ModuleAdd, ModuleRemove, ModuleMove, ParamChange, WireAdd, WireRemove, WireMove
5 years ago
Andrew Belt
2e4faa4a10
Add hack when disconnecting ModuleWidgets with NULL Module
5 years ago
Andrew Belt
5eb5579fb9
Add menu item to save template patch
5 years ago
Andrew Belt
e845373ee9
Make event callbacks use const
5 years ago
Andrew Belt
c999df235d
Clean up ModuleWidget
5 years ago
Andrew Belt
f5601d2042
Work on toolbar, event context
5 years ago
Andrew Belt
20b78190c1
Put math in namespace
5 years ago
Andrew Belt
95f6016e7a
Remove app.hpp/cpp, fix headers of app headers, rename RackScene to Scene
5 years ago
Andrew Belt
316518a794
Wrap engine state into class Engine
5 years ago
Andrew Belt
92951206b6
Rename WidgetState to event::Context, move color.hpp implementations to source
6 years ago
Andrew Belt
499ceb024f
Remove math namespace
6 years ago
Andrew Belt
4b55d428e8
Split app.hpp into individual headers
6 years ago