Rough attempts to build stuff from scratch
Find a file
2022-11-11 15:51:37 +00:00
apps More window cleaning 2022-11-11 14:22:31 +00:00
src Prep for image support in windows. 2022-11-11 15:51:37 +00:00
test More cleaning 2022-11-11 11:48:42 +00:00
.gitignore Start adding config reader 2022-10-09 17:39:46 +01:00
CMakeLists.txt Fixing up Windows build. 2021-09-26 21:42:35 +01:00
LICENSE License and name update. 2020-06-07 18:37:30 +01:00
README.md Intial Wayland EGL integration. 2022-11-11 09:14:41 +00:00

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

sudo apt-get install build-essential cmake

Optional

Audio

sudo apt-get install libasound2-dev

Image Formats

sudo apt-get install libpng-dev

Window rendering

sudo apt-get install libwayland-dev wayland-protocols libx11-dev libxkbcommon-dev libx11-xcb-dev

We need to generate suitable xdg shell c code for wayland:

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.

3D Rendering

sudo apt-get install libgl-dev libegl1-mesa-dev

fonts

sudo apt-get install libfreetype-dev

Build from Source

Linux

mkdir build
cd build
cmake $PATH_TO_SOURCE
make
apps/$NAME_OF_APP