################################# ## 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=