Andrew Belt
|
6e8cb42e7b
|
Serialize primaryModule in Engine instead of relying on modules to do it themselves.
|
3 years ago |
Andrew Belt
|
661fd3863d
|
Add Module Save event.
|
3 years ago |
Andrew Belt
|
ea431882a7
|
Add Engine meter to menu bar.
|
3 years ago |
Andrew Belt
|
5043d0e10a
|
Use Engine frame instead of seconds timestamp for midi::Message.
|
4 years ago |
Andrew Belt
|
c4cc1c4368
|
Clean up fromJson Engine and RackWidget methods. Fix v0.6 patch loading.
|
4 years ago |
Andrew Belt
|
5f8f9b8e35
|
Change `bypass` variable name to `bypassed` when appropriate.
|
4 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.
|
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
|
4e44157d27
|
Don't write-lock Engine::fromJson() because it only needs it when adding modules and cables, which already has a write-lock.
|
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
|
f0753792b8
|
Rename "step" terminology of Engine to "block". Tweak ModuleWidget meter appearance.
|
4 years ago |
Andrew Belt
|
7003adffe2
|
Move module stepping code from Engine to Module. Change meter to a time plot.
|
4 years ago |
Andrew Belt
|
2a1bbf4ae3
|
Rename system::getRuntime() to getTime().
|
4 years ago |
Andrew Belt
|
790e1053cc
|
Rename system::getTime() to getRuntime(). Add system::getUnixTime().
|
4 years ago |
Andrew Belt
|
b986ff5882
|
Replace Module Browser sidebar with header. Add multiple tag selection (WIP), zoom (WIP), and sorting options (WIP).
|
4 years ago |
Andrew Belt
|
11721cab00
|
Add WIP Engine::step() timer. Fix module timer.
|
4 years ago |
Andrew Belt
|
7efd063392
|
Change timestamps from int64_t to double, and define epoch as when `system::init()` is called.
|
4 years ago |
Andrew Belt
|
36f062e33d
|
Fix random module/cable ID generation on Windows
|
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
|
80d08ec15c
|
Omit duplicate tags in Model.
|
5 years ago |
Andrew Belt
|
7103404c5a
|
CV-MIDI: Add back rate limiting to pitch wheel, mod wheel, velocity, and pan. CV-CC and CV-Gate: Add timestamps to generates MIDI messages.
|
5 years ago |
Andrew Belt
|
7aa8f896a3
|
Remove rate limiting from CV-MIDI, WIP.
|
5 years ago |
Andrew Belt
|
abde7d983f
|
Add Engine::getFrameTime() and getStepDuration().
|
5 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.
|
5 years ago |
Andrew Belt
|
df0f44cf3e
|
Don't allow setting the Engine's primary module if it is not added to the Engine.
|
5 years ago |
Andrew Belt
|
b8d47b5378
|
Add Engine::getNumModules() and getModuleIds() methods.
|
5 years ago |
Andrew Belt
|
05427d938b
|
Overhaul threading model for Engine using a shared mutex based design.
|
5 years ago |
Andrew Belt
|
537b64d011
|
Remove engine pausing as it no longer makes sense with the new "external stepping" engine architecture.
|
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
|
3f83066966
|
Make global context a thread_local variable. Add contextSet().
|
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
|
306e454f0c
|
Use higher resolution clock for system::getNanoseconds() on Windows.
Ban `long` from codebase. Use int64_t instead.
|
5 years ago |
Andrew Belt
|
d0098ae7cc
|
Allow left button to scroll ScrollWidget, so that the rack and other scroll containers can be scrolled with a touch screen.
|
5 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.
|
5 years ago |
Andrew Belt
|
5a45c26da6
|
Add system::getNanoseconds(). Use it instead of std::chrono.
|
5 years ago |
Andrew Belt
|
538f5589c2
|
Make headless mode work somewhat.
|
5 years ago |
Andrew Belt
|
70d527d99a
|
Test audio. Fix audio deadlock in Engine::fromJson().
|
5 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
|
ba820dd802
|
Add infinity and NaN protection to Cable_step.
|
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
|
61f6d8164d
|
Add and test secondary module audio interface flushing.
|
5 years ago |
Andrew Belt
|
032c321fd3
|
Port change from v1 26bda06eb7
|
5 years ago |
Andrew Belt
|
6907d53a25
|
Remove real-time menu item and setting.
|
5 years ago |