Andrew Belt
4e7f1edb24
Change all deprecated APP->window->loadSvg() calls to Svg::load(). Fix FramebufferWidget::onContextDestroy() not unsetting framebuffer handle.
4 years ago
Andrew Belt
5484126aaa
Change `event::Foo` to `FooEvent`.
4 years ago
Andrew Belt
9c7ac3392c
Split AudioInterface into AudioInterfacePort, avoiding multiple inheritance.
4 years ago
Andrew Belt
4ae79f662d
Fix crash when saving/loading module presets. Add "Clear template" menu item to module presets menu. Rename `system::doesExist()` to `exists()`.
4 years ago
Andrew Belt
2a41142cb1
Clear VU meter of Audio-2 if there are no device outputs.
4 years ago
Andrew Belt
54fbe407af
Split `audio::Port::offset` to inputOffset and outputOffset, and `audio::Port::maxChannels` to maxInputs and maxOutputs.
4 years ago
Andrew Belt
124cefd0d7
Add DC blocker to AudioInterface.
4 years ago
Andrew Belt
97b3c9026b
Clean up comments and debugging in AudioInterface.
4 years ago
Andrew Belt
b5d7a12448
Make AudioInterface handle devices with 0 inputs or 0 outputs better. Clear engine buffers more aggressively, especially for the primary module.
4 years ago
Andrew Belt
357bd847bf
Rename PRIVATE macro to INTERNAL.
4 years ago
Andrew Belt
2f5ce16ce8
No longer require that a primary Module belongs to the Engine.
4 years ago
Andrew Belt
9f04e56106
AudioInterface: Set primary module after instead of before adding to the Engine (WIP).
4 years ago
Andrew Belt
90ada5c532
Add Engine::setSuggestedSampleRate(). Make ReadWriteLock support recursive writes.
4 years ago
Andrew Belt
4c7c5b1694
Add auto engine sample rate setting.
4 years ago
Andrew Belt
4626dea31f
Use float instead of int for sample rates in audio:: namespace.
4 years ago
Andrew Belt
f0753792b8
Rename "step" terminology of Engine to "block". Tweak ModuleWidget meter appearance.
4 years ago
Andrew Belt
e9f5e51735
Remove test Audio/MidiButtons from Core modules.
4 years ago
Andrew Belt
b3e4a56132
Add light names to AudioInterface. Fix output light indexing bug in AudioInterface.
4 years ago
Andrew Belt
e80beefba4
Add AudioButton and MidiButton and Component Library subclasses with graphics.
4 years ago
Andrew Belt
fe4de2efba
Use quadratic scaling for level knob on Audio-2.
5 years ago
Andrew Belt
7dd6c59d5d
Fix Audio-2 device choice button and menu.
5 years ago
Andrew Belt
ae21a4c70d
Add Audio-2 WIP.
5 years ago
Andrew Belt
120aafe6d3
Change order of includes to C++ standard headers, library headers, and local project headers.
5 years ago
Andrew Belt
ca9231e1b3
Rename App to Context and app.hpp to context.hpp. The APP macro is still valid.
5 years ago
Andrew Belt
035a673155
Use MenuSeparator instead of MenuEntry for separating menu items.
5 years ago
Andrew Belt
21cd34dc06
Add clip lights to Audio.
5 years ago
Andrew Belt
b6a7b09e7a
Restructure audio namespace to mirror midi class structure. (untested)
5 years ago
Andrew Belt
61f6d8164d
Add and test secondary module audio interface flushing.
5 years ago
Andrew Belt
31888de1c5
Audio Interface: Sum input channels. Clamp values before sending to audio device.
5 years ago
Andrew Belt
9b24182542
Allow audio interfaces with no input to be used. Fix sample rate conversion.
5 years ago
Andrew Belt
4f8718fcbf
Add WIP sample rate conversion to AudioInterface.
5 years ago
Andrew Belt
dc37821240
Basic functionality for multiple Audio modules.
5 years ago
Andrew Belt
e9dd0d1676
Add port labels to Core. Fix serialization of Blank and Notes.
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
535b64c5bb
Wrap Core plugin in core:: namespace.
5 years ago
Andrew Belt
8ae5ac0e85
Add voltages on AudioInterface inputs.
6 years ago
Andrew Belt
f678e52df1
Set audio::Port::maxChannels in AudioInterface.
6 years ago
Andrew Belt
696939069d
Use <> instead of "" for include directive.
6 years ago
Andrew Belt
269f9aca9b
Only use Engine::yieldWorkers() when we know it's needed in Core Audio. Use _mm_pause() in spinlocks.
6 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.
6 years ago
Andrew Belt
3b5380d28c
Added Core AUDIO-16
6 years ago
Andrew Belt
478c8fcc71
Change name of driver to driverId and device to deviceId in audio namespace.
6 years ago
Andrew Belt
a509fab1c1
Move and rename widget::DrawContext to widget::Widget::DrawArgs. Rename Module::ProcessContext to Module::ProcessArgs.
6 years ago
Andrew Belt
9c275dd20d
Add Module::process and Module::ProcessContext.
6 years ago
Andrew Belt
9a29b832fb
Change audio::IO and midi::IO name to Port.
6 years ago
Andrew Belt
425d9dfe26
Construct MidiWidget and AudioWidget children during setMidiIO() and setAudioIO() calls.
6 years ago
Andrew Belt
dab876ab96
Add description to Core modules. Disable QWERTY MIDI keyboard when an element is selected.
6 years ago
Andrew Belt
822c525d6b
Change "SVG" to "Svg" for correct capitalization style. Create Window::loadSvg, loadImage, and loadFont.
6 years ago
Andrew Belt
2b98dfc6f9
Write custom threading model in Engine. Remove OpenMP dep. Fix bugs in string::basename/extension.
6 years ago