Files
forge-steel/README.md
T

7.2 KiB

CI

F.O.R.G.E. (Steel)

Fusion Of Real Time Generative Effects

Steel version (PC executable)

TODO cool image and youtube link

Table of Contents

What is FORGE ?

TODO

Install

Prerequisites

library apt pacman
libglfw libglfw3-dev extra/glfw
libGL libgl-dev extra/libglvnd
libasound libasound2-dev extra/alsa-lib
libv4l2 libv4l-dev extra/v4l-utils

From release

See Releases

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

From repository (PKGBUILD)

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

From repository (dev version)

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

CLI usage

usage: forge [-h] [-v] [-hr] [-s=SCREEN] [-m=SCREEN] [-mo] [-f=DIR_PATH] [-c=CFG_PATH] [-sf=STATE_PATH] [-ls / -nls] [-ss / -nss] [-is=SIZE] [-v=FILE] [-vs=SIZE] [-t=TEMPO] [--demo] [-w] 

Fusion Of Real-time Generative Effects.

options:
  -h, --help                show this help message and exit
  -v, --version             print version
  -hr, --hot-reload         hot reload of shaders scripts
  -s, --screen              output screen number (default: primary)
  -m, --monitor             monitor screen number (default: none)
  -mo, --monitor-only       no output screen
  -f, --frag                fragment shaders directory (default: /usr/share/forge/shaders)
  -c, --config              fragment shaders config file (default: /usr/share/forge/default.cfg)
  -sf, --state-file         saved state file (default: forge_saved_state.txt)
  -ls, --load-state         load saved state (default)
  -nls, --no-load-state     do not load saved state
  -ss, --save-state         save state (default)
  -nss, --no-save-state     do not save state
  -is, --internal-size      internal texture height (default: 720)
  -v, --video-in            path to video capture device (multiple allowed)
  -vs, --video-size         video capture desired height (default: internal texture height)
  -t, --tempo               base tempo (default: 60)
  --demo                    demonstration mode (assume --no-save-state and --no-load-state)
  -w, --windowed            not fullscreen
  --trace-midi              print midi code and values
  --trace-fps               print fps status of subsystems

Default Shaders and Config

A.K.A Kleπek's shaders

Sources and Effects

P # SRC COL2 COL3 COL4 FX COL6 COL7 COL8
1 0 Feedback + Thru Hue Saturation Light Thru Hue Saturation _Light
1 Lines Thick. / Dezoom Rotation Distortion Feedback + Shift Zoom / Dezoom X Shift Y Shift
2 Dots Zoom Rotation Lens Shift Zoom / Dezoom X Shift Y Shift
3 Waves Spacing Thickness Vert. Scroll (R) Colorize Black Color White Color Shift
4 Noise Zoom Voronoi dist. Details Quantize Pixel Size Bit Depth Blur
2 5 Video In 1 + Thru Hue Saturation Light Dithering Pixel Size Bit Depth Blur
6 CP437 Zoom Charset Char. Delta TV Lens Horz. Noise Dezoom
7 Sentences Zoom Sentence Vertical repeat Kaleidoscope Axes Rotation Horz. Scroll
8 CP437 Zoom Charset Char. Delta
9 Lens Lens limit Lens power Pre Zoom
3 A Video In 2 + Thru Hue Saturation Light
B
C
D
E Debug --- --- ---

TODO update

Debug View

NanoKontrol2 Controller mapping

In blue is a sample "stage" as most sources/effects use a combination of 4 stages (see table above)

⚠️ you'll need to change your NanoKontrol2 settings to remove the "toggle" behavior of the buttons and use "external" led control

Making your own FORGE config

TODO

Working with frag0.glsl

TODO

Frequently Asked Questions

Why "steel"?

FORGE is a concept which is intended to be derived onto other forms (like Raspberry PI). In order to differentiate between them each would be name after a different alloy.

FORGE (steel) describe the linux version.

How do I report a bug?

TODO

Help I got low FPS on my video device

TODO