Andrew Belt
cb65043538
Add virtual ParamQuantity::toJson() and fromJson() so plugins can override JSON serialization behavior of params.
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
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
696939069d
Use <> instead of "" for include directive.
5 years ago
Andrew Belt
cdf7a2bbfa
Fix serialization for unbounded Params.
5 years ago
Andrew Belt
357952c3d3
Move all metadata from Param to ParamQuantity.
5 years ago
Andrew Belt
445686b89d
Allow Param limits with min > max
5 years ago
Andrew Belt
6fe14dca06
Move reset and randomize from Param to ParamWidget.
5 years ago
Andrew Belt
2210287039
Move handling of RackWidget from Scene to RackScrollWidget.
5 years ago
Andrew Belt
3634059dcd
Revise Param documentation. Fix Param::getDisplayValue() formula for logarithmic bases.
5 years ago
Andrew Belt
69aa3f227a
Use proper std:: namespace as needed.
5 years ago
Andrew Belt
7458b5d709
Add param touch to engine. Add param learning to MIDI-Map.
5 years ago
Andrew Belt
d7b72c5b0f
Rewrite thread API. Add ParamMap::to/fromJson().
5 years ago
Andrew Belt
927c77eca6
Add more engine docstrings
5 years ago
Andrew Belt
64602576b0
Create `engine::` namespace
5 years ago
Andrew Belt
8a5a806425
Add app::, ui::, and widget:: namespaces.
5 years ago
Andrew Belt
6d86a8280c
Add convenience methods to Port. Draw blue plug lights for polyphonic ports.
5 years ago
Andrew Belt
5de5db2a18
Add Param::randomizable
5 years ago
Andrew Belt
0f08886aae
Add Param::displayOffset. Switch around param key commands and param context menu again.
5 years ago
Andrew Belt
117553a6c9
Update nanovg. Refactor window. Add Timer to dsp.
5 years ago
Andrew Belt
244b44bb4e
Rename Core MIDI modules to their modern names, keeping their slugs compatible.
5 years ago
Andrew Belt
4f491892fa
Add Param::set/getValue()
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
25735a8fd3
Add Param::description and tooltip description
5 years ago
Andrew Belt
4c23dc9cc0
Added param value entry. Make ParamQuantity automatically compute its displayPrecision.
5 years ago
Andrew Belt
c999df235d
Clean up ModuleWidget
5 years ago
Andrew Belt
217faca052
Parse plugin metadata from plugin.json
5 years ago
Andrew Belt
316518a794
Wrap engine state into class Engine
5 years ago