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
Andrew Belt
73a53f4536
Rename Module::to/fromJson to dataTo/dataFromJson, move ModuleWidget::to/fromJson functionality to new Module::to/fromJson
6 years ago
Andrew Belt
6475c630b5
Revise event and widget API (draft), migrate source files to headers (WIP), separate large headers into small headers in subfolders (WIP)
6 years ago
Andrew Belt
34af736ee5
Add rack0.hpp backward compatibility header for ease of migration
6 years ago
Andrew Belt
3fa78176e2
Move asset to its own namespace
6 years ago
Andrew Belt
925031b9b1
Reorganize DSP headers, rewrite Decimator, rewrite some FIR functions
6 years ago
Andrew Belt
bd4f68c13d
Re-add power meter for Audio, add Rect::shrink
6 years ago
Andrew Belt
831362d1c2
Disable drawing of power meter on Core AUDIO
6 years ago
Andrew Belt
62bbf5ef46
Fix warnings on clang
7 years ago
Andrew Belt
8352f54594
Don't refresh SampleRateConverter state if settings aren't changed
7 years ago
Andrew Belt
4d7922b005
Disable sample rate converter when inRate == outRate, only convert
required channels
7 years ago
Andrew Belt
6b00b5183a
Buffer send/recv in Bridge, better network error handling
7 years ago
Andrew Belt
5c8cadbbf9
Add automatic audio activation/deactivation when device pauses for >200ms
7 years ago
Andrew Belt
c3afbc09c4
Clamp outputs post-conversion in Audio module
7 years ago
Andrew Belt
baadbda40d
Bridge port mapping
7 years ago