Files
forge-steel/README.md
T
2025-09-12 18:41:18 +02:00

2.0 KiB

F.O.R.G.E.

Fusion Of Real Time Generative Effects

TODO

Install

Prerequisites

  • libglfw
  • libGL

From release

See Releases

tar xvzf forge-x.y.z.tar.gz
cd forge-x.y.z
./configure
make
make install

From repository (PKGBUILD)

git clone https://github.com/klemek/forge
cd forge
forge -si

From repository (dev version)

git clone https://github.com/klemek/forge
cd forge
aclocal
autoconf
automake --add-missing
./configure
make
make install

CLI arguments

usage: forge [--help] [-v]

Fusion Of Real-time Generative Effects.

options:
  --help             show this help message and exit
  -v, --version      print version
  -s, --screen       output screen number (default: primary)

Release guide

# get latest version
git pull origin master
# update configure.ac with new version
$EDITOR configure.ac
# make full build
make -f Makefile.dev release
# update PKGBUILD with new version and sha256 sum
sha256sum forge-x.y.z.tar.gz
$EDITOR PKGBUILD
# push to repo
git commit -am "forge vX.Y.Z"
git tag vX.Y.Z
git push origin master --tags
# create release from tag on github
# attach .tar.gz to the github release
make -f Makefile.dev release-arch
# attach .pkg.tar.zst to the github release

Roadmap

  • Basics
    • Create GLSL Window
    • Load static fragment shader into GLSL
    • Add default uniforms
    • Read fragment shader from file
    • Handle compilation errors
    • Minimal working fragment sample
    • Hot-reload fragment shader
    • Force fullscreen
    • Select screen as argument / config
  • Midi
    • Read Midi events
    • Read midi mapping config file
    • Write Midi events
  • MVP
    • Add required libraries in target build
    • Include fragments with special directive
    • Source mixing
    • Save midi state
  • Advanced
    • Video input
    • Feedback input
    • Tap-tempo feature
    • Monitor screen feature (other window)