Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
e9572b3
Add missing <chrono> include in Playlist.cpp
kblaschke Nov 4, 2025
cc8a3f6
Use Boost's own CMake configuration file instead of CMake's module
kblaschke Nov 4, 2025
ddf8f98
Force use of Boost's config package in projectM's installed CMake config
kblaschke Nov 10, 2025
e3a4ddf
Silence CMake warning if projectM-Eval is not found externally.
kblaschke Nov 4, 2025
e3f19db
Use previous frame's image (plus motion vectors) in blur textures
yoyofr Nov 10, 2025
7e5f84b
Set vertex_point_size uniform for all uses of the untextured vertex s…
yoyofr Nov 12, 2025
82b71e2
Fix some default waveform rendering bugs
yoyofr Nov 12, 2025
406e5c9
Remove decay value fix for 16-bit GPUs, as it capped decay to 0.9375.
kblaschke Nov 11, 2025
f8fe003
fixed an issue with sep attribute mngt / per pixel
yoyofr Nov 19, 2025
961ed47
Add additional row-access functions for matrices in HLSL transpiler
yoyofr Nov 19, 2025
082f3b7
Remove warp texel offset, introduced drift in warp shader.
yoyofr Nov 19, 2025
ae4246c
Add missing "fwidth" intrinsic in HLSL transpiler
yoyofr Nov 19, 2025
fdd9428
Fix a constant's type in float acos(float) overload in HLSL transpiler
yoyofr Nov 19, 2025
0ac5c24
Place shader "PS" function into its own line and wrap arguments for r…
yoyofr Nov 19, 2025
f55d4a9
Fix wrong type used in PCM smoothing in custom waves.
yoyofr Nov 19, 2025
19e945c
Apply possible HLSL compiler optimization for pow() function with lit…
yoyofr Nov 19, 2025
a77d2da
Add workflow configurations to test boost-filesystem and more platfor…
kblaschke Nov 4, 2025
3b429f3
Bump projectm-eval submodule version to 1.0.5
kblaschke Nov 10, 2025
bb2ad96
Update vcpkg repo baseline commit to include projectm-eval 1.0.5
kblaschke Nov 11, 2025
b56c3e8
Bump libprojectM version to 4.1.6
kblaschke Nov 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 31 additions & 42 deletions .github/workflows/build_android.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,27 @@
name: Android (arm64-v8a, API level 33)
name: Android

on:
push:
branches:
branches:
- "*"
tags:
- "*"

pull_request:
branches:
branches:
- "*"

jobs:
build-shared:
name: Shared Library
runs-on: ubuntu-latest
name: "Libs: ${{ matrix.libs }}, ABI: ${{ matrix.abi }}, Platform: ${{ matrix.platform-version }}, Build OS: ${{ matrix.runs-on }}"
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
libs: ['shared', 'static']
abi: ['arm64-v8a', 'armeabi-v7a', 'x86_64']
platform-version: ['33']
runs-on: ['ubuntu-24.04']

steps:
- uses: actions/checkout@v4
Expand All @@ -27,41 +34,23 @@ jobs:
sudo apt-get install -y ninja-build

- name: Configure Build
run: cmake -G "Ninja Multi-Config" -S "${{ github.workspace }}" -B "${{ github.workspace }}/cmake-build" -DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake" -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" -DANDROID_PLATFORM=33 -DANDROID_ABI=arm64-v8a -DCMAKE_VERBOSE_MAKEFILE=YES -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=NO -DENABLE_SDL_UI=OFF

- name: Build Debug
run: cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --parallel

- name: Build Release
run: cmake --build "${{ github.workspace }}/cmake-build" --config "Release" --parallel

