Files
MichaelScottsman 4fc0cfffd6 assPod: a music and video player in the hand, on VLC
A music note button on the dashboard bar, left of the paintbrush, opens the
assPod in the hand whose laser pressed it. VLC plays its media library's music
and videos in the background; both sticks turn the click wheel, A and stick
clicks press the centre, B is Menu and the hamburger button puts it away. The
rest of the UI fades out while it is open.

- device/asspod: the pod's OS, screens, VLC engine and scene graph (bundled by
  tools/build_asspod.py into device/vr/systemui.asspod.js), with the model
  exported from tools/asspod-model
- native/podd: renders the 3D body with real shaders into a box of stereo
  portal panels, and the playing video's picture under the screen
- device/shell_ext/asspod.py: VLC, the library scan, art, podd, and video
  frames from ffmpeg paced to VLC's clock; videos keep their place across
  restarts
- Reposition and Black/White finish on the main menu
- install.sh offers to install VLC when it is missing
2026-10-09 22:27:35 -04:00

28 lines
1.1 KiB
Bash

#!/bin/sh
# Builds podd on the Frame (aarch64, GCC, GBM/EGL/GLES 3.2, SteamVR's own libopenvr_api), with
# glassd's GPU and math helpers (../glassd/src). Output: ./podd (where device/shell_ext/asspod.py
# looks: native/podd/podd).
#
# sh build.sh # release build
# DEBUG=1 sh build.sh # -O0 -g
set -e
cd "$(dirname "$0")"
INC=${OPENVR_INCLUDE:-$HOME/frametop/screens/build/include}
if [ ! -f "$INC/openvr.h" ]; then
INC=../glassd/build/include
if [ ! -f "$INC/openvr.h" ]; then
mkdir -p "$INC"
curl -fsSL "https://raw.githubusercontent.com/ValveSoftware/openvr/v2.15.6/headers/openvr.h" -o "$INC/openvr.h"
fi
fi
mkdir -p build
if [ -n "$DEBUG" ]; then OPT="-O0 -g"; else OPT="-O2"; fi
VRLIB="-L/opt/steamvr/bin/linuxarm64 -lopenvr_api -Wl,-rpath,/opt/steamvr/bin/linuxarm64"
# shellcheck disable=SC2046
g++ -std=c++17 $OPT -Wall -Wno-missing-field-initializers -Wno-unused-function \
-I"$INC" -I../glassd/src $(pkg-config --cflags egl glesv2 gbm) \
podd.cpp -o build/podd \
$(pkg-config --libs egl glesv2 gbm) $VRLIB -lpthread
install -m755 build/podd podd
echo "built $(pwd)/podd"