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.
Ban `long` from codebase. Use int64_t instead.
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
Andrew Belt
dccdacf3bc
Update midi API to behave similarly to audio API.
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
ef89a96c87
Change ParamQuantity/PortInfo label to name.
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
99b17727ab
WIP:
- Make ParamWidget hold module/paramId instead of paramQuantity.
- Add configInput/configOutput.
- Add engine::PortInfo.
- Avoid calling particular events when cursor is locked.
- Add PortTooltip.
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
a7fc2c67e3
Add text editing in NoteChoice of MIDI-Gate and CC-Gate.
5 years ago
Andrew Belt
82098f21c4
Core MIDI-Map: Only set param if CC is initialized.
5 years ago
Andrew Belt
49654d0c82
Fix sustain pedal bug in polyphonic mode.
5 years ago
Andrew Belt
07099e9ccb
MIDI-Map: Jump value for MIDI CC buttons.
5 years ago
Andrew Belt
898f13cd91
MIDI-Map: re-enable filtering.
MIDI-Map: fix param/filter value initialization.
MIDI-CV: refactor.
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
e51ce44588
Remove PulseAudio from default Linux rtaudio build, fix lastPath being overwritten when autosave is loaded, add List, replace AddModuleWindow with Sublime Text-like browser (partially complete)
7 years ago
Andrew Belt
614c6d0988
Add MIDITriggerToCVInterface skeleton
7 years ago
Andrew Belt
e4eaf22b87
Swap input/output LEDs in Audio Interface
7 years ago
Andrew Belt
25226eb5d5
Add MIDI-4 skeleton
7 years ago
Andrew Belt
6049c0abe5
Added util/color.hpp, fixed LightWidget color algorithm, added Ctrl+U key command for "Disconnect cables", refactor audio.cpp/midi.cpp, add new Audio Interface panel
7 years ago
Andrew Belt
df069a8870
Add grouping to AudioInterface
7 years ago
Andrew Belt
db8d0fc1d6
Add partial MIDI CC Interface, MIDI CV fixes
7 years ago
Andrew Belt
1ab4b2cb85
AudioInterface rework, Notes rework, partial MIDIToCVInterface rework
7 years ago