- name: Install
run: |
cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --target install
cmake --build "${{ github.workspace }}/cmake-build" --config "Release" --target install

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: projectm-android-shared-latest
path: install/*

build-static:
name: Static Library
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Install Packages
run: |
sudo apt-get update
sudo apt-get install -y libgl1-mesa-dev mesa-common-dev libsdl2-dev libglm-dev libgtest-dev libgmock-dev ninja-build

- name: Configure Build
run: cmake -G "Ninja Multi-Config" -S "${{ github.workspace }}" -B "${{ github.workspace }}/cmake-build" -DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake" -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" -DANDROID_PLATFORM=33 -DANDROID_ABI=arm64-v8a -DCMAKE_VERBOSE_MAKEFILE=YES -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=NO -DENABLE_SDL_UI=OFF
if [ "${{ matrix.libs }}" == "shared" ]; then
shared_libs=ON
else
shared_libs=OFF
fi
cmake -G "Ninja Multi-Config" \
-S "${{ github.workspace }}" \
-B "${{ github.workspace }}/cmake-build" \
-DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake" \
-DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" \
-DANDROID_PLATFORM="${{ matrix.platform-version }}" \
-DANDROID_ABI="${{ matrix.abi }}" \
-DCMAKE_VERBOSE_MAKEFILE=YES \
-DBUILD_SHARED_LIBS="${shared_libs}" \
-DBUILD_TESTING=NO \
-DENABLE_SDL_UI=OFF

- name: Build Debug
run: cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --parallel
Expand All @@ -77,5 +66,5 @@ jobs:
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: projectm-android-static-latest
path: install/*
name: projectm-android-${{ matrix.libs }}-${{ matrix.abi }}-api${{ matrix.platform-version }}
path: install/*
31 changes: 23 additions & 8 deletions .github/workflows/build_emscripten.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,27 @@ name: Emscripten

on:
push:
branches:
branches:
- "*"
tags:
- "*"

pull_request:
branches:
branches:
- "*"

jobs:
build:
name: Static Library
runs-on: ubuntu-latest
name: "Libs: ${{ matrix.libs }}, FS Lib: ${{ matrix.fslib }}, SDK: ${{ matrix.emsdk-version }}, Arch: WASM, Build OS: ${{ matrix.runs-on }}"
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
include:
- libs: static
fslib: stl
emsdk-version: 3.1.53
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v4
Expand All @@ -25,7 +33,7 @@ jobs:
uses: mymindstorm/setup-emsdk@v14
with:
# Make sure to set a version number!
version: 3.1.53
version: ${{ matrix.emsdk-version }}
# This is the name of the cache folder.
# The cache folder will be placed in the build directory,
# so make sure it doesn't conflict with anything!
Expand All @@ -45,7 +53,14 @@ jobs:
cd ${{ github.workspace }}/build-gtest && ./setup.sh && ./build-emscripten.sh

- name: Configure Build
run: emcmake cmake -G "Unix Makefiles" -S "${{ github.workspace }}" -B "${{ github.workspace }}/cmake-build" -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" -DCMAKE_VERBOSE_MAKEFILE=YES -DBUILD_TESTING=YES -DGTest_DIR="${{ github.workspace }}/build-gtest/dist/emscripten/lib/lib/cmake/GTest"
run: |
emcmake cmake -G "Unix Makefiles" \
-S "${{ github.workspace }}" \
-B "${{ github.workspace }}/cmake-build" \
-DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" \
-DCMAKE_VERBOSE_MAKEFILE=YES \
-DBUILD_TESTING=YES \
-DGTest_DIR="${{ github.workspace }}/build-gtest/dist/emscripten/lib/lib/cmake/GTest"

- name: Build Debug
run: emmake cmake --build "${{ github.workspace }}/cmake-build" --parallel
Expand All @@ -65,5 +80,5 @@ jobs:
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: projectm-emscripten-static-latest
name: projectm-emscripten-${{ matrix.libs }}-emsdk-${{ matrix.emsdk-version }}
path: install/*
92 changes: 46 additions & 46 deletions .github/workflows/build_linux.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,26 @@
name: Ubuntu Linux (x86_64)
name: Linux

on:
push:
branches:
branches:
- "*"
tags:
- "*"

pull_request:
branches:
branches:
- "*"

jobs:
build-shared:
name: Shared Library
runs-on: ubuntu-latest
name: "Libs: ${{ matrix.libs }}, FS Lib: ${{ matrix.fslib }}, Build OS: ${{ matrix.runs-on }}"
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
libs: ['shared', 'static']
fslib: ['stl', 'boost']
runs-on: ['ubuntu-24.04', 'ubuntu-22.04']

steps:
- uses: actions/checkout@v4
Expand All @@ -24,47 +30,41 @@ jobs:
- name: Install Packages
run: |
sudo apt-get update
sudo apt-get install -y libgl1-mesa-dev mesa-common-dev libsdl2-dev libglm-dev libgtest-dev libgmock-dev ninja-build

- name: Configure Build
run: cmake -G "Ninja Multi-Config" -S "${{ github.workspace }}" -B "${{ github.workspace }}/cmake-build" -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" -DCMAKE_VERBOSE_MAKEFILE=YES -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=YES

- name: Build Debug
run: cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --parallel

- name: Run Unit Tests
run: ctest --test-dir "${{ github.workspace }}/cmake-build" --verbose --build-config "Debug"

- name: Build Release
run: cmake --build "${{ github.workspace }}/cmake-build" --config "Release" --parallel

- name: Install
sudo apt-get install --yes --no-install-recommends \
libgl1-mesa-dev \
mesa-common-dev \
libsdl2-dev \
libglm-dev \
libgtest-dev \
libgmock-dev \
ninja-build

- name: Install boost-filesystem-dev
if: "${{ contains(matrix.fslib, 'boost') }}"
run: |
cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --target install
cmake --build "${{ github.workspace }}/cmake-build" --config "Release" --target install

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: projectm-linux-shared-latest
path: install/*

build-static:
name: Static Library
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Install Packages
run: |
sudo apt-get update
sudo apt-get install -y libgl1-mesa-dev mesa-common-dev libsdl2-dev libglm-dev libgtest-dev libgmock-dev ninja-build
sudo apt-get install --yes --no-install-recommends \
libboost-filesystem-dev

- name: Configure Build
run: cmake -G "Ninja Multi-Config" -S "${{ github.workspace }}" -B "${{ github.workspace }}/cmake-build" -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" -DCMAKE_VERBOSE_MAKEFILE=YES -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=YES
run: |
if [ "${{ matrix.libs }}" == "shared" ]; then
shared_libs=ON
else
shared_libs=OFF
fi
if [ "${{ matrix.fslib }}" == "boost" ]; then
use_boost=ON
else
use_boost=OFF
fi
cmake -G "Ninja Multi-Config" \
-S "${{ github.workspace }}" \
-B "${{ github.workspace }}/cmake-build" \
-DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" \
-DCMAKE_VERBOSE_MAKEFILE=YES \
-DBUILD_SHARED_LIBS="${shared_libs}" \
-DENABLE_BOOST_FILESYSTEM="${use_boost}" \
-DBUILD_TESTING=YES

- name: Build Debug
run: cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --parallel
Expand All @@ -83,5 +83,5 @@ jobs:
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: projectm-linux-static-latest
path: install/*
name: projectm-linux-${{ matrix.libs }}-${{ matrix.fslib }}-${{ matrix.runs-on }}
path: install/*
Loading
Loading