Andrew Belt
|
2966cd57f7
|
Move asset::autosavePath to Patch. Add Module::createPatchStorageDir() and remove asset::module().
|
3 years ago |
Andrew Belt
|
1b76dd5f07
|
Change midi::Message::toString() to const. Clean up midi code.
|
3 years ago |
Andrew Belt
|
5043d0e10a
|
Use Engine frame instead of seconds timestamp for midi::Message.
|
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
|
2f5ce16ce8
|
No longer require that a primary Module belongs to the Engine.
|
3 years ago |
Andrew Belt
|
9f04e56106
|
AudioInterface: Set primary module after instead of before adding to the Engine (WIP).
|
3 years ago |
Andrew Belt
|
90ada5c532
|
Add Engine::setSuggestedSampleRate(). Make ReadWriteLock support recursive writes.
|
3 years ago |
Andrew Belt
|
4c7c5b1694
|
Add auto engine sample rate setting.
|
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
|
7efd063392
|
Change timestamps from int64_t to double, and define epoch as when `system::init()` is called.
|
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
|
cb65043538
|
Add virtual ParamQuantity::toJson() and fromJson() so plugins can override JSON serialization behavior of params.
|
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
|
624dcec8fd
|
Do not force Port alignment to 32 bytes.
|
4 years ago |
Andrew Belt
|
abde7d983f
|
Add Engine::getFrameTime() and getStepDuration().
|
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
|
b8d47b5378
|
Add Engine::getNumModules() and getModuleIds() methods.
|
4 years ago |
Andrew Belt
|
05427d938b
|
Overhaul threading model for Engine using a shared mutex based design.
|
4 years ago |
Andrew Belt
|
537b64d011
|
Remove engine pausing as it no longer makes sense with the new "external stepping" engine architecture.
|
4 years ago |
Andrew Belt
|
97fcc04630
|
Fix documentation formulas.
|
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
|
8ace079ee5
|
Fix randomization of snapped params.
|
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
|
306e454f0c
|
Use higher resolution clock for system::getNanoseconds() on Windows.
Ban `long` from codebase. Use int64_t instead.
|
4 years ago |
Andrew Belt
|
60d2283010
|
Add timestamp to MIDI message. Make MIDI-* modules wait until a message is `stepFrames` frames old until processing it, improving MIDI stability. Add Engine::getStepFrame, getStepTime, and getStepFrames.
|
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
|
12fcaa4b08
|
Move moduleFromJson from engine to plugin namespace. Move Engine mutex lock at the top of Engine::step().
|
5 years ago |
Andrew Belt
|
804dc4daf2
|
Interpret blank ParamQuantity/PortInfo name as "#id".
|
5 years ago |
Andrew Belt
|
adc3f681c3
|
Rearrange text in PortTooltip
|
5 years ago |
Andrew Belt
|
7b61f3599d
|
Add configInpug/Output to helper.py.
|
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 |