Andrew Belt
58a44db0c5
Slightly increase performance of system::getNanoseconds() for Linux.
4 years ago
Andrew Belt
306e454f0c
Use higher resolution clock for system::getNanoseconds() on Windows.
Ban `long` from codebase. Use int64_t instead.
4 years ago
Andrew Belt
f4b54f74b7
Added "recentPatchPaths" to settings.json and a "Open recent" menu item.
4 years ago
Andrew Belt
6800cc7493
Add back "allowCursorLock" to settings and menu bar.
4 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.
4 years ago
Andrew Belt
5a45c26da6
Add system::getNanoseconds(). Use it instead of std::chrono.
4 years ago
Andrew Belt
4dce9431a5
Add "knobLinearSensitivity" to settings.json.
4 years ago
Andrew Belt
b93e889c75
Implement scaled linear and rotary knob modes.
4 years ago
Andrew Belt
6a5f6fd6f3
Add knob mode menu item. Remove "allowCursorLock" setting.
4 years ago
Andrew Belt
040d862102
Move Window::mousePos to Scene::mousePos.
4 years ago
Andrew Belt
c2379c833e
Refactor Quantity. Fix SvgKnob for parameters with 0 range.
4 years ago
Andrew Belt
c7f65f7bfb
Remove system::getThreadTime() and system::setThreadRealTime().
4 years ago
Andrew Belt
d11223d0e0
Call ParamQuantity::getDefaultValue() in configParam() to set initial value of param.
4 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
55852118f7
Add appendAudioMenu() and appendMidiMenu().
5 years ago
Andrew Belt
e1aaa6f6a7
Fix abstractions of audio structure. Some testing.
5 years ago
Andrew Belt
b6a7b09e7a
Restructure audio namespace to mirror midi class structure. (untested)
5 years ago
Andrew Belt
a34b6ef16e
Remove Bridge audio/MIDI driver.
5 years ago
Andrew Belt
3073bef995
Add page up/down, home, and end key commands to ScrollWidget.
5 years ago
Andrew Belt
c9e0b82204
Add limit to undo history (currently 500 actions).
5 years ago
Andrew Belt
75ea2b353a
Remove force_link_glibc header.
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
265552d0db
Clone cables patched to inputs when a module is cloned.
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
dd81e79d9e
Add tag::getTag().
5 years ago
Andrew Belt
cc14d40fe3
Remove preset directory if empty.
5 years ago
Andrew Belt
38c99ad0a8
Scan preset directories when preset menu is created. Add user preset directory.
5 years ago
Andrew Belt
05df47fbd1
Add Internal struct to ModuleWidget.
5 years ago
Andrew Belt
213f51509c
Add tinyexpr library. Use tinyexpr for Quantity parsing.
5 years ago
Andrew Belt
804dc4daf2
Interpret blank ParamQuantity/PortInfo name as "#id".
5 years ago
Andrew Belt
adc3f681c3
Rearrange text in PortTooltip
5 years ago
Andrew Belt
7b61f3599d
Add configInpug/Output to helper.py.
5 years ago
Andrew Belt
ae19e33774
Make PortInfo a virtual class.
5 years ago
Andrew Belt
ef89a96c87
Change ParamQuantity/PortInfo label to name.
5 years ago
Andrew Belt
4a462fadc5
Add "Connected to" to PortTooltip.
5 years ago
Andrew Belt
14d9a8ea82
Add module whitelist to settings and Module Browser.
5 years ago
Andrew Belt
6907d53a25
Remove real-time menu item and setting.
5 years ago
Andrew Belt
047e799554
Add math::Rect::getLeft/Top().
5 years ago
Andrew Belt
9b24182542
Allow audio interfaces with no input to be used. Fix sample rate conversion.
5 years ago
Andrew Belt
90e70060c3
Add manualUrl to plugin::Model.
5 years ago
Andrew Belt
0dbce1683d
Work on PortTooltips.
5 years ago
Andrew Belt
ccb4fe41ec
Add ParamWidget::appendContextMenu(). Fix helper.hpp member field setting.
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
4936df2c0b
Move ParamWidget/Knob/Switch properties to ParamQuantity. Fix static linking on Linux.
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
ba056f6d6a
Update documentation for string::.
5 years ago
Andrew Belt
c53fbebd97
string namespace: Change base64 functions. Add compress/uncompress.
5 years ago