# MediaTool This is a collection of tools and apps for working with various media (Web, Desktop Publishing, Video/Audio) on different platforms (Linux, Windows). It tries to have low dependencies and lots of things are built from scratch. This is a personal/hobby project - things will break/change a lot. # Build Dependencies ## Linux ### Minimal ```bash sudo apt-get install build-essential cmake ``` ### Optional #### Audio ```bash sudo apt-get install libasound2-dev ``` #### Image Formats ```bash sudo apt-get install libpng-dev ``` #### Window rendering ```bash sudo apt-get install libwayland-dev wayland-protocols ``` We need to generate suitable xdg shell c code for wayland: ```bash mkdir $WORK_DIR cd $WORK_DIR wayland-scanner private-code < /usr/share/wayland-protocols/stable/xdg-shell/xdg-shell.xml > xdg-shell-protocol.cpp wayland-scanner client-header < /usr/share/wayland-protocols/stable/xdg-shell/xdg-shell.xml > xdg-shell-client-protocol.h export WAYLAND_EXTENSION_DIR=$WORK_DIR ``` In `xdg-shell-protocol.cpp` - we need access to `xdg_wm_base_interface` so export it also `extern const struct wl_interface xdg_wm_base_interface;` as per similar interface structs. # Build from Source ## Linux ```bash mkdir build cd build cmake $PATH_TO_SOURCE make apps/$NAME_OF_APP ```