Andrew Belt
804dc4daf2
Interpret blank ParamQuantity/PortInfo name as "#id".
5 years ago
Andrew Belt
ae19e33774
Make PortInfo a virtual class.
5 years ago
Andrew Belt
ef89a96c87
Change ParamQuantity/PortInfo label to name.
5 years ago
Andrew Belt
0dbce1683d
Work on PortTooltips.
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
54544bbe93
Use Module::Expander struct for accessing expander messages.
5 years ago
Andrew Belt
7bd98943db
Add left/rightMessageFlipRequested to Module.
5 years ago
Andrew Belt
31d99cbdcd
Add assertions to Module helpers.
5 years ago
Andrew Belt
a38daa33db
Improve documentation of Module.
5 years ago
Andrew Belt
357952c3d3
Move all metadata from Param to ParamQuantity.
5 years ago
Andrew Belt
6fe14dca06
Move reset and randomize from Param to ParamWidget.
5 years ago
Andrew Belt
e9aacbed93
Add adjacent module IDs and pointers to Module.
5 years ago
Andrew Belt
43dd52f9fe
Add Model pointer to Module.
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
9c275dd20d
Add Module::process and Module::ProcessContext.
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
7458b5d709
Add param touch to engine. Add param learning to MIDI-Map.
5 years ago
Andrew Belt
da4110367a
Move DSP window functions to window.hpp. Use 0-indexed module/cable IDs instead of 1-indexed. Unserialize module/cable IDs as they are in the patch file.
5 years ago
Andrew Belt
927c77eca6
Add more engine docstrings
5 years ago
Andrew Belt
64602576b0
Create `engine::` namespace
5 years ago
Andrew Belt
6d86a8280c
Add convenience methods to Port. Draw blue plug lights for polyphonic ports.
5 years ago
Andrew Belt
94c33c5e77
Use cable history actions when interacting with cables
5 years ago
Andrew Belt
38c291b365
Merge ParamInfo with Param
5 years ago
Andrew Belt
cb7e139b47
Make power meter display in microseconds instead of millisamples. Add history::ComplexAction. Split Param into Param and ParamInfo. Rename setup() to config().
5 years ago
Andrew Belt
69bd0575b5
Add Module bypass to UI and engine
5 years ago
Andrew Belt
94d34c51fa
Add id to Wire
5 years ago
Andrew Belt
788fe92856
Clean up RackWidget. Use Module::id for referencing modules in patches.
5 years ago
Andrew Belt
c999df235d
Clean up ModuleWidget
5 years ago
Andrew Belt
8204f8f944
Set Param labels to sane defaults in Module::setup
5 years ago
Andrew Belt
a792c85cbc
Cleanup includes more
5 years ago
Andrew Belt
316518a794
Wrap engine state into class Engine
5 years ago