Home

Awesome

baseview

A low-level windowing system geared towards making audio plugin UIs.

baseview abstracts the platform-specific windowing APIs (winapi, cocoa, xcb) into a platform-independent API, but otherwise gets out of your way so you can write plugin UIs.

Interested in learning more about the project? Join us on discord, channel #plugin-gui.

Roadmap

Below is a proposed list of milestones (roughly in-order) and their status. Subject to change at any time.

FeatureWindowsMac OSLinux
Spawns a window, no parent:heavy_check_mark::heavy_check_mark::heavy_check_mark:
Cross-platform API for window spawning:heavy_check_mark::heavy_check_mark::heavy_check_mark:
Can find DPI scale factor:heavy_check_mark::heavy_check_mark:
Basic event handling (mouse, keyboard):heavy_check_mark::heavy_check_mark::heavy_check_mark:
Parent window support:heavy_check_mark::heavy_check_mark::heavy_check_mark:
OpenGL context creation (behind the opengl feature):heavy_check_mark::heavy_check_mark::heavy_check_mark:

Prerequisites

Linux

Install dependencies, e.g.:

sudo apt-get install libx11-dev libxcb1-dev libx11-xcb-dev libgl1-mesa-dev

License

Licensed under either of <a href="LICENSE-APACHE">Apache License, Version 2.0</a> or <a href="LICENSE-MIT">MIT license</a> at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Baseview by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.