Andrew Belt
706efe908c
Use nvgCreateSharedGL2() to create framebuffer NanoVG context, so it shares fonts and images with the main context.
3 years ago
Andrew Belt
d7096ae631
Add FramebufferWidget::viewportMargin.
3 years ago
Andrew Belt
e334b1dd31
Fix Window::screenshotModule() not rendering illuminated lights.
3 years ago
Andrew Belt
2aaa25020d
In the Window destructor, delete Fonts and Images from the cache before the NanoVG context is deleted.
3 years ago
Andrew Belt
44568cd617
Rename and negate Window::getFrameTimeOverdue() to getFrameDurationRemaining().
3 years ago
Andrew Belt
401e239589
Add sleep fallback to Window::step() if glfwSwapBuffers() fails to block until monitor refresh.
3 years ago
Andrew Belt
c3ff43b6de
Rename *Dir() functions to *Directory(), backtracking on a previous commit.
3 years ago
Andrew Belt
8a33dd24b4
Fix Window::screenshotModules() after being broken by FramebufferWidget changes.
3 years ago
Andrew Belt
a47acc0e64
Log graphics card vender in Window constructor.
3 years ago
Andrew Belt
0b9e052142
git doesn't recognize when filename case is changed on a case-insensitive filesystem.
3 years ago
Andrew Belt
a2904149c8
Rename window.hpp/cpp to Window.hpp/cpp since it's a class.
3 years ago
Andrew Belt
332b361f87
Remove FrameRateWidget code from Scene. Add debugging to Window::step().
3 years ago
Andrew Belt
915e3fcdb9
Clean up FramebufferWidget, Window.
3 years ago
Andrew Belt
241511876e
Make FramebufferWidget draw the framebuffer in draw() instead of step().
3 years ago
Andrew Belt
00eb16189b
Use "directory/dir" terminology instead of "folder" except for UI text.
3 years ago
Andrew Belt
55aa05bb89
Set default line height to 1.2 in Label and Tooltip.
3 years ago
Andrew Belt
6ffe9ff900
Don't redraw FramebufferWidget on subpixel change when dragging ModuleWidgets.
3 years ago
Andrew Belt
36ef61627e
Save and restore context when calling glfwPollEvents().
3 years ago
Andrew Belt
22fd1a4ff1
Store Context instead of Window as user pointer of GLFWwindow.
3 years ago
Andrew Belt
750cbfea5a
Use callbacks to set window pos, size, and maximized settings instead of
on Window destruction.
3 years ago
Andrew Belt
ca44ad96cc
Correctly update window position and size when window is resized or
maximized.
3 years ago
Andrew Belt
fa2f3d0234
Add ResizeHandle to Scene.
3 years ago
Andrew Belt
48331e4e70
Add app variant name to window title.
4 years ago
Andrew Belt
88995ab5f3
Remove debug message.
4 years ago
Andrew Belt
e712c98020
Fix screenshot command -t not generating correct PNGs.
4 years ago
Andrew Belt
c545995fb1
Make fonts and images be permanently cached. Use font cache in LedDisplay.
4 years ago
Andrew Belt
55fa1f0dca
Move Svg from window.hpp to svg.hpp. Deprecate Window::loadSvg(). Un-deprecate Svg::load().
4 years ago
Andrew Belt
ad1d109845
Add ContextCreateEvent and ContextDestroyEvent.
4 years ago
Andrew Belt
c9cf25f66e
Merge event namespace into widget namespace. Event classes are now defined inside the Widget class.
4 years ago
Andrew Belt
b6e4767e46
Remove "v" from version display strings. Make Windows installer not
install over Rack v1.
4 years ago
Andrew Belt
754319c3ce
Add Window::step().
4 years ago
Andrew Belt
3bdf4bf06c
Take screenshot when patch is saved (Currently disabled).
4 years ago
Andrew Belt
8d908a0a55
Add system::join(). Add asset::module().
4 years ago
Andrew Belt
3fbd0f77a9
Move string::absolute, directory, filename, filenameBase, and filenameExtension to system::getAbsolute, getDirectory, getFilename, getStem, and getExtension. Reimplement most system:: functions using std::experimental::filesystem. Add system::doesExist, getFileSize, and getTempDir.
4 years ago
Andrew Belt
c9bd5e9a3c
Refactor Window methods for getting frame times.
4 years ago
Andrew Belt
c8e2b5fc4a
Move most FramebufferWidget member fields to an opaque pointer.
5 years ago
Andrew Belt
0cefd1138b
Replace event::Zoom with event::Dirty.
5 years ago
Andrew Belt
28666a57fc
Remove ability to set native parent of Window in this branch.
5 years ago
Andrew Belt
7577d49c39
Add native parent handle argument to Window constructor.
5 years ago
Andrew Belt
2bd9d590dc
Add Mouse device to Computer keyboard/mouse MIDI driver.
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
68a875bbca
Improve clarity and modularity of PatchManager methods.
5 years ago
Andrew Belt
866f684ce4
Move app::APP_*, ABI_*, and API_* variables to rack:: namespace.
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
6800cc7493
Add back "allowCursorLock" to settings and menu bar.
5 years ago
Andrew Belt
6a5f6fd6f3
Add knob mode menu item. Remove "allowCursorLock" setting.
5 years ago
Andrew Belt
040d862102
Move Window::mousePos to Scene::mousePos.
5 years ago
Andrew Belt
7b924b56a3
Don't allow TextField::onSelectKey to consume all keys, only the ones it uses.
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