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
Andrew Belt
2ff1ee5c86
Allow separation from Module and ModuleWidget in Model subclass
7 years ago
Andrew Belt
6a8d2f5a4d
Change Port's createInput and createOutput to create
7 years ago
Andrew Belt
2873f35e72
Add Widget::create static methods, replaces create*() helpers in
rack.hpp
7 years ago
Andrew Belt
9a443f07c8
Refactoring, remove "f" and "i" prefixes from math.hpp functions
7 years ago
Andrew Belt
63cd488674
Added active light indicators to AudioInterface and MIDItoCVInterface
7 years ago
Andrew Belt
5e6463f5af
Reorganize midi.hpp and audio.hpp, add prompt before clearing patch after crash, add Bridge scaffolding to AudioIO
7 years ago
Andrew Belt
575e4df2fd
Use RELEASE=1 to build release version. VERSION is automatically set in the Makefile now.
Add detection code for legacy1 mode for patch files.
Initialize patch on launch if the last launch crashed after 15 seconds.
7 years ago