-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathReference - ColorFX.xml
More file actions
126 lines (103 loc) · 5.41 KB
/
Copy pathReference - ColorFX.xml
File metadata and controls
126 lines (103 loc) · 5.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?xml version="1.0" encoding="UTF-8"?>
<!--
Reference - ColorFX.xml
Canonical filter and ColorFX selection pad page.
Two patterns are demonstrated here:
1. Main deck filter knob pattern (pads 1-8):
filter_selectcolorfx 'Name' — selects which effect the filter knob controls
effect_active 'colorfx' on — activates the ColorFX slot
The filter knob (or filter action) then drives the selected effect.
Nothing is applied at 50%. More effect is applied the further from center.
2. Extra dedicated ColorFX slots (pads 9-12):
effect_colorfx <1-4> 'Name' — loads effect into an extra ColorFX slot
effect_colorslider <1-4> — the center-off slider for that slot
These exist for dedicated controls that should not steal the main filter knob.
CTO guidance: up to 4 extra slots, more flexible than the main colorfx slot.
Which to use:
Main filter knob simulation → pattern 1
Extra dedicated ColorFX controls that shouldn't touch the filter → pattern 2
Normal audio FX with sliders → use slot FX instead (Reference - Slot FX.xml)
Source: Official, Official forum
See: docs/VirtualDJ Reference.md — Filter and ColorFX section
-->
<page name="REF: COLOR FX">
<!-- PATTERN 1: Main filter knob ColorFX selection
Select the effect AND activate colorfx in one tap.
query uses filter_label 'name' so selector actions never run while
VirtualDJ is only asking for pad state.
Use filter action or the filter knob to actually drive the amount. -->
<pad1 name="FILTER" color="color 'magenta'"
query="param_equal `filter_label 'name'` 'Filter' ? (effect_active 'colorfx' ? blink 500ms : off) : off">
filter_selectcolorfx 'Filter' & effect_active 'colorfx' on
</pad1>
<pad2 name="ECHO OUT" color="color 'magenta'"
query="param_equal `filter_label 'name'` 'Echo Out' ? (effect_active 'colorfx' ? blink 500ms : off) : off">
filter_selectcolorfx 'Echo Out' & effect_active 'colorfx' on
</pad2>
<pad3 name="REVERB" color="color 'magenta'"
query="param_equal `filter_label 'name'` 'Reverb' ? (effect_active 'colorfx' ? blink 500ms : off) : off">
filter_selectcolorfx 'Reverb' & effect_active 'colorfx' on
</pad3>
<pad4 name="FLANGER" color="color 'magenta'"
query="param_equal `filter_label 'name'` 'Flanger' ? (effect_active 'colorfx' ? blink 500ms : off) : off">
filter_selectcolorfx 'Flanger' & effect_active 'colorfx' on
</pad4>
<pad5 name="LOOP ROLL" color="color 'magenta'"
query="param_equal `filter_label 'name'` 'Loop Roll' ? (effect_active 'colorfx' ? blink 500ms : off) : off">
filter_selectcolorfx 'Loop Roll' & effect_active 'colorfx' on
</pad5>
<pad6 name="SLIP ROLL" color="color 'magenta'"
query="param_equal `filter_label 'name'` 'Slip Roll' ? (effect_active 'colorfx' ? blink 500ms : off) : off">
filter_selectcolorfx 'Slip Roll' & effect_active 'colorfx' on
</pad6>
<pad7 name="CUT" color="color 'magenta'"
query="param_equal `filter_label 'name'` 'Cut' ? (effect_active 'colorfx' ? blink 500ms : off) : off">
filter_selectcolorfx 'Cut' & effect_active 'colorfx' on
</pad7>
<!-- Master ColorFX on/off toggle. Useful when an effect is already selected. -->
<pad8 name="COLOR FX" color="color 'magenta'" query="effect_active 'colorfx' ? blink 500ms : off">
effect_active 'colorfx'
</pad8>
<!-- PATTERN 2: Extra dedicated ColorFX slots (independent of main filter knob)
effect_colorfx <1-4> loads an effect into an extra slot.
effect_colorslider is the center-off control verb for those slots.
These slots have separate query state from the main colorfx slot. -->
<pad9 name="EXTRA 1: ECHO" color="color 'cyan'"
query="effect_colorfx 1 'Echo' ? blink 500ms : off">
effect_colorfx 1 'Echo'
</pad9>
<pad10 name="EXTRA 2: REVERB" color="color 'cyan'"
query="effect_colorfx 2 'Reverb' ? blink 500ms : off">
effect_colorfx 2 'Reverb'
</pad10>
<!-- filter_label returns the name shown under the filter knob -->
<pad11 name="`filter_label`" color="color 'magenta'" query="effect_active 'colorfx' ? on : off">
nothing
</pad11>
<!-- filter_resonance: nudge resonance up/down -->
<pad12 name="RES +" color="color 'gray'">filter_resonance +10%</pad12>
<!-- Shift: open the GUI for the active ColorFX -->
<shift_pad1 name="EDIT FILTER" color="color 'magenta'">
filter_selectcolorfx 'Filter' & effect_show_gui 'colorfx'
</shift_pad1>
<shift_pad2 name="EDIT ECHO OUT" color="color 'magenta'">
filter_selectcolorfx 'Echo Out' & effect_show_gui 'colorfx'
</shift_pad2>
<shift_pad3 name="EDIT REVERB" color="color 'magenta'">
filter_selectcolorfx 'Reverb' & effect_show_gui 'colorfx'
</shift_pad3>
<!-- Stems: route the active ColorFX to a specific stem -->
<pad13 name="VOCAL" color="stem_color 'Vocal'" query="effect_stems 'vocal' ? blink 500ms : off">
effect_stems 'vocal'
</pad13>
<pad14 name="MELODY" color="stem_color 'Melody'" query="effect_stems 'melody' ? blink 500ms : off">
effect_stems 'melody'
</pad14>
<pad15 name="DRUM" color="stem_color 'Rhythm'" query="effect_stems 'rhythm' ? blink 500ms : off">
effect_stems 'rhythm'
</pad15>
<pad16 name="ALL STEMS" color="color 'white'" query="effect_stems 'all' ? on : off">
effect_stems 'all'
</pad16>
<param2 name="FILTER: `filter_label`">filter_selectcolorfx</param2>
</page>