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
Andrew Belt
8a5a806425
Add app::, ui::, and widget:: namespaces.
6 years ago
Andrew Belt
6d86a8280c
Add convenience methods to Port. Draw blue plug lights for polyphonic ports.
6 years ago
Andrew Belt
ede6295516
Set zoom every few frames. Add ModuleWidget::setModule(). Add Port::set/getChannels().
6 years ago
Andrew Belt
0547a194a9
Tweaks to math.hpp and its docstrings
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
655f081965
Rename context() to app(). Add skeleton for history.
6 years ago
Andrew Belt
cb0f3e5100
Use dsp:: namespace. Automatically include dsp headers in rack.hpp.
6 years ago
Andrew Belt
f1bd4b714d
Change Port::set/getValue to set/getVoltage
6 years ago
Andrew Belt
a6961d6626
Tear down old Module Browser, make app widgets and Core plugins compatible with NULL Module
6 years ago
Andrew Belt
217faca052
Parse plugin metadata from plugin.json
6 years ago
Andrew Belt
d62b8d5845
Put audio in namespace
6 years ago
Andrew Belt
0dec45d970
Class-ify window, un-class-ify asset
6 years ago
Andrew Belt
cbed0cf7a1
Wrap asset state into new AssetManager class
6 years ago
Andrew Belt
402f42a354
Add Context class for storing global state
6 years ago
Andrew Belt
0e05e63dcb
Rename asset::local to user, rename asset:global to system
6 years ago
Andrew Belt
a792c85cbc
Cleanup includes more
6 years ago
Andrew Belt
c984651b2a
Modernize Core's Rack API calls
6 years ago
Andrew Belt
316518a794
Wrap engine state into class Engine
6 years ago