refactor: not overlaping keyboard and midi
Clang Lint CI / lint-no-video (push) Successful in 1m0s
Clang Build CI / run-no-video (push) Successful in 1m0s
Clang Build CI / run-video (push) Successful in 1m1s
Clang Build CI / build-release (push) Successful in 1m56s
Clang Lint CI / lint-video (push) Successful in 1m59s
Clang Lint CI / lint-no-video (push) Successful in 1m0s
Clang Build CI / run-no-video (push) Successful in 1m0s
Clang Build CI / run-video (push) Successful in 1m1s
Clang Build CI / build-release (push) Successful in 1m56s
Clang Lint CI / lint-video (push) Successful in 1m59s
This commit is contained in:
+102
-99
@@ -66,8 +66,8 @@ UNIFORM_IN_RESOLUTION_PREFIX=iInputResolution
|
||||
# --- uniform vec3 ---
|
||||
|
||||
# Midi group X layer Y (beware of group size)
|
||||
# Injected as "iMidiX_Y[Z]"
|
||||
UNIFORM_MIDI_PREFIX=iMidi
|
||||
# Injected as "iGroupX_Y[Z]"
|
||||
UNIFORM_GROUP_PREFIX=iGroup
|
||||
|
||||
# --- uniform sampler2D ---
|
||||
|
||||
@@ -134,10 +134,17 @@ FRAG_OUTPUT=9
|
||||
FRAG_MONITOR=10
|
||||
|
||||
|
||||
# ========
|
||||
# MIDI I/O
|
||||
# ========
|
||||
|
||||
# ==========
|
||||
# I/O Inputs
|
||||
# ==========
|
||||
# Each code either maps to a midi event or a key code
|
||||
# 1 - 999 -> midi event
|
||||
# 1001 - 1999 -> key code
|
||||
# Keyboard modifiers are encoded like this:
|
||||
# 10000 -> shift
|
||||
# 100000 -> control
|
||||
# 1000000 -> alt
|
||||
# This means 111082 is control+alt+R
|
||||
|
||||
# The recognized ALSA name of the midi device
|
||||
MIDI_HW=hw:CARD=nanoKONTROL2
|
||||
@@ -193,8 +200,8 @@ SELECT_ITEM_3=42
|
||||
SELECT_ITEM_4=41
|
||||
SELECT_ITEM_5=45
|
||||
|
||||
# === MIDI INPUT STATES
|
||||
# Midi inputs will control FORGE's state as follows
|
||||
# === GROUP INPUT STATES
|
||||
# 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
|
||||
@@ -202,72 +209,72 @@ SELECT_ITEM_5=45
|
||||
# with the same codes for nice display
|
||||
|
||||
# Total number of groups
|
||||
MIDI_COUNT=3
|
||||
GROUP_COUNT=3
|
||||
|
||||
# Total number of layers of group 1
|
||||
MIDI_1_ACTIVE_COUNT=2
|
||||
GROUP_1_ACTIVE_COUNT=2
|
||||
# Midi codes to change layer of group 1
|
||||
MIDI_1_ACTIVE_1=32
|
||||
MIDI_1_ACTIVE_2=64
|
||||
GROUP_1_ACTIVE_1=32
|
||||
GROUP_1_ACTIVE_2=64
|
||||
|
||||
# Size of group 1
|
||||
MIDI_1_COUNT=6
|
||||
GROUP_1_COUNT=6
|
||||
# Every code of active layer manipulation of group 1
|
||||
MIDI_1_1_X=33
|
||||
MIDI_1_1_Y=49
|
||||
MIDI_1_1_Z=65
|
||||
MIDI_1_2_X=1
|
||||
MIDI_1_2_Y=17
|
||||
MIDI_1_2_Z=
|
||||
MIDI_1_3_X=34
|
||||
MIDI_1_3_Y=50
|
||||
MIDI_1_3_Z=66
|
||||
MIDI_1_4_X=2
|
||||
MIDI_1_4_Y=18
|
||||
MIDI_1_4_Z=
|
||||
MIDI_1_5_X=35
|
||||
MIDI_1_5_Y=51
|
||||
MIDI_1_5_Z=67
|
||||
MIDI_1_6_X=3
|
||||
MIDI_1_6_Y=19
|
||||
MIDI_1_6_Z=
|
||||
GROUP_1_1_X=33
|
||||
GROUP_1_1_Y=49
|
||||
GROUP_1_1_Z=65
|
||||
GROUP_1_2_X=1
|
||||
GROUP_1_2_Y=17
|
||||
GROUP_1_2_Z=
|
||||
GROUP_1_3_X=34
|
||||
GROUP_1_3_Y=50
|
||||
GROUP_1_3_Z=66
|
||||
GROUP_1_4_X=2
|
||||
GROUP_1_4_Y=18
|
||||
GROUP_1_4_Z=
|
||||
GROUP_1_5_X=35
|
||||
GROUP_1_5_Y=51
|
||||
GROUP_1_5_Z=67
|
||||
GROUP_1_6_X=3
|
||||
GROUP_1_6_Y=19
|
||||
GROUP_1_6_Z=
|
||||
|
||||
# Same for group 2
|
||||
MIDI_2_ACTIVE_COUNT=3
|
||||
MIDI_2_ACTIVE_1=36
|
||||
MIDI_2_ACTIVE_2=68
|
||||
MIDI_2_ACTIVE_3=52
|
||||
MIDI_2_COUNT=7
|
||||
MIDI_2_1_X=37
|
||||
MIDI_2_1_Y=53
|
||||
MIDI_2_1_Z=69
|
||||
MIDI_2_2_X=5
|
||||
MIDI_2_2_Y=21
|
||||
MIDI_2_2_Z=
|
||||
MIDI_2_3_X=38
|
||||
MIDI_2_3_Y=54
|
||||
MIDI_2_3_Z=70
|
||||
MIDI_2_4_X=6
|
||||
MIDI_2_4_Y=22
|
||||
MIDI_2_4_Z=
|
||||
MIDI_2_5_X=39
|
||||
MIDI_2_5_Y=55
|
||||
MIDI_2_5_Z=71
|
||||
MIDI_2_6_X=7
|
||||
MIDI_2_6_Y=23
|
||||
MIDI_2_6_Z=
|
||||
MIDI_2_7_X=4
|
||||
MIDI_2_7_Y=20
|
||||
MIDI_2_7_Z=59
|
||||
GROUP_2_ACTIVE_COUNT=3
|
||||
GROUP_2_ACTIVE_1=36
|
||||
GROUP_2_ACTIVE_2=68
|
||||
GROUP_2_ACTIVE_3=52
|
||||
GROUP_2_COUNT=7
|
||||
GROUP_2_1_X=37
|
||||
GROUP_2_1_Y=53
|
||||
GROUP_2_1_Z=69
|
||||
GROUP_2_2_X=5
|
||||
GROUP_2_2_Y=21
|
||||
GROUP_2_2_Z=
|
||||
GROUP_2_3_X=38
|
||||
GROUP_2_3_Y=54
|
||||
GROUP_2_3_Z=70
|
||||
GROUP_2_4_X=6
|
||||
GROUP_2_4_Y=22
|
||||
GROUP_2_4_Z=
|
||||
GROUP_2_5_X=39
|
||||
GROUP_2_5_Y=55
|
||||
GROUP_2_5_Z=71
|
||||
GROUP_2_6_X=7
|
||||
GROUP_2_6_Y=23
|
||||
GROUP_2_6_Z=
|
||||
GROUP_2_7_X=4
|
||||
GROUP_2_7_Y=20
|
||||
GROUP_2_7_Z=59
|
||||
|
||||
# Same for group 3
|
||||
MIDI_3_COUNT=2
|
||||
MIDI_3_1_X=48
|
||||
MIDI_3_1_Y=58
|
||||
MIDI_3_1_Z=
|
||||
MIDI_3_2_X=0
|
||||
MIDI_3_2_Y=16
|
||||
MIDI_3_2_Z=
|
||||
GROUP_3_COUNT=2
|
||||
GROUP_3_1_X=48
|
||||
GROUP_3_1_Y=58
|
||||
GROUP_3_1_Z=
|
||||
GROUP_3_2_X=0
|
||||
GROUP_3_2_Y=16
|
||||
GROUP_3_2_Z=
|
||||
|
||||
# =====
|
||||
# OTHER
|
||||
@@ -279,55 +286,51 @@ SAVE_FILE_PREFIX=forge_default_save
|
||||
|
||||
# === HOTKEYS
|
||||
# You can change the default keycodes used on runtime
|
||||
# Modifiers are encoded like this:
|
||||
# 1000 -> shift
|
||||
# 10000 -> control
|
||||
# 100000 -> alt
|
||||
# This means 110082 is control+alt+R
|
||||
|
||||
|
||||
# R on (qwerty)
|
||||
HOTKEY_RANDOMIZE=82
|
||||
KEY_RANDOMIZE=1082
|
||||
# SHIFT+R (qwerty)
|
||||
HOTKEY_RESET=1082
|
||||
KEY_RESET=11082
|
||||
# D (qwerty)
|
||||
HOTKEY_DEMO=68
|
||||
KEY_DEMO=1068
|
||||
# A (qwerty)
|
||||
HOTKEY_AUTORAND=65
|
||||
KEY_AUTORAND=1065
|
||||
# Left arrow
|
||||
HOTKEY_AUTORAND_DOWN=263
|
||||
KEY_AUTORAND_DOWN=1263
|
||||
# Right arrow
|
||||
HOTKEY_AUTORAND_UP=262
|
||||
KEY_AUTORAND_UP=1262
|
||||
# Down arrow
|
||||
HOTKEY_TEMPO_DOWN=264
|
||||
KEY_TEMPO_DOWN=1264
|
||||
# Up arrow
|
||||
HOTKEY_TEMPO_UP=265
|
||||
KEY_TEMPO_UP=1265
|
||||
|
||||
# Number of load states keys
|
||||
HOTKEY_LOAD_COUNT=10
|
||||
KEY_LOAD_COUNT=10
|
||||
|
||||
# 1 to 9 then 0 keys
|
||||
HOTKEY_LOAD_1=49
|
||||
HOTKEY_LOAD_2=50
|
||||
HOTKEY_LOAD_3=51
|
||||
HOTKEY_LOAD_4=52
|
||||
HOTKEY_LOAD_5=53
|
||||
HOTKEY_LOAD_6=54
|
||||
HOTKEY_LOAD_7=55
|
||||
HOTKEY_LOAD_8=56
|
||||
HOTKEY_LOAD_9=57
|
||||
HOTKEY_LOAD_10=48
|
||||
KEY_LOAD_1=1049
|
||||
KEY_LOAD_2=1050
|
||||
KEY_LOAD_3=1051
|
||||
KEY_LOAD_4=1052
|
||||
KEY_LOAD_5=1053
|
||||
KEY_LOAD_6=1054
|
||||
KEY_LOAD_7=1055
|
||||
KEY_LOAD_8=1056
|
||||
KEY_LOAD_9=1057
|
||||
KEY_LOAD_10=1048
|
||||
|
||||
# Number of save states keys
|
||||
HOTKEY_SAVE_COUNT=10
|
||||
KEY_SAVE_COUNT=10
|
||||
|
||||
# 1 to 9 then 0 keys with shift
|
||||
HOTKEY_SAVE_1=1049
|
||||
HOTKEY_SAVE_2=1050
|
||||
HOTKEY_SAVE_3=1051
|
||||
HOTKEY_SAVE_4=1052
|
||||
HOTKEY_SAVE_5=1053
|
||||
HOTKEY_SAVE_6=1054
|
||||
HOTKEY_SAVE_7=1055
|
||||
HOTKEY_SAVE_8=1056
|
||||
HOTKEY_SAVE_9=1057
|
||||
HOTKEY_SAVE_10=1048
|
||||
KEY_SAVE_1=11049
|
||||
KEY_SAVE_2=11050
|
||||
KEY_SAVE_3=11051
|
||||
KEY_SAVE_4=11052
|
||||
KEY_SAVE_5=11053
|
||||
KEY_SAVE_6=11054
|
||||
KEY_SAVE_7=11055
|
||||
KEY_SAVE_8=11056
|
||||
KEY_SAVE_9=11057
|
||||
KEY_SAVE_10=11048
|
||||
|
||||
+2
-2
@@ -13,8 +13,8 @@ out vec4 fragColor;
|
||||
subroutine uniform src_stage_sub src_stage;
|
||||
|
||||
uniform int iSeed3;
|
||||
uniform vec3 iMidi1_1[6];
|
||||
uniform vec3 iGroup1_1[6];
|
||||
|
||||
void main() {
|
||||
fragColor = src_stage(vUV, iSeed3, iMidi1_1[0], iMidi1_1[1].xy, iMidi1_1[2], iMidi1_1[3].xy, iMidi1_1[4], iMidi1_1[5].xy);
|
||||
fragColor = src_stage(vUV, iSeed3, iGroup1_1[0], iGroup1_1[1].xy, iGroup1_1[2], iGroup1_1[3].xy, iGroup1_1[4], iGroup1_1[5].xy);
|
||||
}
|
||||
|
||||
+2
-2
@@ -12,8 +12,8 @@ out vec4 fragColor;
|
||||
subroutine uniform src_stage_sub src_stage;
|
||||
|
||||
uniform int iSeed4;
|
||||
uniform vec3 iMidi1_2[6];
|
||||
uniform vec3 iGroup1_2[6];
|
||||
|
||||
void main() {
|
||||
fragColor = src_stage(vUV, iSeed4, iMidi1_2[0], iMidi1_2[1].xy, iMidi1_2[2], iMidi1_2[3].xy, iMidi1_2[4], iMidi1_2[5].xy);
|
||||
fragColor = src_stage(vUV, iSeed4, iGroup1_2[0], iGroup1_2[1].xy, iGroup1_2[2], iGroup1_2[3].xy, iGroup1_2[4], iGroup1_2[5].xy);
|
||||
}
|
||||
|
||||
+2
-2
@@ -14,8 +14,8 @@ out vec4 fragColor;
|
||||
uniform sampler2D iTex7;
|
||||
uniform sampler2D iTex9;
|
||||
uniform int iSeed5;
|
||||
uniform vec3 iMidi2_1[7];
|
||||
uniform vec3 iGroup2_1[7];
|
||||
|
||||
void main() {
|
||||
fragColor = fx_stage(vUV, iTex7, iTex9, iSeed5, iMidi2_1[0], iMidi2_1[1].xy, iMidi2_1[2], iMidi2_1[3].xy, iMidi2_1[4], iMidi2_1[5].xy, iMidi2_1[6]);
|
||||
fragColor = fx_stage(vUV, iTex7, iTex9, iSeed5, iGroup2_1[0], iGroup2_1[1].xy, iGroup2_1[2], iGroup2_1[3].xy, iGroup2_1[4], iGroup2_1[5].xy, iGroup2_1[6]);
|
||||
}
|
||||
|
||||
+2
-2
@@ -14,8 +14,8 @@ out vec4 fragColor;
|
||||
uniform sampler2D iTex8;
|
||||
uniform sampler2D iTex10;
|
||||
uniform int iSeed6;
|
||||
uniform vec3 iMidi2_2[7];
|
||||
uniform vec3 iGroup2_2[7];
|
||||
|
||||
void main() {
|
||||
fragColor = fx_stage(vUV, iTex8, iTex10, iSeed6, iMidi2_2[0], iMidi2_2[1].xy, iMidi2_2[2], iMidi2_2[3].xy, iMidi2_2[4], iMidi2_2[5].xy, iMidi2_2[6]);
|
||||
fragColor = fx_stage(vUV, iTex8, iTex10, iSeed6, iGroup2_2[0], iGroup2_2[1].xy, iGroup2_2[2], iGroup2_2[3].xy, iGroup2_2[4], iGroup2_2[5].xy, iGroup2_2[6]);
|
||||
}
|
||||
|
||||
+3
-3
@@ -16,11 +16,11 @@ uniform int iDemo;
|
||||
uniform sampler2D iTex9;
|
||||
uniform sampler2D iTex10;
|
||||
uniform int iSeed7;
|
||||
uniform vec3 iMidi3_1[2];
|
||||
uniform vec3 iGroup3_1[2];
|
||||
|
||||
void main() {
|
||||
float mix_value = magic(iMidi3_1[1].xy, vec3(1, 0, 0), iSeed7);
|
||||
bool mix_type = magic_trigger(vec3(iMidi3_1[0].x, 0, 0), iSeed7 + 10);
|
||||
float mix_value = magic(iGroup3_1[1].xy, vec3(1, 0, 0), iSeed7);
|
||||
bool mix_type = magic_trigger(vec3(iGroup3_1[0].x, 0, 0), iSeed7 + 10);
|
||||
|
||||
vec4 color_a = texture(iTex9, vUV);
|
||||
vec4 color_b = texture(iTex10, vUV);
|
||||
|
||||
+4
-4
@@ -14,16 +14,16 @@ out vec4 fragColor;
|
||||
uniform sampler2D iTex11;
|
||||
uniform sampler2D iTex0;
|
||||
uniform int iSeed8;
|
||||
uniform vec3 iMidi2_3[7];
|
||||
uniform vec3 iMidi3_1[2];
|
||||
uniform vec3 iGroup2_3[7];
|
||||
uniform vec3 iGroup3_1[2];
|
||||
uniform int iDemo;
|
||||
uniform int iAutoRand;
|
||||
|
||||
void main() {
|
||||
vec4 color = fx_stage(vUV, iTex11, iTex0, iSeed8, iMidi2_3[0], iMidi2_3[1].xy, iMidi2_3[2], iMidi2_3[3].xy, iMidi2_3[4], iMidi2_3[5].xy, iMidi2_3[6]);
|
||||
vec4 color = fx_stage(vUV, iTex11, iTex0, iSeed8, iGroup2_3[0], iGroup2_3[1].xy, iGroup2_3[2], iGroup2_3[3].xy, iGroup2_3[4], iGroup2_3[5].xy, iGroup2_3[6]);
|
||||
|
||||
if (iDemo < 1 && iAutoRand < 1) {
|
||||
color = mix(color, vec4(0), iMidi3_1[0].y);
|
||||
color = mix(color, vec4(0), iGroup3_1[0].y);
|
||||
}
|
||||
|
||||
fragColor = color;
|
||||
|
||||
+108
-50
@@ -35,17 +35,16 @@ uniform int iState8;
|
||||
uniform int iActive1;
|
||||
uniform int iActive2;
|
||||
|
||||
uniform vec3 iMidi2_1[7];
|
||||
uniform vec3 iMidi2_2[7];
|
||||
uniform vec3 iMidi2_3[7];
|
||||
uniform vec3 iMidi3_1[2];
|
||||
|
||||
uniform vec3 iGroup2_1[7];
|
||||
uniform vec3 iGroup2_2[7];
|
||||
uniform vec3 iGroup2_3[7];
|
||||
uniform vec3 iGroup3_1[2];
|
||||
|
||||
vec4 debug(vec2 vUV)
|
||||
{
|
||||
// start
|
||||
|
||||
vec2 uv0 = vUV.st;
|
||||
vec2 uv0 = vUV.st;
|
||||
float ratio = iResolution.x / iResolution.y;
|
||||
vec2 uv1 = (uv0 - .5) * vec2(ratio, 1);
|
||||
|
||||
@@ -92,30 +91,90 @@ vec4 debug(vec2 vUV)
|
||||
if (random_mfx) {
|
||||
selected_mfx = int(randTime(iSeed8 + 100) * 14);
|
||||
}
|
||||
float fxa_value = magic(iMidi2_1[6].xy, vec3(1, 0, 0), iSeed5);
|
||||
bool fxa_invert = magic_trigger(vec3(iMidi2_1[6].z, 0, 0), iSeed5);
|
||||
float fxb_value = magic(iMidi2_2[6].xy, vec3(1, 0, 0), iSeed6);
|
||||
bool fxb_invert = magic_trigger(vec3(iMidi2_2[6].z, 0, 0), iSeed6);
|
||||
float mfx_value = magic(iMidi2_3[6].xy, vec3(1, 0, 0), iSeed8);
|
||||
bool mfx_invert = magic_trigger(vec3(iMidi2_3[6].z, 0, 0), iSeed8);
|
||||
float mix_value = magic(iMidi3_1[1].xy, vec3(1, 0, 0), iSeed7);
|
||||
float fxa_value = magic(iGroup2_1[6].xy, vec3(1, 0, 0), iSeed5);
|
||||
bool fxa_invert = magic_trigger(vec3(iGroup2_1[6].z, 0, 0), iSeed5);
|
||||
float fxb_value = magic(iGroup2_2[6].xy, vec3(1, 0, 0), iSeed6);
|
||||
bool fxb_invert = magic_trigger(vec3(iGroup2_2[6].z, 0, 0), iSeed6);
|
||||
float mfx_value = magic(iGroup2_3[6].xy, vec3(1, 0, 0), iSeed8);
|
||||
bool mfx_invert = magic_trigger(vec3(iGroup2_3[6].z, 0, 0), iSeed8);
|
||||
float mix_value = magic(iGroup3_1[1].xy, vec3(1, 0, 0), iSeed7);
|
||||
mix_value = mix(mix_value, mix_value * 0.9 + 0.05, iDemo);
|
||||
bool mix_type = magic_trigger(vec3(iMidi3_1[0].x, 0, 0), iSeed7 + 10);
|
||||
bool mix_type = magic_trigger(vec3(iGroup3_1[0].x, 0, 0), iSeed7 + 10);
|
||||
|
||||
// logic
|
||||
|
||||
const int texts[10][5] = {
|
||||
{0x46, 0x50, 0x53, 0x00, 0x00}, // FPS
|
||||
{0x54, 0x45, 0x4D, 0x50, 0x4F}, // TEMPO
|
||||
{0x54, 0x49, 0x4D, 0x45, 0x00}, // TIME
|
||||
{0x44, 0x45, 0x4D, 0x4F, 0x00}, // DEMO
|
||||
{0x4C, 0x49, 0x56, 0x45, 0x00}, // LIVE
|
||||
{0x52, 0x41, 0x4E, 0x44, 0x00}, // RAND
|
||||
{0x53, 0x52, 0x43, 0x00, 0x00}, // SRC
|
||||
{0x46, 0x58, 0x00, 0x00, 0x00}, // FX
|
||||
{0x49, 0x4E, 0x00, 0x00, 0x00}, // IN
|
||||
{0x4D, 0x46, 0x58, 0x00, 0x00}, // MFX
|
||||
};
|
||||
{
|
||||
0x46,
|
||||
0x50,
|
||||
0x53,
|
||||
0x00,
|
||||
0x00
|
||||
}, // FPS
|
||||
{
|
||||
0x54,
|
||||
0x45,
|
||||
0x4D,
|
||||
0x50,
|
||||
0x4F
|
||||
}, // TEMPO
|
||||
{
|
||||
0x54,
|
||||
0x49,
|
||||
0x4D,
|
||||
0x45,
|
||||
0x00
|
||||
}, // TIME
|
||||
{
|
||||
0x44,
|
||||
0x45,
|
||||
0x4D,
|
||||
0x4F,
|
||||
0x00
|
||||
}, // DEMO
|
||||
{
|
||||
0x4C,
|
||||
0x49,
|
||||
0x56,
|
||||
0x45,
|
||||
0x00
|
||||
}, // LIVE
|
||||
{
|
||||
0x52,
|
||||
0x41,
|
||||
0x4E,
|
||||
0x44,
|
||||
0x00
|
||||
}, // RAND
|
||||
{
|
||||
0x53,
|
||||
0x52,
|
||||
0x43,
|
||||
0x00,
|
||||
0x00
|
||||
}, // SRC
|
||||
{
|
||||
0x46,
|
||||
0x58,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00
|
||||
}, // FX
|
||||
{
|
||||
0x49,
|
||||
0x4E,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00
|
||||
}, // IN
|
||||
{
|
||||
0x4D,
|
||||
0x46,
|
||||
0x58,
|
||||
0x00,
|
||||
0x00
|
||||
}, // MFX
|
||||
};
|
||||
|
||||
vec2 uv2 = uv1;
|
||||
|
||||
@@ -128,21 +187,20 @@ vec4 debug(vec2 vUV)
|
||||
// base frame
|
||||
float f =
|
||||
h_rect(uv2, vec2(-5, -2), vec2(1), 0.1) +
|
||||
h_rect(uv2, vec2(-2, -2), vec2(1), 0.1) +
|
||||
rect(uv2, vec2(-3.5, -2), vec2(0.5, 0.1)) +
|
||||
h_rect(uv2, vec2(-5, 2), vec2(1), 0.1) +
|
||||
h_rect(uv2, vec2(-2, 2), vec2(1), 0.1) +
|
||||
rect(uv2, vec2(-3.5, 2), vec2(0.5, 0.1)) +
|
||||
h_rect(uv2, vec2(2, 0), vec2(1), 0.1) +
|
||||
h_rect(uv2, vec2(5, 0), vec2(1), 0.1) +
|
||||
rect(uv2, vec2(3.5, 0), vec2(0.5, 0.1)) +
|
||||
rect(uv2, vec2(0.55, -2), vec2(1.5, 0.1)) +
|
||||
rect(uv2, vec2(2, -1.55), vec2(0.1, 0.55)) +
|
||||
rect(uv2, vec2(0.55, 2), vec2(1.5, 0.1)) +
|
||||
rect(uv2, vec2(2, 1.55), vec2(0.1, 0.55)) +
|
||||
rect(uv2, vec2(6.8, 0), vec2(0.75, 0.1)) +
|
||||
h_circle(uv2, vec2(7.8, 0), 0.3, 0.1)
|
||||
;
|
||||
h_rect(uv2, vec2(-2, -2), vec2(1), 0.1) +
|
||||
rect(uv2, vec2(-3.5, -2), vec2(0.5, 0.1)) +
|
||||
h_rect(uv2, vec2(-5, 2), vec2(1), 0.1) +
|
||||
h_rect(uv2, vec2(-2, 2), vec2(1), 0.1) +
|
||||
rect(uv2, vec2(-3.5, 2), vec2(0.5, 0.1)) +
|
||||
h_rect(uv2, vec2(2, 0), vec2(1), 0.1) +
|
||||
h_rect(uv2, vec2(5, 0), vec2(1), 0.1) +
|
||||
rect(uv2, vec2(3.5, 0), vec2(0.5, 0.1)) +
|
||||
rect(uv2, vec2(0.55, -2), vec2(1.5, 0.1)) +
|
||||
rect(uv2, vec2(2, -1.55), vec2(0.1, 0.55)) +
|
||||
rect(uv2, vec2(0.55, 2), vec2(1.5, 0.1)) +
|
||||
rect(uv2, vec2(2, 1.55), vec2(0.1, 0.55)) +
|
||||
rect(uv2, vec2(6.8, 0), vec2(0.75, 0.1)) +
|
||||
h_circle(uv2, vec2(7.8, 0), 0.3, 0.1);
|
||||
|
||||
if (iDemo < 1 && iInputFormat1 == YUYV_FOURCC) {
|
||||
f += circle(uv2, vec2(-9, 2), 0.3);
|
||||
@@ -183,14 +241,14 @@ vec4 debug(vec2 vUV)
|
||||
|
||||
// show src/fx
|
||||
|
||||
f += write_5(uv3 * 0.75, vec2(-11.6,-1.8), texts[6]);
|
||||
f += write_5(uv3 * 0.75, vec2(-4.2,-1.8), texts[7]);
|
||||
f += write_5(uv3 * 0.75, vec2(-11.6, -1.8), texts[6]);
|
||||
f += write_5(uv3 * 0.75, vec2(-4.2, -1.8), texts[7]);
|
||||
f += char_at(uv3 * 0.5, vec2(-11.5, 3.5), 0x41);
|
||||
f += char_at(uv3 * 0.5, vec2(-11.5, -6), 0x42);
|
||||
if (iDemo < 1 && (iInputFormat1 == YUYV_FOURCC || iInputFormat2 == YUYV_FOURCC)) {
|
||||
f += write_5(uv3 * 0.75, vec2(-19.7,-1.8), texts[8]);
|
||||
f += write_5(uv3 * 0.75, vec2(-19.7, -1.8), texts[8]);
|
||||
}
|
||||
f += write_5(uv3 * 0.75, vec2(10.9,2), texts[9]);
|
||||
f += write_5(uv3 * 0.75, vec2(10.9, 2), texts[9]);
|
||||
|
||||
// show inputs / feedback
|
||||
float line_a_a = rect(uv2, vec2(-7.5, 2), vec2(1.5, 0.1));
|
||||
@@ -236,21 +294,21 @@ vec4 debug(vec2 vUV)
|
||||
float x = 0;
|
||||
|
||||
x = -15;
|
||||
f += write_5(uv3, vec2(x - 4.5,13), texts[1]);
|
||||
f += write_int(uv3, vec2(x + 1.5,13), int(iTempo), 3);
|
||||
f += write_5(uv3, vec2(x - 4.5, 13), texts[1]);
|
||||
f += write_int(uv3, vec2(x + 1.5, 13), int(iTempo), 3);
|
||||
v = fract(iBeats);
|
||||
f += h_rect(uv3, vec2(x, 12), vec2(4, 0.5), 0.2);
|
||||
f += rect(uv3, vec2(x + 4 * v - 4, 12), vec2(4 * v, 0.4));
|
||||
|
||||
x = 15;
|
||||
if (iAutoRand > 0) {
|
||||
f += write_5(uv3, vec2(x - 4.5,13), texts[5]);
|
||||
f += write_int(uv3, vec2(x - 0.5,13), int(iAutoRandCycle), 5);
|
||||
f += write_5(uv3, vec2(x - 4.5, 13), texts[5]);
|
||||
f += write_int(uv3, vec2(x - 0.5, 13), int(iAutoRandCycle), 5);
|
||||
v = fract(iBeats / iAutoRandCycle);
|
||||
} else {
|
||||
f += write_int(uv3, vec2(x - 0.5,13), int(iTime), 5);
|
||||
f += write_int(uv3, vec2(x - 0.5, 13), int(iTime), 5);
|
||||
v = fract(iTime);
|
||||
f += write_5(uv3, vec2(x - 4.5,13), texts[2]);
|
||||
f += write_5(uv3, vec2(x - 4.5, 13), texts[2]);
|
||||
}
|
||||
f += h_rect(uv3, vec2(x, 12), vec2(4, 0.5), 0.2);
|
||||
f += rect(uv3, vec2(x + 4 * v - 4, 12), vec2(4 * v, 0.4));
|
||||
|
||||
Reference in New Issue
Block a user