Andrew Belt
f1635cd96b
Add Module::jsonStripIds().
3 years ago
Andrew Belt
e249f82564
Redesign module CPU meter based on Pyer design.
3 years ago
Andrew Belt
deacbb50dc
Throw Exception when Module::getPatchStorageDirectory() is called when Module is not added to Engine.
3 years ago
Andrew Belt
c3ff43b6de
Rename *Dir() functions to *Directory(), backtracking on a previous commit.
3 years ago
Andrew Belt
d7e1dae42c
Use PlugPort SVG and MediumLight from Component Library for plug (WIP).
3 years ago
Andrew Belt
00eb16189b
Use "directory/dir" terminology instead of "folder" except for UI text.
3 years ago
Andrew Belt
46fff99244
Add Module::getPatchStorageDir().
4 years ago
Andrew Belt
2966cd57f7
Move asset::autosavePath to Patch. Add Module::createPatchStorageDir() and remove asset::module().
4 years ago
Andrew Belt
c4cc1c4368
Clean up fromJson Engine and RackWidget methods. Fix v0.6 patch loading.
4 years ago
Andrew Belt
f5bad0e20f
Add hard-coded plugin/model slug fallbacks/aliases. Catch Exceptions from Module::fromJson().
4 years ago
Andrew Belt
5f8f9b8e35
Change `bypass` variable name to `bypassed` when appropriate.
4 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.
4 years ago
Andrew Belt
f0753792b8
Rename "step" terminology of Engine to "block". Tweak ModuleWidget meter appearance.
4 years ago
Andrew Belt
7003adffe2
Move module stepping code from Engine to Module. Change meter to a time plot.
4 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
cb65043538
Add virtual ParamQuantity::toJson() and fromJson() so plugins can override JSON serialization behavior of params.
4 years ago
Andrew Belt
5e4124f66a
Rename bypassed to bypass everywhere.
4 years ago
Andrew Belt
f3c8262183
Make Module always deserialize "id", "leftModuleId", and "rightModuleId". Due to this, make pasting and cloning modules delete these properties from the JSON before `fromJson()` is called.
4 years ago
Andrew Belt
8d908a0a55
Add system::join(). Add asset::module().
4 years ago
Andrew Belt
8ace079ee5
Fix randomization of snapped params.
5 years ago
Andrew Belt
d5c7144e32
Add Module::paramsToJson and paramsFromJson.
5 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
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
26bda06eb7
Move slug normalization from getPlugin or getModel functions to fromJson functions.
5 years ago
Andrew Belt
dca30e2b53
Auto-format code with astyle.
5 years ago
Andrew Belt
f855667f77
Don't deserialize left/rightModuleIds.
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
54544bbe93
Use Module::Expander struct for accessing expander messages.
6 years ago
Andrew Belt
669ace54c6
Fix Param serialization mistake. Update template patch.
6 years ago
Andrew Belt
cdf7a2bbfa
Fix serialization for unbounded Params.
6 years ago
Andrew Belt
31d99cbdcd
Add assertions to Module helpers.
6 years ago
Andrew Belt
0c0be078c6
Only serialize left/rightModuleId if valid ID
6 years ago
Andrew Belt
357952c3d3
Move all metadata from Param to ParamQuantity.
6 years ago
Andrew Belt
6fe14dca06
Move reset and randomize from Param to ParamWidget.
6 years ago
Andrew Belt
c43d2314c9
Serialize/deserialize left/rightModuleId in Module.
6 years ago
Andrew Belt
64602576b0
Create `engine::` namespace
6 years ago
Andrew Belt
5de5db2a18
Add Param::randomizable
6 years ago
Andrew Belt
8cc4cb3c2b
Add PatchManager. Clean up and refactor RackWidget and CableContainer.
6 years ago
Andrew Belt
38c291b365
Merge ParamInfo with Param
6 years ago
Andrew Belt
19d9fdd041
Add ModuleBypass. Serialize Module::bypass.
6 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().
6 years ago
Andrew Belt
3d6de43a78
Refactor ParamWidget event behavior, draw polyphonic wires with greater thickness, fix serialization bug in Module
6 years ago
Andrew Belt
788fe92856
Clean up RackWidget. Use Module::id for referencing modules in patches.
6 years ago
Andrew Belt
c999df235d
Clean up ModuleWidget
6 years ago
Andrew Belt
316518a794
Wrap engine state into class Engine
6 years ago