docs: sample project

This commit is contained in:
2025-11-10 23:00:45 +01:00
parent fb5e5fcf38
commit 570c902909
7 changed files with 277 additions and 9 deletions
+192
View File
@@ -0,0 +1,192 @@
#################################
## FORGE SAMPLE PROJECT CONFIG ##
#################################
# Your reading a FORGE configuration file, don't panic
# Everything here is designed to link elements between them
# (shaders, video devices, textures, midi inputs, etc.)
# Every number based constant will be "one-based" (1,2,3,etc.)
# To read more, go to
# https://github.com/klemek/forge-steel
# ================
# FRAGMENT SHADERS
# ================
# === UNIFORMS ===
# GLSL uniform names or prefixes
# Prefixed uniforms are "iVariableX" with a number
# --- uniform float ---
# Elapsed time
UNIFORM_TIME=iTime
# Current tempo
UNIFORM_TEMPO=iTempo
# Current total beats
UNIFORM_BEATS=iBeats
# --- uniform int ---
# Output frame per second
UNIFORM_FPS=iFPS
# 0/1 if demo
UNIFORM_DEMO=iDemo
# 0/1 if auto random
UNIFORM_AUTORAND=iAutoRand
# Seed for shader X
UNIFORM_SEED_PREFIX=iSeed
# --- uniform vec2 ---
# Output resolution
UNIFORM_RESOLUTION=iResolution
# --- uniform vec3 ---
# Midi group X layer Y (beware of group size)
# Injected as "iMidiX_Y[Z]"
UNIFORM_MIDI_PREFIX=iMidi
# --- uniform sampler2D ---
# Internal texture X
UNIFORM_TEX_PREFIX=iTex
# ===========
# TEXTURE I/O
# ===========
# Total number of internal textures
TEX_COUNT=1
# === FRAGMENT SHADERS
# Fragment shaders will be read from the CLI directory as "fragX.glsl"
# Special shader "frag0.glsl" will be prepend to each one
# Prefix of fragment shaders to detect
FRAG_FILE_PREFIX=frag
# Total number of fragment shaders (excluding frag0.glsl)
FRAG_COUNT=2
# To which texture will the shader fragX.glsl will render to
FRAG_1_OUT=0
# Which fragment shader renders to output window
FRAG_OUTPUT=2
# Which fragment shader renders to monitor window
FRAG_MONITOR=2
# ========
# MIDI I/O
# ========
# The recognized ALSA name of the midi device
MIDI_HW=hw:CARD=nanoKONTROL2
# === TYPES OF EVENTS
# FORGE needs to differentiate between fader and buttons
# In the next configurations, when an event is not configured,
# it will be skipped
# Total number of faders
FADER_COUNT=16
# Midi codes of faders
FADER_1=0
FADER_2=1
FADER_3=2
FADER_4=3
FADER_5=4
FADER_6=5
FADER_7=6
FADER_8=7
FADER_9=16
FADER_10=17
FADER_11=18
FADER_12=19
FADER_13=20
FADER_14=21
FADER_15=22
FADER_16=23
# Midi code for tap tempo
TAP_TEMPO=46
# === MIDI INPUT STATES
# Midi inputs will control FORGE's state as follows
# X groups of Y layers sized Z
# You can manipulate only 1 layer at a time
# Every layer of every groups will be send as uniforms
# Each active layer will be sent back to the device
# with the same codes for nice display
# Total number of groups
MIDI_COUNT=1
# Size of group 1
MIDI_1_COUNT=20
# Every code of active layer manipulation of group 1
MIDI_1_1_X=32
MIDI_1_1_Y=48
MIDI_1_1_Z=64
MIDI_1_2_X=0
MIDI_1_2_Y=16
MIDI_1_2_Z=
MIDI_1_3_X=33
MIDI_1_3_Y=49
MIDI_1_3_Z=65
MIDI_1_4_X=1
MIDI_1_4_Y=17
MIDI_1_4_Z=
MIDI_1_5_X=34
MIDI_1_5_Y=50
MIDI_1_5_Z=66
MIDI_1_6_X=2
MIDI_1_6_Y=18
MIDI_1_6_Z=
MIDI_1_7_X=35
MIDI_1_7_Y=51
MIDI_1_7_Z=67
MIDI_1_8_X=3
MIDI_1_8_Y=19
MIDI_1_8_Z=
MIDI_1_9_X=36
MIDI_1_9_Y=52
MIDI_1_9_Z=68
MIDI_1_10_X=4
MIDI_1_10_Y=20
MIDI_1_10_Z=
MIDI_1_11_X=37
MIDI_1_11_Y=53
MIDI_1_11_Z=69
MIDI_1_12_X=5
MIDI_1_12_Y=21
MIDI_1_12_Z=
MIDI_1_13_X=38
MIDI_1_13_Y=54
MIDI_1_13_Z=70
MIDI_1_14_X=6
MIDI_1_14_Y=22
MIDI_1_14_Z=
MIDI_1_15_X=39
MIDI_1_15_Y=55
MIDI_1_15_Z=71
MIDI_1_16_X=7
MIDI_1_16_Y=23
MIDI_1_16_Z=
MIDI_1_17_X=58
MIDI_1_17_Y=59
MIDI_1_17_Z=
MIDI_1_18_X=60
MIDI_1_18_Y=61
MIDI_1_18_Z=62
MIDI_1_19_X=43
MIDI_1_19_Y=44
MIDI_1_19_Z=42
MIDI_1_20_X=41
MIDI_1_20_Y=45
MIDI_1_20_Z=