Andrew Belt
c3ff43b6de
Rename *Dir() functions to *Directory(), backtracking on a previous commit.
3 years ago
Andrew Belt
00eb16189b
Use "directory/dir" terminology instead of "folder" except for UI text.
3 years ago
Andrew Belt
0c9598ba8f
Add SetPrimaryEvent and UnsetPrimaryEvent to Module.
3 years ago
Andrew Belt
661fd3863d
Add Module Save event.
3 years ago
Andrew Belt
46fff99244
Add Module::getPatchStorageDir().
3 years ago
Andrew Belt
69fc690290
Add getter methods to Module.
3 years ago
Andrew Belt
2966cd57f7
Move asset::autosavePath to Patch. Add Module::createPatchStorageDir() and remove asset::module().
3 years ago
Andrew Belt
357bd847bf
Rename PRIVATE macro to INTERNAL.
3 years ago
Andrew Belt
5f8f9b8e35
Change `bypass` variable name to `bypassed` when appropriate.
3 years ago
Andrew Belt
317b9125b6
Make ReadWriteLock non-recursive and add *_NoLock() methods to Engine as needed.
Split Module::bypass() into isBypass/setBypass().
Add more documentation to Engine methods.
3 years ago
Andrew Belt
f0753792b8
Rename "step" terminology of Engine to "block". Tweak ModuleWidget meter appearance.
3 years ago
Andrew Belt
7003adffe2
Move module stepping code from Engine to Module. Change meter to a time plot.
3 years ago
Andrew Belt
6e35afb053
Add engine::LightInfo and Module::configLight() helper for configuring the LightInfo. Add LightTooltip for LightWidgets.
4 years ago
Andrew Belt
e80beefba4
Add AudioButton and MidiButton and Component Library subclasses with graphics.
4 years ago
Andrew Belt
5e4124f66a
Rename bypassed to bypass everywhere.
4 years ago
Andrew Belt
06c6590b51
Implement Module::ExpanderChangeEvent event trigger.
4 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
50747839d4
Use randomly-generated 53-bit IDs for Module and Cable.
4 years ago
Andrew Belt
6285f3f222
Add documentation to `engine::Module::ProcessArgs`
4 years ago
Andrew Belt
64cc9dddb0
Add Module::configButton() for configuring momentary switches (which I'll now call buttons).
4 years ago
Andrew Belt
6f7f0cc7b3
Cache modules and cables in engine by ID. Add lock to Engine::reset/randomize/bypassModule(). Remove lock from Engine::get/setParam and get/setSmoothParam.
4 years ago
Andrew Belt
97c03ea464
Improve documentation for Module.
4 years ago
Andrew Belt
79ee967210
Fix documentation of Module.
4 years ago
Andrew Belt
d5c7144e32
Add Module::paramsToJson and paramsFromJson.
4 years ago
Andrew Belt
92f777d184
Add configSwitch(), which is a quicker way to configure parameters with SwitchQuantitys.
4 years ago
Andrew Belt
87935d7e6f
Add SwitchQuantity. Add return value to config*() methods in Module.
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
82e4bea015
Make Module::toJson() virtual.
4 years ago
Andrew Belt
d11223d0e0
Call ParamQuantity::getDefaultValue() in configParam() to set initial value of param.
4 years ago
Andrew Belt
4a5027ef1c
Add internal struct to Module.
5 years ago
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
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