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
b4bd09a2eb
Add more documentation to Port.
5 years ago
Andrew Belt
9e830a61e6
Add SIMD methods to Port.
5 years ago
Andrew Belt
1252437344
Add Engine::getFrame().
5 years ago
Andrew Belt
fe18110e22
Added Port::active alias for Port::channels. Set default Port channels to 0.
5 years ago
Andrew Belt
08a4d73457
Add text and color to ParamHandle.
5 years ago
Andrew Belt
41552e79f2
Restructure ParamHandle Engine internals.
5 years ago
Andrew Belt
31ee9bdfc7
Add documentation to Port::setChannels().
5 years ago
Andrew Belt
cb3f136d51
Encode Port::active as channels=0. Change behavior of Port::setChannels().
5 years ago
Andrew Belt
436615f361
Simplify Light::setBrightness/Smooth.
5 years ago
Andrew Belt
02ef6641f4
Add Port::getVoltageSum. Rename get/setVoltages to read/writeVoltages. Add getVoltages.
5 years ago
Andrew Belt
696939069d
Use <> instead of "" for include directive.
5 years ago
Andrew Belt
871617ad6c
Fix docstrings. Add createParamCentered to rack0.hpp.
5 years ago
Andrew Belt
54544bbe93
Use Module::Expander struct for accessing expander messages.
5 years ago
Andrew Belt
cdf7a2bbfa
Fix serialization for unbounded Params.
5 years ago
Andrew Belt
7bd98943db
Add left/rightMessageFlipRequested to Module.
5 years ago
Andrew Belt
09c85276d6
Use linear scaling for Light value.
5 years ago
Andrew Belt
30c5b24ec5
Add Engine::yieldWorker() which turns worker spinlocks into mutex locks. Fix race condition in EngineWorker::run() when changing number of threads.
5 years ago
Andrew Belt
31d99cbdcd
Add assertions to Module helpers.
5 years ago
Andrew Belt
2cd29d62f0
Draw plugs under wires for CableWidgets in CableContainer.
5 years ago
Andrew Belt
a0e738bc07
Write to `settings::sampleRate` and `threadCount` instead of calling Engine methods.
5 years ago
Andrew Belt
a38daa33db
Improve documentation of Module.
5 years ago
Andrew Belt
47ce8272ab
Initialize OpenGL context before calling scene->draw().
5 years ago
Andrew Belt
357952c3d3
Move all metadata from Param to ParamQuantity.
5 years ago
Andrew Belt
6660c88885
Change app::ParamQuantity to engine::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
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
2210287039
Move handling of RackWidget from Scene to RackScrollWidget.
5 years ago
Andrew Belt
6b5cb5b5f7
Clean up dsp headers and documentation.
5 years ago
Andrew Belt
a34d339220
Fix Port::getPolyVoltage() typo
5 years ago
Andrew Belt
3634059dcd
Revise Param documentation. Fix Param::getDisplayValue() formula for logarithmic bases.
5 years ago
Andrew Belt
735148fee8
Add Port::set/getVoltages()
5 years ago
Andrew Belt
3418a3e37a
Align Port to AVX vector size.
5 years ago
Andrew Belt
69aa3f227a
Use proper std:: namespace as needed.
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
27f6a546aa
Add dsp::Counter. Rename dsp::VUMeter to VuMeter. Add Light::setSmoothBrightness(), deprecate setBrightnessSmooth().
5 years ago
Andrew Belt
52151a709d
Add various API documentation
5 years ago
Andrew Belt
d699c2e07d
Don't overwrite param handles when duplicating MIDI-Map.
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
d7b72c5b0f
Rewrite thread API. Add ParamMap::to/fromJson().
5 years ago
Andrew Belt
bfcae28495
Update MIDI-Map panel. Add Engine::getModule().
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
e625a1cd27
Change poly cable thickness. Change double-click behavior. Fix input default number of channels.
5 years ago
Andrew Belt
c127afdf1b
Add ExponentialSlewLimiter. Add "Poly" tag. Tweak appearance of port and cable widgets.
5 years ago
Andrew Belt
927c77eca6
Add more engine docstrings
5 years ago