243 Commits (6c2dba6a47d2399266fdb4eabf480432313809a8)

Author SHA1 Message Date
  Andrew Belt 4567cc4220 Master audio module (the module that clocks Engine) makes more sense. 3 years ago
  Andrew Belt a37ad4eeb5 Rename EventState::setHovered() etc to setHoveredWidget() etc. 3 years ago
  Andrew Belt 59facf4ced Delay output MIDI message by an Engine block in the MIDI driver, instead of in CV-MIDI etc. 3 years ago
  Andrew Belt 2a5180f101 Clean up RackWidget and ModuleWidget members. 3 years ago
  Andrew Belt a98acd380e Remove MIDI-CV InputQueue debug statement. 3 years ago
  Andrew Belt 6be8c94a3d Internalize implementation of midi::InputQueue. Add tryPop() method. 3 years ago
  Andrew Belt aee5e22ec2 Add AudioButton and MidiButton example. Make SvgButton trigger Action event when right-clicking. 3 years ago
  Andrew Belt 6e8cb42e7b Serialize primaryModule in Engine instead of relying on modules to do it themselves. 4 years ago
  Andrew Belt 8859eac75c Clean up port names on MIDI-CV and CV-MIDI. 4 years ago
  Andrew Belt b998904d16 Use menu item helpers for Core modules. 4 years ago
  Andrew Belt 898bc44794 Clean up MIDI-CV, CC, and Gate. 4 years ago
  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 1b76dd5f07 Change midi::Message::toString() to const. Clean up midi code. 4 years ago
  Andrew Belt 5043d0e10a Use Engine frame instead of seconds timestamp for midi::Message. 4 years ago
  Andrew Belt beef5be7b2 Add initial state to VCV Notes. 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 7efd063392 Change timestamps from int64_t to double, and define epoch as when `system::init()` is called. 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 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 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 ba1c0dadd8 Use new Engine methods in MIDI-* modules. 5 years ago
  Andrew Belt 16a1b875e0 Allow disabling smoothing for MIDI-CV (pitch and mod wheel), MIDI-CC, and MIDI-Map. 5 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 a7f5449d0c Support 14-bit MIDI CC via MSB/LSB. (Untested) 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 f5898fe148 Add MPE mode to MIDI-CC and MIDI-Gate. 5 years ago
  Andrew Belt 39a21966e2 Respond to MIDI "all notes off" message in MIDI-CV and MIDI-Gate. 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. 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 c713cfb864 Make midi::Message a wrapper for std::vector<uint8_t> since MIDI messages have unbounded size (due to SysEx). 5 years ago