2020-05-30 08:43:37 +10:00
# 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.
2020-09-12 02:07:02 +10:00
Interested in learning more about the project? Join us on [discord ](https://discord.gg/b3hjnGw ), channel `#plugin-gui` .
2020-06-15 14:29:01 +10:00
2020-05-30 08:43:37 +10:00
## Roadmap
Below is a proposed list of milestones (roughly in-order) and their status. Subject to change at any time.
2020-06-14 14:14:01 +10:00
| Feature | Windows | Mac OS | Linux |
| ----------------------------------------------- | ------------------ | ------------------ | ------------------ |
| 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: |
| Window uses an OpenGL surface | :heavy_check_mark: | | :heavy_check_mark: |
| Can find DPI scale factor | | | :heavy_check_mark: |
2020-11-15 07:53:42 +11:00
| Basic event handling (mouse, keyboard) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
2020-11-17 08:08:16 +11:00
| Parent window support | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
2020-11-30 04:17:24 +11:00
| Send messages | | :heavy_check_mark: | |
2020-06-14 14:14:01 +10:00
| *(Converge on a common API for all platforms?)* | | | |
2020-11-13 07:52:49 +11:00
2020-11-15 02:44:55 +11:00
## Prerequisites
### Linux
Install dependencies, e.g.,
```sh
sudo apt-get install libx11-dev libxcursor-dev libxcb-dri2-0-dev libxcb-icccm4-dev libx11-xcb-dev
```
2020-11-13 07:52:49 +11:00
## 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
2020-11-17 08:08:16 +11:00
dual licensed as above, without any additional terms or conditions.